+ if (r1->call == SIMCALL_COMM_WAIT && r2->call == SIMCALL_COMM_TEST
+ && r1->comm_wait.comm->comm.src_buff != NULL
+ && r1->comm_wait.comm->comm.dst_buff != NULL
+ && r2->comm_test.comm->comm.src_buff != NULL
+ && r2->comm_test.comm->comm.dst_buff != NULL
+ && r1->comm_wait.comm->comm.dst_buff != r2->comm_test.comm->comm.src_buff
+ && r1->comm_wait.comm->comm.dst_buff != r2->comm_test.comm->comm.dst_buff
+ && r2->comm_test.comm->comm.dst_buff != r1->comm_wait.comm->comm.src_buff)
+ return FALSE;
+
+ if (r1->call == SIMCALL_COMM_TEST && r2->call == SIMCALL_COMM_WAIT
+ && r1->comm_test.comm->comm.src_buff != NULL
+ && r1->comm_test.comm->comm.dst_buff != NULL
+ && r2->comm_wait.comm->comm.src_buff != NULL
+ && r2->comm_wait.comm->comm.dst_buff != NULL
+ && r1->comm_test.comm->comm.dst_buff != r2->comm_wait.comm->comm.src_buff
+ && r1->comm_test.comm->comm.dst_buff != r2->comm_wait.comm->comm.dst_buff
+ && r2->comm_wait.comm->comm.dst_buff != r1->comm_test.comm->comm.src_buff)
+ return FALSE;
+
+