Sophie

Sophie

distrib > Fedora > 13 > i386 > by-pkgid > 4a989cf09a4b4c5f3273c280e92c6313 > files > 33

why-2.23-2.fc13.i686.rpm

/*@ logic int my_log(real s) */

/*@ ensures \result == 2 ^^ (53) */

double malcolm1() {
  double A;
  A=2;
  /*@ assert A==2 */

  /*@ invariant A== 2 ^^ my_log(A) && 
              1 <= my_log(A) <= 53
      variant (53-my_log(A)) */

  while (A != (A+1)) {
    A*=2;
  }
  return A;

}