[kernel] Parsing share/libc/__fc_builtin_for_normalization.i (no preprocessing)
[kernel] Parsing tests/spec/loop_labels_unroll.i (no preprocessing)
/* Generated by Frama-C */
int main(void)
{
  int __retres;
  int x;
  x = 0;
  unrolling_7_loop: ;
  if (! (x < 15)) goto unrolling_2_loop;
  {
    int i_unroll_32;
    x ++;
    /*@ assert x ≡ \at(x,unrolling_7_loop)+1; */ ;
    i_unroll_32 = 0;
    /*@ loop invariant \at(i_unroll_32,LoopEntry) ≡ 0; */
    while (i_unroll_32 < 4) {
      i_unroll_32 ++;
      /*@ assert \at(i_unroll_32,LoopCurrent) ≡ i_unroll_32-1; */ ;
    }
    /*@ assert i_unroll_32 > 0; */ ;
  }
  unrolling_6_loop: ;
  if (! (x < 15)) goto unrolling_2_loop;
  {
    int i_unroll_24;
    x ++;
    /*@ assert x ≡ \at(x,unrolling_6_loop)+1; */ ;
    i_unroll_24 = 0;
    /*@ loop invariant \at(i_unroll_24,LoopEntry) ≡ 0; */
    while (i_unroll_24 < 4) {
      i_unroll_24 ++;
      /*@ assert \at(i_unroll_24,LoopCurrent) ≡ i_unroll_24-1; */ ;
    }
    /*@ assert i_unroll_24 > 0; */ ;
  }
  unrolling_5_loop: ;
  if (! (x < 15)) goto unrolling_2_loop;
  {
    int i_unroll_16;
    x ++;
    /*@ assert x ≡ \at(x,unrolling_5_loop)+1; */ ;
    i_unroll_16 = 0;
    /*@ loop invariant \at(i_unroll_16,LoopEntry) ≡ 0; */
    while (i_unroll_16 < 4) {
      i_unroll_16 ++;
      /*@ assert \at(i_unroll_16,LoopCurrent) ≡ i_unroll_16-1; */ ;
    }
    /*@ assert i_unroll_16 > 0; */ ;
  }
  unrolling_4_loop: ;
  if (! (x < 15)) goto unrolling_2_loop;
  {
    int i_unroll_8;
    x ++;
    /*@ assert x ≡ \at(x,unrolling_4_loop)+1; */ ;
    i_unroll_8 = 0;
    /*@ loop invariant \at(i_unroll_8,LoopEntry) ≡ 0; */
    while (i_unroll_8 < 4) {
      i_unroll_8 ++;
      /*@ assert \at(i_unroll_8,LoopCurrent) ≡ i_unroll_8-1; */ ;
    }
    /*@ assert i_unroll_8 > 0; */ ;
  }
  unrolling_3_loop: ;
  /*@ loop invariant \at(x,LoopEntry) ≡ 0;
      loop invariant \at(x,LoopCurrent) ≤ 15;
      loop pragma UNROLL 4;
      loop pragma UNROLL "done", 4;
  */
  while (x < 15) {
    int i;
    x ++;
    /*@ assert x ≡ \at(x,LoopCurrent)+1; */ ;
    i = 0;
    /*@ loop invariant \at(i,LoopEntry) ≡ 0; */
    while (i < 4) {
      i ++;
      /*@ assert \at(i,LoopCurrent) ≡ i-1; */ ;
    }
    /*@ assert i > 0; */ ;
  }
  unrolling_2_loop: ;
  __retres = 0;
  return __retres;
}


