[kernel] Parsing share/libc/__fc_builtin_for_normalization.i (no preprocessing)
[kernel] Parsing tests/slicing/callwise.c (with preprocessing)
[value] Analyzing a complete application starting at main
[value] Computing initial state
[value] Initial state computed
[value] Values of globals at initialization
  a ∈ {1}
  b ∈ {1}
  c ∈ {1}
  d ∈ {1}
  p ∈ {0}
[value] computing for function f <- main.
        Called from tests/slicing/callwise.c:39.
[value] Recording results for f
[from] Computing for function f
[from] Done for function f
[value] Done for function f
[value] computing for function f <- main.
        Called from tests/slicing/callwise.c:40.
[value] Recording results for f
[from] Computing for function f
[from] Done for function f
[value] Done for function f
[value] computing for function choose <- main.
        Called from tests/slicing/callwise.c:42.
[value] Recording results for choose
[from] Computing for function choose
[from] Done for function choose
[value] Done for function choose
[value] computing for function choose <- main.
        Called from tests/slicing/callwise.c:43.
[value] Recording results for choose
[from] Computing for function choose
[from] Done for function choose
[value] Done for function choose
[value] computing for function fs163_main <- main.
        Called from tests/slicing/callwise.c:45.
[value] computing for function fs163_f <- fs163_main <- main.
        Called from tests/slicing/callwise.c:24.
[value] Recording results for fs163_f
[from] Computing for function fs163_f
[from] Done for function fs163_f
[value] Done for function fs163_f
[value] computing for function fs163_f <- fs163_main <- main.
        Called from tests/slicing/callwise.c:25.
[value] Recording results for fs163_f
[from] Computing for function fs163_f
[from] Done for function fs163_f
[value] Done for function fs163_f
[value] computing for function fs163_f <- fs163_main <- main.
        Called from tests/slicing/callwise.c:26.
[value] Recording results for fs163_f
[from] Computing for function fs163_f
[from] Done for function fs163_f
[value] Done for function fs163_f
[value] computing for function fs163_f <- fs163_main <- main.
        Called from tests/slicing/callwise.c:27.
[value] Recording results for fs163_f
[from] Computing for function fs163_f
[from] Done for function fs163_f
[value] Done for function fs163_f
[value] computing for function fs163_f <- fs163_main <- main.
        Called from tests/slicing/callwise.c:28.
[value] Recording results for fs163_f
[from] Computing for function fs163_f
[from] Done for function fs163_f
[value] Done for function fs163_f
tests/slicing/callwise.c:29:[value] entering loop for the first time
[value] computing for function fs163_f <- fs163_main <- main.
        Called from tests/slicing/callwise.c:30.
[value] Recording results for fs163_f
[from] Computing for function fs163_f
[from] Done for function fs163_f
[value] Done for function fs163_f
[value] computing for function fs163_f <- fs163_main <- main.
        Called from tests/slicing/callwise.c:30.
[value] Recording results for fs163_f
[from] Computing for function fs163_f
[from] Done for function fs163_f
[value] Done for function fs163_f
[value] computing for function fs163_f <- fs163_main <- main.
        Called from tests/slicing/callwise.c:30.
[value] Recording results for fs163_f
[from] Computing for function fs163_f
[from] Done for function fs163_f
[value] Done for function fs163_f
[value] computing for function fs163_f <- fs163_main <- main.
        Called from tests/slicing/callwise.c:30.
[value] Recording results for fs163_f
[from] Computing for function fs163_f
[from] Done for function fs163_f
[value] Done for function fs163_f
[value] computing for function fs163_f <- fs163_main <- main.
        Called from tests/slicing/callwise.c:30.
[value] Recording results for fs163_f
[from] Computing for function fs163_f
[from] Done for function fs163_f
[value] Done for function fs163_f
[value] computing for function fs163_f <- fs163_main <- main.
        Called from tests/slicing/callwise.c:30.
[value] Recording results for fs163_f
[from] Computing for function fs163_f
[from] Done for function fs163_f
[value] Done for function fs163_f
[value] Recording results for fs163_main
[from] Computing for function fs163_main
[from] Done for function fs163_main
[value] Done for function fs163_main
tests/slicing/callwise.c:45:[kernel] warning: accessing uninitialized left-value:
                  assert \initialized(&tmp_0);
                  (tmp_0 from fs163_main(10))
[value] Recording results for main
[from] Computing for function main
[from] Done for function main
[value] done for function main
[from] ====== DISPLAYING CALLWISE DEPENDENCIES ======
[from] call to fs163_f at tests/slicing/callwise.c:24 (by fs163_main):
  A FROM p_0; n
[from] call to fs163_f at tests/slicing/callwise.c:25 (by fs163_main):
  B FROM p_0; n
[from] call to fs163_f at tests/slicing/callwise.c:26 (by fs163_main):
  C FROM p_0; n
[from] call to fs163_f at tests/slicing/callwise.c:27 (by fs163_main):
  T[0] FROM p_0; n
[from] call to fs163_f at tests/slicing/callwise.c:28 (by fs163_main):
  T[1] FROM p_0; n
[from] call to fs163_f at tests/slicing/callwise.c:30 (by fs163_main):
  T[0..4] FROM p_0; n (and SELF)
[from] call to f at tests/slicing/callwise.c:39 (by main):
  a FROM a; b; p_0; q
[from] call to f at tests/slicing/callwise.c:40 (by main):
  c FROM c; d; p_0; q
[from] call to choose at tests/slicing/callwise.c:42 (by main):
  \result FROM cond; y
[from] call to choose at tests/slicing/callwise.c:43 (by main):
  \result FROM cond; x
[from] call to fs163_main at tests/slicing/callwise.c:45 (by main):
  \result FROM \nothing
[from] entry point:
  a FROM a; b
  b FROM \nothing
  c FROM c; d
  \result FROM a; b
[from] ====== END OF CALLWISE DEPENDENCIES ======
[slicing] slicing requests in progress...
[slicing] making slicing project 'Slicing'...
[slicing] interpreting slicing requests from the command line...
[pdg] computing for function main
[pdg] done for function main
[slicing] applying all slicing requests...
[slicing] applying 0 actions...
[slicing] applying all slicing requests...
[slicing] applying 1 actions...
[slicing] applying actions: 1/1...
[pdg] computing for function fs163_main
[pdg] done for function fs163_main
[pdg] computing for function fs163_f
[pdg] done for function fs163_f
[pdg] computing for function choose
[pdg] done for function choose
[pdg] computing for function f
[pdg] done for function f
[slicing] exporting project to 'Slicing export'...
[slicing] applying all slicing requests...
[slicing] applying 0 actions...
[sparecode] remove unused global declarations from project 'Slicing export tmp'
[sparecode] removed unused global declarations in new project 'Slicing export'
/* Generated by Frama-C */
int a = 1;
int b = 1;
void f_slice_1(int *p_0, int *q)
{
  *p_0 += *q;
  return;
}

int choose_slice_1(int cond, int x, int y)
{
  int tmp;
  if (cond) tmp = x; else tmp = y;
  return tmp;
}

void fs163_f_slice_1(int *p_0, int n)
{
  *p_0 = n;
  return;
}

int fs163_main_slice_1(void)
{
  int __retres;
  int T[5];
  {
    int i;
    i = 0;
    while (i < 5) {
      fs163_f_slice_1(& T[i],i);
      i ++;
    }
  }
  __retres = T[3];
  return __retres;
}

int main(void)
{
  int n;
  int m;
  int tmp;
  int tmp_0;
  n = 2;
  m = 3;
  f_slice_1(& a,& b);
  { /* sequence */
    tmp = choose_slice_1(1,n,m);
    a += tmp;
  }
  { /* sequence */
    tmp_0 = fs163_main_slice_1();
    a += tmp_0;
  }
  return a;
}


