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