fun: gcc.Function('main')
  stmt: D.nnnnn = (const char * restrict) &"argc: %i\n"[0];
    node: gcc.StringCst('argc: %i\n') ("argc: %i\n")
  stmt: printf (D.nnnnn, argc);
  stmt: i = 0;
  stmt: D.nnnnn = (long unsigned int) i;
  stmt: D.nnnnn = D.nnnnn * 8;
  stmt: D.nnnnn = argv + D.nnnnn;
  stmt: D.nnnnn = *D.nnnnn;
  stmt: D.nnnnn = (const char * restrict) &"argv[%i]: %s\n"[0];
    node: gcc.StringCst('argv[%i]: %s\n') ("argv[%i]: %s\n")
  stmt: printf (D.nnnnn, i, D.nnnnn);
  stmt: i = i + 1;
  stmt: if (i < argc)
  stmt: helper_function ();
  stmt: D.nnnnn = 0;
  stmt: return D.nnnnn;
fun: gcc.Function('helper_function')
  stmt: __builtin_puts (&"I am a helper function"[0]);
    node: gcc.StringCst('I am a helper function') ("I am a helper function")
  stmt: D.nnnnn = 42;
  stmt: return D.nnnnn;
