package data.causality;
final public class Test14 {
static int a = 0;
static int b = 0;
static volatile int y = 0;
final public static void thread1() {
final int r1 = a;
if (r1 == 0) y = 1; else b = 1;
assert r1 == 1;
}
final public static void thread2() {
int r2;
int r3;
do {
r2 = y;
r3 = b;
}while(r2 + r3 == 0);
a = 1;
assert r2 == 0;
assert r3 == 1;
}
public Test14() { super(); }
}