2 #if defined(HAS_CODE) && defined(VERBOSE)
3 cpu_printf("Pr: %d Tr: %d\n", II, t->forw);
6 default: Uerror("bad forward move");
7 case 0: /* if without executable clauses */
9 case 1: /* generic 'goto' or 'skip' */
12 case 2: /* generic 'else' */
14 if (trpt->o_pm&1) continue;
18 case 3: /* STATE 1 - line 301 "pan.___" - [((((4+1)<=4)&&(events_lost!=0)))] (0:0:0 - 1) */
20 #if defined(VERI) && !defined(NP)
21 { static int reported1 = 0;
22 if (verbose && !reported1)
23 { printf("depth %d: Claim reached state %d (line %d)\n",
24 depth, frm_st0[t->forw], src_claim[1]);
30 if (!((((4+1)<=4)&&(((int)now.events_lost)!=0))))
32 _m = 3; goto P999; /* 0 */
33 case 4: /* STATE 3 - line 302 "pan.___" - [(((4+1)<=4))] (0:0:0 - 1) */
35 #if defined(VERI) && !defined(NP)
36 { static int reported3 = 0;
37 if (verbose && !reported3)
38 { printf("depth %d: Claim reached state %d (line %d)\n",
39 depth, frm_st0[t->forw], src_claim[3]);
47 _m = 3; goto P999; /* 0 */
48 case 5: /* STATE 7 - line 306 "pan.___" - [((events_lost!=0))] (0:0:0 - 1) */
50 #if defined(VERI) && !defined(NP)
51 { static int reported7 = 0;
52 if (verbose && !reported7)
53 { printf("depth %d: Claim reached state %d (line %d)\n",
54 depth, frm_st0[t->forw], src_claim[7]);
60 if (!((((int)now.events_lost)!=0)))
62 _m = 3; goto P999; /* 0 */
63 case 6: /* STATE 14 - line 311 "pan.___" - [-end-] (0:0:0 - 1) */
65 #if defined(VERI) && !defined(NP)
66 { static int reported14 = 0;
67 if (verbose && !reported14)
68 { printf("depth %d: Claim reached state %d (line %d)\n",
69 depth, frm_st0[t->forw], src_claim[14]);
75 if (!delproc(1, II)) continue;
76 _m = 3; goto P999; /* 0 */
79 case 7: /* STATE 1 - line 252 "pan.___" - [i = 0] (0:0:1 - 1) */
82 (trpt+1)->bup.oval = ((int)((P4 *)this)->i);
85 logval(":init::i", ((int)((P4 *)this)->i));
88 _m = 3; goto P999; /* 0 */
89 case 8: /* STATE 2 - line 254 "pan.___" - [((i<2))] (7:0:2 - 1) */
92 if (!((((int)((P4 *)this)->i)<2)))
94 /* merge: commit_count[i] = 0(7, 3, 7) */
96 (trpt+1)->bup.ovals = grab_ints(2);
97 (trpt+1)->bup.ovals[0] = ((int)now.commit_count[ Index(((int)((P4 *)this)->i), 2) ]);
98 now.commit_count[ Index(((P4 *)this)->i, 2) ] = 0;
100 logval("commit_count[:init::i]", ((int)now.commit_count[ Index(((int)((P4 *)this)->i), 2) ]));
103 /* merge: i = (i+1)(7, 4, 7) */
105 (trpt+1)->bup.ovals[1] = ((int)((P4 *)this)->i);
106 ((P4 *)this)->i = (((int)((P4 *)this)->i)+1);
108 logval(":init::i", ((int)((P4 *)this)->i));
111 /* merge: .(goto)(0, 8, 7) */
114 _m = 3; goto P999; /* 3 */
115 case 9: /* STATE 5 - line 257 "pan.___" - [((i>=2))] (17:0:3 - 1) */
118 if (!((((int)((P4 *)this)->i)>=2)))
120 /* dead 1: i */ (trpt+1)->bup.ovals = grab_ints(3);
121 (trpt+1)->bup.ovals[0] = ((P4 *)this)->i;
126 /* merge: goto :b6(17, 6, 17) */
129 /* merge: _commit_sum = 0(17, 10, 17) */
131 (trpt+1)->bup.ovals[1] = ((int)now._commit_sum);
134 logval("_commit_sum", ((int)now._commit_sum));
137 /* merge: i = 0(17, 11, 17) */
139 (trpt+1)->bup.ovals[2] = ((int)((P4 *)this)->i);
142 logval(":init::i", ((int)((P4 *)this)->i));
145 /* merge: .(goto)(0, 18, 17) */
148 _m = 3; goto P999; /* 4 */
149 case 10: /* STATE 10 - line 260 "pan.___" - [_commit_sum = 0] (0:17:2 - 3) */
152 (trpt+1)->bup.ovals = grab_ints(2);
153 (trpt+1)->bup.ovals[0] = ((int)now._commit_sum);
156 logval("_commit_sum", ((int)now._commit_sum));
159 /* merge: i = 0(17, 11, 17) */
161 (trpt+1)->bup.ovals[1] = ((int)((P4 *)this)->i);
164 logval(":init::i", ((int)((P4 *)this)->i));
167 /* merge: .(goto)(0, 18, 17) */
170 _m = 3; goto P999; /* 2 */
171 case 11: /* STATE 12 - line 264 "pan.___" - [((i<4))] (17:0:2 - 1) */
174 if (!((((int)((P4 *)this)->i)<4)))
176 /* merge: buffer_use[i] = 0(17, 13, 17) */
178 (trpt+1)->bup.ovals = grab_ints(2);
179 (trpt+1)->bup.ovals[0] = ((int)now.buffer_use[ Index(((int)((P4 *)this)->i), 4) ]);
180 now.buffer_use[ Index(((P4 *)this)->i, 4) ] = 0;
182 logval("buffer_use[:init::i]", ((int)now.buffer_use[ Index(((int)((P4 *)this)->i), 4) ]));
185 /* merge: i = (i+1)(17, 14, 17) */
187 (trpt+1)->bup.ovals[1] = ((int)((P4 *)this)->i);
188 ((P4 *)this)->i = (((int)((P4 *)this)->i)+1);
190 logval(":init::i", ((int)((P4 *)this)->i));
193 /* merge: .(goto)(0, 18, 17) */
196 _m = 3; goto P999; /* 3 */
197 case 12: /* STATE 15 - line 267 "pan.___" - [((i>=4))] (0:0:1 - 1) */
200 if (!((((int)((P4 *)this)->i)>=4)))
202 /* dead 1: i */ (trpt+1)->bup.oval = ((P4 *)this)->i;
207 _m = 3; goto P999; /* 0 */
208 case 13: /* STATE 20 - line 269 "pan.___" - [(run reader())] (0:0:0 - 3) */
213 _m = 3; goto P999; /* 0 */
214 case 14: /* STATE 21 - line 270 "pan.___" - [(run cleaner())] (29:0:1 - 1) */
219 /* merge: i = 0(0, 22, 29) */
221 (trpt+1)->bup.oval = ((int)((P4 *)this)->i);
224 logval(":init::i", ((int)((P4 *)this)->i));
227 /* merge: .(goto)(0, 30, 29) */
230 _m = 3; goto P999; /* 2 */
231 case 15: /* STATE 23 - line 273 "pan.___" - [((i<4))] (25:0:1 - 1) */
234 if (!((((int)((P4 *)this)->i)<4)))
236 /* merge: refcount = (refcount+1)(0, 24, 25) */
238 (trpt+1)->bup.oval = ((int)now.refcount);
239 now.refcount = (((int)now.refcount)+1);
241 logval("refcount", ((int)now.refcount));
244 _m = 3; goto P999; /* 1 */
245 case 16: /* STATE 25 - line 275 "pan.___" - [(run tracer())] (29:0:1 - 1) */
250 /* merge: i = (i+1)(0, 26, 29) */
252 (trpt+1)->bup.oval = ((int)((P4 *)this)->i);
253 ((P4 *)this)->i = (((int)((P4 *)this)->i)+1);
255 logval(":init::i", ((int)((P4 *)this)->i));
258 /* merge: .(goto)(0, 30, 29) */
261 _m = 3; goto P999; /* 2 */
262 case 17: /* STATE 27 - line 277 "pan.___" - [((i>=4))] (39:0:2 - 1) */
265 if (!((((int)((P4 *)this)->i)>=4)))
267 /* dead 1: i */ (trpt+1)->bup.ovals = grab_ints(2);
268 (trpt+1)->bup.ovals[0] = ((P4 *)this)->i;
273 /* merge: goto :b8(39, 28, 39) */
276 /* merge: i = 0(39, 32, 39) */
278 (trpt+1)->bup.ovals[1] = ((int)((P4 *)this)->i);
281 logval(":init::i", ((int)((P4 *)this)->i));
284 /* merge: .(goto)(0, 40, 39) */
287 _m = 3; goto P999; /* 3 */
288 case 18: /* STATE 32 - line 279 "pan.___" - [i = 0] (0:39:1 - 3) */
291 (trpt+1)->bup.oval = ((int)((P4 *)this)->i);
294 logval(":init::i", ((int)((P4 *)this)->i));
297 /* merge: .(goto)(0, 40, 39) */
300 _m = 3; goto P999; /* 1 */
301 case 19: /* STATE 33 - line 281 "pan.___" - [((i<1))] (35:0:1 - 1) */
304 if (!((((int)((P4 *)this)->i)<1)))
306 /* merge: refcount = (refcount+1)(0, 34, 35) */
308 (trpt+1)->bup.oval = ((int)now.refcount);
309 now.refcount = (((int)now.refcount)+1);
311 logval("refcount", ((int)now.refcount));
314 _m = 3; goto P999; /* 1 */
315 case 20: /* STATE 35 - line 283 "pan.___" - [(run switcher())] (39:0:1 - 1) */
320 /* merge: i = (i+1)(0, 36, 39) */
322 (trpt+1)->bup.oval = ((int)((P4 *)this)->i);
323 ((P4 *)this)->i = (((int)((P4 *)this)->i)+1);
325 logval(":init::i", ((int)((P4 *)this)->i));
328 /* merge: .(goto)(0, 40, 39) */
331 _m = 3; goto P999; /* 2 */
332 case 21: /* STATE 37 - line 285 "pan.___" - [((i>=1))] (41:0:1 - 1) */
335 if (!((((int)((P4 *)this)->i)>=1)))
337 /* dead 1: i */ (trpt+1)->bup.oval = ((P4 *)this)->i;
342 /* merge: goto :b9(0, 38, 41) */
345 _m = 3; goto P999; /* 1 */
346 case 22: /* STATE 43 - line 288 "pan.___" - [-end-] (0:0:0 - 1) */
349 if (!delproc(1, II)) continue;
350 _m = 3; goto P999; /* 0 */
353 case 23: /* STATE 1 - line 237 "pan.___" - [((refcount==0))] (3:0:1 - 1) */
356 if (!((((int)now.refcount)==0)))
358 /* merge: refcount = (refcount+1)(0, 2, 3) */
360 (trpt+1)->bup.oval = ((int)now.refcount);
361 now.refcount = (((int)now.refcount)+1);
363 logval("refcount", ((int)now.refcount));
366 _m = 3; goto P999; /* 1 */
367 case 24: /* STATE 3 - line 239 "pan.___" - [(run switcher())] (7:0:0 - 1) */
372 /* merge: goto :b5(0, 4, 7) */
375 _m = 3; goto P999; /* 1 */
376 case 25: /* STATE 9 - line 243 "pan.___" - [-end-] (0:0:0 - 1) */
379 if (!delproc(1, II)) continue;
380 _m = 3; goto P999; /* 0 */
383 case 26: /* STATE 1 - line 200 "pan.___" - [((((((write_off/(4/2))-(read_off/(4/2)))>0)&&(((write_off/(4/2))-(read_off/(4/2)))<(255/2)))&&(((commit_count[((read_off%4)/(4/2))]-(4/2))-(((read_off/4)*4)/2))==0)))] (0:0:0 - 1) */
386 if (!((((((((int)now.write_off)/(4/2))-(((int)now.read_off)/(4/2)))>0)&&(((((int)now.write_off)/(4/2))-(((int)now.read_off)/(4/2)))<(255/2)))&&(((((int)now.commit_count[ Index(((((int)now.read_off)%4)/(4/2)), 2) ])-(4/2))-(((((int)now.read_off)/4)*4)/2))==0))))
388 _m = 3; goto P999; /* 0 */
389 case 27: /* STATE 2 - line 202 "pan.___" - [i = 0] (0:0:1 - 1) */
392 (trpt+1)->bup.oval = ((int)((P2 *)this)->i);
395 logval("reader:i", ((int)((P2 *)this)->i));
398 _m = 3; goto P999; /* 0 */
399 case 28: /* STATE 3 - line 204 "pan.___" - [((i<(4/2)))] (9:0:2 - 1) */
402 if (!((((int)((P2 *)this)->i)<(4/2))))
404 /* merge: assert((buffer_use[((read_off+i)%4)]==0))(9, 4, 9) */
406 assert((((int)now.buffer_use[ Index(((((int)now.read_off)+((int)((P2 *)this)->i))%4), 4) ])==0), "(buffer_use[((read_off+i)%4)]==0)", II, tt, t);
407 /* merge: buffer_use[((read_off+i)%4)] = 1(9, 5, 9) */
409 (trpt+1)->bup.ovals = grab_ints(2);
410 (trpt+1)->bup.ovals[0] = ((int)now.buffer_use[ Index(((((int)now.read_off)+((int)((P2 *)this)->i))%4), 4) ]);
411 now.buffer_use[ Index(((now.read_off+((P2 *)this)->i)%4), 4) ] = 1;
413 logval("buffer_use[((read_off+reader:i)%4)]", ((int)now.buffer_use[ Index(((((int)now.read_off)+((int)((P2 *)this)->i))%4), 4) ]));
416 /* merge: i = (i+1)(9, 6, 9) */
418 (trpt+1)->bup.ovals[1] = ((int)((P2 *)this)->i);
419 ((P2 *)this)->i = (((int)((P2 *)this)->i)+1);
421 logval("reader:i", ((int)((P2 *)this)->i));
424 /* merge: .(goto)(0, 10, 9) */
427 _m = 3; goto P999; /* 4 */
428 case 29: /* STATE 7 - line 208 "pan.___" - [((i>=(4/2)))] (11:0:1 - 1) */
431 if (!((((int)((P2 *)this)->i)>=(4/2))))
433 /* dead 1: i */ (trpt+1)->bup.oval = ((P2 *)this)->i;
438 /* merge: goto :b3(0, 8, 11) */
441 _m = 3; goto P999; /* 1 */
442 /* STATE 13 - line 216 "pan.___" - [i = 0] (0:0 - 1) same as 27 (0:0 - 1) */
443 case 30: /* STATE 14 - line 218 "pan.___" - [((i<(4/2)))] (19:0:2 - 1) */
446 if (!((((int)((P2 *)this)->i)<(4/2))))
448 /* merge: buffer_use[((read_off+i)%4)] = 0(19, 15, 19) */
450 (trpt+1)->bup.ovals = grab_ints(2);
451 (trpt+1)->bup.ovals[0] = ((int)now.buffer_use[ Index(((((int)now.read_off)+((int)((P2 *)this)->i))%4), 4) ]);
452 now.buffer_use[ Index(((now.read_off+((P2 *)this)->i)%4), 4) ] = 0;
454 logval("buffer_use[((read_off+reader:i)%4)]", ((int)now.buffer_use[ Index(((((int)now.read_off)+((int)((P2 *)this)->i))%4), 4) ]));
457 /* merge: i = (i+1)(19, 16, 19) */
459 (trpt+1)->bup.ovals[1] = ((int)((P2 *)this)->i);
460 ((P2 *)this)->i = (((int)((P2 *)this)->i)+1);
462 logval("reader:i", ((int)((P2 *)this)->i));
465 /* merge: .(goto)(0, 20, 19) */
468 _m = 3; goto P999; /* 3 */
469 case 31: /* STATE 17 - line 221 "pan.___" - [((i>=(4/2)))] (0:0:1 - 1) */
472 if (!((((int)((P2 *)this)->i)>=(4/2))))
474 /* dead 1: i */ (trpt+1)->bup.oval = ((P2 *)this)->i;
479 _m = 3; goto P999; /* 0 */
480 case 32: /* STATE 22 - line 223 "pan.___" - [read_off = (read_off+(4/2))] (0:0:1 - 1) */
483 (trpt+1)->bup.oval = ((int)now.read_off);
484 now.read_off = (((int)now.read_off)+(4/2));
486 logval("read_off", ((int)now.read_off));
489 _m = 3; goto P999; /* 0 */
490 case 33: /* STATE 24 - line 225 "pan.___" - [((read_off>=(4-events_lost)))] (0:0:0 - 1) */
493 if (!((((int)now.read_off)>=(4-((int)now.events_lost)))))
495 _m = 3; goto P999; /* 0 */
496 case 34: /* STATE 29 - line 227 "pan.___" - [-end-] (0:0:0 - 3) */
499 if (!delproc(1, II)) continue;
500 _m = 3; goto P999; /* 0 */
503 case 35: /* STATE 1 - line 123 "pan.___" - [prev_off = write_off] (0:10:2 - 1) */
506 (trpt+1)->bup.ovals = grab_ints(2);
507 (trpt+1)->bup.ovals[0] = ((int)((P1 *)this)->prev_off);
508 ((P1 *)this)->prev_off = ((int)now.write_off);
510 logval("tracer:prev_off", ((int)((P1 *)this)->prev_off));
513 /* merge: new_off = (prev_off+size)(10, 2, 10) */
515 (trpt+1)->bup.ovals[1] = ((int)((P1 *)this)->new_off);
516 ((P1 *)this)->new_off = (((int)((P1 *)this)->prev_off)+((int)((P1 *)this)->size));
518 logval("tracer:new_off", ((int)((P1 *)this)->new_off));
521 _m = 3; goto P999; /* 1 */
522 case 36: /* STATE 4 - line 128 "pan.___" - [((((new_off-read_off)>4)&&((new_off-read_off)<(255/2))))] (0:0:1 - 1) */
525 if (!((((((int)((P1 *)this)->new_off)-((int)now.read_off))>4)&&((((int)((P1 *)this)->new_off)-((int)now.read_off))<(255/2)))))
527 /* dead 1: new_off */ (trpt+1)->bup.oval = ((P1 *)this)->new_off;
531 ((P1 *)this)->new_off = 0;
532 _m = 3; goto P999; /* 0 */
533 case 37: /* STATE 7 - line 130 "pan.___" - [(1)] (27:0:0 - 1) */
538 /* merge: .(goto)(0, 9, 27) */
541 _m = 3; goto P999; /* 1 */
542 case 38: /* STATE 11 - line 135 "pan.___" - [((prev_off!=write_off))] (3:0:1 - 1) */
545 if (!((((int)((P1 *)this)->prev_off)!=((int)now.write_off))))
547 /* dead 1: prev_off */ (trpt+1)->bup.oval = ((P1 *)this)->prev_off;
551 ((P1 *)this)->prev_off = 0;
552 /* merge: goto cmpxchg_loop(0, 12, 3) */
555 _m = 3; goto P999; /* 1 */
556 case 39: /* STATE 14 - line 136 "pan.___" - [write_off = new_off] (0:24:2 - 1) */
559 (trpt+1)->bup.ovals = grab_ints(2);
560 (trpt+1)->bup.ovals[0] = ((int)now.write_off);
561 now.write_off = ((int)((P1 *)this)->new_off);
563 logval("write_off", ((int)now.write_off));
566 /* merge: .(goto)(24, 16, 24) */
569 /* merge: i = 0(24, 17, 24) */
571 (trpt+1)->bup.ovals[1] = ((int)((P1 *)this)->i);
574 logval("tracer:i", ((int)((P1 *)this)->i));
577 /* merge: .(goto)(0, 25, 24) */
580 _m = 3; goto P999; /* 3 */
581 case 40: /* STATE 17 - line 138 "pan.___" - [i = 0] (0:24:1 - 2) */
584 (trpt+1)->bup.oval = ((int)((P1 *)this)->i);
587 logval("tracer:i", ((int)((P1 *)this)->i));
590 /* merge: .(goto)(0, 25, 24) */
593 _m = 3; goto P999; /* 1 */
594 case 41: /* STATE 18 - line 140 "pan.___" - [((i<size))] (24:0:2 - 1) */
597 if (!((((int)((P1 *)this)->i)<((int)((P1 *)this)->size))))
599 /* merge: assert((buffer_use[((prev_off+i)%4)]==0))(24, 19, 24) */
601 assert((((int)now.buffer_use[ Index(((((int)((P1 *)this)->prev_off)+((int)((P1 *)this)->i))%4), 4) ])==0), "(buffer_use[((prev_off+i)%4)]==0)", II, tt, t);
602 /* merge: buffer_use[((prev_off+i)%4)] = 1(24, 20, 24) */
604 (trpt+1)->bup.ovals = grab_ints(2);
605 (trpt+1)->bup.ovals[0] = ((int)now.buffer_use[ Index(((((int)((P1 *)this)->prev_off)+((int)((P1 *)this)->i))%4), 4) ]);
606 now.buffer_use[ Index(((((P1 *)this)->prev_off+((P1 *)this)->i)%4), 4) ] = 1;
608 logval("buffer_use[((tracer:prev_off+tracer:i)%4)]", ((int)now.buffer_use[ Index(((((int)((P1 *)this)->prev_off)+((int)((P1 *)this)->i))%4), 4) ]));
611 /* merge: i = (i+1)(24, 21, 24) */
613 (trpt+1)->bup.ovals[1] = ((int)((P1 *)this)->i);
614 ((P1 *)this)->i = (((int)((P1 *)this)->i)+1);
616 logval("tracer:i", ((int)((P1 *)this)->i));
619 /* merge: .(goto)(0, 25, 24) */
622 _m = 3; goto P999; /* 4 */
623 case 42: /* STATE 22 - line 144 "pan.___" - [((i>=size))] (26:0:1 - 1) */
626 if (!((((int)((P1 *)this)->i)>=((int)((P1 *)this)->size))))
628 /* dead 1: i */ (trpt+1)->bup.oval = ((P1 *)this)->i;
633 /* merge: goto :b0(0, 23, 26) */
636 _m = 3; goto P999; /* 1 */
637 case 43: /* STATE 28 - line 152 "pan.___" - [i = 0] (0:0:1 - 1) */
640 (trpt+1)->bup.oval = ((int)((P1 *)this)->i);
643 logval("tracer:i", ((int)((P1 *)this)->i));
646 _m = 3; goto P999; /* 0 */
647 case 44: /* STATE 29 - line 154 "pan.___" - [((i<size))] (34:0:2 - 1) */
650 if (!((((int)((P1 *)this)->i)<((int)((P1 *)this)->size))))
652 /* merge: buffer_use[((prev_off+i)%4)] = 0(34, 30, 34) */
654 (trpt+1)->bup.ovals = grab_ints(2);
655 (trpt+1)->bup.ovals[0] = ((int)now.buffer_use[ Index(((((int)((P1 *)this)->prev_off)+((int)((P1 *)this)->i))%4), 4) ]);
656 now.buffer_use[ Index(((((P1 *)this)->prev_off+((P1 *)this)->i)%4), 4) ] = 0;
658 logval("buffer_use[((tracer:prev_off+tracer:i)%4)]", ((int)now.buffer_use[ Index(((((int)((P1 *)this)->prev_off)+((int)((P1 *)this)->i))%4), 4) ]));
661 /* merge: i = (i+1)(34, 31, 34) */
663 (trpt+1)->bup.ovals[1] = ((int)((P1 *)this)->i);
664 ((P1 *)this)->i = (((int)((P1 *)this)->i)+1);
666 logval("tracer:i", ((int)((P1 *)this)->i));
669 /* merge: .(goto)(0, 35, 34) */
672 _m = 3; goto P999; /* 3 */
673 case 45: /* STATE 32 - line 157 "pan.___" - [((i>=size))] (44:0:4 - 1) */
676 if (!((((int)((P1 *)this)->i)>=((int)((P1 *)this)->size))))
678 /* dead 1: i */ (trpt+1)->bup.ovals = grab_ints(4);
679 (trpt+1)->bup.ovals[0] = ((P1 *)this)->i;
684 /* merge: goto :b1(44, 33, 44) */
687 /* merge: tmp_commit = (commit_count[((prev_off%4)/(4/2))]+size)(44, 37, 44) */
689 (trpt+1)->bup.ovals[1] = ((int)((P1 *)this)->tmp_commit);
690 ((P1 *)this)->tmp_commit = (((int)now.commit_count[ Index(((((int)((P1 *)this)->prev_off)%4)/(4/2)), 2) ])+((int)((P1 *)this)->size));
692 logval("tracer:tmp_commit", ((int)((P1 *)this)->tmp_commit));
695 /* merge: _commit_sum = ((_commit_sum-commit_count[((prev_off%4)/(4/2))])+tmp_commit)(44, 38, 44) */
697 (trpt+1)->bup.ovals[2] = ((int)now._commit_sum);
698 now._commit_sum = ((((int)now._commit_sum)-((int)now.commit_count[ Index(((((int)((P1 *)this)->prev_off)%4)/(4/2)), 2) ]))+((int)((P1 *)this)->tmp_commit));
700 logval("_commit_sum", ((int)now._commit_sum));
703 /* merge: commit_count[((prev_off%4)/(4/2))] = tmp_commit(44, 39, 44) */
705 (trpt+1)->bup.ovals[3] = ((int)now.commit_count[ Index(((((int)((P1 *)this)->prev_off)%4)/(4/2)), 2) ]);
706 now.commit_count[ Index(((((P1 *)this)->prev_off%4)/(4/2)), 2) ] = ((int)((P1 *)this)->tmp_commit);
708 logval("commit_count[((tracer:prev_off%4)/(4/2))]", ((int)now.commit_count[ Index(((((int)((P1 *)this)->prev_off)%4)/(4/2)), 2) ]));
711 _m = 3; goto P999; /* 4 */
712 case 46: /* STATE 37 - line 159 "pan.___" - [tmp_commit = (commit_count[((prev_off%4)/(4/2))]+size)] (0:44:3 - 3) */
715 (trpt+1)->bup.ovals = grab_ints(3);
716 (trpt+1)->bup.ovals[0] = ((int)((P1 *)this)->tmp_commit);
717 ((P1 *)this)->tmp_commit = (((int)now.commit_count[ Index(((((int)((P1 *)this)->prev_off)%4)/(4/2)), 2) ])+((int)((P1 *)this)->size));
719 logval("tracer:tmp_commit", ((int)((P1 *)this)->tmp_commit));
722 /* merge: _commit_sum = ((_commit_sum-commit_count[((prev_off%4)/(4/2))])+tmp_commit)(44, 38, 44) */
724 (trpt+1)->bup.ovals[1] = ((int)now._commit_sum);
725 now._commit_sum = ((((int)now._commit_sum)-((int)now.commit_count[ Index(((((int)((P1 *)this)->prev_off)%4)/(4/2)), 2) ]))+((int)((P1 *)this)->tmp_commit));
727 logval("_commit_sum", ((int)now._commit_sum));
730 /* merge: commit_count[((prev_off%4)/(4/2))] = tmp_commit(44, 39, 44) */
732 (trpt+1)->bup.ovals[2] = ((int)now.commit_count[ Index(((((int)((P1 *)this)->prev_off)%4)/(4/2)), 2) ]);
733 now.commit_count[ Index(((((P1 *)this)->prev_off%4)/(4/2)), 2) ] = ((int)((P1 *)this)->tmp_commit);
735 logval("commit_count[((tracer:prev_off%4)/(4/2))]", ((int)now.commit_count[ Index(((((int)((P1 *)this)->prev_off)%4)/(4/2)), 2) ]));
738 _m = 3; goto P999; /* 2 */
739 case 47: /* STATE 40 - line 167 "pan.___" - [((((((prev_off/4)*4)/2)+(4/2))-tmp_commit))] (50:0:3 - 1) */
742 if (!((((((((int)((P1 *)this)->prev_off)/4)*4)/2)+(4/2))-((int)((P1 *)this)->tmp_commit))))
744 /* dead 1: prev_off */ (trpt+1)->bup.ovals = grab_ints(3);
745 (trpt+1)->bup.ovals[0] = ((P1 *)this)->prev_off;
749 ((P1 *)this)->prev_off = 0;
750 /* dead 1: tmp_commit */ (trpt+1)->bup.ovals[1] = ((P1 *)this)->tmp_commit;
754 ((P1 *)this)->tmp_commit = 0;
755 /* merge: deliver = 1(50, 41, 50) */
757 (trpt+1)->bup.ovals[2] = ((int)deliver);
760 logval("deliver", ((int)deliver));
763 /* merge: .(goto)(50, 45, 50) */
766 _m = 3; goto P999; /* 2 */
767 case 48: /* STATE 45 - line 172 "pan.___" - [.(goto)] (0:50:0 - 2) */
771 _m = 3; goto P999; /* 0 */
772 case 49: /* STATE 43 - line 170 "pan.___" - [(1)] (50:0:0 - 1) */
777 /* merge: .(goto)(50, 45, 50) */
780 _m = 3; goto P999; /* 1 */
781 case 50: /* STATE 48 - line 176 "pan.___" - [events_lost = (events_lost+1)] (0:0:1 - 2) */
784 (trpt+1)->bup.oval = ((int)now.events_lost);
785 now.events_lost = (((int)now.events_lost)+1);
787 logval("events_lost", ((int)now.events_lost));
790 _m = 3; goto P999; /* 0 */
791 case 51: /* STATE 49 - line 178 "pan.___" - [refcount = (refcount-1)] (0:0:1 - 2) */
794 (trpt+1)->bup.oval = ((int)now.refcount);
795 now.refcount = (((int)now.refcount)-1);
797 logval("refcount", ((int)now.refcount));
800 _m = 3; goto P999; /* 0 */
801 case 52: /* STATE 51 - line 180 "pan.___" - [-end-] (0:0:0 - 1) */
804 if (!delproc(1, II)) continue;
805 _m = 3; goto P999; /* 0 */
808 case 53: /* STATE 1 - line 72 "pan.___" - [prev_off = write_off] (0:9:3 - 1) */
811 (trpt+1)->bup.ovals = grab_ints(3);
812 (trpt+1)->bup.ovals[0] = ((int)((P0 *)this)->prev_off);
813 ((P0 *)this)->prev_off = ((int)now.write_off);
815 logval("switcher:prev_off", ((int)((P0 *)this)->prev_off));
818 /* merge: size = ((4/2)-(prev_off%(4/2)))(9, 2, 9) */
820 (trpt+1)->bup.ovals[1] = ((int)((P0 *)this)->size);
821 ((P0 *)this)->size = ((4/2)-(((int)((P0 *)this)->prev_off)%(4/2)));
823 logval("switcher:size", ((int)((P0 *)this)->size));
826 /* merge: new_off = (prev_off+size)(9, 3, 9) */
828 (trpt+1)->bup.ovals[2] = ((int)((P0 *)this)->new_off);
829 ((P0 *)this)->new_off = (((int)((P0 *)this)->prev_off)+((int)((P0 *)this)->size));
831 logval("switcher:new_off", ((int)((P0 *)this)->new_off));
834 _m = 3; goto P999; /* 2 */
835 case 54: /* STATE 4 - line 77 "pan.___" - [(((((new_off-read_off)>4)&&((new_off-read_off)<(255/2)))||(size==(4/2))))] (30:0:3 - 1) */
838 if (!(((((((int)((P0 *)this)->new_off)-((int)now.read_off))>4)&&((((int)((P0 *)this)->new_off)-((int)now.read_off))<(255/2)))||(((int)((P0 *)this)->size)==(4/2)))))
840 /* dead 1: new_off */ (trpt+1)->bup.ovals = grab_ints(3);
841 (trpt+1)->bup.ovals[0] = ((P0 *)this)->new_off;
845 ((P0 *)this)->new_off = 0;
846 /* dead 1: size */ (trpt+1)->bup.ovals[1] = ((P0 *)this)->size;
850 ((P0 *)this)->size = 0;
851 /* merge: refcount = (refcount-1)(30, 5, 30) */
853 (trpt+1)->bup.ovals[2] = ((int)now.refcount);
854 now.refcount = (((int)now.refcount)-1);
856 logval("refcount", ((int)now.refcount));
859 /* merge: goto not_needed(30, 6, 30) */
862 _m = 3; goto P999; /* 2 */
863 case 55: /* STATE 8 - line 80 "pan.___" - [(1)] (18:0:0 - 1) */
868 /* merge: .(goto)(0, 10, 18) */
871 _m = 3; goto P999; /* 1 */
872 case 56: /* STATE 12 - line 85 "pan.___" - [((prev_off!=write_off))] (11:0:1 - 1) */
875 if (!((((int)((P0 *)this)->prev_off)!=((int)now.write_off))))
877 /* dead 1: prev_off */ (trpt+1)->bup.oval = ((P0 *)this)->prev_off;
881 ((P0 *)this)->prev_off = 0;
882 /* merge: goto cmpxchg_loop(0, 13, 11) */
885 _m = 3; goto P999; /* 1 */
886 case 57: /* STATE 17 - line 88 "pan.___" - [.(goto)] (0:29:0 - 1) */
890 _m = 3; goto P999; /* 0 */
891 case 58: /* STATE 15 - line 86 "pan.___" - [write_off = new_off] (0:29:1 - 1) */
894 (trpt+1)->bup.oval = ((int)now.write_off);
895 now.write_off = ((int)((P0 *)this)->new_off);
897 logval("write_off", ((int)now.write_off));
900 /* merge: .(goto)(29, 17, 29) */
903 _m = 3; goto P999; /* 1 */
904 case 59: /* STATE 19 - line 91 "pan.___" - [tmp_commit = (commit_count[((prev_off%4)/(4/2))]+size)] (0:26:3 - 1) */
907 (trpt+1)->bup.ovals = grab_ints(3);
908 (trpt+1)->bup.ovals[0] = ((int)((P0 *)this)->tmp_commit);
909 ((P0 *)this)->tmp_commit = (((int)now.commit_count[ Index(((((int)((P0 *)this)->prev_off)%4)/(4/2)), 2) ])+((int)((P0 *)this)->size));
911 logval("switcher:tmp_commit", ((int)((P0 *)this)->tmp_commit));
914 /* merge: _commit_sum = ((_commit_sum-commit_count[((prev_off%4)/(4/2))])+tmp_commit)(26, 20, 26) */
916 (trpt+1)->bup.ovals[1] = ((int)now._commit_sum);
917 now._commit_sum = ((((int)now._commit_sum)-((int)now.commit_count[ Index(((((int)((P0 *)this)->prev_off)%4)/(4/2)), 2) ]))+((int)((P0 *)this)->tmp_commit));
919 logval("_commit_sum", ((int)now._commit_sum));
922 /* merge: commit_count[((prev_off%4)/(4/2))] = tmp_commit(26, 21, 26) */
924 (trpt+1)->bup.ovals[2] = ((int)now.commit_count[ Index(((((int)((P0 *)this)->prev_off)%4)/(4/2)), 2) ]);
925 now.commit_count[ Index(((((P0 *)this)->prev_off%4)/(4/2)), 2) ] = ((int)((P0 *)this)->tmp_commit);
927 logval("commit_count[((switcher:prev_off%4)/(4/2))]", ((int)now.commit_count[ Index(((((int)((P0 *)this)->prev_off)%4)/(4/2)), 2) ]));
930 _m = 3; goto P999; /* 2 */
931 case 60: /* STATE 22 - line 99 "pan.___" - [((((((prev_off/4)*4)/2)+(4/2))-tmp_commit))] (30:0:4 - 1) */
934 if (!((((((((int)((P0 *)this)->prev_off)/4)*4)/2)+(4/2))-((int)((P0 *)this)->tmp_commit))))
936 /* dead 1: prev_off */ (trpt+1)->bup.ovals = grab_ints(4);
937 (trpt+1)->bup.ovals[0] = ((P0 *)this)->prev_off;
941 ((P0 *)this)->prev_off = 0;
942 /* dead 1: tmp_commit */ (trpt+1)->bup.ovals[1] = ((P0 *)this)->tmp_commit;
946 ((P0 *)this)->tmp_commit = 0;
947 /* merge: deliver = 1(30, 23, 30) */
949 (trpt+1)->bup.ovals[2] = ((int)deliver);
952 logval("deliver", ((int)deliver));
955 /* merge: .(goto)(30, 27, 30) */
958 /* merge: refcount = (refcount-1)(30, 28, 30) */
960 (trpt+1)->bup.ovals[3] = ((int)now.refcount);
961 now.refcount = (((int)now.refcount)-1);
963 logval("refcount", ((int)now.refcount));
966 _m = 3; goto P999; /* 3 */
967 case 61: /* STATE 27 - line 104 "pan.___" - [.(goto)] (0:30:1 - 2) */
971 /* merge: refcount = (refcount-1)(30, 28, 30) */
973 (trpt+1)->bup.oval = ((int)now.refcount);
974 now.refcount = (((int)now.refcount)-1);
976 logval("refcount", ((int)now.refcount));
979 _m = 3; goto P999; /* 1 */
980 case 62: /* STATE 25 - line 102 "pan.___" - [(1)] (30:0:1 - 1) */
985 /* merge: .(goto)(30, 27, 30) */
988 /* merge: refcount = (refcount-1)(30, 28, 30) */
990 (trpt+1)->bup.oval = ((int)now.refcount);
991 now.refcount = (((int)now.refcount)-1);
993 logval("refcount", ((int)now.refcount));
996 _m = 3; goto P999; /* 2 */
997 case 63: /* STATE 31 - line 108 "pan.___" - [-end-] (0:0:0 - 1) */
1000 if (!delproc(1, II)) continue;
1001 _m = 3; goto P999; /* 0 */
1003 if (!((!(trpt->o_pm&4) && !(trpt->tau&128))))
1005 /* else fall through */
1006 case _T2: /* true */