[kernel] Parsing share/libc/__fc_builtin_for_normalization.i (no preprocessing)
[kernel] Parsing tests/slicing/bts283.c (with preprocessing)
[slicing] slicing requests in progress...
[value] Analyzing a complete application starting at main
[value] Computing initial state
[value] Initial state computed
[value] Values of globals at initialization
  x ∈ {0}
  y ∈ {0}
  z ∈ {0}
  X ∈ {0}
  Y ∈ {0}
[value] computing for function f <- main.
        Called from tests/slicing/bts283.c:33.
tests/slicing/bts283.c:9:[value] Function f: precondition got status valid.
tests/slicing/bts283.c:10:[value] Function f: postcondition got status valid.
[value] Recording results for f
[value] Done for function f
[value] computing for function g <- main.
        Called from tests/slicing/bts283.c:34.
[value] using specification for function g
tests/slicing/bts283.c:14:[value] Function g: precondition got status valid.
tests/slicing/bts283.c:15:[value] Function g: precondition got status valid.
[value] Done for function g
tests/slicing/bts283.c:34:[kernel] warning: signed overflow. assert z+tmp ≤ 2147483647;
                                   (tmp from g(1, 2))
[value] computing for function k <- main.
        Called from tests/slicing/bts283.c:35.
tests/slicing/bts283.c:21:[value] Function k: precondition got status valid.
tests/slicing/bts283.c:27:[kernel] warning: signed overflow. assert Y+1 ≤ 2147483647;
tests/slicing/bts283.c:22:[value] Function k: postcondition got status valid.
tests/slicing/bts283.c:23:[value] Function k: postcondition got status unknown.
[value] Recording results for k
[value] Done for function k
tests/slicing/bts283.c:36:[kernel] warning: signed overflow. assert X+z ≤ 2147483647;
[value] Recording results for main
[value] done for function main
[slicing] making slicing project 'Slicing'...
[slicing] interpreting slicing requests from the command line...
[pdg] computing for function main
[from] Computing for function f
[from] Done for function f
[from] Computing for function g
[from] Done for function g
[from] Computing for function k
[from] Done for function k
[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 k
[pdg] done for function k
[pdg] computing for function g
[pdg] done for function g
[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 x;
int z;
int X;
int Y;
int f_slice_1(void)
{
  return x;
}

/*@ requires a > 0; */
extern int g_slice_1(int a);

/*@ requires x_0 > 0;
    ensures X > \old(X);
    ensures Y ≡ \old(Y)+1; */
void k_slice_1(int x_0)
{
  X += x_0;
  return;
}

int main(void)
{
  int __retres;
  int tmp;
  x = 1;
  z = f_slice_1();
  { /* sequence */
    tmp = g_slice_1(1);
    z += tmp;
  }
  k_slice_1(3);
  __retres = X + z;
  return __retres;
}


