[kernel] Parsing share/libc/__fc_builtin_for_normalization.i (no preprocessing)
[kernel] Parsing tests/slicing/use_spec.i (no preprocessing)
tests/slicing/use_spec.i:18:[kernel] warning: Body of function f falls-through. Adding a return statement
[slicing] slicing requests in progress...
[value] Analyzing a complete application starting at main2
[value] Computing initial state
[value] Initial state computed
[value] Values of globals at initialization
  x ∈ {0}
  y ∈ {0}
  z ∈ {0}
  t ∈ {0}
  G1 ∈ {0}
  G2 ∈ {0}
[value] computing for function h <- main2.
        Called from tests/slicing/use_spec.i:38.
[value] using specification for function h
[value] Done for function h
[value] computing for function h <- main2.
        Called from tests/slicing/use_spec.i:40.
[value] Done for function h
tests/slicing/use_spec.i:41:[kernel] warning: signed overflow. assert -2147483648 ≤ tmp+G2;
tests/slicing/use_spec.i:41:[kernel] warning: signed overflow. assert tmp+G2 ≤ 2147483647;
[value] Recording results for main2
[value] done for function main2
[slicing] making slicing project 'Slicing'...
[slicing] interpreting slicing requests from the command line...
[pdg] computing for function main2
[from] Computing for function h
[from] Done for function h
[pdg] done for function main2
[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 h
[pdg] done for function h
[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'
[value] Analyzing a complete application starting at main2
[value] Computing initial state
[value] Initial state computed
[value] Values of globals at initialization
  G1 ∈ {0}
  G2 ∈ {0}
[value] computing for function h_slice_2 <- main2.
        Called from tests/slicing/use_spec.i:38.
[value] using specification for function h_slice_2
[value] Done for function h_slice_2
[value] computing for function h_slice_1 <- main2.
        Called from tests/slicing/use_spec.i:40.
[value] using specification for function h_slice_1
[value] Done for function h_slice_1
tests/slicing/use_spec.i:41:[kernel] warning: signed overflow. assert -2147483648 ≤ tmp+G2;
tests/slicing/use_spec.i:41:[kernel] warning: signed overflow. assert tmp+G2 ≤ 2147483647;
[value] Recording results for main2
[value] done for function main2
[value] ====== VALUES COMPUTED ======
[value] Values at end of function main2:
  G1 ∈ [--..--]
  G2 ∈ [--..--]
  tmp ∈ [--..--]
  __retres ∈ [--..--]
/* Generated by Frama-C */
int G1;
int G2;
/*@ ensures G1 ≡ \old(a);
    assigns G1, G2;
    assigns G1 \from a;
    assigns G2 \from \nothing;
 */
void h_slice_2(int a);

/*@ assigns G1, G2;
    assigns G1 \from \nothing;
    assigns G2 \from b; */
void h_slice_1(int b);

int main2(int v1, int v4)
{
  int __retres;
  int tmp;
  h_slice_2(v1);
  tmp = G1;
  h_slice_1(v4);
  /*@ assert Value: signed_overflow: -2147483648 ≤ tmp+G2; */
  /*@ assert Value: signed_overflow: tmp+G2 ≤ 2147483647; */
  __retres = tmp + G2;
  return __retres;
}


