[kernel] Parsing share/libc/__fc_builtin_for_normalization.i (no preprocessing)
[kernel] Parsing tests/spec/pi.c (with preprocessing)
/* Generated by Frama-C */
/*@ lemma simplify_dumb_1: 2800%14 ≡ 0;
 */
/*@ lemma simplify_dumb_2: ∀ ℤ c; c*2 > 0 ⇒ c*2 > 1;
 */
/*@ lemma simplify_dumb_3: ∀ ℤ c; c%14 ≡ 0 ⇒ (c-14)%14 ≡ 0;
 */
/*@ lemma simplify_dumb_4: ∀ ℤ c; c%14 ≡ 0 ⇒ c > 0 ⇒ c ≥ 14;
 */
extern void print4(int);

int a = 10000;
int b;
int c = 2800;
int d;
int e;
int f[2801];
int g;
/*@ requires b ≡ 0 ∧ c ≡ 2800 ∧ a ≡ 10000; */
void main(void)
{
  /*@ loop invariant 0 ≤ b ≤ 2800;
      loop variant c-b; */
  while (b - c) {
    f[b] = a / 5;
    b ++;
  }
  /*@ loop invariant 0 ≤ c ≤ 2800 ∧ c%14 ≡ 0;
      loop variant c; */
  while (1) {
    d = 0;
    g = c * 2;
    if (! g) break;
    b = c;
    /*@ loop invariant 1 ≤ b ≤ c ∧ g ≡ b*2;
        loop variant b; */
    while (1) {
      {
        int tmp;
        d += f[b] * a;
        { /* sequence */
          g --;
          f[b] = d % g;
        }
        { /* sequence */
          tmp = g;
          g --;
          d /= tmp;
        }
        b --;
        if (! b) break;
        d *= b;
      }
    }
    c -= 14;
    print4(e + d / a);
    e = d % a;
  }
  return;
}


