digraph CFG {
  node [fontname="Helvetica"];
  n445 [label="START", shape=ellipse, style=filled, color=gray];
  n445 -> n499;
  n499 [label="1", shape=box];
  n499 -> n500;
  n500 [label="2", shape=box];
  n500 -> n501;
  n501 [label="CALL f", shape=box, style=filled, color=orange];
  n501 -> n447;
  n501 -> n503;
  n447 [label="START f(x, y)", shape=ellipse, style=filled, color=green];
  n447 -> n452;
  n452 [label="x", shape=box];
  n452 -> n453;
  n453 [label="0", shape=box];
  n453 -> n454;
  n454 [label="x == 0", shape=box];
  n454 -> n455;
  n455 [label="<?>", shape=diamond];
  n455 -> n467 [label="T"];
  n455 -> n475 [label="F"];
  n467 [label="2", shape=box];
  n467 -> n468;
  n468 [label="y", shape=box];
  n468 -> n469;
  n469 [label="2 * y", shape=box];
  n469 -> n470;
  n470 [label="x", shape=box];
  n470 -> n471;
  n471 [label="CALL g", shape=box, style=filled, color=orange];
  n471 -> n459;
  n471 -> n473;
  n459 [label="START g(x, z)", shape=ellipse, style=filled, color=green];
  n459 -> n462;
  n459 -> n478;
  n462 [label="x", shape=box];
  n462 -> n463;
  n463 [label="y", shape=box];
  n463 -> n464;
  n464 [label="x * y", shape=box];
  n464 -> n465;
  n465 [label="z", shape=box];
  n465 -> n466;
  n466 [label="(x * y) + z", shape=box];
  n466 -> n460;
  n460 [label="END g(x, z)", shape=ellipse, style=filled, color=green];
  n460 -> n473;
  n460 -> n509;
  n473 [label="RET g", shape=box, style=filled, color=orange];
  n473 -> n448;
  n448 [label="END f(x, y)", shape=ellipse, style=filled, color=green];
  n448 -> n488;
  n448 -> n503;
  n488 [label="RET f", shape=box, style=filled, color=orange];
  n488 -> n489;
  n489 [label="a * f(a,i)", shape=box];
  n489 -> n490;
  n490 [label="a = (a * f(a,i))", shape=box];
  n490 -> n491;
  n491 [label="i", shape=box];
  n491 -> n492;
  n492 [label="1", shape=box];
  n492 -> n493;
  n493 [label="i - 1", shape=box];
  n493 -> n494;
  n494 [label="i = (i - 1)", shape=box];
  n494 -> n478;
  n478 [label="i", shape=box];
  n478 -> n479;
  n479 [label="0", shape=box];
  n479 -> n480;
  n480 [label="i > 0", shape=box];
  n480 -> n481;
  n481 [label="<?>", shape=diamond];
  n481 -> n483 [label="T"];
  n481 -> n496 [label="F"];
  n483 [label="a", shape=box];
  n483 -> n484;
  n484 [label="a", shape=box];
  n484 -> n485;
  n485 [label="i", shape=box];
  n485 -> n486;
  n486 [label="CALL f", shape=box, style=filled, color=orange];
  n486 -> n447;
  n486 -> n488;
  n496 [label="a", shape=box];
  n496 -> n497;
  n497 [label="42", shape=box];
  n497 -> n498;
  n498 [label="a + 42", shape=box];
  n498 -> n460;
  n503 [label="RET f", shape=box, style=filled, color=orange];
  n503 -> n505;
  n505 [label="3", shape=box];
  n505 -> n506;
  n506 [label="3", shape=box];
  n506 -> n507;
  n507 [label="CALL g", shape=box, style=filled, color=orange];
  n507 -> n459;
  n507 -> n509;
  n509 [label="RET g", shape=box, style=filled, color=orange];
  n509 -> n446;
  n446 [label="END", shape=ellipse, style=filled, color=gray];
  n475 [label="x", shape=box];
  n475 -> n476;
  n476 [label="1", shape=box];
  n476 -> n477;
  n477 [label="x + 1", shape=box];
  n477 -> n448;
}