Showing error 1604

User: Jiri Slaby
Error type: Reachable Error Location
Error type description: A specified error location is reachable in some program path
File location: product-lines/elevator_spec14_product24_unsafe.cil.c
Line in file: 4881
Project: SV-COMP 2013
Project version: 2.6.28
Tools: Manual Work
Entered: 2013-01-17 16:57:54 UTC


Source:

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