C C-FR+w+w+w+reads.litmus

{
a=0;
}

P0(int *a)
{
	WRITE_ONCE(*a, 1);
}

P1(int *a)
{
	WRITE_ONCE(*a, 2);
}

P2(int *a)
{
	WRITE_ONCE(*a, 3);
}

P3(int *a)
{
	r1 = READ_ONCE(*a);
	r2 = READ_ONCE(*a);
	r3 = READ_ONCE(*a);
	r4 = READ_ONCE(*a);
}

exists
(3:r1=0 /\ 3:r2=1 /\ 3:r3=2 /\ 3:r4=3)
