[kernel] Parsing share/libc/__fc_builtin_for_normalization.i (no preprocessing)
[kernel] Parsing tests/misc/bts0506.i (no preprocessing)
[value] Analyzing a complete application starting at main
[value] Computing initial state
[value] Initial state computed
[value] Values of globals at initialization
  
[value] computing for function f <- main.
        Called from tests/misc/bts0506.i:47.
[value] Recording results for f
[value] Done for function f
[value] computing for function main2 <- main.
        Called from tests/misc/bts0506.i:49.
[value] computing for function f1 <- main2 <- main.
        Called from tests/misc/bts0506.i:15.
tests/misc/bts0506.i:15:[kernel] warning: Neither code nor specification for function f1, generating default assigns from the prototype
[value] using specification for function f1
[value] Done for function f1
[value] computing for function f1 <- main2 <- main.
        Called from tests/misc/bts0506.i:16.
[value] Done for function f1
[value] computing for function f1 <- main2 <- main.
        Called from tests/misc/bts0506.i:17.
[value] Done for function f1
[value] computing for function f1 <- main2 <- main.
        Called from tests/misc/bts0506.i:18.
[value] Done for function f1
[value] computing for function f2 <- main2 <- main.
        Called from tests/misc/bts0506.i:20.
tests/misc/bts0506.i:20:[kernel] warning: Neither code nor specification for function f2, generating default assigns from the prototype
[value] using specification for function f2
[value] Done for function f2
[value] computing for function f2 <- main2 <- main.
        Called from tests/misc/bts0506.i:21.
[value] Done for function f2
[value] computing for function f2 <- main2 <- main.
        Called from tests/misc/bts0506.i:22.
[value] Done for function f2
[value] computing for function f3 <- main2 <- main.
        Called from tests/misc/bts0506.i:24.
tests/misc/bts0506.i:24:[kernel] warning: Neither code nor specification for function f3, generating default assigns from the prototype
[value] using specification for function f3
[value] Done for function f3
[value] computing for function f3 <- main2 <- main.
        Called from tests/misc/bts0506.i:25.
[value] Done for function f3
[value] computing for function f4 <- main2 <- main.
        Called from tests/misc/bts0506.i:27.
tests/misc/bts0506.i:27:[kernel] warning: Neither code nor specification for function f4, generating default assigns from the prototype
[value] using specification for function f4
[value] Done for function f4
[value] computing for function f4 <- main2 <- main.
        Called from tests/misc/bts0506.i:28.
[value] Done for function f4
tests/misc/bts0506.i:28:[kernel] warning: non-finite float value being returned: assert(\is_finite(\returned_value))
[value] computing for function f5 <- main2 <- main.
        Called from tests/misc/bts0506.i:30.
tests/misc/bts0506.i:30:[kernel] warning: Neither code nor specification for function f5, generating default assigns from the prototype
[value] using specification for function f5
[value] Done for function f5
tests/misc/bts0506.i:30:[kernel] warning: non-finite double value ([--..--]):
                  assert \is_finite(tmp_10);
                  (tmp_10 from f5())
tests/misc/bts0506.i:30:[kernel] warning: non-finite float value ([-1.79769313486e+308 .. 1.79769313486e+308]):
                  assert \is_finite((float)tmp_10);
                  (tmp_10 from f5())
[value] computing for function f5 <- main2 <- main.
        Called from tests/misc/bts0506.i:31.
[value] Done for function f5
[value] computing for function f6 <- main2 <- main.
        Called from tests/misc/bts0506.i:33.
tests/misc/bts0506.i:33:[kernel] warning: Neither code nor specification for function f6, generating default assigns from the prototype
[value] using specification for function f6
[value] Done for function f6
[value] computing for function f6 <- main2 <- main.
        Called from tests/misc/bts0506.i:34.
[value] Done for function f6
[value] computing for function f6 <- main2 <- main.
        Called from tests/misc/bts0506.i:35.
[value] Done for function f6
[value] computing for function f7 <- main2 <- main.
        Called from tests/misc/bts0506.i:37.
tests/misc/bts0506.i:37:[kernel] warning: Neither code nor specification for function f7, generating default assigns from the prototype
[value] using specification for function f7
[value] Done for function f7
[value] computing for function f7 <- main2 <- main.
        Called from tests/misc/bts0506.i:38.
[value] Done for function f7
[value] Recording results for main2
[value] Done for function main2
[value] Recording results for main
[value] done for function main
[value] ====== VALUES COMPUTED ======
[value] Values at end of function f:
  __retres ∈ {43}
[value] Values at end of function main2:
  r1 ∈ [--..--]
  r2 ∈ [--..--]
  r3 ∈ [--..--]
  r4 ∈ [--..--]
  r5 ∈ [--..--]
  r6 ∈ [--..--]
  r7 ∈ [--..--]
  r8 ∈ [--..--]
  r8bis ∈ [--..--]
  r9 ∈ [--..--]
  r10 ∈ [-3.40282346639e+38 .. 3.40282346639e+38]
  r11 ∈ [-3.40282346639e+38 .. 3.40282346639e+38]
  r12 ∈ [--..--]
  r13 ∈ {{ NULL + [--..--] ; &alloced_return_f6 + [0..2147483616],0%32 }}
  r14 ∈ {{ NULL + [--..--] ; &alloced_return_f6 + [0..2147483616],0%32 }}
  r15 ∈ {{ NULL + [--..--] ; &alloced_return_f6 + [0..2147483616],0%32 }}
  r16 ∈ {{ NULL + [--..--] ; &alloced_return_f7 + [0..2147483647] }}
  r17 ∈ {{ NULL + [--..--] ; &alloced_return_f7 + [0..2147483647] }}
[value] Values at end of function main:
  x ∈ {43}
[from] Computing for function f
[from] Done for function f
[from] Computing for function main2
[from] Computing for function f1 <-main2
[from] Done for function f1
[from] Computing for function f2 <-main2
[from] Done for function f2
[from] Computing for function f3 <-main2
[from] Done for function f3
[from] Computing for function f4 <-main2
[from] Done for function f4
[from] Computing for function f5 <-main2
[from] Done for function f5
[from] Computing for function f6 <-main2
[from] Done for function f6
[from] Computing for function f7 <-main2
[from] Done for function f7
[from] Done for function main2
[from] Computing for function main
[from] Done for function main
[from] ====== DEPENDENCIES COMPUTED ======
       These dependencies hold at termination for the executions that terminate:
[from] Function f:
  \result FROM x
[from] Function f1:
  \result FROM \nothing
[from] Function f2:
  \result FROM \nothing
[from] Function f3:
  \result FROM \nothing
[from] Function f4:
  \result FROM \nothing
[from] Function f5:
  \result FROM \nothing
[from] Function f6:
  \result FROM \nothing
[from] Function f7:
  \result FROM \nothing
[from] Function main2:
  NO EFFECTS
[from] Function main:
  NO EFFECTS
[from] ====== END OF DEPENDENCIES ======
[inout] Out (internal) for function f:
          __retres
[inout] Inputs for function f:
          \nothing
[inout] Out (internal) for function main2:
          r1; r2; tmp_0; r3; r4; tmp_2; r5; r6; r7; tmp_5; r8; r8bis; tmp_7; 
          r9; r10; r11; tmp_10; r12; r13; r14; r15; r16; r17
[inout] Inputs for function main2:
          \nothing
[inout] Out (internal) for function main:
          x; tmp
[inout] Inputs for function main:
          \nothing
/* Generated by Frama-C */
/*@ assigns \result;
    assigns \result \from \nothing; */
extern int f1();

/*@ assigns \result;
    assigns \result \from \nothing; */
extern long f2();

/*@ assigns \result;
    assigns \result \from \nothing; */
extern unsigned int f3();

/*@ assigns \result;
    assigns \result \from \nothing; */
extern float f4();

/*@ assigns \result;
    assigns \result \from \nothing; */
extern double f5();

/*@ assigns \result;
    assigns \result \from \nothing; */
extern int *f6();

/*@ assigns \result;
    assigns \result \from \nothing; */
extern void *f7();

void main2(void)
{
  long r1;
  short r2;
  int tmp_0;
  int r3;
  unsigned int r4;
  int tmp_2;
  long r5;
  int r6;
  unsigned long r7;
  long tmp_5;
  unsigned int r8;
  int r8bis;
  unsigned int tmp_7;
  float r9;
  double r10;
  float r11;
  double tmp_10;
  double r12;
  void *r13;
  int *r14;
  char *r15;
  void *r16;
  int *r17;
  r1 = (long)f1();
  tmp_0 = f1();
  r2 = (short)tmp_0;
  r3 = f1();
  tmp_2 = f1();
  r4 = (unsigned int)tmp_2;
  r5 = f2();
  r6 = (int)f2();
  tmp_5 = f2();
  r7 = (unsigned long)tmp_5;
  r8 = f3();
  tmp_7 = f3();
  r8bis = (int)tmp_7;
  r9 = f4();
  r10 = (double)f4();
  tmp_10 = f5();
  /*@ assert Value: is_nan_or_infinite: \is_finite(tmp_10); */
  /*@ assert Value: is_nan_or_infinite: \is_finite((float)tmp_10); */
  r11 = (float)tmp_10;
  r12 = f5();
  r13 = (void *)f6();
  r14 = f6();
  r15 = (char *)f6();
  r16 = f7();
  r17 = (int *)f7();
  return;
}

int f(int x)
{
  int __retres;
  __retres = x + 1;
  return __retres;
}

void main(void)
{
  short x;
  int tmp;
  x = (short)4;
  { /* sequence */
    tmp = f(42);
    x = (short)tmp;
  }
  main2();
  return;
}


