public class trace {
public int fxxx;
static public int sf;
public int[] a = { 1,2,3};
public void mm(int k,boolean b) {};
//@ ensures \result == 41;
public int mmm(int k) { return 41;};
//@ requires true;
//@ ensures \result != 0;
public int m(int k) {
k = 7;
k += 7;
int j;
fxxx = k + 9;
j = fxxx + this.fxxx;
fxxx += k + 9;
this.fxxx = k + 9;
this.fxxx += k + 9;
mm(k+k,k==0);
mmm(9);
j = mmm(j+1) + mmm(10);
synchronized (this) {
if (k == 14) {
k += 0;
} else {
k += 10;
}
}
int m = 2;
switch (m) {
case 1: m = 1; break;
case 2: m = 2; break;
default: m = 0;
}
m++;
switch (m) {
case 1: m = 1; break;
case 2: m = 2; break;
default: m = 0;
}
m = k == 14 ? (k += 2) : -k;
{
int zz = 9;
boolean b = zz == 9 || zz == 0;
b = zz == 0 || zz == 9;
b = zz == 0 && zz == 9;
b = zz == 9 && zz == 0;
}
assert false == false: "asd";
//@ assert k != 7;
//@ assert (k == 7) ==> (k != 7);
//@ assert !((k != 7) ==> (k == 7));
//@ ghost int x = 9;
//@ set x = x + 9;
//@ debug x = 0;
//@ set x = (\lbl AAA k+1);
//-ESC@ set x = (\lbl BBB k+1); //@ maintaining m == 14 + z && 0 <= z && z <= 4;
for (int z = 0; z<4; z = z + 1) {
m = m + 1;
}
//@ assume a.length > 10;
a[2] = 42;
m = a[1+1] - a[2];
a[1] = k + 1;
a[1] += k + 1;
sf = 4;
trace.sf = 5;
m = sf + trace.sf;
try {
m = 8;
throw new Exception();
} catch (RuntimeException e) {
m = 9;
} catch (Exception e) {
m = 10;
} finally {
m = 11;
}
return 0;
}
}