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