extern void __VERIFIER_error() __attribute__ ((__noreturn__)); extern int __VERIFIER_nondet_int(void); /* Generated by CIL v. 1.3.7 */ /* print_CIL_Input is true */ #line 2 "libacc.c" struct JoinPoint { void **(*fp)(struct JoinPoint * ) ; void **args ; int argsCount ; char const **argsType ; void *(*arg)(int , struct JoinPoint * ) ; char const *(*argType)(int , struct JoinPoint * ) ; void **retValue ; char const *retType ; char const *funcName ; char const *targetName ; char const *fileName ; char const *kind ; void *excep_return ; }; #line 18 "libacc.c" struct __UTAC__CFLOW_FUNC { int (*func)(int , int ) ; int val ; struct __UTAC__CFLOW_FUNC *next ; }; #line 18 "libacc.c" struct __UTAC__EXCEPTION { void *jumpbuf ; unsigned long long prtValue ; int pops ; struct __UTAC__CFLOW_FUNC *cflowfuncs ; }; #line 211 "/usr/lib/gcc/x86_64-linux-gnu/4.4.5/include/stddef.h" typedef unsigned long size_t; #line 76 "libacc.c" struct __ACC__ERR { void *v ; struct __ACC__ERR *next ; }; #line 1 "wsllib_check.o" #pragma merger(0,"wsllib_check.i","") #line 3 "wsllib_check.c" void __automaton_fail(void) { { ERROR: __VERIFIER_error(); #line 53 "wsllib_check.c" return; } } #line 1 "Elevator.o" #pragma merger(0,"Elevator.i","") #line 359 "/usr/include/stdio.h" extern int printf(char const * __restrict __format , ...) ; #line 14 "Person.h" int getDestination(int person ) ; #line 16 void enterElevator(int p ) ; #line 12 "Floor.h" int isFloorCalling(int floorID ) ; #line 14 void resetCallOnFloor(int floorID ) ; #line 18 int isPersonOnFloor(int person , int floor ) ; #line 22 void removePersonFromFloor(int person , int floor ) ; #line 24 int isTopFloor(int floorID ) ; #line 28 void initFloors(void) ; #line 14 "Elevator.h" void timeShift(void) ; #line 16 int isBlocked(void) ; #line 18 void printState(void) ; #line 20 int isEmpty(void) ; #line 22 int isAnyLiftButtonPressed(void) ; #line 24 int buttonForFloorIsPressed(int floorID ) ; #line 27 void initTopDown(void) ; #line 29 void initBottomUp(void) ; #line 32 int areDoorsOpen(void) ; #line 34 int getCurrentFloorID(void) ; #line 36 int isIdle(void) ; #line 18 "Elevator.c" int currentHeading = 1; #line 20 "Elevator.c" int currentFloorID = 0; #line 22 "Elevator.c" int persons_0 ; #line 24 "Elevator.c" int persons_1 ; #line 26 "Elevator.c" int persons_2 ; #line 28 "Elevator.c" int persons_3 ; #line 30 "Elevator.c" int persons_4 ; #line 32 "Elevator.c" int persons_5 ; #line 35 "Elevator.c" int doorState = 1; #line 37 "Elevator.c" int floorButtons_0 ; #line 39 "Elevator.c" int floorButtons_1 ; #line 41 "Elevator.c" int floorButtons_2 ; #line 43 "Elevator.c" int floorButtons_3 ; #line 45 "Elevator.c" int floorButtons_4 ; #line 53 "Elevator.c" void initTopDown(void) { { { #line 54 currentFloorID = 4; #line 55 currentHeading = 0; #line 56 floorButtons_0 = 0; #line 57 floorButtons_1 = 0; #line 58 floorButtons_2 = 0; #line 59 floorButtons_3 = 0; #line 60 floorButtons_4 = 0; #line 61 persons_0 = 0; #line 62 persons_1 = 0; #line 63 persons_2 = 0; #line 64 persons_3 = 0; #line 65 persons_4 = 0; #line 66 persons_5 = 0; #line 67 initFloors(); } #line 1071 "Elevator.c" return; } } #line 70 "Elevator.c" void initBottomUp(void) { { { #line 71 currentFloorID = 0; #line 72 currentHeading = 1; #line 73 floorButtons_0 = 0; #line 74 floorButtons_1 = 0; #line 75 floorButtons_2 = 0; #line 76 floorButtons_3 = 0; #line 77 floorButtons_4 = 0; #line 78 persons_0 = 0; #line 79 persons_1 = 0; #line 80 persons_2 = 0; #line 81 persons_3 = 0; #line 82 persons_4 = 0; #line 83 persons_5 = 0; #line 84 initFloors(); } #line 1117 "Elevator.c" return; } } #line 88 "Elevator.c" int isBlocked(void) { int retValue_acc ; { #line 1135 "Elevator.c" retValue_acc = 0; #line 1137 return (retValue_acc); #line 1144 return (retValue_acc); } } #line 93 "Elevator.c" void enterElevator(int p ) { { #line 102 if (p == 0) { #line 103 persons_0 = 1; } else { #line 104 if (p == 1) { #line 105 persons_1 = 1; } else { #line 106 if (p == 2) { #line 107 persons_2 = 1; } else { #line 108 if (p == 3) { #line 109 persons_3 = 1; } else { #line 110 if (p == 4) { #line 111 persons_4 = 1; } else { #line 112 if (p == 5) { #line 113 persons_5 = 1; } else { } } } } } } #line 1179 "Elevator.c" return; } } #line 104 "Elevator.c" void leaveElevator(int p ) { { #line 112 if (p == 0) { #line 113 persons_0 = 0; } else { #line 114 if (p == 1) { #line 115 persons_1 = 0; } else { #line 116 if (p == 2) { #line 117 persons_2 = 0; } else { #line 118 if (p == 3) { #line 119 persons_3 = 0; } else { #line 120 if (p == 4) { #line 121 persons_4 = 0; } else { #line 122 if (p == 5) { #line 123 persons_5 = 0; } else { } } } } } } #line 1210 "Elevator.c" return; } } #line 114 "Elevator.c" void pressInLiftFloorButton(int floorID ) { { #line 120 if (floorID == 0) { #line 121 floorButtons_0 = 1; } else { #line 122 if (floorID == 1) { #line 123 floorButtons_1 = 1; } else { #line 124 if (floorID == 2) { #line 125 floorButtons_2 = 1; } else { #line 126 if (floorID == 3) { #line 127 floorButtons_3 = 1; } else { #line 128 if (floorID == 4) { #line 129 floorButtons_4 = 1; } else { } } } } } #line 1239 "Elevator.c" return; } } #line 122 "Elevator.c" void resetFloorButton(int floorID ) { { #line 128 if (floorID == 0) { #line 129 floorButtons_0 = 0; } else { #line 130 if (floorID == 1) { #line 131 floorButtons_1 = 0; } else { #line 132 if (floorID == 2) { #line 133 floorButtons_2 = 0; } else { #line 134 if (floorID == 3) { #line 135 floorButtons_3 = 0; } else { #line 136 if (floorID == 4) { #line 137 floorButtons_4 = 0; } else { } } } } } #line 1268 "Elevator.c" return; } } #line 130 "Elevator.c" int getCurrentFloorID(void) { int retValue_acc ; { #line 1286 "Elevator.c" retValue_acc = currentFloorID; #line 1288 return (retValue_acc); #line 1295 return (retValue_acc); } } #line 134 "Elevator.c" int areDoorsOpen(void) { int retValue_acc ; { #line 1317 "Elevator.c" retValue_acc = doorState; #line 1319 return (retValue_acc); #line 1326 return (retValue_acc); } } #line 138 "Elevator.c" int buttonForFloorIsPressed(int floorID ) { int retValue_acc ; { #line 144 "Elevator.c" if (floorID == 0) { #line 1349 retValue_acc = floorButtons_0; #line 1351 return (retValue_acc); } else { #line 1353 if (floorID == 1) { #line 1356 retValue_acc = floorButtons_1; #line 1358 return (retValue_acc); } else { #line 1360 if (floorID == 2) { #line 1363 retValue_acc = floorButtons_2; #line 1365 return (retValue_acc); } else { #line 1367 if (floorID == 3) { #line 1370 retValue_acc = floorButtons_3; #line 1372 return (retValue_acc); } else { #line 1374 if (floorID == 4) { #line 1377 retValue_acc = floorButtons_4; #line 1379 return (retValue_acc); } else { #line 1383 "Elevator.c" retValue_acc = 0; #line 1385 return (retValue_acc); } } } } } #line 1392 "Elevator.c" return (retValue_acc); } } #line 147 "Elevator.c" int getCurrentHeading(void) { int retValue_acc ; { #line 1414 "Elevator.c" retValue_acc = currentHeading; #line 1416 return (retValue_acc); #line 1423 return (retValue_acc); } } #line 151 "Elevator.c" int isEmpty(void) { int retValue_acc ; { #line 158 "Elevator.c" if (persons_0 == 1) { #line 1446 retValue_acc = 0; #line 1448 return (retValue_acc); } else { #line 1450 if (persons_1 == 1) { #line 1453 retValue_acc = 0; #line 1455 return (retValue_acc); } else { #line 1457 if (persons_2 == 1) { #line 1460 retValue_acc = 0; #line 1462 return (retValue_acc); } else { #line 1464 if (persons_3 == 1) { #line 1467 retValue_acc = 0; #line 1469 return (retValue_acc); } else { #line 1471 if (persons_4 == 1) { #line 1474 retValue_acc = 0; #line 1476 return (retValue_acc); } else { #line 1478 if (persons_5 == 1) { #line 1481 "Elevator.c" retValue_acc = 0; #line 1483 return (retValue_acc); } else { } } } } } } #line 1488 "Elevator.c" retValue_acc = 1; #line 1490 return (retValue_acc); #line 1497 return (retValue_acc); } } #line 162 "Elevator.c" int anyStopRequested(void) { int retValue_acc ; int tmp ; int tmp___0 ; int tmp___1 ; int tmp___2 ; int tmp___3 ; { { #line 173 tmp___3 = isFloorCalling(0); } #line 173 "Elevator.c" if (tmp___3) { #line 1520 retValue_acc = 1; #line 1522 return (retValue_acc); } else { #line 1524 if (floorButtons_0) { #line 1527 retValue_acc = 1; #line 1529 return (retValue_acc); } else { { #line 1531 "Elevator.c" tmp___2 = isFloorCalling(1); } #line 1531 if (tmp___2) { #line 1534 retValue_acc = 1; #line 1536 return (retValue_acc); } else { #line 1538 if (floorButtons_1) { #line 1541 retValue_acc = 1; #line 1543 return (retValue_acc); } else { { #line 1545 tmp___1 = isFloorCalling(2); } #line 1545 if (tmp___1) { #line 1548 retValue_acc = 1; #line 1550 return (retValue_acc); } else { #line 1552 if (floorButtons_2) { #line 1555 retValue_acc = 1; #line 1557 return (retValue_acc); } else { { #line 1559 tmp___0 = isFloorCalling(3); } #line 1559 if (tmp___0) { #line 1562 retValue_acc = 1; #line 1564 return (retValue_acc); } else { #line 1566 if (floorButtons_3) { #line 1569 retValue_acc = 1; #line 1571 return (retValue_acc); } else { { #line 1573 tmp = isFloorCalling(4); } #line 1573 if (tmp) { #line 1576 retValue_acc = 1; #line 1578 return (retValue_acc); } else { #line 1580 if (floorButtons_4) { #line 1583 retValue_acc = 1; #line 1585 return (retValue_acc); } else { } } } } } } } } } } #line 1590 "Elevator.c" retValue_acc = 0; #line 1592 return (retValue_acc); #line 1599 return (retValue_acc); } } #line 176 "Elevator.c" int isIdle(void) { int retValue_acc ; int tmp ; { { #line 1621 "Elevator.c" tmp = anyStopRequested(); #line 1621 retValue_acc = tmp == 0; } #line 1623 return (retValue_acc); #line 1630 return (retValue_acc); } } #line 180 "Elevator.c" int stopRequestedInDirection(int dir , int respectFloorCalls , int respectInLiftCalls ) { int retValue_acc ; int tmp ; int tmp___0 ; int tmp___1 ; int tmp___2 ; int tmp___3 ; int tmp___4 ; int tmp___5 ; int tmp___6 ; int tmp___7 ; int tmp___8 ; int tmp___9 ; { #line 231 if (dir == 1) { { #line 191 tmp = isTopFloor(currentFloorID); } #line 191 "Elevator.c" if (tmp) { #line 1656 "Elevator.c" retValue_acc = 0; #line 1658 return (retValue_acc); } else { } #line 191 if (currentFloorID < 0) { #line 191 if (respectFloorCalls) { { #line 191 "Elevator.c" tmp___4 = isFloorCalling(0); } #line 191 "Elevator.c" if (tmp___4) { #line 1664 "Elevator.c" retValue_acc = 1; #line 1666 return (retValue_acc); } else { goto _L___16; } } else { goto _L___16; } } else { _L___16: /* CIL Label */ #line 1668 if (currentFloorID < 0) { #line 1668 if (respectInLiftCalls) { #line 1668 if (floorButtons_0) { #line 1671 retValue_acc = 1; #line 1673 return (retValue_acc); } else { goto _L___14; } } else { goto _L___14; } } else { _L___14: /* CIL Label */ #line 1675 if (currentFloorID < 1) { #line 1675 if (respectFloorCalls) { { #line 1675 tmp___3 = isFloorCalling(1); } #line 1675 if (tmp___3) { #line 1678 retValue_acc = 1; #line 1680 return (retValue_acc); } else { goto _L___12; } } else { goto _L___12; } } else { _L___12: /* CIL Label */ #line 1682 if (currentFloorID < 1) { #line 1682 if (respectInLiftCalls) { #line 1682 if (floorButtons_1) { #line 1685 retValue_acc = 1; #line 1687 return (retValue_acc); } else { goto _L___10; } } else { goto _L___10; } } else { _L___10: /* CIL Label */ #line 1689 if (currentFloorID < 2) { #line 1689 if (respectFloorCalls) { { #line 1689 tmp___2 = isFloorCalling(2); } #line 1689 if (tmp___2) { #line 1692 retValue_acc = 1; #line 1694 return (retValue_acc); } else { goto _L___8; } } else { goto _L___8; } } else { _L___8: /* CIL Label */ #line 1696 if (currentFloorID < 2) { #line 1696 if (respectInLiftCalls) { #line 1696 if (floorButtons_2) { #line 1699 retValue_acc = 1; #line 1701 return (retValue_acc); } else { goto _L___6; } } else { goto _L___6; } } else { _L___6: /* CIL Label */ #line 1703 if (currentFloorID < 3) { #line 1703 if (respectFloorCalls) { { #line 1703 tmp___1 = isFloorCalling(3); } #line 1703 if (tmp___1) { #line 1706 retValue_acc = 1; #line 1708 return (retValue_acc); } else { goto _L___4; } } else { goto _L___4; } } else { _L___4: /* CIL Label */ #line 1710 if (currentFloorID < 3) { #line 1710 if (respectInLiftCalls) { #line 1710 if (floorButtons_3) { #line 1713 retValue_acc = 1; #line 1715 return (retValue_acc); } else { goto _L___2; } } else { goto _L___2; } } else { _L___2: /* CIL Label */ #line 1717 if (currentFloorID < 4) { #line 1717 if (respectFloorCalls) { { #line 1717 tmp___0 = isFloorCalling(4); } #line 1717 if (tmp___0) { #line 1720 retValue_acc = 1; #line 1722 return (retValue_acc); } else { goto _L___0; } } else { goto _L___0; } } else { _L___0: /* CIL Label */ #line 1724 if (currentFloorID < 4) { #line 1724 if (respectInLiftCalls) { #line 1724 if (floorButtons_4) { #line 1727 retValue_acc = 1; #line 1729 return (retValue_acc); } else { #line 1733 retValue_acc = 0; #line 1735 return (retValue_acc); } } else { #line 1733 retValue_acc = 0; #line 1735 return (retValue_acc); } } else { #line 1733 "Elevator.c" retValue_acc = 0; #line 1735 return (retValue_acc); } } } } } } } } } } } else { #line 216 "Elevator.c" if (currentFloorID == 0) { #line 1743 "Elevator.c" retValue_acc = 0; #line 1745 return (retValue_acc); } else { } #line 216 if (currentFloorID > 0) { #line 216 if (respectFloorCalls) { { #line 216 "Elevator.c" tmp___9 = isFloorCalling(0); } #line 216 "Elevator.c" if (tmp___9) { #line 1751 "Elevator.c" retValue_acc = 1; #line 1753 return (retValue_acc); } else { goto _L___34; } } else { goto _L___34; } } else { _L___34: /* CIL Label */ #line 1755 if (currentFloorID > 0) { #line 1755 if (respectInLiftCalls) { #line 1755 if (floorButtons_0) { #line 1758 retValue_acc = 1; #line 1760 return (retValue_acc); } else { goto _L___32; } } else { goto _L___32; } } else { _L___32: /* CIL Label */ #line 1762 if (currentFloorID > 1) { #line 1762 if (respectFloorCalls) { { #line 1762 tmp___8 = isFloorCalling(1); } #line 1762 if (tmp___8) { #line 1765 retValue_acc = 1; #line 1767 return (retValue_acc); } else { goto _L___30; } } else { goto _L___30; } } else { _L___30: /* CIL Label */ #line 1769 if (currentFloorID > 1) { #line 1769 if (respectInLiftCalls) { #line 1769 if (floorButtons_1) { #line 1772 retValue_acc = 1; #line 1774 return (retValue_acc); } else { goto _L___28; } } else { goto _L___28; } } else { _L___28: /* CIL Label */ #line 1776 if (currentFloorID > 2) { #line 1776 if (respectFloorCalls) { { #line 1776 tmp___7 = isFloorCalling(2); } #line 1776 if (tmp___7) { #line 1779 retValue_acc = 1; #line 1781 return (retValue_acc); } else { goto _L___26; } } else { goto _L___26; } } else { _L___26: /* CIL Label */ #line 1783 if (currentFloorID > 2) { #line 1783 if (respectInLiftCalls) { #line 1783 if (floorButtons_2) { #line 1786 retValue_acc = 1; #line 1788 return (retValue_acc); } else { goto _L___24; } } else { goto _L___24; } } else { _L___24: /* CIL Label */ #line 1790 if (currentFloorID > 3) { #line 1790 if (respectFloorCalls) { { #line 1790 tmp___6 = isFloorCalling(3); } #line 1790 if (tmp___6) { #line 1793 retValue_acc = 1; #line 1795 return (retValue_acc); } else { goto _L___22; } } else { goto _L___22; } } else { _L___22: /* CIL Label */ #line 1797 if (currentFloorID > 3) { #line 1797 if (respectInLiftCalls) { #line 1797 if (floorButtons_3) { #line 1800 retValue_acc = 1; #line 1802 return (retValue_acc); } else { goto _L___20; } } else { goto _L___20; } } else { _L___20: /* CIL Label */ #line 1804 if (currentFloorID > 4) { #line 1804 if (respectFloorCalls) { { #line 1804 tmp___5 = isFloorCalling(4); } #line 1804 if (tmp___5) { #line 1807 retValue_acc = 1; #line 1809 return (retValue_acc); } else { goto _L___18; } } else { goto _L___18; } } else { _L___18: /* CIL Label */ #line 1811 if (currentFloorID > 4) { #line 1811 if (respectInLiftCalls) { #line 1811 if (floorButtons_4) { #line 1814 retValue_acc = 1; #line 1816 return (retValue_acc); } else { #line 1820 retValue_acc = 0; #line 1822 return (retValue_acc); } } else { #line 1820 retValue_acc = 0; #line 1822 return (retValue_acc); } } else { #line 1820 "Elevator.c" retValue_acc = 0; #line 1822 return (retValue_acc); } } } } } } } } } } } #line 1829 "Elevator.c" return (retValue_acc); } } #line 234 "Elevator.c" int isAnyLiftButtonPressed(void) { int retValue_acc ; { #line 240 "Elevator.c" if (floorButtons_0) { #line 1852 retValue_acc = 1; #line 1854 return (retValue_acc); } else { #line 1856 if (floorButtons_1) { #line 1859 retValue_acc = 1; #line 1861 return (retValue_acc); } else { #line 1863 if (floorButtons_2) { #line 1866 retValue_acc = 1; #line 1868 return (retValue_acc); } else { #line 1870 if (floorButtons_3) { #line 1873 retValue_acc = 1; #line 1875 return (retValue_acc); } else { #line 1877 if (floorButtons_4) { #line 1880 retValue_acc = 1; #line 1882 return (retValue_acc); } else { #line 1886 "Elevator.c" retValue_acc = 0; #line 1888 return (retValue_acc); } } } } } #line 1895 "Elevator.c" return (retValue_acc); } } #line 243 "Elevator.c" void continueInDirection(int dir ) { int tmp ; { #line 244 currentHeading = dir; #line 245 if (currentHeading == 1) { { #line 250 tmp = isTopFloor(currentFloorID); } #line 250 if (tmp) { #line 248 currentHeading = 0; } else { } } else { #line 255 if (currentFloorID == 0) { #line 253 currentHeading = 1; } else { } } #line 256 if (currentHeading == 1) { #line 257 currentFloorID = currentFloorID + 1; } else { #line 259 currentFloorID = currentFloorID - 1; } #line 1941 "Elevator.c" return; } } #line 263 "Elevator.c" int stopRequestedAtCurrentFloor(void) { int retValue_acc ; int tmp ; int tmp___0 ; { { #line 270 tmp___0 = isFloorCalling(currentFloorID); } #line 270 "Elevator.c" if (tmp___0) { #line 1962 retValue_acc = 1; #line 1964 return (retValue_acc); } else { { #line 1966 "Elevator.c" tmp = buttonForFloorIsPressed(currentFloorID); } #line 1966 if (tmp) { #line 1971 retValue_acc = 1; #line 1973 return (retValue_acc); } else { #line 1979 retValue_acc = 0; #line 1981 return (retValue_acc); } } #line 1988 "Elevator.c" return (retValue_acc); } } #line 273 "Elevator.c" int getReverseHeading(int ofHeading ) { int retValue_acc ; { #line 276 "Elevator.c" if (ofHeading == 0) { #line 2013 retValue_acc = 1; #line 2015 return (retValue_acc); } else { #line 2019 "Elevator.c" retValue_acc = 0; #line 2021 return (retValue_acc); } #line 2028 "Elevator.c" return (retValue_acc); } } #line 280 "Elevator.c" void processWaitingOnFloor(int floorID ) { int tmp ; int tmp___0 ; int tmp___1 ; int tmp___2 ; int tmp___3 ; int tmp___4 ; int tmp___5 ; int tmp___6 ; int tmp___7 ; int tmp___8 ; int tmp___9 ; int tmp___10 ; { { #line 286 tmp___0 = isPersonOnFloor(0, floorID); } #line 286 if (tmp___0) { { #line 282 removePersonFromFloor(0, floorID); #line 283 tmp = getDestination(0); #line 283 pressInLiftFloorButton(tmp); #line 284 enterElevator(0); } } else { } { #line 286 tmp___2 = isPersonOnFloor(1, floorID); } #line 286 if (tmp___2) { { #line 287 removePersonFromFloor(1, floorID); #line 288 tmp___1 = getDestination(1); #line 288 pressInLiftFloorButton(tmp___1); #line 289 enterElevator(1); } } else { } { #line 291 tmp___4 = isPersonOnFloor(2, floorID); } #line 291 if (tmp___4) { { #line 292 removePersonFromFloor(2, floorID); #line 293 tmp___3 = getDestination(2); #line 293 pressInLiftFloorButton(tmp___3); #line 294 enterElevator(2); } } else { } { #line 296 tmp___6 = isPersonOnFloor(3, floorID); } #line 296 if (tmp___6) { { #line 297 removePersonFromFloor(3, floorID); #line 298 tmp___5 = getDestination(3); #line 298 pressInLiftFloorButton(tmp___5); #line 299 enterElevator(3); } } else { } { #line 301 tmp___8 = isPersonOnFloor(4, floorID); } #line 301 if (tmp___8) { { #line 302 removePersonFromFloor(4, floorID); #line 303 tmp___7 = getDestination(4); #line 303 pressInLiftFloorButton(tmp___7); #line 304 enterElevator(4); } } else { } { #line 306 tmp___10 = isPersonOnFloor(5, floorID); } #line 306 if (tmp___10) { { #line 307 removePersonFromFloor(5, floorID); #line 308 tmp___9 = getDestination(5); #line 308 pressInLiftFloorButton(tmp___9); #line 309 enterElevator(5); } } else { } { #line 311 resetCallOnFloor(floorID); } #line 2106 "Elevator.c" return; } } #line 2108 void __utac_acc__Specification1_spec__3(void) ; #line 315 "Elevator.c" void timeShift(void) { int tmp ; int tmp___0 ; int tmp___1 ; int tmp___2 ; int tmp___3 ; int tmp___4 ; int tmp___5 ; int tmp___6 ; int tmp___7 ; int tmp___8 ; int tmp___9 ; { { #line 348 tmp___9 = stopRequestedAtCurrentFloor(); } #line 348 if (tmp___9) { #line 320 doorState = 1; #line 322 if (persons_0) { { #line 322 tmp = getDestination(0); } #line 322 if (tmp == currentFloorID) { { #line 323 leaveElevator(0); } } else { } } else { } #line 323 if (persons_1) { { #line 323 tmp___0 = getDestination(1); } #line 323 if (tmp___0 == currentFloorID) { { #line 324 leaveElevator(1); } } else { } } else { } #line 324 if (persons_2) { { #line 324 tmp___1 = getDestination(2); } #line 324 if (tmp___1 == currentFloorID) { { #line 325 leaveElevator(2); } } else { } } else { } #line 325 if (persons_3) { { #line 325 tmp___2 = getDestination(3); } #line 325 if (tmp___2 == currentFloorID) { { #line 326 leaveElevator(3); } } else { } } else { } #line 326 if (persons_4) { { #line 326 tmp___3 = getDestination(4); } #line 326 if (tmp___3 == currentFloorID) { { #line 327 leaveElevator(4); } } else { } } else { } #line 327 if (persons_5) { { #line 327 tmp___4 = getDestination(5); } #line 327 if (tmp___4 == currentFloorID) { { #line 328 leaveElevator(5); } } else { } } else { } { #line 328 processWaitingOnFloor(currentFloorID); #line 329 resetFloorButton(currentFloorID); } } else { #line 335 if (doorState == 1) { #line 332 doorState = 0; } else { } { #line 335 tmp___8 = stopRequestedInDirection(currentHeading, 1, 1); } #line 335 if (tmp___8) { { #line 338 continueInDirection(currentHeading); } } else { { #line 339 tmp___6 = getReverseHeading(currentHeading); #line 339 tmp___7 = stopRequestedInDirection(tmp___6, 1, 1); } #line 339 if (tmp___7) { { #line 342 tmp___5 = getReverseHeading(currentHeading); #line 342 continueInDirection(tmp___5); } } else { { #line 346 continueInDirection(currentHeading); } } } } { #line 2171 "Elevator.c" __utac_acc__Specification1_spec__3(); } #line 2177 return; } } #line 351 "Elevator.c" void printState(void) { int tmp ; int tmp___0 ; int tmp___1 ; int tmp___2 ; int tmp___3 ; char const * __restrict __cil_tmp6 ; char const * __restrict __cil_tmp7 ; char const * __restrict __cil_tmp8 ; char const * __restrict __cil_tmp9 ; char const * __restrict __cil_tmp10 ; char const * __restrict __cil_tmp11 ; char const * __restrict __cil_tmp12 ; char const * __restrict __cil_tmp13 ; char const * __restrict __cil_tmp14 ; char const * __restrict __cil_tmp15 ; char const * __restrict __cil_tmp16 ; char const * __restrict __cil_tmp17 ; char const * __restrict __cil_tmp18 ; char const * __restrict __cil_tmp19 ; char const * __restrict __cil_tmp20 ; char const * __restrict __cil_tmp21 ; char const * __restrict __cil_tmp22 ; char const * __restrict __cil_tmp23 ; char const * __restrict __cil_tmp24 ; char const * __restrict __cil_tmp25 ; char const * __restrict __cil_tmp26 ; { { #line 352 __cil_tmp6 = (char const * __restrict )"Elevator "; #line 352 printf(__cil_tmp6); } #line 353 if (doorState) { { #line 354 __cil_tmp7 = (char const * __restrict )"[_]"; #line 354 printf(__cil_tmp7); } } else { { #line 355 __cil_tmp8 = (char const * __restrict )"[] "; #line 355 printf(__cil_tmp8); } } { #line 355 __cil_tmp9 = (char const * __restrict )" at "; #line 355 printf(__cil_tmp9); #line 356 __cil_tmp10 = (char const * __restrict )"%i"; #line 356 printf(__cil_tmp10, currentFloorID); #line 357 __cil_tmp11 = (char const * __restrict )" heading "; #line 357 printf(__cil_tmp11); } #line 358 if (currentHeading) { { #line 359 __cil_tmp12 = (char const * __restrict )"up"; #line 359 printf(__cil_tmp12); } } else { { #line 360 __cil_tmp13 = (char const * __restrict )"down"; #line 360 printf(__cil_tmp13); } } { #line 360 __cil_tmp14 = (char const * __restrict )" IL_p:"; #line 360 printf(__cil_tmp14); } #line 361 if (floorButtons_0) { { #line 362 __cil_tmp15 = (char const * __restrict )" %i"; #line 362 printf(__cil_tmp15, 0); } } else { } #line 362 if (floorButtons_1) { { #line 363 __cil_tmp16 = (char const * __restrict )" %i"; #line 363 printf(__cil_tmp16, 1); } } else { } #line 363 if (floorButtons_2) { { #line 364 __cil_tmp17 = (char const * __restrict )" %i"; #line 364 printf(__cil_tmp17, 2); } } else { } #line 364 if (floorButtons_3) { { #line 365 __cil_tmp18 = (char const * __restrict )" %i"; #line 365 printf(__cil_tmp18, 3); } } else { } #line 365 if (floorButtons_4) { { #line 366 __cil_tmp19 = (char const * __restrict )" %i"; #line 366 printf(__cil_tmp19, 4); } } else { } { #line 366 __cil_tmp20 = (char const * __restrict )" F_p:"; #line 366 printf(__cil_tmp20); #line 367 tmp = isFloorCalling(0); } #line 367 if (tmp) { { #line 368 __cil_tmp21 = (char const * __restrict )" %i"; #line 368 printf(__cil_tmp21, 0); } } else { } { #line 368 tmp___0 = isFloorCalling(1); } #line 368 if (tmp___0) { { #line 369 __cil_tmp22 = (char const * __restrict )" %i"; #line 369 printf(__cil_tmp22, 1); } } else { } { #line 369 tmp___1 = isFloorCalling(2); } #line 369 if (tmp___1) { { #line 370 __cil_tmp23 = (char const * __restrict )" %i"; #line 370 printf(__cil_tmp23, 2); } } else { } { #line 370 tmp___2 = isFloorCalling(3); } #line 370 if (tmp___2) { { #line 371 __cil_tmp24 = (char const * __restrict )" %i"; #line 371 printf(__cil_tmp24, 3); } } else { } { #line 371 tmp___3 = isFloorCalling(4); } #line 371 if (tmp___3) { { #line 372 __cil_tmp25 = (char const * __restrict )" %i"; #line 372 printf(__cil_tmp25, 4); } } else { } { #line 372 __cil_tmp26 = (char const * __restrict )"\n"; #line 372 printf(__cil_tmp26); } #line 2247 "Elevator.c" return; } } #line 376 "Elevator.c" int existInLiftCallsInDirection(int d ) { int retValue_acc ; int i ; int i___0 ; { #line 397 if (d == 1) { #line 378 "Elevator.c" i = 0; #line 379 i = currentFloorID + 1; { #line 379 while (1) { while_0_continue: /* CIL Label */ ; #line 379 if (i < 5) { } else { goto while_0_break; } #line 385 if (i == 0) { #line 385 "Elevator.c" if (floorButtons_0) { #line 2275 retValue_acc = 1; #line 2277 return (retValue_acc); } else { goto _L___2; } } else { _L___2: /* CIL Label */ #line 2279 if (i == 1) { #line 2279 if (floorButtons_1) { #line 2282 retValue_acc = 1; #line 2284 return (retValue_acc); } else { goto _L___1; } } else { _L___1: /* CIL Label */ #line 2286 if (i == 2) { #line 2286 if (floorButtons_2) { #line 2289 retValue_acc = 1; #line 2291 return (retValue_acc); } else { goto _L___0; } } else { _L___0: /* CIL Label */ #line 2293 if (i == 3) { #line 2293 if (floorButtons_3) { #line 2296 retValue_acc = 1; #line 2298 return (retValue_acc); } else { goto _L; } } else { _L: /* CIL Label */ #line 2300 if (i == 4) { #line 2300 if (floorButtons_4) { #line 2303 "Elevator.c" retValue_acc = 1; #line 2305 return (retValue_acc); } else { } } else { } } } } } #line 379 i = i + 1; } while_0_break: /* CIL Label */ ; } } else { #line 2307 "Elevator.c" if (d == 0) { #line 387 i___0 = 0; #line 388 i___0 = currentFloorID - 1; { #line 388 while (1) { while_1_continue: /* CIL Label */ ; #line 388 if (i___0 >= 0) { } else { goto while_1_break; } #line 388 i___0 = currentFloorID + 1; { #line 388 while (1) { while_2_continue: /* CIL Label */ ; #line 388 if (i___0 < 5) { } else { goto while_2_break; } #line 395 if (i___0 == 0) { #line 395 "Elevator.c" if (floorButtons_0) { #line 2319 retValue_acc = 1; #line 2321 return (retValue_acc); } else { goto _L___6; } } else { _L___6: /* CIL Label */ #line 2323 if (i___0 == 1) { #line 2323 if (floorButtons_1) { #line 2326 retValue_acc = 1; #line 2328 return (retValue_acc); } else { goto _L___5; } } else { _L___5: /* CIL Label */ #line 2330 if (i___0 == 2) { #line 2330 if (floorButtons_2) { #line 2333 retValue_acc = 1; #line 2335 return (retValue_acc); } else { goto _L___4; } } else { _L___4: /* CIL Label */ #line 2337 if (i___0 == 3) { #line 2337 if (floorButtons_3) { #line 2340 retValue_acc = 1; #line 2342 return (retValue_acc); } else { goto _L___3; } } else { _L___3: /* CIL Label */ #line 2344 if (i___0 == 4) { #line 2344 if (floorButtons_4) { #line 2347 "Elevator.c" retValue_acc = 1; #line 2349 return (retValue_acc); } else { } } else { } } } } } #line 388 i___0 = i___0 + 1; } while_2_break: /* CIL Label */ ; } #line 388 i___0 = i___0 - 1; } while_1_break: /* CIL Label */ ; } } else { } } #line 2354 "Elevator.c" retValue_acc = 0; #line 2356 return (retValue_acc); #line 2363 return (retValue_acc); } } #line 1 "Test.o" #pragma merger(0,"Test.i","") #line 544 "/usr/include/stdlib.h" extern __attribute__((__nothrow__, __noreturn__)) void exit(int __status ) ; #line 13 "Test.c" int cleanupTimeShifts = 12; #line 17 "Test.c" #line 23 "Test.c" int get_nondetMinMax07(void) { int retValue_acc ; int nd ; nd = __VERIFIER_nondet_int(); { #line 26 "Test.c" if (nd == 0) { #line 1108 retValue_acc = 0; #line 1110 return (retValue_acc); } else { #line 1112 if (nd == 1) { #line 1117 retValue_acc = 1; #line 1119 return (retValue_acc); } else { #line 1121 if (nd == 2) { #line 1126 retValue_acc = 2; #line 1128 return (retValue_acc); } else { #line 1130 if (nd == 3) { #line 1135 retValue_acc = 3; #line 1137 return (retValue_acc); } else { #line 1139 if (nd == 4) { #line 1144 retValue_acc = 4; #line 1146 return (retValue_acc); } else { #line 1148 if (nd == 5) { #line 1153 retValue_acc = 5; #line 1155 return (retValue_acc); } else { #line 1157 if (nd == 6) { #line 1162 retValue_acc = 6; #line 1164 return (retValue_acc); } else { #line 1166 if (nd == 7) { #line 1171 "Test.c" retValue_acc = 7; #line 1173 return (retValue_acc); } else { { #line 43 exit(0); } } } } } } } } } #line 1183 "Test.c" return (retValue_acc); } } #line 48 "Test.c" void initPersonOnFloor(int person , int floor ) ; #line 48 int getOrigin(int person ) ; #line 48 "Test.c" void bobCall(void) { int tmp ; { { #line 48 tmp = getOrigin(0); #line 48 initPersonOnFloor(0, tmp); } #line 1207 "Test.c" return; } } #line 50 "Test.c" void aliceCall(void) { int tmp ; { { #line 50 tmp = getOrigin(1); #line 50 initPersonOnFloor(1, tmp); } #line 1227 "Test.c" return; } } #line 52 "Test.c" void angelinaCall(void) { int tmp ; { { #line 52 tmp = getOrigin(2); #line 52 initPersonOnFloor(2, tmp); } #line 1247 "Test.c" return; } } #line 54 "Test.c" void chuckCall(void) { int tmp ; { { #line 54 tmp = getOrigin(3); #line 54 initPersonOnFloor(3, tmp); } #line 1267 "Test.c" return; } } #line 56 "Test.c" void monicaCall(void) { int tmp ; { { #line 56 tmp = getOrigin(4); #line 56 initPersonOnFloor(4, tmp); } #line 1287 "Test.c" return; } } #line 58 "Test.c" void bigMacCall(void) { int tmp ; { { #line 58 tmp = getOrigin(5); #line 58 initPersonOnFloor(5, tmp); } #line 1307 "Test.c" return; } } #line 60 "Test.c" void threeTS(void) { { { #line 60 timeShift(); #line 60 timeShift(); #line 60 timeShift(); } #line 1331 "Test.c" return; } } #line 62 "Test.c" void cleanup(void) { int i ; int tmp ; int tmp___0 ; int __cil_tmp4 ; { { #line 65 timeShift(); #line 67 i = 0; } { #line 67 while (1) { while_3_continue: /* CIL Label */ ; { #line 67 __cil_tmp4 = cleanupTimeShifts - 1; #line 67 if (i < __cil_tmp4) { { #line 67 tmp___0 = isBlocked(); } #line 67 if (tmp___0 != 1) { } else { goto while_3_break; } } else { goto while_3_break; } } { #line 71 tmp = isIdle(); } #line 71 if (tmp) { #line 72 return; } else { { #line 74 timeShift(); } } #line 67 i = i + 1; } while_3_break: /* CIL Label */ ; } #line 1362 "Test.c" return; } } #line 77 "Test.c" void randomSequenceOfActions(void) { int maxLength ; int tmp ; int counter ; int action ; int tmp___0 ; int origin ; int tmp___1 ; int tmp___2 ; { { #line 78 maxLength = 4; #line 79 tmp = __VERIFIER_nondet_int(); } #line 79 if (tmp) { { #line 81 initTopDown(); } } else { { #line 85 initBottomUp(); } } #line 90 counter = 0; { #line 91 while (1) { while_4_continue: /* CIL Label */ ; #line 91 if (counter < maxLength) { } else { goto while_4_break; } { #line 92 counter = counter + 1; #line 93 tmp___0 = get_nondetMinMax07(); #line 93 action = tmp___0; } #line 99 if (action < 6) { { #line 100 tmp___1 = getOrigin(action); #line 100 origin = tmp___1; #line 101 initPersonOnFloor(action, origin); } } else { #line 102 if (action == 6) { { #line 103 timeShift(); } } else { #line 104 if (action == 7) { { #line 106 timeShift(); #line 107 timeShift(); #line 108 timeShift(); } } else { } } } { #line 113 tmp___2 = isBlocked(); } #line 113 if (tmp___2) { #line 114 return; } else { } } while_4_break: /* CIL Label */ ; } { #line 117 cleanup(); } #line 1433 "Test.c" return; } } #line 122 "Test.c" void runTest_Simple(void) { { { #line 123 bigMacCall(); #line 124 angelinaCall(); #line 125 cleanup(); } #line 1457 "Test.c" return; } } #line 130 "Test.c" void Specification1(void) { { { #line 131 bigMacCall(); #line 132 angelinaCall(); #line 133 cleanup(); } #line 1481 "Test.c" return; } } #line 137 "Test.c" void Specification2(void) { { { #line 138 bigMacCall(); #line 139 cleanup(); } #line 1503 "Test.c" return; } } #line 142 "Test.c" void Specification3(void) { { { #line 143 bobCall(); #line 144 timeShift(); #line 145 timeShift(); #line 146 timeShift(); #line 147 timeShift(); #line 149 timeShift(); #line 154 bobCall(); #line 155 cleanup(); } #line 1537 "Test.c" return; } } #line 160 "Test.c" void setup(void) { { #line 1555 "Test.c" return; } } #line 1557 void __utac_acc__Specification1_spec__1(void) ; #line 1560 void __utac_acc__Specification1_spec__4(void) ; #line 168 "Test.c" void test(void) ; #line 165 "Test.c" void runTest(void) { { { #line 1571 "Test.c" __utac_acc__Specification1_spec__1(); #line 168 "Test.c" test(); #line 1585 "Test.c" __utac_acc__Specification1_spec__4(); } #line 1591 return; } } #line 174 "Test.c" void select_helpers(void) ; #line 175 void select_features(void) ; #line 176 int valid_product(void) ; #line 173 "Test.c" int main(void) { int retValue_acc ; int tmp ; { { #line 174 select_helpers(); #line 175 select_features(); #line 176 tmp = valid_product(); } #line 176 if (tmp) { { #line 177 setup(); #line 178 runTest(); } } else { } #line 1620 "Test.c" retValue_acc = 0; #line 1622 return (retValue_acc); #line 1629 return (retValue_acc); } } #line 1 "Floor.o" #pragma merger(0,"Floor.i","") #line 16 "Floor.h" void callOnFloor(int floorID ) ; #line 9 "Floor.c" int calls_0 ; #line 11 "Floor.c" int calls_1 ; #line 13 "Floor.c" int calls_2 ; #line 15 "Floor.c" int calls_3 ; #line 17 "Floor.c" int calls_4 ; #line 20 "Floor.c" int personOnFloor_0_0 ; #line 22 "Floor.c" int personOnFloor_0_1 ; #line 24 "Floor.c" int personOnFloor_0_2 ; #line 26 "Floor.c" int personOnFloor_0_3 ; #line 28 "Floor.c" int personOnFloor_0_4 ; #line 30 "Floor.c" int personOnFloor_1_0 ; #line 32 "Floor.c" int personOnFloor_1_1 ; #line 34 "Floor.c" int personOnFloor_1_2 ; #line 36 "Floor.c" int personOnFloor_1_3 ; #line 38 "Floor.c" int personOnFloor_1_4 ; #line 40 "Floor.c" int personOnFloor_2_0 ; #line 42 "Floor.c" int personOnFloor_2_1 ; #line 44 "Floor.c" int personOnFloor_2_2 ; #line 46 "Floor.c" int personOnFloor_2_3 ; #line 48 "Floor.c" int personOnFloor_2_4 ; #line 50 "Floor.c" int personOnFloor_3_0 ; #line 52 "Floor.c" int personOnFloor_3_1 ; #line 54 "Floor.c" int personOnFloor_3_2 ; #line 56 "Floor.c" int personOnFloor_3_3 ; #line 58 "Floor.c" int personOnFloor_3_4 ; #line 60 "Floor.c" int personOnFloor_4_0 ; #line 62 "Floor.c" int personOnFloor_4_1 ; #line 64 "Floor.c" int personOnFloor_4_2 ; #line 66 "Floor.c" int personOnFloor_4_3 ; #line 68 "Floor.c" int personOnFloor_4_4 ; #line 70 "Floor.c" int personOnFloor_5_0 ; #line 72 "Floor.c" int personOnFloor_5_1 ; #line 74 "Floor.c" int personOnFloor_5_2 ; #line 76 "Floor.c" int personOnFloor_5_3 ; #line 78 "Floor.c" int personOnFloor_5_4 ; #line 81 "Floor.c" void initFloors(void) { { #line 82 calls_0 = 0; #line 83 calls_1 = 0; #line 84 calls_2 = 0; #line 85 calls_3 = 0; #line 86 calls_4 = 0; #line 87 personOnFloor_0_0 = 0; #line 88 personOnFloor_0_1 = 0; #line 89 personOnFloor_0_2 = 0; #line 90 personOnFloor_0_3 = 0; #line 91 personOnFloor_0_4 = 0; #line 92 personOnFloor_1_0 = 0; #line 93 personOnFloor_1_1 = 0; #line 94 personOnFloor_1_2 = 0; #line 95 personOnFloor_1_3 = 0; #line 96 personOnFloor_1_4 = 0; #line 97 personOnFloor_2_0 = 0; #line 98 personOnFloor_2_1 = 0; #line 99 personOnFloor_2_2 = 0; #line 100 personOnFloor_2_3 = 0; #line 101 personOnFloor_2_4 = 0; #line 102 personOnFloor_3_0 = 0; #line 103 personOnFloor_3_1 = 0; #line 104 personOnFloor_3_2 = 0; #line 105 personOnFloor_3_3 = 0; #line 106 personOnFloor_3_4 = 0; #line 107 personOnFloor_4_0 = 0; #line 108 personOnFloor_4_1 = 0; #line 109 personOnFloor_4_2 = 0; #line 110 personOnFloor_4_3 = 0; #line 111 personOnFloor_4_4 = 0; #line 112 personOnFloor_5_0 = 0; #line 113 personOnFloor_5_1 = 0; #line 114 personOnFloor_5_2 = 0; #line 115 personOnFloor_5_3 = 0; #line 116 personOnFloor_5_4 = 0; #line 1120 "Floor.c" return; } } #line 120 "Floor.c" int isFloorCalling(int floorID ) { int retValue_acc ; { #line 126 "Floor.c" if (floorID == 0) { #line 1139 retValue_acc = calls_0; #line 1141 return (retValue_acc); } else { #line 1143 if (floorID == 1) { #line 1146 retValue_acc = calls_1; #line 1148 return (retValue_acc); } else { #line 1150 if (floorID == 2) { #line 1153 retValue_acc = calls_2; #line 1155 return (retValue_acc); } else { #line 1157 if (floorID == 3) { #line 1160 retValue_acc = calls_3; #line 1162 return (retValue_acc); } else { #line 1164 if (floorID == 4) { #line 1167 "Floor.c" retValue_acc = calls_4; #line 1169 return (retValue_acc); } else { } } } } } #line 1174 "Floor.c" retValue_acc = 0; #line 1176 return (retValue_acc); #line 1183 return (retValue_acc); } } #line 130 "Floor.c" void resetCallOnFloor(int floorID ) { { #line 136 if (floorID == 0) { #line 137 calls_0 = 0; } else { #line 138 if (floorID == 1) { #line 139 calls_1 = 0; } else { #line 140 if (floorID == 2) { #line 141 calls_2 = 0; } else { #line 142 if (floorID == 3) { #line 143 calls_3 = 0; } else { #line 144 if (floorID == 4) { #line 145 calls_4 = 0; } else { } } } } } #line 1216 "Floor.c" return; } } #line 1218 void __utac_acc__Specification1_spec__2(int floor ) ; #line 139 "Floor.c" void callOnFloor(int floorID ) { int __utac__ad__arg1 ; { { #line 1229 "Floor.c" __utac__ad__arg1 = floorID; #line 1230 __utac_acc__Specification1_spec__2(__utac__ad__arg1); } #line 145 if (floorID == 0) { #line 146 calls_0 = 1; } else { #line 147 if (floorID == 1) { #line 148 calls_1 = 1; } else { #line 149 if (floorID == 2) { #line 150 calls_2 = 1; } else { #line 151 if (floorID == 3) { #line 152 calls_3 = 1; } else { #line 153 if (floorID == 4) { #line 154 "Floor.c" calls_4 = 1; } else { } } } } } #line 1254 "Floor.c" return; } } #line 148 "Floor.c" int isPersonOnFloor(int person , int floor ) { int retValue_acc ; { #line 185 if (floor == 0) { #line 156 "Floor.c" if (person == 0) { #line 1276 retValue_acc = personOnFloor_0_0; #line 1278 return (retValue_acc); } else { #line 1280 if (person == 1) { #line 1283 retValue_acc = personOnFloor_1_0; #line 1285 return (retValue_acc); } else { #line 1287 if (person == 2) { #line 1290 retValue_acc = personOnFloor_2_0; #line 1292 return (retValue_acc); } else { #line 1294 if (person == 3) { #line 1297 retValue_acc = personOnFloor_3_0; #line 1299 return (retValue_acc); } else { #line 1301 if (person == 4) { #line 1304 retValue_acc = personOnFloor_4_0; #line 1306 return (retValue_acc); } else { #line 1308 if (person == 5) { #line 1311 retValue_acc = personOnFloor_5_0; #line 1313 return (retValue_acc); } else { } } } } } } } else { #line 1315 "Floor.c" if (floor == 1) { #line 163 "Floor.c" if (person == 0) { #line 1321 retValue_acc = personOnFloor_0_1; #line 1323 return (retValue_acc); } else { #line 1325 if (person == 1) { #line 1328 retValue_acc = personOnFloor_1_1; #line 1330 return (retValue_acc); } else { #line 1332 if (person == 2) { #line 1335 retValue_acc = personOnFloor_2_1; #line 1337 return (retValue_acc); } else { #line 1339 if (person == 3) { #line 1342 retValue_acc = personOnFloor_3_1; #line 1344 return (retValue_acc); } else { #line 1346 if (person == 4) { #line 1349 retValue_acc = personOnFloor_4_1; #line 1351 return (retValue_acc); } else { #line 1353 if (person == 5) { #line 1356 retValue_acc = personOnFloor_5_1; #line 1358 return (retValue_acc); } else { } } } } } } } else { #line 1360 "Floor.c" if (floor == 2) { #line 170 "Floor.c" if (person == 0) { #line 1366 retValue_acc = personOnFloor_0_2; #line 1368 return (retValue_acc); } else { #line 1370 if (person == 1) { #line 1373 retValue_acc = personOnFloor_1_2; #line 1375 return (retValue_acc); } else { #line 1377 if (person == 2) { #line 1380 retValue_acc = personOnFloor_2_2; #line 1382 return (retValue_acc); } else { #line 1384 if (person == 3) { #line 1387 retValue_acc = personOnFloor_3_2; #line 1389 return (retValue_acc); } else { #line 1391 if (person == 4) { #line 1394 retValue_acc = personOnFloor_4_2; #line 1396 return (retValue_acc); } else { #line 1398 if (person == 5) { #line 1401 retValue_acc = personOnFloor_5_2; #line 1403 return (retValue_acc); } else { } } } } } } } else { #line 1405 "Floor.c" if (floor == 3) { #line 177 "Floor.c" if (person == 0) { #line 1411 retValue_acc = personOnFloor_0_3; #line 1413 return (retValue_acc); } else { #line 1415 if (person == 1) { #line 1418 retValue_acc = personOnFloor_1_3; #line 1420 return (retValue_acc); } else { #line 1422 if (person == 2) { #line 1425 retValue_acc = personOnFloor_2_3; #line 1427 return (retValue_acc); } else { #line 1429 if (person == 3) { #line 1432 retValue_acc = personOnFloor_3_3; #line 1434 return (retValue_acc); } else { #line 1436 if (person == 4) { #line 1439 retValue_acc = personOnFloor_4_3; #line 1441 return (retValue_acc); } else { #line 1443 if (person == 5) { #line 1446 retValue_acc = personOnFloor_5_3; #line 1448 return (retValue_acc); } else { } } } } } } } else { #line 1450 "Floor.c" if (floor == 4) { #line 184 "Floor.c" if (person == 0) { #line 1456 retValue_acc = personOnFloor_0_4; #line 1458 return (retValue_acc); } else { #line 1460 if (person == 1) { #line 1463 retValue_acc = personOnFloor_1_4; #line 1465 return (retValue_acc); } else { #line 1467 if (person == 2) { #line 1470 retValue_acc = personOnFloor_2_4; #line 1472 return (retValue_acc); } else { #line 1474 if (person == 3) { #line 1477 retValue_acc = personOnFloor_3_4; #line 1479 return (retValue_acc); } else { #line 1481 if (person == 4) { #line 1484 retValue_acc = personOnFloor_4_4; #line 1486 return (retValue_acc); } else { #line 1488 if (person == 5) { #line 1491 "Floor.c" retValue_acc = personOnFloor_5_4; #line 1493 return (retValue_acc); } else { } } } } } } } else { } } } } } #line 1498 "Floor.c" retValue_acc = 0; #line 1500 return (retValue_acc); #line 1507 return (retValue_acc); } } #line 188 "Floor.c" void initPersonOnFloor(int person , int floor ) { { #line 225 if (floor == 0) { #line 196 if (person == 0) { #line 197 personOnFloor_0_0 = 1; } else { #line 198 if (person == 1) { #line 199 personOnFloor_1_0 = 1; } else { #line 200 if (person == 2) { #line 201 personOnFloor_2_0 = 1; } else { #line 202 if (person == 3) { #line 203 personOnFloor_3_0 = 1; } else { #line 204 if (person == 4) { #line 205 personOnFloor_4_0 = 1; } else { #line 206 if (person == 5) { #line 207 personOnFloor_5_0 = 1; } else { } } } } } } } else { #line 208 if (floor == 1) { #line 203 if (person == 0) { #line 204 personOnFloor_0_1 = 1; } else { #line 205 if (person == 1) { #line 206 personOnFloor_1_1 = 1; } else { #line 207 if (person == 2) { #line 208 personOnFloor_2_1 = 1; } else { #line 209 if (person == 3) { #line 210 personOnFloor_3_1 = 1; } else { #line 211 if (person == 4) { #line 212 personOnFloor_4_1 = 1; } else { #line 213 if (person == 5) { #line 214 personOnFloor_5_1 = 1; } else { } } } } } } } else { #line 215 if (floor == 2) { #line 210 if (person == 0) { #line 211 personOnFloor_0_2 = 1; } else { #line 212 if (person == 1) { #line 213 personOnFloor_1_2 = 1; } else { #line 214 if (person == 2) { #line 215 personOnFloor_2_2 = 1; } else { #line 216 if (person == 3) { #line 217 personOnFloor_3_2 = 1; } else { #line 218 if (person == 4) { #line 219 personOnFloor_4_2 = 1; } else { #line 220 if (person == 5) { #line 221 personOnFloor_5_2 = 1; } else { } } } } } } } else { #line 222 if (floor == 3) { #line 217 if (person == 0) { #line 218 personOnFloor_0_3 = 1; } else { #line 219 if (person == 1) { #line 220 personOnFloor_1_3 = 1; } else { #line 221 if (person == 2) { #line 222 personOnFloor_2_3 = 1; } else { #line 223 if (person == 3) { #line 224 personOnFloor_3_3 = 1; } else { #line 225 if (person == 4) { #line 226 personOnFloor_4_3 = 1; } else { #line 227 if (person == 5) { #line 228 personOnFloor_5_3 = 1; } else { } } } } } } } else { #line 229 if (floor == 4) { #line 224 if (person == 0) { #line 225 personOnFloor_0_4 = 1; } else { #line 226 if (person == 1) { #line 227 personOnFloor_1_4 = 1; } else { #line 228 if (person == 2) { #line 229 personOnFloor_2_4 = 1; } else { #line 230 if (person == 3) { #line 231 personOnFloor_3_4 = 1; } else { #line 232 if (person == 4) { #line 233 personOnFloor_4_4 = 1; } else { #line 234 if (person == 5) { #line 235 personOnFloor_5_4 = 1; } else { } } } } } } } else { } } } } } { #line 225 callOnFloor(floor); } #line 1607 "Floor.c" return; } } #line 228 "Floor.c" void removePersonFromFloor(int person , int floor ) { { #line 265 if (floor == 0) { #line 236 if (person == 0) { #line 237 personOnFloor_0_0 = 0; } else { #line 238 if (person == 1) { #line 239 personOnFloor_1_0 = 0; } else { #line 240 if (person == 2) { #line 241 personOnFloor_2_0 = 0; } else { #line 242 if (person == 3) { #line 243 personOnFloor_3_0 = 0; } else { #line 244 if (person == 4) { #line 245 personOnFloor_4_0 = 0; } else { #line 246 if (person == 5) { #line 247 personOnFloor_5_0 = 0; } else { } } } } } } } else { #line 248 if (floor == 1) { #line 243 if (person == 0) { #line 244 personOnFloor_0_1 = 0; } else { #line 245 if (person == 1) { #line 246 personOnFloor_1_1 = 0; } else { #line 247 if (person == 2) { #line 248 personOnFloor_2_1 = 0; } else { #line 249 if (person == 3) { #line 250 personOnFloor_3_1 = 0; } else { #line 251 if (person == 4) { #line 252 personOnFloor_4_1 = 0; } else { #line 253 if (person == 5) { #line 254 personOnFloor_5_1 = 0; } else { } } } } } } } else { #line 255 if (floor == 2) { #line 250 if (person == 0) { #line 251 personOnFloor_0_2 = 0; } else { #line 252 if (person == 1) { #line 253 personOnFloor_1_2 = 0; } else { #line 254 if (person == 2) { #line 255 personOnFloor_2_2 = 0; } else { #line 256 if (person == 3) { #line 257 personOnFloor_3_2 = 0; } else { #line 258 if (person == 4) { #line 259 personOnFloor_4_2 = 0; } else { #line 260 if (person == 5) { #line 261 personOnFloor_5_2 = 0; } else { } } } } } } } else { #line 262 if (floor == 3) { #line 257 if (person == 0) { #line 258 personOnFloor_0_3 = 0; } else { #line 259 if (person == 1) { #line 260 personOnFloor_1_3 = 0; } else { #line 261 if (person == 2) { #line 262 personOnFloor_2_3 = 0; } else { #line 263 if (person == 3) { #line 264 personOnFloor_3_3 = 0; } else { #line 265 if (person == 4) { #line 266 personOnFloor_4_3 = 0; } else { #line 267 if (person == 5) { #line 268 personOnFloor_5_3 = 0; } else { } } } } } } } else { #line 269 if (floor == 4) { #line 264 if (person == 0) { #line 265 personOnFloor_0_4 = 0; } else { #line 266 if (person == 1) { #line 267 personOnFloor_1_4 = 0; } else { #line 268 if (person == 2) { #line 269 personOnFloor_2_4 = 0; } else { #line 270 if (person == 3) { #line 271 personOnFloor_3_4 = 0; } else { #line 272 if (person == 4) { #line 273 personOnFloor_4_4 = 0; } else { #line 274 if (person == 5) { #line 275 personOnFloor_5_4 = 0; } else { } } } } } } } else { } } } } } { #line 265 resetCallOnFloor(floor); } #line 1703 "Floor.c" return; } } #line 268 "Floor.c" int isTopFloor(int floorID ) { int retValue_acc ; { #line 1721 "Floor.c" retValue_acc = floorID == 4; #line 1723 return (retValue_acc); #line 1730 return (retValue_acc); } } #line 1 "libacc.o" #pragma merger(0,"libacc.i","") #line 73 "/usr/include/assert.h" extern __attribute__((__nothrow__, __noreturn__)) void __assert_fail(char const *__assertion , char const *__file , unsigned int __line , char const *__function ) ; #line 471 "/usr/include/stdlib.h" extern __attribute__((__nothrow__)) void *malloc(size_t __size ) __attribute__((__malloc__)) ; #line 488 extern __attribute__((__nothrow__)) void free(void *__ptr ) ; #line 32 "libacc.c" void __utac__exception__cf_handler_set(void *exception , int (*cflow_func)(int , int ) , int val ) { struct __UTAC__EXCEPTION *excep ; struct __UTAC__CFLOW_FUNC *cf ; void *tmp ; unsigned long __cil_tmp7 ; unsigned long __cil_tmp8 ; unsigned long __cil_tmp9 ; unsigned long __cil_tmp10 ; unsigned long __cil_tmp11 ; unsigned long __cil_tmp12 ; unsigned long __cil_tmp13 ; unsigned long __cil_tmp14 ; int (**mem_15)(int , int ) ; int *mem_16 ; struct __UTAC__CFLOW_FUNC **mem_17 ; struct __UTAC__CFLOW_FUNC **mem_18 ; struct __UTAC__CFLOW_FUNC **mem_19 ; { { #line 33 excep = (struct __UTAC__EXCEPTION *)exception; #line 34 tmp = malloc(24UL); #line 34 cf = (struct __UTAC__CFLOW_FUNC *)tmp; #line 36 mem_15 = (int (**)(int , int ))cf; #line 36 *mem_15 = cflow_func; #line 37 __cil_tmp7 = (unsigned long )cf; #line 37 __cil_tmp8 = __cil_tmp7 + 8; #line 37 mem_16 = (int *)__cil_tmp8; #line 37 *mem_16 = val; #line 38 __cil_tmp9 = (unsigned long )cf; #line 38 __cil_tmp10 = __cil_tmp9 + 16; #line 38 __cil_tmp11 = (unsigned long )excep; #line 38 __cil_tmp12 = __cil_tmp11 + 24; #line 38 mem_17 = (struct __UTAC__CFLOW_FUNC **)__cil_tmp10; #line 38 mem_18 = (struct __UTAC__CFLOW_FUNC **)__cil_tmp12; #line 38 *mem_17 = *mem_18; #line 39 __cil_tmp13 = (unsigned long )excep; #line 39 __cil_tmp14 = __cil_tmp13 + 24; #line 39 mem_19 = (struct __UTAC__CFLOW_FUNC **)__cil_tmp14; #line 39 *mem_19 = cf; } #line 654 "libacc.c" return; } } #line 44 "libacc.c" void __utac__exception__cf_handler_free(void *exception ) { struct __UTAC__EXCEPTION *excep ; struct __UTAC__CFLOW_FUNC *cf ; struct __UTAC__CFLOW_FUNC *tmp ; unsigned long __cil_tmp5 ; unsigned long __cil_tmp6 ; struct __UTAC__CFLOW_FUNC *__cil_tmp7 ; unsigned long __cil_tmp8 ; unsigned long __cil_tmp9 ; unsigned long __cil_tmp10 ; unsigned long __cil_tmp11 ; void *__cil_tmp12 ; unsigned long __cil_tmp13 ; unsigned long __cil_tmp14 ; struct __UTAC__CFLOW_FUNC **mem_15 ; struct __UTAC__CFLOW_FUNC **mem_16 ; struct __UTAC__CFLOW_FUNC **mem_17 ; { #line 45 excep = (struct __UTAC__EXCEPTION *)exception; #line 46 __cil_tmp5 = (unsigned long )excep; #line 46 __cil_tmp6 = __cil_tmp5 + 24; #line 46 mem_15 = (struct __UTAC__CFLOW_FUNC **)__cil_tmp6; #line 46 cf = *mem_15; { #line 49 while (1) { while_5_continue: /* CIL Label */ ; { #line 49 __cil_tmp7 = (struct __UTAC__CFLOW_FUNC *)0; #line 49 __cil_tmp8 = (unsigned long )__cil_tmp7; #line 49 __cil_tmp9 = (unsigned long )cf; #line 49 if (__cil_tmp9 != __cil_tmp8) { } else { goto while_5_break; } } { #line 50 tmp = cf; #line 51 __cil_tmp10 = (unsigned long )cf; #line 51 __cil_tmp11 = __cil_tmp10 + 16; #line 51 mem_16 = (struct __UTAC__CFLOW_FUNC **)__cil_tmp11; #line 51 cf = *mem_16; #line 52 __cil_tmp12 = (void *)tmp; #line 52 free(__cil_tmp12); } } while_5_break: /* CIL Label */ ; } #line 55 __cil_tmp13 = (unsigned long )excep; #line 55 __cil_tmp14 = __cil_tmp13 + 24; #line 55 mem_17 = (struct __UTAC__CFLOW_FUNC **)__cil_tmp14; #line 55 *mem_17 = (struct __UTAC__CFLOW_FUNC *)0; #line 694 "libacc.c" return; } } #line 59 "libacc.c" void __utac__exception__cf_handler_reset(void *exception ) { struct __UTAC__EXCEPTION *excep ; struct __UTAC__CFLOW_FUNC *cf ; unsigned long __cil_tmp5 ; unsigned long __cil_tmp6 ; struct __UTAC__CFLOW_FUNC *__cil_tmp7 ; unsigned long __cil_tmp8 ; unsigned long __cil_tmp9 ; int (*__cil_tmp10)(int , int ) ; unsigned long __cil_tmp11 ; unsigned long __cil_tmp12 ; int __cil_tmp13 ; unsigned long __cil_tmp14 ; unsigned long __cil_tmp15 ; struct __UTAC__CFLOW_FUNC **mem_16 ; int (**mem_17)(int , int ) ; int *mem_18 ; struct __UTAC__CFLOW_FUNC **mem_19 ; { #line 60 excep = (struct __UTAC__EXCEPTION *)exception; #line 61 __cil_tmp5 = (unsigned long )excep; #line 61 __cil_tmp6 = __cil_tmp5 + 24; #line 61 mem_16 = (struct __UTAC__CFLOW_FUNC **)__cil_tmp6; #line 61 cf = *mem_16; { #line 64 while (1) { while_6_continue: /* CIL Label */ ; { #line 64 __cil_tmp7 = (struct __UTAC__CFLOW_FUNC *)0; #line 64 __cil_tmp8 = (unsigned long )__cil_tmp7; #line 64 __cil_tmp9 = (unsigned long )cf; #line 64 if (__cil_tmp9 != __cil_tmp8) { } else { goto while_6_break; } } { #line 65 mem_17 = (int (**)(int , int ))cf; #line 65 __cil_tmp10 = *mem_17; #line 65 __cil_tmp11 = (unsigned long )cf; #line 65 __cil_tmp12 = __cil_tmp11 + 8; #line 65 mem_18 = (int *)__cil_tmp12; #line 65 __cil_tmp13 = *mem_18; #line 65 (*__cil_tmp10)(4, __cil_tmp13); #line 66 __cil_tmp14 = (unsigned long )cf; #line 66 __cil_tmp15 = __cil_tmp14 + 16; #line 66 mem_19 = (struct __UTAC__CFLOW_FUNC **)__cil_tmp15; #line 66 cf = *mem_19; } } while_6_break: /* CIL Label */ ; } { #line 69 __utac__exception__cf_handler_free(exception); } #line 732 "libacc.c" return; } } #line 80 "libacc.c" void *__utac__error_stack_mgt(void *env , int mode , int count ) ; #line 80 "libacc.c" static struct __ACC__ERR *head = (struct __ACC__ERR *)0; #line 79 "libacc.c" void *__utac__error_stack_mgt(void *env , int mode , int count ) { void *retValue_acc ; struct __ACC__ERR *new ; void *tmp ; struct __ACC__ERR *temp ; struct __ACC__ERR *next ; void *excep ; unsigned long __cil_tmp10 ; unsigned long __cil_tmp11 ; unsigned long __cil_tmp12 ; unsigned long __cil_tmp13 ; void *__cil_tmp14 ; unsigned long __cil_tmp15 ; unsigned long __cil_tmp16 ; void *__cil_tmp17 ; void **mem_18 ; struct __ACC__ERR **mem_19 ; struct __ACC__ERR **mem_20 ; void **mem_21 ; struct __ACC__ERR **mem_22 ; void **mem_23 ; void **mem_24 ; { #line 82 "libacc.c" if (count == 0) { #line 758 "libacc.c" return (retValue_acc); } else { } #line 86 "libacc.c" if (mode == 0) { { #line 87 tmp = malloc(16UL); #line 87 new = (struct __ACC__ERR *)tmp; #line 88 mem_18 = (void **)new; #line 88 *mem_18 = env; #line 89 __cil_tmp10 = (unsigned long )new; #line 89 __cil_tmp11 = __cil_tmp10 + 8; #line 89 mem_19 = (struct __ACC__ERR **)__cil_tmp11; #line 89 *mem_19 = head; #line 90 head = new; #line 776 "libacc.c" retValue_acc = (void *)new; } #line 778 return (retValue_acc); } else { } #line 94 "libacc.c" if (mode == 1) { #line 95 temp = head; { #line 98 while (1) { while_7_continue: /* CIL Label */ ; #line 98 if (count > 1) { } else { goto while_7_break; } { #line 99 __cil_tmp12 = (unsigned long )temp; #line 99 __cil_tmp13 = __cil_tmp12 + 8; #line 99 mem_20 = (struct __ACC__ERR **)__cil_tmp13; #line 99 next = *mem_20; #line 100 mem_21 = (void **)temp; #line 100 excep = *mem_21; #line 101 __cil_tmp14 = (void *)temp; #line 101 free(__cil_tmp14); #line 102 __utac__exception__cf_handler_reset(excep); #line 103 temp = next; #line 104 count = count - 1; } } while_7_break: /* CIL Label */ ; } { #line 107 __cil_tmp15 = (unsigned long )temp; #line 107 __cil_tmp16 = __cil_tmp15 + 8; #line 107 mem_22 = (struct __ACC__ERR **)__cil_tmp16; #line 107 head = *mem_22; #line 108 mem_23 = (void **)temp; #line 108 excep = *mem_23; #line 109 __cil_tmp17 = (void *)temp; #line 109 free(__cil_tmp17); #line 110 __utac__exception__cf_handler_reset(excep); #line 820 "libacc.c" retValue_acc = excep; } #line 822 return (retValue_acc); } else { } #line 114 if (mode == 2) { #line 118 "libacc.c" if (head) { #line 831 mem_24 = (void **)head; #line 831 retValue_acc = *mem_24; #line 833 return (retValue_acc); } else { #line 837 "libacc.c" retValue_acc = (void *)0; #line 839 return (retValue_acc); } } else { } #line 846 "libacc.c" return (retValue_acc); } } #line 122 "libacc.c" void *__utac__get_this_arg(int i , struct JoinPoint *this ) { void *retValue_acc ; unsigned long __cil_tmp4 ; unsigned long __cil_tmp5 ; int __cil_tmp6 ; int __cil_tmp7 ; unsigned long __cil_tmp8 ; unsigned long __cil_tmp9 ; void **__cil_tmp10 ; void **__cil_tmp11 ; int *mem_12 ; void ***mem_13 ; { #line 123 if (i > 0) { { #line 123 __cil_tmp4 = (unsigned long )this; #line 123 __cil_tmp5 = __cil_tmp4 + 16; #line 123 mem_12 = (int *)__cil_tmp5; #line 123 __cil_tmp6 = *mem_12; #line 123 if (i <= __cil_tmp6) { } else { { #line 123 __assert_fail("i > 0 && i <= this->argsCount", "libacc.c", 123U, "__utac__get_this_arg"); } } } } else { { #line 123 __assert_fail("i > 0 && i <= this->argsCount", "libacc.c", 123U, "__utac__get_this_arg"); } } #line 870 "libacc.c" __cil_tmp7 = i - 1; #line 870 __cil_tmp8 = (unsigned long )this; #line 870 __cil_tmp9 = __cil_tmp8 + 8; #line 870 mem_13 = (void ***)__cil_tmp9; #line 870 __cil_tmp10 = *mem_13; #line 870 __cil_tmp11 = __cil_tmp10 + __cil_tmp7; #line 870 retValue_acc = *__cil_tmp11; #line 872 return (retValue_acc); #line 879 return (retValue_acc); } } #line 129 "libacc.c" char const *__utac__get_this_argtype(int i , struct JoinPoint *this ) { char const *retValue_acc ; unsigned long __cil_tmp4 ; unsigned long __cil_tmp5 ; int __cil_tmp6 ; int __cil_tmp7 ; unsigned long __cil_tmp8 ; unsigned long __cil_tmp9 ; char const **__cil_tmp10 ; char const **__cil_tmp11 ; int *mem_12 ; char const ***mem_13 ; { #line 131 if (i > 0) { { #line 131 __cil_tmp4 = (unsigned long )this; #line 131 __cil_tmp5 = __cil_tmp4 + 16; #line 131 mem_12 = (int *)__cil_tmp5; #line 131 __cil_tmp6 = *mem_12; #line 131 if (i <= __cil_tmp6) { } else { { #line 131 __assert_fail("i > 0 && i <= this->argsCount", "libacc.c", 131U, "__utac__get_this_argtype"); } } } } else { { #line 131 __assert_fail("i > 0 && i <= this->argsCount", "libacc.c", 131U, "__utac__get_this_argtype"); } } #line 903 "libacc.c" __cil_tmp7 = i - 1; #line 903 __cil_tmp8 = (unsigned long )this; #line 903 __cil_tmp9 = __cil_tmp8 + 24; #line 903 mem_13 = (char const ***)__cil_tmp9; #line 903 __cil_tmp10 = *mem_13; #line 903 __cil_tmp11 = __cil_tmp10 + __cil_tmp7; #line 903 retValue_acc = *__cil_tmp11; #line 905 return (retValue_acc); #line 912 return (retValue_acc); } } #line 1 "scenario.o" #pragma merger(0,"scenario.i","") #line 1 "scenario.c" void test(void) { { { #line 2 bigMacCall(); #line 3 angelinaCall(); #line 4 cleanup(); } #line 55 "scenario.c" return; } } #line 1 "UnitTests.o" #pragma merger(0,"UnitTests.i","") #line 24 "UnitTests.c" void spec1(void) { int tmp ; int tmp___0 ; int i ; int tmp___1 ; { { #line 25 initBottomUp(); #line 26 tmp = getOrigin(5); #line 26 initPersonOnFloor(5, tmp); #line 27 printState(); #line 30 tmp___0 = getOrigin(2); #line 30 initPersonOnFloor(2, tmp___0); #line 31 printState(); #line 35 i = 0; } { #line 35 while (1) { while_8_continue: /* CIL Label */ ; #line 35 if (i < cleanupTimeShifts) { { #line 35 tmp___1 = isBlocked(); } #line 35 if (tmp___1 != 1) { } else { goto while_8_break; } } else { goto while_8_break; } { #line 36 timeShift(); #line 37 printState(); #line 35 i = i + 1; } } while_8_break: /* CIL Label */ ; } #line 1067 "UnitTests.c" return; } } #line 42 "UnitTests.c" void spec14(void) { int tmp ; int tmp___0 ; int i ; int tmp___1 ; { { #line 43 initTopDown(); #line 44 tmp = getOrigin(5); #line 44 initPersonOnFloor(5, tmp); #line 45 printState(); #line 47 timeShift(); #line 48 timeShift(); #line 49 timeShift(); #line 50 timeShift(); #line 52 tmp___0 = getOrigin(0); #line 52 initPersonOnFloor(0, tmp___0); #line 53 printState(); #line 57 i = 0; } { #line 57 while (1) { while_9_continue: /* CIL Label */ ; #line 57 if (i < cleanupTimeShifts) { { #line 57 tmp___1 = isBlocked(); } #line 57 if (tmp___1 != 1) { } else { goto while_9_break; } } else { goto while_9_break; } { #line 58 timeShift(); #line 59 printState(); #line 57 i = i + 1; } } while_9_break: /* CIL Label */ ; } #line 1113 "UnitTests.c" return; } } #line 1 "Person.o" #pragma merger(0,"Person.i","") #line 10 "Person.h" int getWeight(int person ) ; #line 20 "Person.c" int getWeight(int person ) { int retValue_acc ; { #line 35 "Person.c" if (person == 0) { #line 974 retValue_acc = 40; #line 976 return (retValue_acc); } else { #line 978 if (person == 1) { #line 983 retValue_acc = 40; #line 985 return (retValue_acc); } else { #line 987 if (person == 2) { #line 992 retValue_acc = 40; #line 994 return (retValue_acc); } else { #line 996 if (person == 3) { #line 1001 retValue_acc = 40; #line 1003 return (retValue_acc); } else { #line 1005 if (person == 4) { #line 1010 retValue_acc = 30; #line 1012 return (retValue_acc); } else { #line 1014 if (person == 5) { #line 1019 retValue_acc = 150; #line 1021 return (retValue_acc); } else { #line 1027 "Person.c" retValue_acc = 0; #line 1029 return (retValue_acc); } } } } } } #line 1036 "Person.c" return (retValue_acc); } } #line 39 "Person.c" int getOrigin(int person ) { int retValue_acc ; { #line 54 "Person.c" if (person == 0) { #line 1061 retValue_acc = 4; #line 1063 return (retValue_acc); } else { #line 1065 if (person == 1) { #line 1070 retValue_acc = 3; #line 1072 return (retValue_acc); } else { #line 1074 if (person == 2) { #line 1079 retValue_acc = 2; #line 1081 return (retValue_acc); } else { #line 1083 if (person == 3) { #line 1088 retValue_acc = 1; #line 1090 return (retValue_acc); } else { #line 1092 if (person == 4) { #line 1097 retValue_acc = 0; #line 1099 return (retValue_acc); } else { #line 1101 if (person == 5) { #line 1106 retValue_acc = 1; #line 1108 return (retValue_acc); } else { #line 1114 "Person.c" retValue_acc = 0; #line 1116 return (retValue_acc); } } } } } } #line 1123 "Person.c" return (retValue_acc); } } #line 57 "Person.c" int getDestination(int person ) { int retValue_acc ; { #line 72 "Person.c" if (person == 0) { #line 1148 retValue_acc = 0; #line 1150 return (retValue_acc); } else { #line 1152 if (person == 1) { #line 1157 retValue_acc = 0; #line 1159 return (retValue_acc); } else { #line 1161 if (person == 2) { #line 1166 retValue_acc = 1; #line 1168 return (retValue_acc); } else { #line 1170 if (person == 3) { #line 1175 retValue_acc = 3; #line 1177 return (retValue_acc); } else { #line 1179 if (person == 4) { #line 1184 retValue_acc = 1; #line 1186 return (retValue_acc); } else { #line 1188 if (person == 5) { #line 1193 retValue_acc = 3; #line 1195 return (retValue_acc); } else { #line 1201 "Person.c" retValue_acc = 0; #line 1203 return (retValue_acc); } } } } } } #line 1210 "Person.c" return (retValue_acc); } } #line 1 "featureselect.o" #pragma merger(0,"featureselect.i","") #line 9 "featureselect.h" int select_one(void) ; #line 8 "featureselect.c" int select_one(void) { int retValue_acc ; int choice = __VERIFIER_nondet_int(); { #line 63 "featureselect.c" retValue_acc = choice; #line 65 return (retValue_acc); #line 72 return (retValue_acc); } } #line 14 "featureselect.c" void select_features(void) { { #line 94 "featureselect.c" return; } } #line 20 "featureselect.c" void select_helpers(void) { { #line 112 "featureselect.c" return; } } #line 25 "featureselect.c" int valid_product(void) { int retValue_acc ; { #line 130 "featureselect.c" retValue_acc = 1; #line 132 return (retValue_acc); #line 139 return (retValue_acc); } } #line 1 "Specification1_spec.o" #pragma merger(0,"Specification1_spec.i","") #line 7 "Specification1_spec.c" int landingButtons_spc1_0 ; #line 8 "Specification1_spec.c" int landingButtons_spc1_1 ; #line 9 "Specification1_spec.c" int landingButtons_spc1_2 ; #line 10 "Specification1_spec.c" int landingButtons_spc1_3 ; #line 11 "Specification1_spec.c" int landingButtons_spc1_4 ; #line 15 "Specification1_spec.c" void __utac_acc__Specification1_spec__1(void) { { #line 17 landingButtons_spc1_0 = 0; #line 18 landingButtons_spc1_1 = 0; #line 19 landingButtons_spc1_2 = 0; #line 20 landingButtons_spc1_3 = 0; #line 21 landingButtons_spc1_4 = 0; #line 21 return; } } #line 25 "Specification1_spec.c" void __utac_acc__Specification1_spec__2(int floor ) { { #line 33 if (floor == 0) { #line 34 landingButtons_spc1_0 = 1; } else { #line 35 if (floor == 1) { #line 36 landingButtons_spc1_1 = 1; } else { #line 37 if (floor == 2) { #line 38 landingButtons_spc1_2 = 1; } else { #line 39 if (floor == 3) { #line 40 landingButtons_spc1_3 = 1; } else { #line 41 if (floor == 4) { #line 42 landingButtons_spc1_4 = 1; } else { } } } } } #line 42 return; } } #line 35 "Specification1_spec.c" void __utac_acc__Specification1_spec__3(void) { int floor ; int tmp ; int tmp___0 ; int tmp___1 ; int tmp___2 ; int tmp___3 ; int tmp___4 ; { { #line 37 tmp = getCurrentFloorID(); #line 37 floor = tmp; } #line 38 if (floor == 0) { #line 38 if (landingButtons_spc1_0) { { #line 38 tmp___4 = areDoorsOpen(); } #line 38 if (tmp___4) { #line 39 landingButtons_spc1_0 = 0; } else { goto _L___6; } } else { goto _L___6; } } else { _L___6: /* CIL Label */ #line 40 if (floor == 1) { #line 40 if (landingButtons_spc1_1) { { #line 40 tmp___3 = areDoorsOpen(); } #line 40 if (tmp___3) { #line 41 landingButtons_spc1_1 = 0; } else { goto _L___4; } } else { goto _L___4; } } else { _L___4: /* CIL Label */ #line 42 if (floor == 2) { #line 42 if (landingButtons_spc1_2) { { #line 42 tmp___2 = areDoorsOpen(); } #line 42 if (tmp___2) { #line 43 landingButtons_spc1_2 = 0; } else { goto _L___2; } } else { goto _L___2; } } else { _L___2: /* CIL Label */ #line 44 if (floor == 3) { #line 44 if (landingButtons_spc1_3) { { #line 44 tmp___1 = areDoorsOpen(); } #line 44 if (tmp___1) { #line 45 landingButtons_spc1_3 = 0; } else { goto _L___0; } } else { goto _L___0; } } else { _L___0: /* CIL Label */ #line 46 if (floor == 4) { #line 46 if (landingButtons_spc1_4) { { #line 46 tmp___0 = areDoorsOpen(); } #line 46 if (tmp___0) { #line 47 landingButtons_spc1_4 = 0; } else { } } else { } } else { } } } } } #line 47 return; } } #line 52 "Specification1_spec.c" void __utac_acc__Specification1_spec__4(void) { { #line 60 if (landingButtons_spc1_0) { { #line 54 __automaton_fail(); } } else { #line 55 if (landingButtons_spc1_1) { { #line 55 __automaton_fail(); } } else { #line 56 if (landingButtons_spc1_2) { { #line 56 __automaton_fail(); } } else { #line 57 if (landingButtons_spc1_3) { { #line 57 __automaton_fail(); } } else { #line 58 if (landingButtons_spc1_4) { { #line 58 __automaton_fail(); } } else { } } } } } #line 58 return; } }