1extern int __VERIFIER_nondet_int(void);
2
3
4
5#line 2 "libacc.c"
6struct JoinPoint {
7 void **(*fp)(struct JoinPoint * ) ;
8 void **args ;
9 int argsCount ;
10 char const **argsType ;
11 void *(*arg)(int , struct JoinPoint * ) ;
12 char const *(*argType)(int , struct JoinPoint * ) ;
13 void **retValue ;
14 char const *retType ;
15 char const *funcName ;
16 char const *targetName ;
17 char const *fileName ;
18 char const *kind ;
19 void *excep_return ;
20};
21#line 18 "libacc.c"
22struct __UTAC__CFLOW_FUNC {
23 int (*func)(int , int ) ;
24 int val ;
25 struct __UTAC__CFLOW_FUNC *next ;
26};
27#line 18 "libacc.c"
28struct __UTAC__EXCEPTION {
29 void *jumpbuf ;
30 unsigned long long prtValue ;
31 int pops ;
32 struct __UTAC__CFLOW_FUNC *cflowfuncs ;
33};
34#line 211 "/usr/lib/gcc/x86_64-linux-gnu/4.4.5/include/stddef.h"
35typedef unsigned long size_t;
36#line 76 "libacc.c"
37struct __ACC__ERR {
38 void *v ;
39 struct __ACC__ERR *next ;
40};
41#line 1 "Floor.o"
42#pragma merger(0,"Floor.i","")
43#line 12 "Floor.h"
44int isFloorCalling(int floorID ) ;
45#line 14
46void resetCallOnFloor(int floorID ) ;
47#line 16
48void callOnFloor(int floorID ) ;
49#line 18
50int isPersonOnFloor(int person , int floor ) ;
51#line 20
52void initPersonOnFloor(int person , int floor ) ;
53#line 22
54void removePersonFromFloor(int person , int floor ) ;
55#line 24
56int isTopFloor(int floorID ) ;
57#line 28
58void initFloors(void) ;
59#line 9 "Floor.c"
60int calls_0 ;
61#line 11 "Floor.c"
62int calls_1 ;
63#line 13 "Floor.c"
64int calls_2 ;
65#line 15 "Floor.c"
66int calls_3 ;
67#line 17 "Floor.c"
68int calls_4 ;
69#line 20 "Floor.c"
70int personOnFloor_0_0 ;
71#line 22 "Floor.c"
72int personOnFloor_0_1 ;
73#line 24 "Floor.c"
74int personOnFloor_0_2 ;
75#line 26 "Floor.c"
76int personOnFloor_0_3 ;
77#line 28 "Floor.c"
78int personOnFloor_0_4 ;
79#line 30 "Floor.c"
80int personOnFloor_1_0 ;
81#line 32 "Floor.c"
82int personOnFloor_1_1 ;
83#line 34 "Floor.c"
84int personOnFloor_1_2 ;
85#line 36 "Floor.c"
86int personOnFloor_1_3 ;
87#line 38 "Floor.c"
88int personOnFloor_1_4 ;
89#line 40 "Floor.c"
90int personOnFloor_2_0 ;
91#line 42 "Floor.c"
92int personOnFloor_2_1 ;
93#line 44 "Floor.c"
94int personOnFloor_2_2 ;
95#line 46 "Floor.c"
96int personOnFloor_2_3 ;
97#line 48 "Floor.c"
98int personOnFloor_2_4 ;
99#line 50 "Floor.c"
100int personOnFloor_3_0 ;
101#line 52 "Floor.c"
102int personOnFloor_3_1 ;
103#line 54 "Floor.c"
104int personOnFloor_3_2 ;
105#line 56 "Floor.c"
106int personOnFloor_3_3 ;
107#line 58 "Floor.c"
108int personOnFloor_3_4 ;
109#line 60 "Floor.c"
110int personOnFloor_4_0 ;
111#line 62 "Floor.c"
112int personOnFloor_4_1 ;
113#line 64 "Floor.c"
114int personOnFloor_4_2 ;
115#line 66 "Floor.c"
116int personOnFloor_4_3 ;
117#line 68 "Floor.c"
118int personOnFloor_4_4 ;
119#line 70 "Floor.c"
120int personOnFloor_5_0 ;
121#line 72 "Floor.c"
122int personOnFloor_5_1 ;
123#line 74 "Floor.c"
124int personOnFloor_5_2 ;
125#line 76 "Floor.c"
126int personOnFloor_5_3 ;
127#line 78 "Floor.c"
128int personOnFloor_5_4 ;
129#line 81 "Floor.c"
130void initFloors(void)
131{
132
133 {
134#line 82
135 calls_0 = 0;
136#line 83
137 calls_1 = 0;
138#line 84
139 calls_2 = 0;
140#line 85
141 calls_3 = 0;
142#line 86
143 calls_4 = 0;
144#line 87
145 personOnFloor_0_0 = 0;
146#line 88
147 personOnFloor_0_1 = 0;
148#line 89
149 personOnFloor_0_2 = 0;
150#line 90
151 personOnFloor_0_3 = 0;
152#line 91
153 personOnFloor_0_4 = 0;
154#line 92
155 personOnFloor_1_0 = 0;
156#line 93
157 personOnFloor_1_1 = 0;
158#line 94
159 personOnFloor_1_2 = 0;
160#line 95
161 personOnFloor_1_3 = 0;
162#line 96
163 personOnFloor_1_4 = 0;
164#line 97
165 personOnFloor_2_0 = 0;
166#line 98
167 personOnFloor_2_1 = 0;
168#line 99
169 personOnFloor_2_2 = 0;
170#line 100
171 personOnFloor_2_3 = 0;
172#line 101
173 personOnFloor_2_4 = 0;
174#line 102
175 personOnFloor_3_0 = 0;
176#line 103
177 personOnFloor_3_1 = 0;
178#line 104
179 personOnFloor_3_2 = 0;
180#line 105
181 personOnFloor_3_3 = 0;
182#line 106
183 personOnFloor_3_4 = 0;
184#line 107
185 personOnFloor_4_0 = 0;
186#line 108
187 personOnFloor_4_1 = 0;
188#line 109
189 personOnFloor_4_2 = 0;
190#line 110
191 personOnFloor_4_3 = 0;
192#line 111
193 personOnFloor_4_4 = 0;
194#line 112
195 personOnFloor_5_0 = 0;
196#line 113
197 personOnFloor_5_1 = 0;
198#line 114
199 personOnFloor_5_2 = 0;
200#line 115
201 personOnFloor_5_3 = 0;
202#line 116
203 personOnFloor_5_4 = 0;
204#line 1120 "Floor.c"
205 return;
206}
207}
208#line 120 "Floor.c"
209int isFloorCalling(int floorID )
210{ int retValue_acc ;
211
212 {
213#line 126 "Floor.c"
214 if (floorID == 0) {
215#line 1139
216 retValue_acc = calls_0;
217#line 1141
218 return (retValue_acc);
219 } else {
220#line 1143
221 if (floorID == 1) {
222#line 1146
223 retValue_acc = calls_1;
224#line 1148
225 return (retValue_acc);
226 } else {
227#line 1150
228 if (floorID == 2) {
229#line 1153
230 retValue_acc = calls_2;
231#line 1155
232 return (retValue_acc);
233 } else {
234#line 1157
235 if (floorID == 3) {
236#line 1160
237 retValue_acc = calls_3;
238#line 1162
239 return (retValue_acc);
240 } else {
241#line 1164
242 if (floorID == 4) {
243#line 1167 "Floor.c"
244 retValue_acc = calls_4;
245#line 1169
246 return (retValue_acc);
247 } else {
248
249 }
250 }
251 }
252 }
253 }
254#line 1174 "Floor.c"
255 retValue_acc = 0;
256#line 1176
257 return (retValue_acc);
258#line 1183
259 return (retValue_acc);
260}
261}
262#line 130 "Floor.c"
263void resetCallOnFloor(int floorID )
264{
265
266 {
267#line 136
268 if (floorID == 0) {
269#line 137
270 calls_0 = 0;
271 } else {
272#line 138
273 if (floorID == 1) {
274#line 139
275 calls_1 = 0;
276 } else {
277#line 140
278 if (floorID == 2) {
279#line 141
280 calls_2 = 0;
281 } else {
282#line 142
283 if (floorID == 3) {
284#line 143
285 calls_3 = 0;
286 } else {
287#line 144
288 if (floorID == 4) {
289#line 145
290 calls_4 = 0;
291 } else {
292
293 }
294 }
295 }
296 }
297 }
298#line 1216 "Floor.c"
299 return;
300}
301}
302#line 139 "Floor.c"
303void callOnFloor(int floorID )
304{
305
306 {
307#line 145
308 if (floorID == 0) {
309#line 146
310 calls_0 = 1;
311 } else {
312#line 147
313 if (floorID == 1) {
314#line 148
315 calls_1 = 1;
316 } else {
317#line 149
318 if (floorID == 2) {
319#line 150
320 calls_2 = 1;
321 } else {
322#line 151
323 if (floorID == 3) {
324#line 152
325 calls_3 = 1;
326 } else {
327#line 153
328 if (floorID == 4) {
329#line 154
330 calls_4 = 1;
331 } else {
332
333 }
334 }
335 }
336 }
337 }
338#line 1245 "Floor.c"
339 return;
340}
341}
342#line 148 "Floor.c"
343int isPersonOnFloor(int person , int floor )
344{ int retValue_acc ;
345
346 {
347#line 185
348 if (floor == 0) {
349#line 156 "Floor.c"
350 if (person == 0) {
351#line 1267
352 retValue_acc = personOnFloor_0_0;
353#line 1269
354 return (retValue_acc);
355 } else {
356#line 1271
357 if (person == 1) {
358#line 1274
359 retValue_acc = personOnFloor_1_0;
360#line 1276
361 return (retValue_acc);
362 } else {
363#line 1278
364 if (person == 2) {
365#line 1281
366 retValue_acc = personOnFloor_2_0;
367#line 1283
368 return (retValue_acc);
369 } else {
370#line 1285
371 if (person == 3) {
372#line 1288
373 retValue_acc = personOnFloor_3_0;
374#line 1290
375 return (retValue_acc);
376 } else {
377#line 1292
378 if (person == 4) {
379#line 1295
380 retValue_acc = personOnFloor_4_0;
381#line 1297
382 return (retValue_acc);
383 } else {
384#line 1299
385 if (person == 5) {
386#line 1302
387 retValue_acc = personOnFloor_5_0;
388#line 1304
389 return (retValue_acc);
390 } else {
391
392 }
393 }
394 }
395 }
396 }
397 }
398 } else {
399#line 1306 "Floor.c"
400 if (floor == 1) {
401#line 163 "Floor.c"
402 if (person == 0) {
403#line 1312
404 retValue_acc = personOnFloor_0_1;
405#line 1314
406 return (retValue_acc);
407 } else {
408#line 1316
409 if (person == 1) {
410#line 1319
411 retValue_acc = personOnFloor_1_1;
412#line 1321
413 return (retValue_acc);
414 } else {
415#line 1323
416 if (person == 2) {
417#line 1326
418 retValue_acc = personOnFloor_2_1;
419#line 1328
420 return (retValue_acc);
421 } else {
422#line 1330
423 if (person == 3) {
424#line 1333
425 retValue_acc = personOnFloor_3_1;
426#line 1335
427 return (retValue_acc);
428 } else {
429#line 1337
430 if (person == 4) {
431#line 1340
432 retValue_acc = personOnFloor_4_1;
433#line 1342
434 return (retValue_acc);
435 } else {
436#line 1344
437 if (person == 5) {
438#line 1347
439 retValue_acc = personOnFloor_5_1;
440#line 1349
441 return (retValue_acc);
442 } else {
443
444 }
445 }
446 }
447 }
448 }
449 }
450 } else {
451#line 1351 "Floor.c"
452 if (floor == 2) {
453#line 170 "Floor.c"
454 if (person == 0) {
455#line 1357
456 retValue_acc = personOnFloor_0_2;
457#line 1359
458 return (retValue_acc);
459 } else {
460#line 1361
461 if (person == 1) {
462#line 1364
463 retValue_acc = personOnFloor_1_2;
464#line 1366
465 return (retValue_acc);
466 } else {
467#line 1368
468 if (person == 2) {
469#line 1371
470 retValue_acc = personOnFloor_2_2;
471#line 1373
472 return (retValue_acc);
473 } else {
474#line 1375
475 if (person == 3) {
476#line 1378
477 retValue_acc = personOnFloor_3_2;
478#line 1380
479 return (retValue_acc);
480 } else {
481#line 1382
482 if (person == 4) {
483#line 1385
484 retValue_acc = personOnFloor_4_2;
485#line 1387
486 return (retValue_acc);
487 } else {
488#line 1389
489 if (person == 5) {
490#line 1392
491 retValue_acc = personOnFloor_5_2;
492#line 1394
493 return (retValue_acc);
494 } else {
495
496 }
497 }
498 }
499 }
500 }
501 }
502 } else {
503#line 1396 "Floor.c"
504 if (floor == 3) {
505#line 177 "Floor.c"
506 if (person == 0) {
507#line 1402
508 retValue_acc = personOnFloor_0_3;
509#line 1404
510 return (retValue_acc);
511 } else {
512#line 1406
513 if (person == 1) {
514#line 1409
515 retValue_acc = personOnFloor_1_3;
516#line 1411
517 return (retValue_acc);
518 } else {
519#line 1413
520 if (person == 2) {
521#line 1416
522 retValue_acc = personOnFloor_2_3;
523#line 1418
524 return (retValue_acc);
525 } else {
526#line 1420
527 if (person == 3) {
528#line 1423
529 retValue_acc = personOnFloor_3_3;
530#line 1425
531 return (retValue_acc);
532 } else {
533#line 1427
534 if (person == 4) {
535#line 1430
536 retValue_acc = personOnFloor_4_3;
537#line 1432
538 return (retValue_acc);
539 } else {
540#line 1434
541 if (person == 5) {
542#line 1437
543 retValue_acc = personOnFloor_5_3;
544#line 1439
545 return (retValue_acc);
546 } else {
547
548 }
549 }
550 }
551 }
552 }
553 }
554 } else {
555#line 1441 "Floor.c"
556 if (floor == 4) {
557#line 184 "Floor.c"
558 if (person == 0) {
559#line 1447
560 retValue_acc = personOnFloor_0_4;
561#line 1449
562 return (retValue_acc);
563 } else {
564#line 1451
565 if (person == 1) {
566#line 1454
567 retValue_acc = personOnFloor_1_4;
568#line 1456
569 return (retValue_acc);
570 } else {
571#line 1458
572 if (person == 2) {
573#line 1461
574 retValue_acc = personOnFloor_2_4;
575#line 1463
576 return (retValue_acc);
577 } else {
578#line 1465
579 if (person == 3) {
580#line 1468
581 retValue_acc = personOnFloor_3_4;
582#line 1470
583 return (retValue_acc);
584 } else {
585#line 1472
586 if (person == 4) {
587#line 1475
588 retValue_acc = personOnFloor_4_4;
589#line 1477
590 return (retValue_acc);
591 } else {
592#line 1479
593 if (person == 5) {
594#line 1482 "Floor.c"
595 retValue_acc = personOnFloor_5_4;
596#line 1484
597 return (retValue_acc);
598 } else {
599
600 }
601 }
602 }
603 }
604 }
605 }
606 } else {
607
608 }
609 }
610 }
611 }
612 }
613#line 1489 "Floor.c"
614 retValue_acc = 0;
615#line 1491
616 return (retValue_acc);
617#line 1498
618 return (retValue_acc);
619}
620}
621#line 188 "Floor.c"
622void initPersonOnFloor(int person , int floor )
623{
624
625 {
626#line 225
627 if (floor == 0) {
628#line 196
629 if (person == 0) {
630#line 197
631 personOnFloor_0_0 = 1;
632 } else {
633#line 198
634 if (person == 1) {
635#line 199
636 personOnFloor_1_0 = 1;
637 } else {
638#line 200
639 if (person == 2) {
640#line 201
641 personOnFloor_2_0 = 1;
642 } else {
643#line 202
644 if (person == 3) {
645#line 203
646 personOnFloor_3_0 = 1;
647 } else {
648#line 204
649 if (person == 4) {
650#line 205
651 personOnFloor_4_0 = 1;
652 } else {
653#line 206
654 if (person == 5) {
655#line 207
656 personOnFloor_5_0 = 1;
657 } else {
658
659 }
660 }
661 }
662 }
663 }
664 }
665 } else {
666#line 208
667 if (floor == 1) {
668#line 203
669 if (person == 0) {
670#line 204
671 personOnFloor_0_1 = 1;
672 } else {
673#line 205
674 if (person == 1) {
675#line 206
676 personOnFloor_1_1 = 1;
677 } else {
678#line 207
679 if (person == 2) {
680#line 208
681 personOnFloor_2_1 = 1;
682 } else {
683#line 209
684 if (person == 3) {
685#line 210
686 personOnFloor_3_1 = 1;
687 } else {
688#line 211
689 if (person == 4) {
690#line 212
691 personOnFloor_4_1 = 1;
692 } else {
693#line 213
694 if (person == 5) {
695#line 214
696 personOnFloor_5_1 = 1;
697 } else {
698
699 }
700 }
701 }
702 }
703 }
704 }
705 } else {
706#line 215
707 if (floor == 2) {
708#line 210
709 if (person == 0) {
710#line 211
711 personOnFloor_0_2 = 1;
712 } else {
713#line 212
714 if (person == 1) {
715#line 213
716 personOnFloor_1_2 = 1;
717 } else {
718#line 214
719 if (person == 2) {
720#line 215
721 personOnFloor_2_2 = 1;
722 } else {
723#line 216
724 if (person == 3) {
725#line 217
726 personOnFloor_3_2 = 1;
727 } else {
728#line 218
729 if (person == 4) {
730#line 219
731 personOnFloor_4_2 = 1;
732 } else {
733#line 220
734 if (person == 5) {
735#line 221
736 personOnFloor_5_2 = 1;
737 } else {
738
739 }
740 }
741 }
742 }
743 }
744 }
745 } else {
746#line 222
747 if (floor == 3) {
748#line 217
749 if (person == 0) {
750#line 218
751 personOnFloor_0_3 = 1;
752 } else {
753#line 219
754 if (person == 1) {
755#line 220
756 personOnFloor_1_3 = 1;
757 } else {
758#line 221
759 if (person == 2) {
760#line 222
761 personOnFloor_2_3 = 1;
762 } else {
763#line 223
764 if (person == 3) {
765#line 224
766 personOnFloor_3_3 = 1;
767 } else {
768#line 225
769 if (person == 4) {
770#line 226
771 personOnFloor_4_3 = 1;
772 } else {
773#line 227
774 if (person == 5) {
775#line 228
776 personOnFloor_5_3 = 1;
777 } else {
778
779 }
780 }
781 }
782 }
783 }
784 }
785 } else {
786#line 229
787 if (floor == 4) {
788#line 224
789 if (person == 0) {
790#line 225
791 personOnFloor_0_4 = 1;
792 } else {
793#line 226
794 if (person == 1) {
795#line 227
796 personOnFloor_1_4 = 1;
797 } else {
798#line 228
799 if (person == 2) {
800#line 229
801 personOnFloor_2_4 = 1;
802 } else {
803#line 230
804 if (person == 3) {
805#line 231
806 personOnFloor_3_4 = 1;
807 } else {
808#line 232
809 if (person == 4) {
810#line 233
811 personOnFloor_4_4 = 1;
812 } else {
813#line 234
814 if (person == 5) {
815#line 235
816 personOnFloor_5_4 = 1;
817 } else {
818
819 }
820 }
821 }
822 }
823 }
824 }
825 } else {
826
827 }
828 }
829 }
830 }
831 }
832 {
833#line 225
834 callOnFloor(floor);
835 }
836#line 1598 "Floor.c"
837 return;
838}
839}
840#line 228 "Floor.c"
841void removePersonFromFloor(int person , int floor )
842{
843
844 {
845#line 265
846 if (floor == 0) {
847#line 236
848 if (person == 0) {
849#line 237
850 personOnFloor_0_0 = 0;
851 } else {
852#line 238
853 if (person == 1) {
854#line 239
855 personOnFloor_1_0 = 0;
856 } else {
857#line 240
858 if (person == 2) {
859#line 241
860 personOnFloor_2_0 = 0;
861 } else {
862#line 242
863 if (person == 3) {
864#line 243
865 personOnFloor_3_0 = 0;
866 } else {
867#line 244
868 if (person == 4) {
869#line 245
870 personOnFloor_4_0 = 0;
871 } else {
872#line 246
873 if (person == 5) {
874#line 247
875 personOnFloor_5_0 = 0;
876 } else {
877
878 }
879 }
880 }
881 }
882 }
883 }
884 } else {
885#line 248
886 if (floor == 1) {
887#line 243
888 if (person == 0) {
889#line 244
890 personOnFloor_0_1 = 0;
891 } else {
892#line 245
893 if (person == 1) {
894#line 246
895 personOnFloor_1_1 = 0;
896 } else {
897#line 247
898 if (person == 2) {
899#line 248
900 personOnFloor_2_1 = 0;
901 } else {
902#line 249
903 if (person == 3) {
904#line 250
905 personOnFloor_3_1 = 0;
906 } else {
907#line 251
908 if (person == 4) {
909#line 252
910 personOnFloor_4_1 = 0;
911 } else {
912#line 253
913 if (person == 5) {
914#line 254
915 personOnFloor_5_1 = 0;
916 } else {
917
918 }
919 }
920 }
921 }
922 }
923 }
924 } else {
925#line 255
926 if (floor == 2) {
927#line 250
928 if (person == 0) {
929#line 251
930 personOnFloor_0_2 = 0;
931 } else {
932#line 252
933 if (person == 1) {
934#line 253
935 personOnFloor_1_2 = 0;
936 } else {
937#line 254
938 if (person == 2) {
939#line 255
940 personOnFloor_2_2 = 0;
941 } else {
942#line 256
943 if (person == 3) {
944#line 257
945 personOnFloor_3_2 = 0;
946 } else {
947#line 258
948 if (person == 4) {
949#line 259
950 personOnFloor_4_2 = 0;
951 } else {
952#line 260
953 if (person == 5) {
954#line 261
955 personOnFloor_5_2 = 0;
956 } else {
957
958 }
959 }
960 }
961 }
962 }
963 }
964 } else {
965#line 262
966 if (floor == 3) {
967#line 257
968 if (person == 0) {
969#line 258
970 personOnFloor_0_3 = 0;
971 } else {
972#line 259
973 if (person == 1) {
974#line 260
975 personOnFloor_1_3 = 0;
976 } else {
977#line 261
978 if (person == 2) {
979#line 262
980 personOnFloor_2_3 = 0;
981 } else {
982#line 263
983 if (person == 3) {
984#line 264
985 personOnFloor_3_3 = 0;
986 } else {
987#line 265
988 if (person == 4) {
989#line 266
990 personOnFloor_4_3 = 0;
991 } else {
992#line 267
993 if (person == 5) {
994#line 268
995 personOnFloor_5_3 = 0;
996 } else {
997
998 }
999 }
1000 }
1001 }
1002 }
1003 }
1004 } else {
1005#line 269
1006 if (floor == 4) {
1007#line 264
1008 if (person == 0) {
1009#line 265
1010 personOnFloor_0_4 = 0;
1011 } else {
1012#line 266
1013 if (person == 1) {
1014#line 267
1015 personOnFloor_1_4 = 0;
1016 } else {
1017#line 268
1018 if (person == 2) {
1019#line 269
1020 personOnFloor_2_4 = 0;
1021 } else {
1022#line 270
1023 if (person == 3) {
1024#line 271
1025 personOnFloor_3_4 = 0;
1026 } else {
1027#line 272
1028 if (person == 4) {
1029#line 273
1030 personOnFloor_4_4 = 0;
1031 } else {
1032#line 274
1033 if (person == 5) {
1034#line 275
1035 personOnFloor_5_4 = 0;
1036 } else {
1037
1038 }
1039 }
1040 }
1041 }
1042 }
1043 }
1044 } else {
1045
1046 }
1047 }
1048 }
1049 }
1050 }
1051 {
1052#line 265
1053 resetCallOnFloor(floor);
1054 }
1055#line 1694 "Floor.c"
1056 return;
1057}
1058}
1059#line 268 "Floor.c"
1060int isTopFloor(int floorID )
1061{ int retValue_acc ;
1062
1063 {
1064#line 1712 "Floor.c"
1065 retValue_acc = floorID == 4;
1066#line 1714
1067 return (retValue_acc);
1068#line 1721
1069 return (retValue_acc);
1070}
1071}
1072#line 1 "Person.o"
1073#pragma merger(0,"Person.i","")
1074#line 10 "Person.h"
1075int getWeight(int person ) ;
1076#line 12
1077int getOrigin(int person ) ;
1078#line 14
1079int getDestination(int person ) ;
1080#line 20 "Person.c"
1081int getWeight(int person )
1082{ int retValue_acc ;
1083
1084 {
1085#line 35 "Person.c"
1086 if (person == 0) {
1087#line 974
1088 retValue_acc = 40;
1089#line 976
1090 return (retValue_acc);
1091 } else {
1092#line 978
1093 if (person == 1) {
1094#line 983
1095 retValue_acc = 40;
1096#line 985
1097 return (retValue_acc);
1098 } else {
1099#line 987
1100 if (person == 2) {
1101#line 992
1102 retValue_acc = 40;
1103#line 994
1104 return (retValue_acc);
1105 } else {
1106#line 996
1107 if (person == 3) {
1108#line 1001
1109 retValue_acc = 40;
1110#line 1003
1111 return (retValue_acc);
1112 } else {
1113#line 1005
1114 if (person == 4) {
1115#line 1010
1116 retValue_acc = 30;
1117#line 1012
1118 return (retValue_acc);
1119 } else {
1120#line 1014
1121 if (person == 5) {
1122#line 1019
1123 retValue_acc = 150;
1124#line 1021
1125 return (retValue_acc);
1126 } else {
1127#line 1027 "Person.c"
1128 retValue_acc = 0;
1129#line 1029
1130 return (retValue_acc);
1131 }
1132 }
1133 }
1134 }
1135 }
1136 }
1137#line 1036 "Person.c"
1138 return (retValue_acc);
1139}
1140}
1141#line 39 "Person.c"
1142int getOrigin(int person )
1143{ int retValue_acc ;
1144
1145 {
1146#line 54 "Person.c"
1147 if (person == 0) {
1148#line 1061
1149 retValue_acc = 4;
1150#line 1063
1151 return (retValue_acc);
1152 } else {
1153#line 1065
1154 if (person == 1) {
1155#line 1070
1156 retValue_acc = 3;
1157#line 1072
1158 return (retValue_acc);
1159 } else {
1160#line 1074
1161 if (person == 2) {
1162#line 1079
1163 retValue_acc = 2;
1164#line 1081
1165 return (retValue_acc);
1166 } else {
1167#line 1083
1168 if (person == 3) {
1169#line 1088
1170 retValue_acc = 1;
1171#line 1090
1172 return (retValue_acc);
1173 } else {
1174#line 1092
1175 if (person == 4) {
1176#line 1097
1177 retValue_acc = 0;
1178#line 1099
1179 return (retValue_acc);
1180 } else {
1181#line 1101
1182 if (person == 5) {
1183#line 1106
1184 retValue_acc = 1;
1185#line 1108
1186 return (retValue_acc);
1187 } else {
1188#line 1114 "Person.c"
1189 retValue_acc = 0;
1190#line 1116
1191 return (retValue_acc);
1192 }
1193 }
1194 }
1195 }
1196 }
1197 }
1198#line 1123 "Person.c"
1199 return (retValue_acc);
1200}
1201}
1202#line 57 "Person.c"
1203int getDestination(int person )
1204{ int retValue_acc ;
1205
1206 {
1207#line 72 "Person.c"
1208 if (person == 0) {
1209#line 1148
1210 retValue_acc = 0;
1211#line 1150
1212 return (retValue_acc);
1213 } else {
1214#line 1152
1215 if (person == 1) {
1216#line 1157
1217 retValue_acc = 0;
1218#line 1159
1219 return (retValue_acc);
1220 } else {
1221#line 1161
1222 if (person == 2) {
1223#line 1166
1224 retValue_acc = 1;
1225#line 1168
1226 return (retValue_acc);
1227 } else {
1228#line 1170
1229 if (person == 3) {
1230#line 1175
1231 retValue_acc = 3;
1232#line 1177
1233 return (retValue_acc);
1234 } else {
1235#line 1179
1236 if (person == 4) {
1237#line 1184
1238 retValue_acc = 1;
1239#line 1186
1240 return (retValue_acc);
1241 } else {
1242#line 1188
1243 if (person == 5) {
1244#line 1193
1245 retValue_acc = 3;
1246#line 1195
1247 return (retValue_acc);
1248 } else {
1249#line 1201 "Person.c"
1250 retValue_acc = 0;
1251#line 1203
1252 return (retValue_acc);
1253 }
1254 }
1255 }
1256 }
1257 }
1258 }
1259#line 1210 "Person.c"
1260 return (retValue_acc);
1261}
1262}
1263#line 1 "Specification2_spec.o"
1264#pragma merger(0,"Specification2_spec.i","")
1265#line 4 "wsllib.h"
1266void __automaton_fail(void) ;
1267#line 38 "Elevator.h"
1268int areDoorsOpen(void) ;
1269#line 40
1270int getCurrentFloorID(void) ;
1271#line 45 "Elevator.h"
1272int weight = 0;
1273#line 47 "Elevator.h"
1274int maximumWeight = 100;
1275#line 55 "Elevator.h"
1276int executiveFloor = 4;
1277#line 7 "Specification2_spec.c"
1278int floorButtons_spc2_0 ;
1279#line 8 "Specification2_spec.c"
1280int floorButtons_spc2_1 ;
1281#line 9 "Specification2_spec.c"
1282int floorButtons_spc2_2 ;
1283#line 10 "Specification2_spec.c"
1284int floorButtons_spc2_3 ;
1285#line 11 "Specification2_spec.c"
1286int floorButtons_spc2_4 ;
1287#line 15 "Specification2_spec.c"
1288__inline void __utac_acc__Specification2_spec__1(void)
1289{
1290
1291 {
1292#line 17
1293 floorButtons_spc2_0 = 0;
1294#line 18
1295 floorButtons_spc2_1 = 0;
1296#line 19
1297 floorButtons_spc2_2 = 0;
1298#line 20
1299 floorButtons_spc2_3 = 0;
1300#line 21
1301 floorButtons_spc2_4 = 0;
1302#line 21
1303 return;
1304}
1305}
1306#line 25 "Specification2_spec.c"
1307__inline void __utac_acc__Specification2_spec__2(int floor )
1308{
1309
1310 {
1311#line 33
1312 if (floor == 0) {
1313#line 34
1314 floorButtons_spc2_0 = 1;
1315 } else {
1316#line 35
1317 if (floor == 1) {
1318#line 36
1319 floorButtons_spc2_1 = 1;
1320 } else {
1321#line 37
1322 if (floor == 2) {
1323#line 38
1324 floorButtons_spc2_2 = 1;
1325 } else {
1326#line 39
1327 if (floor == 3) {
1328#line 40
1329 floorButtons_spc2_3 = 1;
1330 } else {
1331#line 41
1332 if (floor == 4) {
1333#line 42
1334 floorButtons_spc2_4 = 1;
1335 } else {
1336
1337 }
1338 }
1339 }
1340 }
1341 }
1342#line 42
1343 return;
1344}
1345}
1346#line 35 "Specification2_spec.c"
1347__inline void __utac_acc__Specification2_spec__3(void)
1348{ int floor ;
1349 int tmp ;
1350 int tmp___0 ;
1351 int tmp___1 ;
1352 int tmp___2 ;
1353 int tmp___3 ;
1354 int tmp___4 ;
1355
1356 {
1357 {
1358#line 37
1359 tmp = getCurrentFloorID();
1360#line 37
1361 floor = tmp;
1362 }
1363#line 38
1364 if (floor == 0) {
1365#line 38
1366 if (floorButtons_spc2_0) {
1367 {
1368#line 38
1369 tmp___4 = areDoorsOpen();
1370 }
1371#line 38
1372 if (tmp___4) {
1373#line 39
1374 floorButtons_spc2_0 = 0;
1375 } else {
1376 goto _L___6;
1377 }
1378 } else {
1379 goto _L___6;
1380 }
1381 } else {
1382 _L___6:
1383#line 40
1384 if (floor == 1) {
1385#line 40
1386 if (floorButtons_spc2_1) {
1387 {
1388#line 40
1389 tmp___3 = areDoorsOpen();
1390 }
1391#line 40
1392 if (tmp___3) {
1393#line 41
1394 floorButtons_spc2_1 = 0;
1395 } else {
1396 goto _L___4;
1397 }
1398 } else {
1399 goto _L___4;
1400 }
1401 } else {
1402 _L___4:
1403#line 42
1404 if (floor == 2) {
1405#line 42
1406 if (floorButtons_spc2_2) {
1407 {
1408#line 42
1409 tmp___2 = areDoorsOpen();
1410 }
1411#line 42
1412 if (tmp___2) {
1413#line 43
1414 floorButtons_spc2_2 = 0;
1415 } else {
1416 goto _L___2;
1417 }
1418 } else {
1419 goto _L___2;
1420 }
1421 } else {
1422 _L___2:
1423#line 44
1424 if (floor == 3) {
1425#line 44
1426 if (floorButtons_spc2_3) {
1427 {
1428#line 44
1429 tmp___1 = areDoorsOpen();
1430 }
1431#line 44
1432 if (tmp___1) {
1433#line 45
1434 floorButtons_spc2_3 = 0;
1435 } else {
1436 goto _L___0;
1437 }
1438 } else {
1439 goto _L___0;
1440 }
1441 } else {
1442 _L___0:
1443#line 46
1444 if (floor == 4) {
1445#line 46
1446 if (floorButtons_spc2_4) {
1447 {
1448#line 46
1449 tmp___0 = areDoorsOpen();
1450 }
1451#line 46
1452 if (tmp___0) {
1453#line 47
1454 floorButtons_spc2_4 = 0;
1455 } else {
1456
1457 }
1458 } else {
1459
1460 }
1461 } else {
1462
1463 }
1464 }
1465 }
1466 }
1467 }
1468#line 47
1469 return;
1470}
1471}
1472#line 52 "Specification2_spec.c"
1473__inline void __utac_acc__Specification2_spec__4(void)
1474{
1475
1476 {
1477#line 60
1478 if (floorButtons_spc2_0) {
1479 {
1480#line 61
1481 __automaton_fail();
1482 }
1483 } else {
1484#line 62
1485 if (floorButtons_spc2_1) {
1486 {
1487#line 63
1488 __automaton_fail();
1489 }
1490 } else {
1491#line 64
1492 if (floorButtons_spc2_2) {
1493 {
1494#line 65
1495 __automaton_fail();
1496 }
1497 } else {
1498#line 66
1499 if (floorButtons_spc2_3) {
1500 {
1501#line 67
1502 __automaton_fail();
1503 }
1504 } else {
1505#line 68
1506 if (floorButtons_spc2_4) {
1507 {
1508#line 69
1509 __automaton_fail();
1510 }
1511 } else {
1512
1513 }
1514 }
1515 }
1516 }
1517 }
1518#line 69
1519 return;
1520}
1521}
1522#line 1 "UnitTests.o"
1523#pragma merger(0,"UnitTests.i","")
1524#line 20 "Elevator.h"
1525void timeShift(void) ;
1526#line 22
1527int isBlocked(void) ;
1528#line 24
1529void printState(void) ;
1530#line 33
1531void initTopDown(void) ;
1532#line 35
1533void initBottomUp(void) ;
1534#line 13 "UnitTests.c"
1535int cleanupTimeShifts = 12;
1536#line 24 "UnitTests.c"
1537void spec1(void)
1538{ int tmp ;
1539 int tmp___0 ;
1540 int i ;
1541 int tmp___1 ;
1542
1543 {
1544 {
1545#line 25
1546 initBottomUp();
1547#line 26
1548 tmp = getOrigin(5);
1549#line 26
1550 initPersonOnFloor(5, tmp);
1551#line 27
1552 printState();
1553#line 30
1554 tmp___0 = getOrigin(2);
1555#line 30
1556 initPersonOnFloor(2, tmp___0);
1557#line 31
1558 printState();
1559#line 35
1560 i = 0;
1561 }
1562 {
1563#line 35
1564 while (1) {
1565 while_0_continue: ;
1566#line 35
1567 if (i < cleanupTimeShifts) {
1568 {
1569#line 35
1570 tmp___1 = isBlocked();
1571 }
1572#line 35
1573 if (tmp___1 != 1) {
1574
1575 } else {
1576 goto while_0_break;
1577 }
1578 } else {
1579 goto while_0_break;
1580 }
1581 {
1582#line 36
1583 timeShift();
1584#line 37
1585 printState();
1586#line 35
1587 i = i + 1;
1588 }
1589 }
1590 while_0_break: ;
1591 }
1592#line 1077 "UnitTests.c"
1593 return;
1594}
1595}
1596#line 42 "UnitTests.c"
1597void spec14(void)
1598{ int tmp ;
1599 int tmp___0 ;
1600 int i ;
1601 int tmp___1 ;
1602
1603 {
1604 {
1605#line 43
1606 initTopDown();
1607#line 44
1608 tmp = getOrigin(5);
1609#line 44
1610 initPersonOnFloor(5, tmp);
1611#line 45
1612 printState();
1613#line 47
1614 timeShift();
1615#line 48
1616 timeShift();
1617#line 49
1618 timeShift();
1619#line 50
1620 timeShift();
1621#line 52
1622 tmp___0 = getOrigin(0);
1623#line 52
1624 initPersonOnFloor(0, tmp___0);
1625#line 53
1626 printState();
1627#line 57
1628 i = 0;
1629 }
1630 {
1631#line 57
1632 while (1) {
1633 while_1_continue: ;
1634#line 57
1635 if (i < cleanupTimeShifts) {
1636 {
1637#line 57
1638 tmp___1 = isBlocked();
1639 }
1640#line 57
1641 if (tmp___1 != 1) {
1642
1643 } else {
1644 goto while_1_break;
1645 }
1646 } else {
1647 goto while_1_break;
1648 }
1649 {
1650#line 58
1651 timeShift();
1652#line 59
1653 printState();
1654#line 57
1655 i = i + 1;
1656 }
1657 }
1658 while_1_break: ;
1659 }
1660#line 1123 "UnitTests.c"
1661 return;
1662}
1663}
1664#line 1 "Test.o"
1665#pragma merger(0,"Test.i","")
1666#line 544 "/usr/include/stdlib.h"
1667extern __attribute__((__nothrow__, __noreturn__)) void exit(int __status ) ;
1668#line 17 "Test.c"
1669#line 23 "Test.c"
1670int get_nondetMinMax07(void)
1671{ int retValue_acc ;
1672 int nd ;
1673 nd = __VERIFIER_nondet_int();
1674
1675 {
1676#line 26 "Test.c"
1677 if (nd == 0) {
1678#line 1108
1679 retValue_acc = 0;
1680#line 1110
1681 return (retValue_acc);
1682 } else {
1683#line 1112
1684 if (nd == 1) {
1685#line 1117
1686 retValue_acc = 1;
1687#line 1119
1688 return (retValue_acc);
1689 } else {
1690#line 1121
1691 if (nd == 2) {
1692#line 1126
1693 retValue_acc = 2;
1694#line 1128
1695 return (retValue_acc);
1696 } else {
1697#line 1130
1698 if (nd == 3) {
1699#line 1135
1700 retValue_acc = 3;
1701#line 1137
1702 return (retValue_acc);
1703 } else {
1704#line 1139
1705 if (nd == 4) {
1706#line 1144
1707 retValue_acc = 4;
1708#line 1146
1709 return (retValue_acc);
1710 } else {
1711#line 1148
1712 if (nd == 5) {
1713#line 1153
1714 retValue_acc = 5;
1715#line 1155
1716 return (retValue_acc);
1717 } else {
1718#line 1157
1719 if (nd == 6) {
1720#line 1162
1721 retValue_acc = 6;
1722#line 1164
1723 return (retValue_acc);
1724 } else {
1725#line 1166
1726 if (nd == 7) {
1727#line 1171 "Test.c"
1728 retValue_acc = 7;
1729#line 1173
1730 return (retValue_acc);
1731 } else {
1732 {
1733#line 43
1734 exit(0);
1735 }
1736 }
1737 }
1738 }
1739 }
1740 }
1741 }
1742 }
1743 }
1744#line 1183 "Test.c"
1745 return (retValue_acc);
1746}
1747}
1748#line 48 "Test.c"
1749void bobCall(void)
1750{ int tmp ;
1751
1752 {
1753 {
1754#line 48
1755 tmp = getOrigin(0);
1756#line 48
1757 initPersonOnFloor(0, tmp);
1758 }
1759#line 1207 "Test.c"
1760 return;
1761}
1762}
1763#line 50 "Test.c"
1764void aliceCall(void)
1765{ int tmp ;
1766
1767 {
1768 {
1769#line 50
1770 tmp = getOrigin(1);
1771#line 50
1772 initPersonOnFloor(1, tmp);
1773 }
1774#line 1227 "Test.c"
1775 return;
1776}
1777}
1778#line 52 "Test.c"
1779void angelinaCall(void)
1780{ int tmp ;
1781
1782 {
1783 {
1784#line 52
1785 tmp = getOrigin(2);
1786#line 52
1787 initPersonOnFloor(2, tmp);
1788 }
1789#line 1247 "Test.c"
1790 return;
1791}
1792}
1793#line 54 "Test.c"
1794void chuckCall(void)
1795{ int tmp ;
1796
1797 {
1798 {
1799#line 54
1800 tmp = getOrigin(3);
1801#line 54
1802 initPersonOnFloor(3, tmp);
1803 }
1804#line 1267 "Test.c"
1805 return;
1806}
1807}
1808#line 56 "Test.c"
1809void monicaCall(void)
1810{ int tmp ;
1811
1812 {
1813 {
1814#line 56
1815 tmp = getOrigin(4);
1816#line 56
1817 initPersonOnFloor(4, tmp);
1818 }
1819#line 1287 "Test.c"
1820 return;
1821}
1822}
1823#line 58 "Test.c"
1824void bigMacCall(void)
1825{ int tmp ;
1826
1827 {
1828 {
1829#line 58
1830 tmp = getOrigin(5);
1831#line 58
1832 initPersonOnFloor(5, tmp);
1833 }
1834#line 1307 "Test.c"
1835 return;
1836}
1837}
1838#line 60 "Test.c"
1839void threeTS(void)
1840{
1841
1842 {
1843 {
1844#line 60
1845 timeShift();
1846#line 60
1847 timeShift();
1848#line 60
1849 timeShift();
1850 }
1851#line 1331 "Test.c"
1852 return;
1853}
1854}
1855#line 71 "Test.c"
1856int isIdle(void) ;
1857#line 62 "Test.c"
1858void cleanup(void)
1859{ int i ;
1860 int tmp ;
1861 int tmp___0 ;
1862 int __cil_tmp4 ;
1863
1864 {
1865 {
1866#line 65
1867 timeShift();
1868#line 67
1869 i = 0;
1870 }
1871 {
1872#line 67
1873 while (1) {
1874 while_2_continue: ;
1875 {
1876#line 67
1877 __cil_tmp4 = cleanupTimeShifts - 1;
1878#line 67
1879 if (i < __cil_tmp4) {
1880 {
1881#line 67
1882 tmp___0 = isBlocked();
1883 }
1884#line 67
1885 if (tmp___0 != 1) {
1886
1887 } else {
1888 goto while_2_break;
1889 }
1890 } else {
1891 goto while_2_break;
1892 }
1893 }
1894 {
1895#line 71
1896 tmp = isIdle();
1897 }
1898#line 71
1899 if (tmp) {
1900#line 72
1901 return;
1902 } else {
1903 {
1904#line 74
1905 timeShift();
1906 }
1907 }
1908#line 67
1909 i = i + 1;
1910 }
1911 while_2_break: ;
1912 }
1913#line 1362 "Test.c"
1914 return;
1915}
1916}
1917#line 77 "Test.c"
1918void randomSequenceOfActions(void)
1919{ int maxLength ;
1920 int tmp ;
1921 int counter ;
1922 int action ;
1923 int tmp___0 ;
1924 int origin ;
1925 int tmp___1 ;
1926 int tmp___2 ;
1927
1928 {
1929 {
1930#line 78
1931 maxLength = 4;
1932#line 79
1933 tmp = __VERIFIER_nondet_int();
1934 }
1935#line 79
1936 if (tmp) {
1937 {
1938#line 81
1939 initTopDown();
1940 }
1941 } else {
1942 {
1943#line 85
1944 initBottomUp();
1945 }
1946 }
1947#line 90
1948 counter = 0;
1949 {
1950#line 91
1951 while (1) {
1952 while_3_continue: ;
1953#line 91
1954 if (counter < maxLength) {
1955
1956 } else {
1957 goto while_3_break;
1958 }
1959 {
1960#line 92
1961 counter = counter + 1;
1962#line 93
1963 tmp___0 = get_nondetMinMax07();
1964#line 93
1965 action = tmp___0;
1966 }
1967#line 99
1968 if (action < 6) {
1969 {
1970#line 100
1971 tmp___1 = getOrigin(action);
1972#line 100
1973 origin = tmp___1;
1974#line 101
1975 initPersonOnFloor(action, origin);
1976 }
1977 } else {
1978#line 102
1979 if (action == 6) {
1980 {
1981#line 103
1982 timeShift();
1983 }
1984 } else {
1985#line 104
1986 if (action == 7) {
1987 {
1988#line 106
1989 timeShift();
1990#line 107
1991 timeShift();
1992#line 108
1993 timeShift();
1994 }
1995 } else {
1996
1997 }
1998 }
1999 }
2000 {
2001#line 113
2002 tmp___2 = isBlocked();
2003 }
2004#line 113
2005 if (tmp___2) {
2006#line 114
2007 return;
2008 } else {
2009
2010 }
2011 }
2012 while_3_break: ;
2013 }
2014 {
2015#line 117
2016 cleanup();
2017 }
2018#line 1433 "Test.c"
2019 return;
2020}
2021}
2022#line 122 "Test.c"
2023void runTest_Simple(void)
2024{
2025
2026 {
2027 {
2028#line 123
2029 bigMacCall();
2030#line 124
2031 angelinaCall();
2032#line 125
2033 cleanup();
2034 }
2035#line 1457 "Test.c"
2036 return;
2037}
2038}
2039#line 130 "Test.c"
2040void Specification1(void)
2041{
2042
2043 {
2044 {
2045#line 131
2046 bigMacCall();
2047#line 132
2048 angelinaCall();
2049#line 133
2050 cleanup();
2051 }
2052#line 1481 "Test.c"
2053 return;
2054}
2055}
2056#line 137 "Test.c"
2057void Specification2(void)
2058{
2059
2060 {
2061 {
2062#line 138
2063 bigMacCall();
2064#line 139
2065 cleanup();
2066 }
2067#line 1503 "Test.c"
2068 return;
2069}
2070}
2071#line 142 "Test.c"
2072void Specification3(void)
2073{
2074
2075 {
2076 {
2077#line 143
2078 bobCall();
2079#line 144
2080 timeShift();
2081#line 145
2082 timeShift();
2083#line 146
2084 timeShift();
2085#line 147
2086 timeShift();
2087#line 149
2088 timeShift();
2089#line 154
2090 bobCall();
2091#line 155
2092 cleanup();
2093 }
2094#line 1537 "Test.c"
2095 return;
2096}
2097}
2098#line 160 "Test.c"
2099void setup(void)
2100{
2101
2102 {
2103#line 1555 "Test.c"
2104 return;
2105}
2106}
2107#line 168 "Test.c"
2108void test(void) ;
2109#line 165 "Test.c"
2110void runTest(void)
2111{
2112
2113 {
2114 {
2115#line 1571 "Test.c"
2116 __utac_acc__Specification2_spec__1();
2117#line 168 "Test.c"
2118 test();
2119#line 1585 "Test.c"
2120 __utac_acc__Specification2_spec__4();
2121 }
2122#line 1591
2123 return;
2124}
2125}
2126#line 174 "Test.c"
2127void select_helpers(void) ;
2128#line 175
2129void select_features(void) ;
2130#line 176
2131int valid_product(void) ;
2132#line 173 "Test.c"
2133int main(void)
2134{ int retValue_acc ;
2135 int tmp ;
2136
2137 {
2138 {
2139#line 174
2140 select_helpers();
2141#line 175
2142 select_features();
2143#line 176
2144 tmp = valid_product();
2145 }
2146#line 176
2147 if (tmp) {
2148 {
2149#line 177
2150 setup();
2151#line 178
2152 runTest();
2153 }
2154 } else {
2155
2156 }
2157#line 1620 "Test.c"
2158 retValue_acc = 0;
2159#line 1622
2160 return (retValue_acc);
2161#line 1629
2162 return (retValue_acc);
2163}
2164}
2165#line 1 "Elevator.o"
2166#pragma merger(0,"Elevator.i","")
2167#line 359 "/usr/include/stdio.h"
2168extern int printf(char const * __restrict __format , ...) ;
2169#line 16 "Person.h"
2170void enterElevator(int p ) ;
2171#line 26 "Elevator.h"
2172int isEmpty(void) ;
2173#line 28
2174int isAnyLiftButtonPressed(void) ;
2175#line 30
2176int buttonForFloorIsPressed(int floorID ) ;
2177#line 58
2178int isExecutiveFloorCalling(void) ;
2179#line 60
2180int isExecutiveFloor(int floorID ) ;
2181#line 16 "Elevator.c"
2182int currentHeading = 1;
2183#line 18 "Elevator.c"
2184int currentFloorID = 0;
2185#line 20 "Elevator.c"
2186int persons_0 ;
2187#line 22 "Elevator.c"
2188int persons_1 ;
2189#line 24 "Elevator.c"
2190int persons_2 ;
2191#line 26 "Elevator.c"
2192int persons_3 ;
2193#line 28 "Elevator.c"
2194int persons_4 ;
2195#line 30 "Elevator.c"
2196int persons_5 ;
2197#line 33 "Elevator.c"
2198int doorState = 1;
2199#line 35 "Elevator.c"
2200int floorButtons_0 ;
2201#line 37 "Elevator.c"
2202int floorButtons_1 ;
2203#line 39 "Elevator.c"
2204int floorButtons_2 ;
2205#line 41 "Elevator.c"
2206int floorButtons_3 ;
2207#line 43 "Elevator.c"
2208int floorButtons_4 ;
2209#line 51 "Elevator.c"
2210void initTopDown(void)
2211{
2212
2213 {
2214 {
2215#line 52
2216 currentFloorID = 4;
2217#line 53
2218 currentHeading = 0;
2219#line 54
2220 floorButtons_0 = 0;
2221#line 55
2222 floorButtons_1 = 0;
2223#line 56
2224 floorButtons_2 = 0;
2225#line 57
2226 floorButtons_3 = 0;
2227#line 58
2228 floorButtons_4 = 0;
2229#line 59
2230 persons_0 = 0;
2231#line 60
2232 persons_1 = 0;
2233#line 61
2234 persons_2 = 0;
2235#line 62
2236 persons_3 = 0;
2237#line 63
2238 persons_4 = 0;
2239#line 64
2240 persons_5 = 0;
2241#line 65
2242 initFloors();
2243 }
2244#line 1081 "Elevator.c"
2245 return;
2246}
2247}
2248#line 68 "Elevator.c"
2249void initBottomUp(void)
2250{
2251
2252 {
2253 {
2254#line 69
2255 currentFloorID = 0;
2256#line 70
2257 currentHeading = 1;
2258#line 71
2259 floorButtons_0 = 0;
2260#line 72
2261 floorButtons_1 = 0;
2262#line 73
2263 floorButtons_2 = 0;
2264#line 74
2265 floorButtons_3 = 0;
2266#line 75
2267 floorButtons_4 = 0;
2268#line 76
2269 persons_0 = 0;
2270#line 77
2271 persons_1 = 0;
2272#line 78
2273 persons_2 = 0;
2274#line 79
2275 persons_3 = 0;
2276#line 80
2277 persons_4 = 0;
2278#line 81
2279 persons_5 = 0;
2280#line 82
2281 initFloors();
2282 }
2283#line 1127 "Elevator.c"
2284 return;
2285}
2286}
2287#line 86 "Elevator.c"
2288int isBlocked(void)
2289{ int retValue_acc ;
2290
2291 {
2292#line 1145 "Elevator.c"
2293 retValue_acc = 0;
2294#line 1147
2295 return (retValue_acc);
2296#line 1154
2297 return (retValue_acc);
2298}
2299}
2300#line 91 "Elevator.c"
2301void enterElevator__wrappee__base(int p )
2302{
2303
2304 {
2305#line 100
2306 if (p == 0) {
2307#line 101
2308 persons_0 = 1;
2309 } else {
2310#line 102
2311 if (p == 1) {
2312#line 103
2313 persons_1 = 1;
2314 } else {
2315#line 104
2316 if (p == 2) {
2317#line 105
2318 persons_2 = 1;
2319 } else {
2320#line 106
2321 if (p == 3) {
2322#line 107
2323 persons_3 = 1;
2324 } else {
2325#line 108
2326 if (p == 4) {
2327#line 109
2328 persons_4 = 1;
2329 } else {
2330#line 110
2331 if (p == 5) {
2332#line 111
2333 persons_5 = 1;
2334 } else {
2335
2336 }
2337 }
2338 }
2339 }
2340 }
2341 }
2342#line 1189 "Elevator.c"
2343 return;
2344}
2345}
2346#line 102 "Elevator.c"
2347void enterElevator(int p )
2348{ int tmp ;
2349
2350 {
2351 {
2352#line 103
2353 enterElevator__wrappee__base(p);
2354#line 104
2355 tmp = getWeight(p);
2356#line 104
2357 weight = weight + tmp;
2358 }
2359#line 1211 "Elevator.c"
2360 return;
2361}
2362}
2363#line 107 "Elevator.c"
2364void leaveElevator__wrappee__base(int p )
2365{
2366
2367 {
2368#line 115
2369 if (p == 0) {
2370#line 116
2371 persons_0 = 0;
2372 } else {
2373#line 117
2374 if (p == 1) {
2375#line 118
2376 persons_1 = 0;
2377 } else {
2378#line 119
2379 if (p == 2) {
2380#line 120
2381 persons_2 = 0;
2382 } else {
2383#line 121
2384 if (p == 3) {
2385#line 122
2386 persons_3 = 0;
2387 } else {
2388#line 123
2389 if (p == 4) {
2390#line 124
2391 persons_4 = 0;
2392 } else {
2393#line 125
2394 if (p == 5) {
2395#line 126
2396 persons_5 = 0;
2397 } else {
2398
2399 }
2400 }
2401 }
2402 }
2403 }
2404 }
2405#line 1242 "Elevator.c"
2406 return;
2407}
2408}
2409#line 117 "Elevator.c"
2410void leaveElevator__wrappee__weight(int p )
2411{ int tmp ;
2412
2413 {
2414 {
2415#line 118
2416 leaveElevator__wrappee__base(p);
2417#line 119
2418 tmp = getWeight(p);
2419#line 119
2420 weight = weight - tmp;
2421 }
2422#line 1264 "Elevator.c"
2423 return;
2424}
2425}
2426#line 123 "Elevator.c"
2427void leaveElevator(int p )
2428{ int tmp ;
2429
2430 {
2431 {
2432#line 124
2433 leaveElevator__wrappee__weight(p);
2434#line 126
2435 tmp = isEmpty();
2436 }
2437#line 126
2438 if (tmp) {
2439#line 127
2440 floorButtons_0 = 0;
2441#line 128
2442 floorButtons_1 = 0;
2443#line 129
2444 floorButtons_2 = 0;
2445#line 130
2446 floorButtons_3 = 0;
2447#line 131
2448 floorButtons_4 = 0;
2449 } else {
2450
2451 }
2452#line 1297 "Elevator.c"
2453 return;
2454}
2455}
2456#line 135 "Elevator.c"
2457void pressInLiftFloorButton(int floorID )
2458{ int __utac__ad__arg1 ;
2459
2460 {
2461 {
2462#line 1310 "Elevator.c"
2463 __utac__ad__arg1 = floorID;
2464#line 1311
2465 __utac_acc__Specification2_spec__2(__utac__ad__arg1);
2466 }
2467#line 141
2468 if (floorID == 0) {
2469#line 142
2470 floorButtons_0 = 1;
2471 } else {
2472#line 143
2473 if (floorID == 1) {
2474#line 144
2475 floorButtons_1 = 1;
2476 } else {
2477#line 145
2478 if (floorID == 2) {
2479#line 146
2480 floorButtons_2 = 1;
2481 } else {
2482#line 147
2483 if (floorID == 3) {
2484#line 148
2485 floorButtons_3 = 1;
2486 } else {
2487#line 149
2488 if (floorID == 4) {
2489#line 150 "Elevator.c"
2490 floorButtons_4 = 1;
2491 } else {
2492
2493 }
2494 }
2495 }
2496 }
2497 }
2498#line 1335 "Elevator.c"
2499 return;
2500}
2501}
2502#line 143 "Elevator.c"
2503void resetFloorButton(int floorID )
2504{
2505
2506 {
2507#line 149
2508 if (floorID == 0) {
2509#line 150
2510 floorButtons_0 = 0;
2511 } else {
2512#line 151
2513 if (floorID == 1) {
2514#line 152
2515 floorButtons_1 = 0;
2516 } else {
2517#line 153
2518 if (floorID == 2) {
2519#line 154
2520 floorButtons_2 = 0;
2521 } else {
2522#line 155
2523 if (floorID == 3) {
2524#line 156
2525 floorButtons_3 = 0;
2526 } else {
2527#line 157
2528 if (floorID == 4) {
2529#line 158
2530 floorButtons_4 = 0;
2531 } else {
2532
2533 }
2534 }
2535 }
2536 }
2537 }
2538#line 1364 "Elevator.c"
2539 return;
2540}
2541}
2542#line 151 "Elevator.c"
2543int getCurrentFloorID(void)
2544{ int retValue_acc ;
2545
2546 {
2547#line 1382 "Elevator.c"
2548 retValue_acc = currentFloorID;
2549#line 1384
2550 return (retValue_acc);
2551#line 1391
2552 return (retValue_acc);
2553}
2554}
2555#line 155 "Elevator.c"
2556int areDoorsOpen(void)
2557{ int retValue_acc ;
2558
2559 {
2560#line 1413 "Elevator.c"
2561 retValue_acc = doorState;
2562#line 1415
2563 return (retValue_acc);
2564#line 1422
2565 return (retValue_acc);
2566}
2567}
2568#line 159 "Elevator.c"
2569int buttonForFloorIsPressed(int floorID )
2570{ int retValue_acc ;
2571
2572 {
2573#line 165 "Elevator.c"
2574 if (floorID == 0) {
2575#line 1445
2576 retValue_acc = floorButtons_0;
2577#line 1447
2578 return (retValue_acc);
2579 } else {
2580#line 1449
2581 if (floorID == 1) {
2582#line 1452
2583 retValue_acc = floorButtons_1;
2584#line 1454
2585 return (retValue_acc);
2586 } else {
2587#line 1456
2588 if (floorID == 2) {
2589#line 1459
2590 retValue_acc = floorButtons_2;
2591#line 1461
2592 return (retValue_acc);
2593 } else {
2594#line 1463
2595 if (floorID == 3) {
2596#line 1466
2597 retValue_acc = floorButtons_3;
2598#line 1468
2599 return (retValue_acc);
2600 } else {
2601#line 1470
2602 if (floorID == 4) {
2603#line 1473
2604 retValue_acc = floorButtons_4;
2605#line 1475
2606 return (retValue_acc);
2607 } else {
2608#line 1479 "Elevator.c"
2609 retValue_acc = 0;
2610#line 1481
2611 return (retValue_acc);
2612 }
2613 }
2614 }
2615 }
2616 }
2617#line 1488 "Elevator.c"
2618 return (retValue_acc);
2619}
2620}
2621#line 168 "Elevator.c"
2622int getCurrentHeading(void)
2623{ int retValue_acc ;
2624
2625 {
2626#line 1510 "Elevator.c"
2627 retValue_acc = currentHeading;
2628#line 1512
2629 return (retValue_acc);
2630#line 1519
2631 return (retValue_acc);
2632}
2633}
2634#line 172 "Elevator.c"
2635int isEmpty(void)
2636{ int retValue_acc ;
2637
2638 {
2639#line 179 "Elevator.c"
2640 if (persons_0 == 1) {
2641#line 1542
2642 retValue_acc = 0;
2643#line 1544
2644 return (retValue_acc);
2645 } else {
2646#line 1546
2647 if (persons_1 == 1) {
2648#line 1549
2649 retValue_acc = 0;
2650#line 1551
2651 return (retValue_acc);
2652 } else {
2653#line 1553
2654 if (persons_2 == 1) {
2655#line 1556
2656 retValue_acc = 0;
2657#line 1558
2658 return (retValue_acc);
2659 } else {
2660#line 1560
2661 if (persons_3 == 1) {
2662#line 1563
2663 retValue_acc = 0;
2664#line 1565
2665 return (retValue_acc);
2666 } else {
2667#line 1567
2668 if (persons_4 == 1) {
2669#line 1570
2670 retValue_acc = 0;
2671#line 1572
2672 return (retValue_acc);
2673 } else {
2674#line 1574
2675 if (persons_5 == 1) {
2676#line 1577 "Elevator.c"
2677 retValue_acc = 0;
2678#line 1579
2679 return (retValue_acc);
2680 } else {
2681
2682 }
2683 }
2684 }
2685 }
2686 }
2687 }
2688#line 1584 "Elevator.c"
2689 retValue_acc = 1;
2690#line 1586
2691 return (retValue_acc);
2692#line 1593
2693 return (retValue_acc);
2694}
2695}
2696#line 183 "Elevator.c"
2697int anyStopRequested(void)
2698{ int retValue_acc ;
2699 int tmp ;
2700 int tmp___0 ;
2701 int tmp___1 ;
2702 int tmp___2 ;
2703 int tmp___3 ;
2704
2705 {
2706 {
2707#line 194
2708 tmp___3 = isFloorCalling(0);
2709 }
2710#line 194 "Elevator.c"
2711 if (tmp___3) {
2712#line 1616
2713 retValue_acc = 1;
2714#line 1618
2715 return (retValue_acc);
2716 } else {
2717#line 1620
2718 if (floorButtons_0) {
2719#line 1623
2720 retValue_acc = 1;
2721#line 1625
2722 return (retValue_acc);
2723 } else {
2724 {
2725#line 1627 "Elevator.c"
2726 tmp___2 = isFloorCalling(1);
2727 }
2728#line 1627
2729 if (tmp___2) {
2730#line 1630
2731 retValue_acc = 1;
2732#line 1632
2733 return (retValue_acc);
2734 } else {
2735#line 1634
2736 if (floorButtons_1) {
2737#line 1637
2738 retValue_acc = 1;
2739#line 1639
2740 return (retValue_acc);
2741 } else {
2742 {
2743#line 1641
2744 tmp___1 = isFloorCalling(2);
2745 }
2746#line 1641
2747 if (tmp___1) {
2748#line 1644
2749 retValue_acc = 1;
2750#line 1646
2751 return (retValue_acc);
2752 } else {
2753#line 1648
2754 if (floorButtons_2) {
2755#line 1651
2756 retValue_acc = 1;
2757#line 1653
2758 return (retValue_acc);
2759 } else {
2760 {
2761#line 1655
2762 tmp___0 = isFloorCalling(3);
2763 }
2764#line 1655
2765 if (tmp___0) {
2766#line 1658
2767 retValue_acc = 1;
2768#line 1660
2769 return (retValue_acc);
2770 } else {
2771#line 1662
2772 if (floorButtons_3) {
2773#line 1665
2774 retValue_acc = 1;
2775#line 1667
2776 return (retValue_acc);
2777 } else {
2778 {
2779#line 1669
2780 tmp = isFloorCalling(4);
2781 }
2782#line 1669
2783 if (tmp) {
2784#line 1672
2785 retValue_acc = 1;
2786#line 1674
2787 return (retValue_acc);
2788 } else {
2789#line 1676
2790 if (floorButtons_4) {
2791#line 1679
2792 retValue_acc = 1;
2793#line 1681
2794 return (retValue_acc);
2795 } else {
2796
2797 }
2798 }
2799 }
2800 }
2801 }
2802 }
2803 }
2804 }
2805 }
2806 }
2807#line 1686 "Elevator.c"
2808 retValue_acc = 0;
2809#line 1688
2810 return (retValue_acc);
2811#line 1695
2812 return (retValue_acc);
2813}
2814}
2815#line 197 "Elevator.c"
2816int isIdle(void)
2817{ int retValue_acc ;
2818 int tmp ;
2819
2820 {
2821 {
2822#line 1717 "Elevator.c"
2823 tmp = anyStopRequested();
2824#line 1717
2825 retValue_acc = tmp == 0;
2826 }
2827#line 1719
2828 return (retValue_acc);
2829#line 1726
2830 return (retValue_acc);
2831}
2832}
2833#line 201 "Elevator.c"
2834int stopRequestedInDirection__wrappee__empty(int dir , int respectFloorCalls , int respectInLiftCalls )
2835{ int retValue_acc ;
2836 int tmp ;
2837 int tmp___0 ;
2838 int tmp___1 ;
2839 int tmp___2 ;
2840 int tmp___3 ;
2841 int tmp___4 ;
2842 int tmp___5 ;
2843 int tmp___6 ;
2844 int tmp___7 ;
2845 int tmp___8 ;
2846 int tmp___9 ;
2847
2848 {
2849#line 252
2850 if (dir == 1) {
2851 {
2852#line 212
2853 tmp = isTopFloor(currentFloorID);
2854 }
2855#line 212 "Elevator.c"
2856 if (tmp) {
2857#line 1752 "Elevator.c"
2858 retValue_acc = 0;
2859#line 1754
2860 return (retValue_acc);
2861 } else {
2862
2863 }
2864#line 212
2865 if (currentFloorID < 0) {
2866#line 212
2867 if (respectFloorCalls) {
2868 {
2869#line 212 "Elevator.c"
2870 tmp___4 = isFloorCalling(0);
2871 }
2872#line 212 "Elevator.c"
2873 if (tmp___4) {
2874#line 1760 "Elevator.c"
2875 retValue_acc = 1;
2876#line 1762
2877 return (retValue_acc);
2878 } else {
2879 goto _L___16;
2880 }
2881 } else {
2882 goto _L___16;
2883 }
2884 } else {
2885 _L___16:
2886#line 1764
2887 if (currentFloorID < 0) {
2888#line 1764
2889 if (respectInLiftCalls) {
2890#line 1764
2891 if (floorButtons_0) {
2892#line 1767
2893 retValue_acc = 1;
2894#line 1769
2895 return (retValue_acc);
2896 } else {
2897 goto _L___14;
2898 }
2899 } else {
2900 goto _L___14;
2901 }
2902 } else {
2903 _L___14:
2904#line 1771
2905 if (currentFloorID < 1) {
2906#line 1771
2907 if (respectFloorCalls) {
2908 {
2909#line 1771
2910 tmp___3 = isFloorCalling(1);
2911 }
2912#line 1771
2913 if (tmp___3) {
2914#line 1774
2915 retValue_acc = 1;
2916#line 1776
2917 return (retValue_acc);
2918 } else {
2919 goto _L___12;
2920 }
2921 } else {
2922 goto _L___12;
2923 }
2924 } else {
2925 _L___12:
2926#line 1778
2927 if (currentFloorID < 1) {
2928#line 1778
2929 if (respectInLiftCalls) {
2930#line 1778
2931 if (floorButtons_1) {
2932#line 1781
2933 retValue_acc = 1;
2934#line 1783
2935 return (retValue_acc);
2936 } else {
2937 goto _L___10;
2938 }
2939 } else {
2940 goto _L___10;
2941 }
2942 } else {
2943 _L___10:
2944#line 1785
2945 if (currentFloorID < 2) {
2946#line 1785
2947 if (respectFloorCalls) {
2948 {
2949#line 1785
2950 tmp___2 = isFloorCalling(2);
2951 }
2952#line 1785
2953 if (tmp___2) {
2954#line 1788
2955 retValue_acc = 1;
2956#line 1790
2957 return (retValue_acc);
2958 } else {
2959 goto _L___8;
2960 }
2961 } else {
2962 goto _L___8;
2963 }
2964 } else {
2965 _L___8:
2966#line 1792
2967 if (currentFloorID < 2) {
2968#line 1792
2969 if (respectInLiftCalls) {
2970#line 1792
2971 if (floorButtons_2) {
2972#line 1795
2973 retValue_acc = 1;
2974#line 1797
2975 return (retValue_acc);
2976 } else {
2977 goto _L___6;
2978 }
2979 } else {
2980 goto _L___6;
2981 }
2982 } else {
2983 _L___6:
2984#line 1799
2985 if (currentFloorID < 3) {
2986#line 1799
2987 if (respectFloorCalls) {
2988 {
2989#line 1799
2990 tmp___1 = isFloorCalling(3);
2991 }
2992#line 1799
2993 if (tmp___1) {
2994#line 1802
2995 retValue_acc = 1;
2996#line 1804
2997 return (retValue_acc);
2998 } else {
2999 goto _L___4;
3000 }
3001 } else {
3002 goto _L___4;
3003 }
3004 } else {
3005 _L___4:
3006#line 1806
3007 if (currentFloorID < 3) {
3008#line 1806
3009 if (respectInLiftCalls) {
3010#line 1806
3011 if (floorButtons_3) {
3012#line 1809
3013 retValue_acc = 1;
3014#line 1811
3015 return (retValue_acc);
3016 } else {
3017 goto _L___2;
3018 }
3019 } else {
3020 goto _L___2;
3021 }
3022 } else {
3023 _L___2:
3024#line 1813
3025 if (currentFloorID < 4) {
3026#line 1813
3027 if (respectFloorCalls) {
3028 {
3029#line 1813
3030 tmp___0 = isFloorCalling(4);
3031 }
3032#line 1813
3033 if (tmp___0) {
3034#line 1816
3035 retValue_acc = 1;
3036#line 1818
3037 return (retValue_acc);
3038 } else {
3039 goto _L___0;
3040 }
3041 } else {
3042 goto _L___0;
3043 }
3044 } else {
3045 _L___0:
3046#line 1820
3047 if (currentFloorID < 4) {
3048#line 1820
3049 if (respectInLiftCalls) {
3050#line 1820
3051 if (floorButtons_4) {
3052#line 1823
3053 retValue_acc = 1;
3054#line 1825
3055 return (retValue_acc);
3056 } else {
3057#line 1829
3058 retValue_acc = 0;
3059#line 1831
3060 return (retValue_acc);
3061 }
3062 } else {
3063#line 1829
3064 retValue_acc = 0;
3065#line 1831
3066 return (retValue_acc);
3067 }
3068 } else {
3069#line 1829 "Elevator.c"
3070 retValue_acc = 0;
3071#line 1831
3072 return (retValue_acc);
3073 }
3074 }
3075 }
3076 }
3077 }
3078 }
3079 }
3080 }
3081 }
3082 }
3083 } else {
3084#line 237 "Elevator.c"
3085 if (currentFloorID == 0) {
3086#line 1839 "Elevator.c"
3087 retValue_acc = 0;
3088#line 1841
3089 return (retValue_acc);
3090 } else {
3091
3092 }
3093#line 237
3094 if (currentFloorID > 0) {
3095#line 237
3096 if (respectFloorCalls) {
3097 {
3098#line 237 "Elevator.c"
3099 tmp___9 = isFloorCalling(0);
3100 }
3101#line 237 "Elevator.c"
3102 if (tmp___9) {
3103#line 1847 "Elevator.c"
3104 retValue_acc = 1;
3105#line 1849
3106 return (retValue_acc);
3107 } else {
3108 goto _L___34;
3109 }
3110 } else {
3111 goto _L___34;
3112 }
3113 } else {
3114 _L___34:
3115#line 1851
3116 if (currentFloorID > 0) {
3117#line 1851
3118 if (respectInLiftCalls) {
3119#line 1851
3120 if (floorButtons_0) {
3121#line 1854
3122 retValue_acc = 1;
3123#line 1856
3124 return (retValue_acc);
3125 } else {
3126 goto _L___32;
3127 }
3128 } else {
3129 goto _L___32;
3130 }
3131 } else {
3132 _L___32:
3133#line 1858
3134 if (currentFloorID > 1) {
3135#line 1858
3136 if (respectFloorCalls) {
3137 {
3138#line 1858
3139 tmp___8 = isFloorCalling(1);
3140 }
3141#line 1858
3142 if (tmp___8) {
3143#line 1861
3144 retValue_acc = 1;
3145#line 1863
3146 return (retValue_acc);
3147 } else {
3148 goto _L___30;
3149 }
3150 } else {
3151 goto _L___30;
3152 }
3153 } else {
3154 _L___30:
3155#line 1865
3156 if (currentFloorID > 1) {
3157#line 1865
3158 if (respectInLiftCalls) {
3159#line 1865
3160 if (floorButtons_1) {
3161#line 1868
3162 retValue_acc = 1;
3163#line 1870
3164 return (retValue_acc);
3165 } else {
3166 goto _L___28;
3167 }
3168 } else {
3169 goto _L___28;
3170 }
3171 } else {
3172 _L___28:
3173#line 1872
3174 if (currentFloorID > 2) {
3175#line 1872
3176 if (respectFloorCalls) {
3177 {
3178#line 1872
3179 tmp___7 = isFloorCalling(2);
3180 }
3181#line 1872
3182 if (tmp___7) {
3183#line 1875
3184 retValue_acc = 1;
3185#line 1877
3186 return (retValue_acc);
3187 } else {
3188 goto _L___26;
3189 }
3190 } else {
3191 goto _L___26;
3192 }
3193 } else {
3194 _L___26:
3195#line 1879
3196 if (currentFloorID > 2) {
3197#line 1879
3198 if (respectInLiftCalls) {
3199#line 1879
3200 if (floorButtons_2) {
3201#line 1882
3202 retValue_acc = 1;
3203#line 1884
3204 return (retValue_acc);
3205 } else {
3206 goto _L___24;
3207 }
3208 } else {
3209 goto _L___24;
3210 }
3211 } else {
3212 _L___24:
3213#line 1886
3214 if (currentFloorID > 3) {
3215#line 1886
3216 if (respectFloorCalls) {
3217 {
3218#line 1886
3219 tmp___6 = isFloorCalling(3);
3220 }
3221#line 1886
3222 if (tmp___6) {
3223#line 1889
3224 retValue_acc = 1;
3225#line 1891
3226 return (retValue_acc);
3227 } else {
3228 goto _L___22;
3229 }
3230 } else {
3231 goto _L___22;
3232 }
3233 } else {
3234 _L___22:
3235#line 1893
3236 if (currentFloorID > 3) {
3237#line 1893
3238 if (respectInLiftCalls) {
3239#line 1893
3240 if (floorButtons_3) {
3241#line 1896
3242 retValue_acc = 1;
3243#line 1898
3244 return (retValue_acc);
3245 } else {
3246 goto _L___20;
3247 }
3248 } else {
3249 goto _L___20;
3250 }
3251 } else {
3252 _L___20:
3253#line 1900
3254 if (currentFloorID > 4) {
3255#line 1900
3256 if (respectFloorCalls) {
3257 {
3258#line 1900
3259 tmp___5 = isFloorCalling(4);
3260 }
3261#line 1900
3262 if (tmp___5) {
3263#line 1903
3264 retValue_acc = 1;
3265#line 1905
3266 return (retValue_acc);
3267 } else {
3268 goto _L___18;
3269 }
3270 } else {
3271 goto _L___18;
3272 }
3273 } else {
3274 _L___18:
3275#line 1907
3276 if (currentFloorID > 4) {
3277#line 1907
3278 if (respectInLiftCalls) {
3279#line 1907
3280 if (floorButtons_4) {
3281#line 1910
3282 retValue_acc = 1;
3283#line 1912
3284 return (retValue_acc);
3285 } else {
3286#line 1916
3287 retValue_acc = 0;
3288#line 1918
3289 return (retValue_acc);
3290 }
3291 } else {
3292#line 1916
3293 retValue_acc = 0;
3294#line 1918
3295 return (retValue_acc);
3296 }
3297 } else {
3298#line 1916 "Elevator.c"
3299 retValue_acc = 0;
3300#line 1918
3301 return (retValue_acc);
3302 }
3303 }
3304 }
3305 }
3306 }
3307 }
3308 }
3309 }
3310 }
3311 }
3312 }
3313#line 1925 "Elevator.c"
3314 return (retValue_acc);
3315}
3316}
3317#line 255 "Elevator.c"
3318int stopRequestedInDirection__wrappee__twothirdsfull(int dir , int respectFloorCalls ,
3319 int respectInLiftCalls )
3320{ int retValue_acc ;
3321 int overload ;
3322 int buttonPressed ;
3323 int tmp ;
3324 int __cil_tmp8 ;
3325 int __cil_tmp9 ;
3326
3327 {
3328 {
3329#line 256
3330 __cil_tmp8 = maximumWeight * 2;
3331#line 256
3332 __cil_tmp9 = __cil_tmp8 / 3;
3333#line 256
3334 overload = weight > __cil_tmp9;
3335#line 257
3336 tmp = isAnyLiftButtonPressed();
3337#line 257
3338 buttonPressed = tmp;
3339 }
3340#line 258
3341 if (overload) {
3342#line 258 "Elevator.c"
3343 if (buttonPressed) {
3344 {
3345#line 1958
3346 retValue_acc = stopRequestedInDirection__wrappee__empty(dir, 0, respectInLiftCalls);
3347 }
3348#line 1960
3349 return (retValue_acc);
3350 } else {
3351 {
3352#line 1964
3353 retValue_acc = stopRequestedInDirection__wrappee__empty(dir, respectFloorCalls,
3354 respectInLiftCalls);
3355 }
3356#line 1966
3357 return (retValue_acc);
3358 }
3359 } else {
3360 {
3361#line 1964 "Elevator.c"
3362 retValue_acc = stopRequestedInDirection__wrappee__empty(dir, respectFloorCalls,
3363 respectInLiftCalls);
3364 }
3365#line 1966
3366 return (retValue_acc);
3367 }
3368#line 1973 "Elevator.c"
3369 return (retValue_acc);
3370}
3371}
3372#line 264 "Elevator.c"
3373int stopRequestedInDirection(int dir , int respectFloorCalls , int respectInLiftCalls )
3374{ int retValue_acc ;
3375 int tmp ;
3376 int tmp___0 ;
3377 int __cil_tmp7 ;
3378 int __cil_tmp8 ;
3379
3380 {
3381 {
3382#line 269
3383 tmp___0 = isExecutiveFloorCalling();
3384 }
3385#line 269 "Elevator.c"
3386 if (tmp___0) {
3387 {
3388#line 1998
3389 tmp = getCurrentFloorID();
3390#line 1998
3391 __cil_tmp7 = dir == 1;
3392#line 1998
3393 __cil_tmp8 = tmp < executiveFloor;
3394#line 1998
3395 retValue_acc = __cil_tmp8 == __cil_tmp7;
3396 }
3397#line 2000
3398 return (retValue_acc);
3399 } else {
3400 {
3401#line 2006 "Elevator.c"
3402 retValue_acc = stopRequestedInDirection__wrappee__twothirdsfull(dir, respectFloorCalls,
3403 respectInLiftCalls);
3404 }
3405#line 2008
3406 return (retValue_acc);
3407 }
3408#line 2015 "Elevator.c"
3409 return (retValue_acc);
3410}
3411}
3412#line 272 "Elevator.c"
3413int isAnyLiftButtonPressed(void)
3414{ int retValue_acc ;
3415
3416 {
3417#line 278 "Elevator.c"
3418 if (floorButtons_0) {
3419#line 2038
3420 retValue_acc = 1;
3421#line 2040
3422 return (retValue_acc);
3423 } else {
3424#line 2042
3425 if (floorButtons_1) {
3426#line 2045
3427 retValue_acc = 1;
3428#line 2047
3429 return (retValue_acc);
3430 } else {
3431#line 2049
3432 if (floorButtons_2) {
3433#line 2052
3434 retValue_acc = 1;
3435#line 2054
3436 return (retValue_acc);
3437 } else {
3438#line 2056
3439 if (floorButtons_3) {
3440#line 2059
3441 retValue_acc = 1;
3442#line 2061
3443 return (retValue_acc);
3444 } else {
3445#line 2063
3446 if (floorButtons_4) {
3447#line 2066
3448 retValue_acc = 1;
3449#line 2068
3450 return (retValue_acc);
3451 } else {
3452#line 2072 "Elevator.c"
3453 retValue_acc = 0;
3454#line 2074
3455 return (retValue_acc);
3456 }
3457 }
3458 }
3459 }
3460 }
3461#line 2081 "Elevator.c"
3462 return (retValue_acc);
3463}
3464}
3465#line 281 "Elevator.c"
3466void continueInDirection(int dir )
3467{ int tmp ;
3468
3469 {
3470#line 282
3471 currentHeading = dir;
3472#line 283
3473 if (currentHeading == 1) {
3474 {
3475#line 288
3476 tmp = isTopFloor(currentFloorID);
3477 }
3478#line 288
3479 if (tmp) {
3480#line 286
3481 currentHeading = 0;
3482 } else {
3483
3484 }
3485 } else {
3486#line 293
3487 if (currentFloorID == 0) {
3488#line 291
3489 currentHeading = 1;
3490 } else {
3491
3492 }
3493 }
3494#line 294
3495 if (currentHeading == 1) {
3496#line 295
3497 currentFloorID = currentFloorID + 1;
3498 } else {
3499#line 297
3500 currentFloorID = currentFloorID - 1;
3501 }
3502#line 2127 "Elevator.c"
3503 return;
3504}
3505}
3506#line 301 "Elevator.c"
3507int stopRequestedAtCurrentFloor__wrappee__empty(void)
3508{ int retValue_acc ;
3509 int tmp ;
3510 int tmp___0 ;
3511
3512 {
3513 {
3514#line 308
3515 tmp___0 = isFloorCalling(currentFloorID);
3516 }
3517#line 308 "Elevator.c"
3518 if (tmp___0) {
3519#line 2148
3520 retValue_acc = 1;
3521#line 2150
3522 return (retValue_acc);
3523 } else {
3524 {
3525#line 2152 "Elevator.c"
3526 tmp = buttonForFloorIsPressed(currentFloorID);
3527 }
3528#line 2152
3529 if (tmp) {
3530#line 2157
3531 retValue_acc = 1;
3532#line 2159
3533 return (retValue_acc);
3534 } else {
3535#line 2165
3536 retValue_acc = 0;
3537#line 2167
3538 return (retValue_acc);
3539 }
3540 }
3541#line 2174 "Elevator.c"
3542 return (retValue_acc);
3543}
3544}
3545#line 311 "Elevator.c"
3546int stopRequestedAtCurrentFloor__wrappee__twothirdsfull(void)
3547{ int retValue_acc ;
3548 int tmp ;
3549 int tmp___0 ;
3550 int __cil_tmp4 ;
3551 int __cil_tmp5 ;
3552
3553 {
3554 {
3555#line 314
3556 __cil_tmp4 = maximumWeight * 2;
3557#line 314
3558 __cil_tmp5 = __cil_tmp4 / 3;
3559#line 314 "Elevator.c"
3560 if (weight > __cil_tmp5) {
3561 {
3562#line 2199
3563 tmp = getCurrentFloorID();
3564#line 2199
3565 tmp___0 = buttonForFloorIsPressed(tmp);
3566#line 2199
3567 retValue_acc = tmp___0 == 1;
3568 }
3569#line 2201
3570 return (retValue_acc);
3571 } else {
3572 {
3573#line 2205 "Elevator.c"
3574 retValue_acc = stopRequestedAtCurrentFloor__wrappee__empty();
3575 }
3576#line 2207
3577 return (retValue_acc);
3578 }
3579 }
3580#line 2214 "Elevator.c"
3581 return (retValue_acc);
3582}
3583}
3584#line 318 "Elevator.c"
3585int stopRequestedAtCurrentFloor(void)
3586{ int retValue_acc ;
3587 int tmp ;
3588 int tmp___0 ;
3589
3590 {
3591 {
3592#line 321
3593 tmp = isExecutiveFloorCalling();
3594 }
3595#line 321
3596 if (tmp) {
3597 {
3598#line 321 "Elevator.c"
3599 tmp___0 = getCurrentFloorID();
3600 }
3601#line 321 "Elevator.c"
3602 if (executiveFloor == tmp___0) {
3603 {
3604#line 2245
3605 retValue_acc = stopRequestedAtCurrentFloor__wrappee__twothirdsfull();
3606 }
3607#line 2247
3608 return (retValue_acc);
3609 } else {
3610#line 2239 "Elevator.c"
3611 retValue_acc = 0;
3612#line 2241
3613 return (retValue_acc);
3614 }
3615 } else {
3616 {
3617#line 2245 "Elevator.c"
3618 retValue_acc = stopRequestedAtCurrentFloor__wrappee__twothirdsfull();
3619 }
3620#line 2247
3621 return (retValue_acc);
3622 }
3623#line 2254 "Elevator.c"
3624 return (retValue_acc);
3625}
3626}
3627#line 324 "Elevator.c"
3628int getReverseHeading(int ofHeading )
3629{ int retValue_acc ;
3630
3631 {
3632#line 327 "Elevator.c"
3633 if (ofHeading == 0) {
3634#line 2279
3635 retValue_acc = 1;
3636#line 2281
3637 return (retValue_acc);
3638 } else {
3639#line 2285 "Elevator.c"
3640 retValue_acc = 0;
3641#line 2287
3642 return (retValue_acc);
3643 }
3644#line 2294 "Elevator.c"
3645 return (retValue_acc);
3646}
3647}
3648#line 331 "Elevator.c"
3649void processWaitingOnFloor(int floorID )
3650{ int tmp ;
3651 int tmp___0 ;
3652 int tmp___1 ;
3653 int tmp___2 ;
3654 int tmp___3 ;
3655 int tmp___4 ;
3656 int tmp___5 ;
3657 int tmp___6 ;
3658 int tmp___7 ;
3659 int tmp___8 ;
3660 int tmp___9 ;
3661 int tmp___10 ;
3662
3663 {
3664 {
3665#line 337
3666 tmp___0 = isPersonOnFloor(0, floorID);
3667 }
3668#line 337
3669 if (tmp___0) {
3670 {
3671#line 333
3672 removePersonFromFloor(0, floorID);
3673#line 334
3674 tmp = getDestination(0);
3675#line 334
3676 pressInLiftFloorButton(tmp);
3677#line 335
3678 enterElevator(0);
3679 }
3680 } else {
3681
3682 }
3683 {
3684#line 337
3685 tmp___2 = isPersonOnFloor(1, floorID);
3686 }
3687#line 337
3688 if (tmp___2) {
3689 {
3690#line 338
3691 removePersonFromFloor(1, floorID);
3692#line 339
3693 tmp___1 = getDestination(1);
3694#line 339
3695 pressInLiftFloorButton(tmp___1);
3696#line 340
3697 enterElevator(1);
3698 }
3699 } else {
3700
3701 }
3702 {
3703#line 342
3704 tmp___4 = isPersonOnFloor(2, floorID);
3705 }
3706#line 342
3707 if (tmp___4) {
3708 {
3709#line 343
3710 removePersonFromFloor(2, floorID);
3711#line 344
3712 tmp___3 = getDestination(2);
3713#line 344
3714 pressInLiftFloorButton(tmp___3);
3715#line 345
3716 enterElevator(2);
3717 }
3718 } else {
3719
3720 }
3721 {
3722#line 347
3723 tmp___6 = isPersonOnFloor(3, floorID);
3724 }
3725#line 347
3726 if (tmp___6) {
3727 {
3728#line 348
3729 removePersonFromFloor(3, floorID);
3730#line 349
3731 tmp___5 = getDestination(3);
3732#line 349
3733 pressInLiftFloorButton(tmp___5);
3734#line 350
3735 enterElevator(3);
3736 }
3737 } else {
3738
3739 }
3740 {
3741#line 352
3742 tmp___8 = isPersonOnFloor(4, floorID);
3743 }
3744#line 352
3745 if (tmp___8) {
3746 {
3747#line 353
3748 removePersonFromFloor(4, floorID);
3749#line 354
3750 tmp___7 = getDestination(4);
3751#line 354
3752 pressInLiftFloorButton(tmp___7);
3753#line 355
3754 enterElevator(4);
3755 }
3756 } else {
3757
3758 }
3759 {
3760#line 357
3761 tmp___10 = isPersonOnFloor(5, floorID);
3762 }
3763#line 357
3764 if (tmp___10) {
3765 {
3766#line 358
3767 removePersonFromFloor(5, floorID);
3768#line 359
3769 tmp___9 = getDestination(5);
3770#line 359
3771 pressInLiftFloorButton(tmp___9);
3772#line 360
3773 enterElevator(5);
3774 }
3775 } else {
3776
3777 }
3778 {
3779#line 362
3780 resetCallOnFloor(floorID);
3781 }
3782#line 2372 "Elevator.c"
3783 return;
3784}
3785}
3786#line 366 "Elevator.c"
3787void timeShift(void)
3788{ int tmp ;
3789 int tmp___0 ;
3790 int tmp___1 ;
3791 int tmp___2 ;
3792 int tmp___3 ;
3793 int tmp___4 ;
3794 int tmp___5 ;
3795 int tmp___6 ;
3796 int tmp___7 ;
3797 int tmp___8 ;
3798 int tmp___9 ;
3799
3800 {
3801 {
3802#line 399
3803 tmp___9 = stopRequestedAtCurrentFloor();
3804 }
3805#line 399
3806 if (tmp___9) {
3807#line 371
3808 doorState = 1;
3809#line 373
3810 if (persons_0) {
3811 {
3812#line 373
3813 tmp = getDestination(0);
3814 }
3815#line 373
3816 if (tmp == currentFloorID) {
3817 {
3818#line 374
3819 leaveElevator(0);
3820 }
3821 } else {
3822
3823 }
3824 } else {
3825
3826 }
3827#line 374
3828 if (persons_1) {
3829 {
3830#line 374
3831 tmp___0 = getDestination(1);
3832 }
3833#line 374
3834 if (tmp___0 == currentFloorID) {
3835 {
3836#line 375
3837 leaveElevator(1);
3838 }
3839 } else {
3840
3841 }
3842 } else {
3843
3844 }
3845#line 375
3846 if (persons_2) {
3847 {
3848#line 375
3849 tmp___1 = getDestination(2);
3850 }
3851#line 375
3852 if (tmp___1 == currentFloorID) {
3853 {
3854#line 376
3855 leaveElevator(2);
3856 }
3857 } else {
3858
3859 }
3860 } else {
3861
3862 }
3863#line 376
3864 if (persons_3) {
3865 {
3866#line 376
3867 tmp___2 = getDestination(3);
3868 }
3869#line 376
3870 if (tmp___2 == currentFloorID) {
3871 {
3872#line 377
3873 leaveElevator(3);
3874 }
3875 } else {
3876
3877 }
3878 } else {
3879
3880 }
3881#line 377
3882 if (persons_4) {
3883 {
3884#line 377
3885 tmp___3 = getDestination(4);
3886 }
3887#line 377
3888 if (tmp___3 == currentFloorID) {
3889 {
3890#line 378
3891 leaveElevator(4);
3892 }
3893 } else {
3894
3895 }
3896 } else {
3897
3898 }
3899#line 378
3900 if (persons_5) {
3901 {
3902#line 378
3903 tmp___4 = getDestination(5);
3904 }
3905#line 378
3906 if (tmp___4 == currentFloorID) {
3907 {
3908#line 379
3909 leaveElevator(5);
3910 }
3911 } else {
3912
3913 }
3914 } else {
3915
3916 }
3917 {
3918#line 379
3919 processWaitingOnFloor(currentFloorID);
3920#line 380
3921 resetFloorButton(currentFloorID);
3922 }
3923 } else {
3924#line 386
3925 if (doorState == 1) {
3926#line 383
3927 doorState = 0;
3928 } else {
3929
3930 }
3931 {
3932#line 386
3933 tmp___8 = stopRequestedInDirection(currentHeading, 1, 1);
3934 }
3935#line 386
3936 if (tmp___8) {
3937 {
3938#line 389
3939 continueInDirection(currentHeading);
3940 }
3941 } else {
3942 {
3943#line 390
3944 tmp___6 = getReverseHeading(currentHeading);
3945#line 390
3946 tmp___7 = stopRequestedInDirection(tmp___6, 1, 1);
3947 }
3948#line 390
3949 if (tmp___7) {
3950 {
3951#line 393
3952 tmp___5 = getReverseHeading(currentHeading);
3953#line 393
3954 continueInDirection(tmp___5);
3955 }
3956 } else {
3957 {
3958#line 397
3959 continueInDirection(currentHeading);
3960 }
3961 }
3962 }
3963 }
3964 {
3965#line 2437 "Elevator.c"
3966 __utac_acc__Specification2_spec__3();
3967 }
3968#line 2443
3969 return;
3970}
3971}
3972#line 402 "Elevator.c"
3973void printState(void)
3974{ int tmp ;
3975 int tmp___0 ;
3976 int tmp___1 ;
3977 int tmp___2 ;
3978 int tmp___3 ;
3979 char const * __restrict __cil_tmp6 ;
3980 char const * __restrict __cil_tmp7 ;
3981 char const * __restrict __cil_tmp8 ;
3982 char const * __restrict __cil_tmp9 ;
3983 char const * __restrict __cil_tmp10 ;
3984 char const * __restrict __cil_tmp11 ;
3985 char const * __restrict __cil_tmp12 ;
3986 char const * __restrict __cil_tmp13 ;
3987 char const * __restrict __cil_tmp14 ;
3988 char const * __restrict __cil_tmp15 ;
3989 char const * __restrict __cil_tmp16 ;
3990 char const * __restrict __cil_tmp17 ;
3991 char const * __restrict __cil_tmp18 ;
3992 char const * __restrict __cil_tmp19 ;
3993 char const * __restrict __cil_tmp20 ;
3994 char const * __restrict __cil_tmp21 ;
3995 char const * __restrict __cil_tmp22 ;
3996 char const * __restrict __cil_tmp23 ;
3997 char const * __restrict __cil_tmp24 ;
3998 char const * __restrict __cil_tmp25 ;
3999 char const * __restrict __cil_tmp26 ;
4000
4001 {
4002 {
4003#line 403
4004 __cil_tmp6 = (char const * __restrict )"Elevator ";
4005#line 403
4006 printf(__cil_tmp6);
4007 }
4008#line 404
4009 if (doorState) {
4010 {
4011#line 405
4012 __cil_tmp7 = (char const * __restrict )"[_]";
4013#line 405
4014 printf(__cil_tmp7);
4015 }
4016 } else {
4017 {
4018#line 406
4019 __cil_tmp8 = (char const * __restrict )"[] ";
4020#line 406
4021 printf(__cil_tmp8);
4022 }
4023 }
4024 {
4025#line 406
4026 __cil_tmp9 = (char const * __restrict )" at ";
4027#line 406
4028 printf(__cil_tmp9);
4029#line 407
4030 __cil_tmp10 = (char const * __restrict )"%i";
4031#line 407
4032 printf(__cil_tmp10, currentFloorID);
4033#line 408
4034 __cil_tmp11 = (char const * __restrict )" heading ";
4035#line 408
4036 printf(__cil_tmp11);
4037 }
4038#line 409
4039 if (currentHeading) {
4040 {
4041#line 410
4042 __cil_tmp12 = (char const * __restrict )"up";
4043#line 410
4044 printf(__cil_tmp12);
4045 }
4046 } else {
4047 {
4048#line 411
4049 __cil_tmp13 = (char const * __restrict )"down";
4050#line 411
4051 printf(__cil_tmp13);
4052 }
4053 }
4054 {
4055#line 411
4056 __cil_tmp14 = (char const * __restrict )" IL_p:";
4057#line 411
4058 printf(__cil_tmp14);
4059 }
4060#line 412
4061 if (floorButtons_0) {
4062 {
4063#line 413
4064 __cil_tmp15 = (char const * __restrict )" %i";
4065#line 413
4066 printf(__cil_tmp15, 0);
4067 }
4068 } else {
4069
4070 }
4071#line 413
4072 if (floorButtons_1) {
4073 {
4074#line 414
4075 __cil_tmp16 = (char const * __restrict )" %i";
4076#line 414
4077 printf(__cil_tmp16, 1);
4078 }
4079 } else {
4080
4081 }
4082#line 414
4083 if (floorButtons_2) {
4084 {
4085#line 415
4086 __cil_tmp17 = (char const * __restrict )" %i";
4087#line 415
4088 printf(__cil_tmp17, 2);
4089 }
4090 } else {
4091
4092 }
4093#line 415
4094 if (floorButtons_3) {
4095 {
4096#line 416
4097 __cil_tmp18 = (char const * __restrict )" %i";
4098#line 416
4099 printf(__cil_tmp18, 3);
4100 }
4101 } else {
4102
4103 }
4104#line 416
4105 if (floorButtons_4) {
4106 {
4107#line 417
4108 __cil_tmp19 = (char const * __restrict )" %i";
4109#line 417
4110 printf(__cil_tmp19, 4);
4111 }
4112 } else {
4113
4114 }
4115 {
4116#line 417
4117 __cil_tmp20 = (char const * __restrict )" F_p:";
4118#line 417
4119 printf(__cil_tmp20);
4120#line 418
4121 tmp = isFloorCalling(0);
4122 }
4123#line 418
4124 if (tmp) {
4125 {
4126#line 419
4127 __cil_tmp21 = (char const * __restrict )" %i";
4128#line 419
4129 printf(__cil_tmp21, 0);
4130 }
4131 } else {
4132
4133 }
4134 {
4135#line 419
4136 tmp___0 = isFloorCalling(1);
4137 }
4138#line 419
4139 if (tmp___0) {
4140 {
4141#line 420
4142 __cil_tmp22 = (char const * __restrict )" %i";
4143#line 420
4144 printf(__cil_tmp22, 1);
4145 }
4146 } else {
4147
4148 }
4149 {
4150#line 420
4151 tmp___1 = isFloorCalling(2);
4152 }
4153#line 420
4154 if (tmp___1) {
4155 {
4156#line 421
4157 __cil_tmp23 = (char const * __restrict )" %i";
4158#line 421
4159 printf(__cil_tmp23, 2);
4160 }
4161 } else {
4162
4163 }
4164 {
4165#line 421
4166 tmp___2 = isFloorCalling(3);
4167 }
4168#line 421
4169 if (tmp___2) {
4170 {
4171#line 422
4172 __cil_tmp24 = (char const * __restrict )" %i";
4173#line 422
4174 printf(__cil_tmp24, 3);
4175 }
4176 } else {
4177
4178 }
4179 {
4180#line 422
4181 tmp___3 = isFloorCalling(4);
4182 }
4183#line 422
4184 if (tmp___3) {
4185 {
4186#line 423
4187 __cil_tmp25 = (char const * __restrict )" %i";
4188#line 423
4189 printf(__cil_tmp25, 4);
4190 }
4191 } else {
4192
4193 }
4194 {
4195#line 423
4196 __cil_tmp26 = (char const * __restrict )"\n";
4197#line 423
4198 printf(__cil_tmp26);
4199 }
4200#line 2513 "Elevator.c"
4201 return;
4202}
4203}
4204#line 427 "Elevator.c"
4205int existInLiftCallsInDirection(int d )
4206{ int retValue_acc ;
4207 int i ;
4208 int i___0 ;
4209
4210 {
4211#line 448
4212 if (d == 1) {
4213#line 429 "Elevator.c"
4214 i = 0;
4215#line 430
4216 i = currentFloorID + 1;
4217 {
4218#line 430
4219 while (1) {
4220 while_4_continue: ;
4221#line 430
4222 if (i < 5) {
4223
4224 } else {
4225 goto while_4_break;
4226 }
4227#line 436
4228 if (i == 0) {
4229#line 436 "Elevator.c"
4230 if (floorButtons_0) {
4231#line 2541
4232 retValue_acc = 1;
4233#line 2543
4234 return (retValue_acc);
4235 } else {
4236 goto _L___2;
4237 }
4238 } else {
4239 _L___2:
4240#line 2545
4241 if (i == 1) {
4242#line 2545
4243 if (floorButtons_1) {
4244#line 2548
4245 retValue_acc = 1;
4246#line 2550
4247 return (retValue_acc);
4248 } else {
4249 goto _L___1;
4250 }
4251 } else {
4252 _L___1:
4253#line 2552
4254 if (i == 2) {
4255#line 2552
4256 if (floorButtons_2) {
4257#line 2555
4258 retValue_acc = 1;
4259#line 2557
4260 return (retValue_acc);
4261 } else {
4262 goto _L___0;
4263 }
4264 } else {
4265 _L___0:
4266#line 2559
4267 if (i == 3) {
4268#line 2559
4269 if (floorButtons_3) {
4270#line 2562
4271 retValue_acc = 1;
4272#line 2564
4273 return (retValue_acc);
4274 } else {
4275 goto _L;
4276 }
4277 } else {
4278 _L:
4279#line 2566
4280 if (i == 4) {
4281#line 2566
4282 if (floorButtons_4) {
4283#line 2569 "Elevator.c"
4284 retValue_acc = 1;
4285#line 2571
4286 return (retValue_acc);
4287 } else {
4288
4289 }
4290 } else {
4291
4292 }
4293 }
4294 }
4295 }
4296 }
4297#line 430
4298 i = i + 1;
4299 }
4300 while_4_break: ;
4301 }
4302 } else {
4303#line 2573 "Elevator.c"
4304 if (d == 0) {
4305#line 438
4306 i___0 = 0;
4307#line 439
4308 i___0 = currentFloorID - 1;
4309 {
4310#line 439
4311 while (1) {
4312 while_5_continue: ;
4313#line 439
4314 if (i___0 >= 0) {
4315
4316 } else {
4317 goto while_5_break;
4318 }
4319#line 439
4320 i___0 = currentFloorID + 1;
4321 {
4322#line 439
4323 while (1) {
4324 while_6_continue: ;
4325#line 439
4326 if (i___0 < 5) {
4327
4328 } else {
4329 goto while_6_break;
4330 }
4331#line 446
4332 if (i___0 == 0) {
4333#line 446 "Elevator.c"
4334 if (floorButtons_0) {
4335#line 2585
4336 retValue_acc = 1;
4337#line 2587
4338 return (retValue_acc);
4339 } else {
4340 goto _L___6;
4341 }
4342 } else {
4343 _L___6:
4344#line 2589
4345 if (i___0 == 1) {
4346#line 2589
4347 if (floorButtons_1) {
4348#line 2592
4349 retValue_acc = 1;
4350#line 2594
4351 return (retValue_acc);
4352 } else {
4353 goto _L___5;
4354 }
4355 } else {
4356 _L___5:
4357#line 2596
4358 if (i___0 == 2) {
4359#line 2596
4360 if (floorButtons_2) {
4361#line 2599
4362 retValue_acc = 1;
4363#line 2601
4364 return (retValue_acc);
4365 } else {
4366 goto _L___4;
4367 }
4368 } else {
4369 _L___4:
4370#line 2603
4371 if (i___0 == 3) {
4372#line 2603
4373 if (floorButtons_3) {
4374#line 2606
4375 retValue_acc = 1;
4376#line 2608
4377 return (retValue_acc);
4378 } else {
4379 goto _L___3;
4380 }
4381 } else {
4382 _L___3:
4383#line 2610
4384 if (i___0 == 4) {
4385#line 2610
4386 if (floorButtons_4) {
4387#line 2613 "Elevator.c"
4388 retValue_acc = 1;
4389#line 2615
4390 return (retValue_acc);
4391 } else {
4392
4393 }
4394 } else {
4395
4396 }
4397 }
4398 }
4399 }
4400 }
4401#line 439
4402 i___0 = i___0 + 1;
4403 }
4404 while_6_break: ;
4405 }
4406#line 439
4407 i___0 = i___0 - 1;
4408 }
4409 while_5_break: ;
4410 }
4411 } else {
4412
4413 }
4414 }
4415#line 2620 "Elevator.c"
4416 retValue_acc = 0;
4417#line 2622
4418 return (retValue_acc);
4419#line 2629
4420 return (retValue_acc);
4421}
4422}
4423#line 450 "Elevator.c"
4424int isExecutiveFloorCalling(void)
4425{ int retValue_acc ;
4426
4427 {
4428 {
4429#line 2651 "Elevator.c"
4430 retValue_acc = isFloorCalling(executiveFloor);
4431 }
4432#line 2653
4433 return (retValue_acc);
4434#line 2660
4435 return (retValue_acc);
4436}
4437}
4438#line 454 "Elevator.c"
4439int isExecutiveFloor(int floorID )
4440{ int retValue_acc ;
4441
4442 {
4443#line 2682 "Elevator.c"
4444 retValue_acc = executiveFloor == floorID;
4445#line 2684
4446 return (retValue_acc);
4447#line 2691
4448 return (retValue_acc);
4449}
4450}
4451#line 1 "featureselect.o"
4452#pragma merger(0,"featureselect.i","")
4453#line 9 "featureselect.h"
4454int select_one(void) ;
4455#line 8 "featureselect.c"
4456int select_one(void)
4457{ int retValue_acc ;
4458 int choice = __VERIFIER_nondet_int();
4459
4460 {
4461#line 63 "featureselect.c"
4462 retValue_acc = choice;
4463#line 65
4464 return (retValue_acc);
4465#line 72
4466 return (retValue_acc);
4467}
4468}
4469#line 14 "featureselect.c"
4470void select_features(void)
4471{
4472
4473 {
4474#line 94 "featureselect.c"
4475 return;
4476}
4477}
4478#line 20 "featureselect.c"
4479void select_helpers(void)
4480{
4481
4482 {
4483#line 112 "featureselect.c"
4484 return;
4485}
4486}
4487#line 25 "featureselect.c"
4488int valid_product(void)
4489{ int retValue_acc ;
4490
4491 {
4492#line 130 "featureselect.c"
4493 retValue_acc = 1;
4494#line 132
4495 return (retValue_acc);
4496#line 139
4497 return (retValue_acc);
4498}
4499}
4500#line 1 "wsllib_check.o"
4501#pragma merger(0,"wsllib_check.i","")
4502#line 3 "wsllib_check.c"
4503void __automaton_fail(void)
4504{
4505
4506 {
4507 goto ERROR;
4508 ERROR: ;
4509#line 53 "wsllib_check.c"
4510 return;
4511}
4512}
4513#line 1 "libacc.o"
4514#pragma merger(0,"libacc.i","")
4515#line 73 "/usr/include/assert.h"
4516extern __attribute__((__nothrow__, __noreturn__)) void __assert_fail(char const *__assertion ,
4517 char const *__file ,
4518 unsigned int __line ,
4519 char const *__function ) ;
4520#line 471 "/usr/include/stdlib.h"
4521extern __attribute__((__nothrow__)) void *malloc(size_t __size ) __attribute__((__malloc__)) ;
4522#line 488
4523extern __attribute__((__nothrow__)) void free(void *__ptr ) ;
4524#line 32 "libacc.c"
4525void __utac__exception__cf_handler_set(void *exception , int (*cflow_func)(int ,
4526 int ) ,
4527 int val )
4528{ struct __UTAC__EXCEPTION *excep ;
4529 struct __UTAC__CFLOW_FUNC *cf ;
4530 void *tmp ;
4531 unsigned long __cil_tmp7 ;
4532 unsigned long __cil_tmp8 ;
4533 unsigned long __cil_tmp9 ;
4534 unsigned long __cil_tmp10 ;
4535 unsigned long __cil_tmp11 ;
4536 unsigned long __cil_tmp12 ;
4537 unsigned long __cil_tmp13 ;
4538 unsigned long __cil_tmp14 ;
4539 int (**mem_15)(int , int ) ;
4540 int *mem_16 ;
4541 struct __UTAC__CFLOW_FUNC **mem_17 ;
4542 struct __UTAC__CFLOW_FUNC **mem_18 ;
4543 struct __UTAC__CFLOW_FUNC **mem_19 ;
4544
4545 {
4546 {
4547#line 33
4548 excep = (struct __UTAC__EXCEPTION *)exception;
4549#line 34
4550 tmp = malloc(24UL);
4551#line 34
4552 cf = (struct __UTAC__CFLOW_FUNC *)tmp;
4553#line 36
4554 mem_15 = (int (**)(int , int ))cf;
4555#line 36
4556 *mem_15 = cflow_func;
4557#line 37
4558 __cil_tmp7 = (unsigned long )cf;
4559#line 37
4560 __cil_tmp8 = __cil_tmp7 + 8;
4561#line 37
4562 mem_16 = (int *)__cil_tmp8;
4563#line 37
4564 *mem_16 = val;
4565#line 38
4566 __cil_tmp9 = (unsigned long )cf;
4567#line 38
4568 __cil_tmp10 = __cil_tmp9 + 16;
4569#line 38
4570 __cil_tmp11 = (unsigned long )excep;
4571#line 38
4572 __cil_tmp12 = __cil_tmp11 + 24;
4573#line 38
4574 mem_17 = (struct __UTAC__CFLOW_FUNC **)__cil_tmp10;
4575#line 38
4576 mem_18 = (struct __UTAC__CFLOW_FUNC **)__cil_tmp12;
4577#line 38
4578 *mem_17 = *mem_18;
4579#line 39
4580 __cil_tmp13 = (unsigned long )excep;
4581#line 39
4582 __cil_tmp14 = __cil_tmp13 + 24;
4583#line 39
4584 mem_19 = (struct __UTAC__CFLOW_FUNC **)__cil_tmp14;
4585#line 39
4586 *mem_19 = cf;
4587 }
4588#line 654 "libacc.c"
4589 return;
4590}
4591}
4592#line 44 "libacc.c"
4593void __utac__exception__cf_handler_free(void *exception )
4594{ struct __UTAC__EXCEPTION *excep ;
4595 struct __UTAC__CFLOW_FUNC *cf ;
4596 struct __UTAC__CFLOW_FUNC *tmp ;
4597 unsigned long __cil_tmp5 ;
4598 unsigned long __cil_tmp6 ;
4599 struct __UTAC__CFLOW_FUNC *__cil_tmp7 ;
4600 unsigned long __cil_tmp8 ;
4601 unsigned long __cil_tmp9 ;
4602 unsigned long __cil_tmp10 ;
4603 unsigned long __cil_tmp11 ;
4604 void *__cil_tmp12 ;
4605 unsigned long __cil_tmp13 ;
4606 unsigned long __cil_tmp14 ;
4607 struct __UTAC__CFLOW_FUNC **mem_15 ;
4608 struct __UTAC__CFLOW_FUNC **mem_16 ;
4609 struct __UTAC__CFLOW_FUNC **mem_17 ;
4610
4611 {
4612#line 45
4613 excep = (struct __UTAC__EXCEPTION *)exception;
4614#line 46
4615 __cil_tmp5 = (unsigned long )excep;
4616#line 46
4617 __cil_tmp6 = __cil_tmp5 + 24;
4618#line 46
4619 mem_15 = (struct __UTAC__CFLOW_FUNC **)__cil_tmp6;
4620#line 46
4621 cf = *mem_15;
4622 {
4623#line 49
4624 while (1) {
4625 while_7_continue: ;
4626 {
4627#line 49
4628 __cil_tmp7 = (struct __UTAC__CFLOW_FUNC *)0;
4629#line 49
4630 __cil_tmp8 = (unsigned long )__cil_tmp7;
4631#line 49
4632 __cil_tmp9 = (unsigned long )cf;
4633#line 49
4634 if (__cil_tmp9 != __cil_tmp8) {
4635
4636 } else {
4637 goto while_7_break;
4638 }
4639 }
4640 {
4641#line 50
4642 tmp = cf;
4643#line 51
4644 __cil_tmp10 = (unsigned long )cf;
4645#line 51
4646 __cil_tmp11 = __cil_tmp10 + 16;
4647#line 51
4648 mem_16 = (struct __UTAC__CFLOW_FUNC **)__cil_tmp11;
4649#line 51
4650 cf = *mem_16;
4651#line 52
4652 __cil_tmp12 = (void *)tmp;
4653#line 52
4654 free(__cil_tmp12);
4655 }
4656 }
4657 while_7_break: ;
4658 }
4659#line 55
4660 __cil_tmp13 = (unsigned long )excep;
4661#line 55
4662 __cil_tmp14 = __cil_tmp13 + 24;
4663#line 55
4664 mem_17 = (struct __UTAC__CFLOW_FUNC **)__cil_tmp14;
4665#line 55
4666 *mem_17 = (struct __UTAC__CFLOW_FUNC *)0;
4667#line 694 "libacc.c"
4668 return;
4669}
4670}
4671#line 59 "libacc.c"
4672void __utac__exception__cf_handler_reset(void *exception )
4673{ struct __UTAC__EXCEPTION *excep ;
4674 struct __UTAC__CFLOW_FUNC *cf ;
4675 unsigned long __cil_tmp5 ;
4676 unsigned long __cil_tmp6 ;
4677 struct __UTAC__CFLOW_FUNC *__cil_tmp7 ;
4678 unsigned long __cil_tmp8 ;
4679 unsigned long __cil_tmp9 ;
4680 int (*__cil_tmp10)(int , int ) ;
4681 unsigned long __cil_tmp11 ;
4682 unsigned long __cil_tmp12 ;
4683 int __cil_tmp13 ;
4684 unsigned long __cil_tmp14 ;
4685 unsigned long __cil_tmp15 ;
4686 struct __UTAC__CFLOW_FUNC **mem_16 ;
4687 int (**mem_17)(int , int ) ;
4688 int *mem_18 ;
4689 struct __UTAC__CFLOW_FUNC **mem_19 ;
4690
4691 {
4692#line 60
4693 excep = (struct __UTAC__EXCEPTION *)exception;
4694#line 61
4695 __cil_tmp5 = (unsigned long )excep;
4696#line 61
4697 __cil_tmp6 = __cil_tmp5 + 24;
4698#line 61
4699 mem_16 = (struct __UTAC__CFLOW_FUNC **)__cil_tmp6;
4700#line 61
4701 cf = *mem_16;
4702 {
4703#line 64
4704 while (1) {
4705 while_8_continue: ;
4706 {
4707#line 64
4708 __cil_tmp7 = (struct __UTAC__CFLOW_FUNC *)0;
4709#line 64
4710 __cil_tmp8 = (unsigned long )__cil_tmp7;
4711#line 64
4712 __cil_tmp9 = (unsigned long )cf;
4713#line 64
4714 if (__cil_tmp9 != __cil_tmp8) {
4715
4716 } else {
4717 goto while_8_break;
4718 }
4719 }
4720 {
4721#line 65
4722 mem_17 = (int (**)(int , int ))cf;
4723#line 65
4724 __cil_tmp10 = *mem_17;
4725#line 65
4726 __cil_tmp11 = (unsigned long )cf;
4727#line 65
4728 __cil_tmp12 = __cil_tmp11 + 8;
4729#line 65
4730 mem_18 = (int *)__cil_tmp12;
4731#line 65
4732 __cil_tmp13 = *mem_18;
4733#line 65
4734 (*__cil_tmp10)(4, __cil_tmp13);
4735#line 66
4736 __cil_tmp14 = (unsigned long )cf;
4737#line 66
4738 __cil_tmp15 = __cil_tmp14 + 16;
4739#line 66
4740 mem_19 = (struct __UTAC__CFLOW_FUNC **)__cil_tmp15;
4741#line 66
4742 cf = *mem_19;
4743 }
4744 }
4745 while_8_break: ;
4746 }
4747 {
4748#line 69
4749 __utac__exception__cf_handler_free(exception);
4750 }
4751#line 732 "libacc.c"
4752 return;
4753}
4754}
4755#line 80 "libacc.c"
4756void *__utac__error_stack_mgt(void *env , int mode , int count ) ;
4757#line 80 "libacc.c"
4758static struct __ACC__ERR *head = (struct __ACC__ERR *)0;
4759#line 79 "libacc.c"
4760void *__utac__error_stack_mgt(void *env , int mode , int count )
4761{ void *retValue_acc ;
4762 struct __ACC__ERR *new ;
4763 void *tmp ;
4764 struct __ACC__ERR *temp ;
4765 struct __ACC__ERR *next ;
4766 void *excep ;
4767 unsigned long __cil_tmp10 ;
4768 unsigned long __cil_tmp11 ;
4769 unsigned long __cil_tmp12 ;
4770 unsigned long __cil_tmp13 ;
4771 void *__cil_tmp14 ;
4772 unsigned long __cil_tmp15 ;
4773 unsigned long __cil_tmp16 ;
4774 void *__cil_tmp17 ;
4775 void **mem_18 ;
4776 struct __ACC__ERR **mem_19 ;
4777 struct __ACC__ERR **mem_20 ;
4778 void **mem_21 ;
4779 struct __ACC__ERR **mem_22 ;
4780 void **mem_23 ;
4781 void **mem_24 ;
4782
4783 {
4784#line 82 "libacc.c"
4785 if (count == 0) {
4786#line 758 "libacc.c"
4787 return (retValue_acc);
4788 } else {
4789
4790 }
4791#line 86 "libacc.c"
4792 if (mode == 0) {
4793 {
4794#line 87
4795 tmp = malloc(16UL);
4796#line 87
4797 new = (struct __ACC__ERR *)tmp;
4798#line 88
4799 mem_18 = (void **)new;
4800#line 88
4801 *mem_18 = env;
4802#line 89
4803 __cil_tmp10 = (unsigned long )new;
4804#line 89
4805 __cil_tmp11 = __cil_tmp10 + 8;
4806#line 89
4807 mem_19 = (struct __ACC__ERR **)__cil_tmp11;
4808#line 89
4809 *mem_19 = head;
4810#line 90
4811 head = new;
4812#line 776 "libacc.c"
4813 retValue_acc = (void *)new;
4814 }
4815#line 778
4816 return (retValue_acc);
4817 } else {
4818
4819 }
4820#line 94 "libacc.c"
4821 if (mode == 1) {
4822#line 95
4823 temp = head;
4824 {
4825#line 98
4826 while (1) {
4827 while_9_continue: ;
4828#line 98
4829 if (count > 1) {
4830
4831 } else {
4832 goto while_9_break;
4833 }
4834 {
4835#line 99
4836 __cil_tmp12 = (unsigned long )temp;
4837#line 99
4838 __cil_tmp13 = __cil_tmp12 + 8;
4839#line 99
4840 mem_20 = (struct __ACC__ERR **)__cil_tmp13;
4841#line 99
4842 next = *mem_20;
4843#line 100
4844 mem_21 = (void **)temp;
4845#line 100
4846 excep = *mem_21;
4847#line 101
4848 __cil_tmp14 = (void *)temp;
4849#line 101
4850 free(__cil_tmp14);
4851#line 102
4852 __utac__exception__cf_handler_reset(excep);
4853#line 103
4854 temp = next;
4855#line 104
4856 count = count - 1;
4857 }
4858 }
4859 while_9_break: ;
4860 }
4861 {
4862#line 107
4863 __cil_tmp15 = (unsigned long )temp;
4864#line 107
4865 __cil_tmp16 = __cil_tmp15 + 8;
4866#line 107
4867 mem_22 = (struct __ACC__ERR **)__cil_tmp16;
4868#line 107
4869 head = *mem_22;
4870#line 108
4871 mem_23 = (void **)temp;
4872#line 108
4873 excep = *mem_23;
4874#line 109
4875 __cil_tmp17 = (void *)temp;
4876#line 109
4877 free(__cil_tmp17);
4878#line 110
4879 __utac__exception__cf_handler_reset(excep);
4880#line 820 "libacc.c"
4881 retValue_acc = excep;
4882 }
4883#line 822
4884 return (retValue_acc);
4885 } else {
4886
4887 }
4888#line 114
4889 if (mode == 2) {
4890#line 118 "libacc.c"
4891 if (head) {
4892#line 831
4893 mem_24 = (void **)head;
4894#line 831
4895 retValue_acc = *mem_24;
4896#line 833
4897 return (retValue_acc);
4898 } else {
4899#line 837 "libacc.c"
4900 retValue_acc = (void *)0;
4901#line 839
4902 return (retValue_acc);
4903 }
4904 } else {
4905
4906 }
4907#line 846 "libacc.c"
4908 return (retValue_acc);
4909}
4910}
4911#line 122 "libacc.c"
4912void *__utac__get_this_arg(int i , struct JoinPoint *this )
4913{ void *retValue_acc ;
4914 unsigned long __cil_tmp4 ;
4915 unsigned long __cil_tmp5 ;
4916 int __cil_tmp6 ;
4917 int __cil_tmp7 ;
4918 unsigned long __cil_tmp8 ;
4919 unsigned long __cil_tmp9 ;
4920 void **__cil_tmp10 ;
4921 void **__cil_tmp11 ;
4922 int *mem_12 ;
4923 void ***mem_13 ;
4924
4925 {
4926#line 123
4927 if (i > 0) {
4928 {
4929#line 123
4930 __cil_tmp4 = (unsigned long )this;
4931#line 123
4932 __cil_tmp5 = __cil_tmp4 + 16;
4933#line 123
4934 mem_12 = (int *)__cil_tmp5;
4935#line 123
4936 __cil_tmp6 = *mem_12;
4937#line 123
4938 if (i <= __cil_tmp6) {
4939
4940 } else {
4941 {
4942#line 123
4943 __assert_fail("i > 0 && i <= this->argsCount", "libacc.c",
4944 123U, "__utac__get_this_arg");
4945 }
4946 }
4947 }
4948 } else {
4949 {
4950#line 123
4951 __assert_fail("i > 0 && i <= this->argsCount", "libacc.c",
4952 123U, "__utac__get_this_arg");
4953 }
4954 }
4955#line 870 "libacc.c"
4956 __cil_tmp7 = i - 1;
4957#line 870
4958 __cil_tmp8 = (unsigned long )this;
4959#line 870
4960 __cil_tmp9 = __cil_tmp8 + 8;
4961#line 870
4962 mem_13 = (void ***)__cil_tmp9;
4963#line 870
4964 __cil_tmp10 = *mem_13;
4965#line 870
4966 __cil_tmp11 = __cil_tmp10 + __cil_tmp7;
4967#line 870
4968 retValue_acc = *__cil_tmp11;
4969#line 872
4970 return (retValue_acc);
4971#line 879
4972 return (retValue_acc);
4973}
4974}
4975#line 129 "libacc.c"
4976char const *__utac__get_this_argtype(int i , struct JoinPoint *this )
4977{ char const *retValue_acc ;
4978 unsigned long __cil_tmp4 ;
4979 unsigned long __cil_tmp5 ;
4980 int __cil_tmp6 ;
4981 int __cil_tmp7 ;
4982 unsigned long __cil_tmp8 ;
4983 unsigned long __cil_tmp9 ;
4984 char const **__cil_tmp10 ;
4985 char const **__cil_tmp11 ;
4986 int *mem_12 ;
4987 char const ***mem_13 ;
4988
4989 {
4990#line 131
4991 if (i > 0) {
4992 {
4993#line 131
4994 __cil_tmp4 = (unsigned long )this;
4995#line 131
4996 __cil_tmp5 = __cil_tmp4 + 16;
4997#line 131
4998 mem_12 = (int *)__cil_tmp5;
4999#line 131
5000 __cil_tmp6 = *mem_12;
5001#line 131
5002 if (i <= __cil_tmp6) {
5003
5004 } else {
5005 {
5006#line 131
5007 __assert_fail("i > 0 && i <= this->argsCount", "libacc.c",
5008 131U, "__utac__get_this_argtype");
5009 }
5010 }
5011 }
5012 } else {
5013 {
5014#line 131
5015 __assert_fail("i > 0 && i <= this->argsCount", "libacc.c",
5016 131U, "__utac__get_this_argtype");
5017 }
5018 }
5019#line 903 "libacc.c"
5020 __cil_tmp7 = i - 1;
5021#line 903
5022 __cil_tmp8 = (unsigned long )this;
5023#line 903
5024 __cil_tmp9 = __cil_tmp8 + 24;
5025#line 903
5026 mem_13 = (char const ***)__cil_tmp9;
5027#line 903
5028 __cil_tmp10 = *mem_13;
5029#line 903
5030 __cil_tmp11 = __cil_tmp10 + __cil_tmp7;
5031#line 903
5032 retValue_acc = *__cil_tmp11;
5033#line 905
5034 return (retValue_acc);
5035#line 912
5036 return (retValue_acc);
5037}
5038}
5039#line 1 "scenario.o"
5040#pragma merger(0,"scenario.i","")
5041#line 1 "scenario.c"
5042void test(void)
5043{
5044
5045 {
5046 {
5047#line 2
5048 bigMacCall();
5049#line 3
5050 cleanup();
5051 }
5052#line 53 "scenario.c"
5053 return;
5054}
5055}