let check_unspecified_sequence state seq =
    let rec check_one_stmt ((stmt1,writes1,_) as my_stmt) = function
        [] -> ()
      | (stmt2,_,_)::seq when stmt1 == stmt2 -> check_one_stmt my_stmt seq
      | (stmt2,writes2,reads2) :: seq ->
          check_non_overlapping state writes1 reads2;
          if stmt1.sid < stmt2.sid then
            check_non_overlapping state writes1 writes2;
          check_one_stmt my_stmt seq
    in
    if Parameters.UnspecifiedAccess.get () then
      List.iter (fun x -> check_one_stmt x seq) seq