Showing error 1906

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/minepump_spec2_product01_safe.cil.c
Line in file: 1202
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);
   2extern int printf (__const char *__restrict __format, ...);
   3/* Generated by CIL v. 1.3.7 */
   4/* print_CIL_Input is true */
   5
   6#line 2 "libacc.c"
   7struct JoinPoint {
   8   void **(*fp)(struct JoinPoint * ) ;
   9   void **args ;
  10   int argsCount ;
  11   char const   **argsType ;
  12   void *(*arg)(int  , struct JoinPoint * ) ;
  13   char const   *(*argType)(int  , struct JoinPoint * ) ;
  14   void **retValue ;
  15   char const   *retType ;
  16   char const   *funcName ;
  17   char const   *targetName ;
  18   char const   *fileName ;
  19   char const   *kind ;
  20   void *excep_return ;
  21};
  22#line 18 "libacc.c"
  23struct __UTAC__CFLOW_FUNC {
  24   int (*func)(int  , int  ) ;
  25   int val ;
  26   struct __UTAC__CFLOW_FUNC *next ;
  27};
  28#line 18 "libacc.c"
  29struct __UTAC__EXCEPTION {
  30   void *jumpbuf ;
  31   unsigned long long prtValue ;
  32   int pops ;
  33   struct __UTAC__CFLOW_FUNC *cflowfuncs ;
  34};
  35#line 211 "/usr/lib/gcc/x86_64-linux-gnu/4.4.5/include/stddef.h"
  36typedef unsigned long size_t;
  37#line 76 "libacc.c"
  38struct __ACC__ERR {
  39   void *v ;
  40   struct __ACC__ERR *next ;
  41};
  42#line 1 "MinePump.o"
  43#pragma merger(0,"MinePump.i","")
  44#line 4 "Environment.h"
  45void lowerWaterLevel(void) ;
  46#line 10
  47int isMethaneLevelCritical(void) ;
  48#line 15
  49void printEnvironment(void) ;
  50#line 4 "MinePump.h"
  51void timeShift(void) ;
  52#line 6
  53void activatePump(void) ;
  54#line 8
  55void deactivatePump(void) ;
  56#line 10
  57int isPumpRunning(void) ;
  58#line 13
  59void printPump(void) ;
  60#line 7 "MinePump.c"
  61int pumpRunning  =    0;
  62#line 9 "MinePump.c"
  63int systemActive  =    1;
  64#line 10
  65void __utac_acc__Specification2_spec__2(void) ;
  66#line 16
  67void processEnvironment(void) ;
  68#line 12 "MinePump.c"
  69void timeShift(void) 
  70{ 
  71
  72  {
  73#line 15
  74  if (pumpRunning) {
  75    {
  76#line 16
  77    lowerWaterLevel();
  78    }
  79  } else {
  80
  81  }
  82#line 15
  83  if (systemActive) {
  84    {
  85#line 16
  86    processEnvironment();
  87    }
  88  } else {
  89
  90  }
  91  {
  92#line 95 "MinePump.c"
  93  __utac_acc__Specification2_spec__2();
  94  }
  95#line 101
  96  return;
  97}
  98}
  99#line 19 "MinePump.c"
 100void processEnvironment(void) 
 101{ 
 102
 103  {
 104#line 119 "MinePump.c"
 105  return;
 106}
 107}
 108#line 24 "MinePump.c"
 109void activatePump(void) 
 110{ 
 111
 112  {
 113#line 25
 114  pumpRunning = 1;
 115#line 139 "MinePump.c"
 116  return;
 117}
 118}
 119#line 29 "MinePump.c"
 120void deactivatePump(void) 
 121{ 
 122
 123  {
 124#line 30
 125  pumpRunning = 0;
 126#line 159 "MinePump.c"
 127  return;
 128}
 129}
 130#line 34 "MinePump.c"
 131int isMethaneAlarm(void) 
 132{ int retValue_acc ;
 133
 134  {
 135  {
 136#line 177 "MinePump.c"
 137  retValue_acc = isMethaneLevelCritical();
 138  }
 139#line 179
 140  return (retValue_acc);
 141#line 186
 142  return (retValue_acc);
 143}
 144}
 145#line 39 "MinePump.c"
 146int isPumpRunning(void) 
 147{ int retValue_acc ;
 148
 149  {
 150#line 208 "MinePump.c"
 151  retValue_acc = pumpRunning;
 152#line 210
 153  return (retValue_acc);
 154#line 217
 155  return (retValue_acc);
 156}
 157}
 158#line 45 "MinePump.c"
 159#line 44 "MinePump.c"
 160void printPump(void) 
 161{ 
 162
 163  {
 164  {
 165#line 45
 166  printf("Pump(System:");
 167  }
 168#line 46
 169  if (systemActive) {
 170    {
 171#line 47
 172    printf("On");
 173    }
 174  } else {
 175    {
 176#line 48
 177    printf("Off");
 178    }
 179  }
 180  {
 181#line 50
 182  printf(",Pump:");
 183  }
 184#line 51
 185  if (pumpRunning) {
 186    {
 187#line 52
 188    printf("On");
 189    }
 190  } else {
 191    {
 192#line 53
 193    printf("Off");
 194    }
 195  }
 196  {
 197#line 55
 198  printf(") ");
 199#line 56
 200  printEnvironment();
 201#line 57
 202  printf("\n");
 203  }
 204#line 257 "MinePump.c"
 205  return;
 206}
 207}
 208#line 1 "scenario.o"
 209#pragma merger(0,"scenario.i","")
 210#line 5 "scenario.c"
 211void waterRise(void) ;
 212#line 7
 213#line 8
 214void changeMethaneLevel(void) ;
 215#line 15
 216void cleanup(void) ;
 217#line 1 "scenario.c"
 218void test(void) 
 219{ int splverifierCounter ;
 220  int tmp ;
 221  int tmp___0 ;
 222  int tmp___1 ;
 223  int tmp___2 ;
 224
 225  {
 226#line 2
 227  splverifierCounter = 0;
 228  {
 229#line 3
 230  while (1) {
 231    while_0_continue: /* CIL Label */ ;
 232#line 3
 233    if (splverifierCounter < 4) {
 234
 235    } else {
 236      goto while_0_break;
 237    }
 238    {
 239#line 7
 240    tmp = __VERIFIER_nondet_int();
 241    }
 242#line 7
 243    if (tmp) {
 244      {
 245#line 5
 246      waterRise();
 247      }
 248    } else {
 249
 250    }
 251    {
 252#line 7
 253    tmp___0 = __VERIFIER_nondet_int();
 254    }
 255#line 7
 256    if (tmp___0) {
 257      {
 258#line 8
 259      changeMethaneLevel();
 260      }
 261    } else {
 262
 263    }
 264    {
 265#line 10
 266    tmp___2 = __VERIFIER_nondet_int();
 267    }
 268#line 10
 269    if (tmp___2) {
 270
 271    } else {
 272      {
 273#line 12
 274      tmp___1 = __VERIFIER_nondet_int();
 275      }
 276#line 12
 277      if (tmp___1) {
 278
 279      } else {
 280
 281      }
 282    }
 283    {
 284#line 13
 285    timeShift();
 286    }
 287  }
 288  while_0_break: /* CIL Label */ ;
 289  }
 290  {
 291#line 15
 292  cleanup();
 293  }
 294#line 74 "scenario.c"
 295  return;
 296}
 297}
 298#line 1 "featureselect.o"
 299#pragma merger(0,"featureselect.i","")
 300#line 8 "featureselect.h"
 301int select_one(void) ;
 302#line 10
 303void select_features(void) ;
 304#line 12
 305void select_helpers(void) ;
 306#line 14
 307int valid_product(void) ;
 308#line 8 "featureselect.c"
 309int select_one(void) 
 310{ int retValue_acc ;
 311  int choice = __VERIFIER_nondet_int();
 312
 313  {
 314#line 62 "featureselect.c"
 315  retValue_acc = choice;
 316#line 64
 317  return (retValue_acc);
 318#line 71
 319  return (retValue_acc);
 320}
 321}
 322#line 14 "featureselect.c"
 323void select_features(void) 
 324{ 
 325
 326  {
 327#line 93 "featureselect.c"
 328  return;
 329}
 330}
 331#line 20 "featureselect.c"
 332void select_helpers(void) 
 333{ 
 334
 335  {
 336#line 111 "featureselect.c"
 337  return;
 338}
 339}
 340#line 25 "featureselect.c"
 341int valid_product(void) 
 342{ int retValue_acc ;
 343
 344  {
 345#line 129 "featureselect.c"
 346  retValue_acc = 1;
 347#line 131
 348  return (retValue_acc);
 349#line 138
 350  return (retValue_acc);
 351}
 352}
 353#line 1 "Test.o"
 354#pragma merger(0,"Test.i","")
 355#line 8 "Test.c"
 356int cleanupTimeShifts  =    4;
 357#line 11 "Test.c"
 358#line 17 "Test.c"
 359void cleanup(void) 
 360{ int i ;
 361  int __cil_tmp2 ;
 362
 363  {
 364  {
 365#line 20
 366  timeShift();
 367#line 22
 368  i = 0;
 369  }
 370  {
 371#line 22
 372  while (1) {
 373    while_1_continue: /* CIL Label */ ;
 374    {
 375#line 22
 376    __cil_tmp2 = cleanupTimeShifts - 1;
 377#line 22
 378    if (i < __cil_tmp2) {
 379
 380    } else {
 381      goto while_1_break;
 382    }
 383    }
 384    {
 385#line 23
 386    timeShift();
 387#line 22
 388    i = i + 1;
 389    }
 390  }
 391  while_1_break: /* CIL Label */ ;
 392  }
 393#line 1111 "Test.c"
 394  return;
 395}
 396}
 397#line 56 "Test.c"
 398void Specification2(void) 
 399{ 
 400
 401  {
 402  {
 403#line 57
 404  timeShift();
 405#line 57
 406  printPump();
 407#line 58
 408  timeShift();
 409#line 58
 410  printPump();
 411#line 59
 412  timeShift();
 413#line 59
 414  printPump();
 415#line 60
 416  waterRise();
 417#line 60
 418  printPump();
 419#line 61
 420  timeShift();
 421#line 61
 422  printPump();
 423#line 62
 424  changeMethaneLevel();
 425#line 62
 426  printPump();
 427#line 63
 428  timeShift();
 429#line 63
 430  printPump();
 431#line 64
 432  cleanup();
 433  }
 434#line 1159 "Test.c"
 435  return;
 436}
 437}
 438#line 67 "Test.c"
 439void setup(void) 
 440{ 
 441
 442  {
 443#line 1177 "Test.c"
 444  return;
 445}
 446}
 447#line 1179
 448void __utac_acc__Specification2_spec__1(void) ;
 449#line 74 "Test.c"
 450void runTest(void) 
 451{ 
 452
 453  {
 454  {
 455#line 1190 "Test.c"
 456  __utac_acc__Specification2_spec__1();
 457#line 77 "Test.c"
 458  test();
 459  }
 460#line 1205 "Test.c"
 461  return;
 462}
 463}
 464#line 82 "Test.c"
 465int main(void) 
 466{ int retValue_acc ;
 467  int tmp ;
 468
 469  {
 470  {
 471#line 83
 472  select_helpers();
 473#line 84
 474  select_features();
 475#line 85
 476  tmp = valid_product();
 477  }
 478#line 85
 479  if (tmp) {
 480    {
 481#line 86
 482    setup();
 483#line 87
 484    runTest();
 485    }
 486  } else {
 487
 488  }
 489#line 1234 "Test.c"
 490  retValue_acc = 0;
 491#line 1236
 492  return (retValue_acc);
 493#line 1243
 494  return (retValue_acc);
 495}
 496}
 497#line 1 "Specification2_spec.o"
 498#pragma merger(0,"Specification2_spec.i","")
 499#line 4 "wsllib.h"
 500void __automaton_fail(void) ;
 501#line 7 "Specification2_spec.c"
 502int methAndRunningLastTime  ;
 503#line 11 "Specification2_spec.c"
 504void __utac_acc__Specification2_spec__1(void) 
 505{ 
 506
 507  {
 508#line 13
 509  methAndRunningLastTime = 0;
 510#line 13
 511  return;
 512}
 513}
 514#line 17 "Specification2_spec.c"
 515void __utac_acc__Specification2_spec__2(void) 
 516{ int tmp ;
 517  int tmp___0 ;
 518
 519  {
 520  {
 521#line 27
 522  tmp = isMethaneLevelCritical();
 523  }
 524#line 27
 525  if (tmp) {
 526    {
 527#line 27
 528    tmp___0 = isPumpRunning();
 529    }
 530#line 27
 531    if (tmp___0) {
 532#line 24
 533      if (methAndRunningLastTime) {
 534        {
 535#line 21
 536        __automaton_fail();
 537        }
 538      } else {
 539#line 23
 540        methAndRunningLastTime = 1;
 541      }
 542    } else {
 543#line 26
 544      methAndRunningLastTime = 0;
 545    }
 546  } else {
 547#line 26
 548    methAndRunningLastTime = 0;
 549  }
 550#line 26
 551  return;
 552}
 553}
 554#line 1 "libacc.o"
 555#pragma merger(0,"libacc.i","")
 556#line 73 "/usr/include/assert.h"
 557extern  __attribute__((__nothrow__, __noreturn__)) void __assert_fail(char const   *__assertion ,
 558                                                                      char const   *__file ,
 559                                                                      unsigned int __line ,
 560                                                                      char const   *__function ) ;
 561#line 471 "/usr/include/stdlib.h"
 562extern  __attribute__((__nothrow__)) void *malloc(size_t __size )  __attribute__((__malloc__)) ;
 563#line 488
 564extern  __attribute__((__nothrow__)) void free(void *__ptr ) ;
 565#line 32 "libacc.c"
 566void __utac__exception__cf_handler_set(void *exception , int (*cflow_func)(int  ,
 567                                                                           int  ) ,
 568                                       int val ) 
 569{ struct __UTAC__EXCEPTION *excep ;
 570  struct __UTAC__CFLOW_FUNC *cf ;
 571  void *tmp ;
 572  unsigned long __cil_tmp7 ;
 573  unsigned long __cil_tmp8 ;
 574  unsigned long __cil_tmp9 ;
 575  unsigned long __cil_tmp10 ;
 576  unsigned long __cil_tmp11 ;
 577  unsigned long __cil_tmp12 ;
 578  unsigned long __cil_tmp13 ;
 579  unsigned long __cil_tmp14 ;
 580  int (**mem_15)(int  , int  ) ;
 581  int *mem_16 ;
 582  struct __UTAC__CFLOW_FUNC **mem_17 ;
 583  struct __UTAC__CFLOW_FUNC **mem_18 ;
 584  struct __UTAC__CFLOW_FUNC **mem_19 ;
 585
 586  {
 587  {
 588#line 33
 589  excep = (struct __UTAC__EXCEPTION *)exception;
 590#line 34
 591  tmp = malloc(24UL);
 592#line 34
 593  cf = (struct __UTAC__CFLOW_FUNC *)tmp;
 594#line 36
 595  mem_15 = (int (**)(int  , int  ))cf;
 596#line 36
 597  *mem_15 = cflow_func;
 598#line 37
 599  __cil_tmp7 = (unsigned long )cf;
 600#line 37
 601  __cil_tmp8 = __cil_tmp7 + 8;
 602#line 37
 603  mem_16 = (int *)__cil_tmp8;
 604#line 37
 605  *mem_16 = val;
 606#line 38
 607  __cil_tmp9 = (unsigned long )cf;
 608#line 38
 609  __cil_tmp10 = __cil_tmp9 + 16;
 610#line 38
 611  __cil_tmp11 = (unsigned long )excep;
 612#line 38
 613  __cil_tmp12 = __cil_tmp11 + 24;
 614#line 38
 615  mem_17 = (struct __UTAC__CFLOW_FUNC **)__cil_tmp10;
 616#line 38
 617  mem_18 = (struct __UTAC__CFLOW_FUNC **)__cil_tmp12;
 618#line 38
 619  *mem_17 = *mem_18;
 620#line 39
 621  __cil_tmp13 = (unsigned long )excep;
 622#line 39
 623  __cil_tmp14 = __cil_tmp13 + 24;
 624#line 39
 625  mem_19 = (struct __UTAC__CFLOW_FUNC **)__cil_tmp14;
 626#line 39
 627  *mem_19 = cf;
 628  }
 629#line 654 "libacc.c"
 630  return;
 631}
 632}
 633#line 44 "libacc.c"
 634void __utac__exception__cf_handler_free(void *exception ) 
 635{ struct __UTAC__EXCEPTION *excep ;
 636  struct __UTAC__CFLOW_FUNC *cf ;
 637  struct __UTAC__CFLOW_FUNC *tmp ;
 638  unsigned long __cil_tmp5 ;
 639  unsigned long __cil_tmp6 ;
 640  struct __UTAC__CFLOW_FUNC *__cil_tmp7 ;
 641  unsigned long __cil_tmp8 ;
 642  unsigned long __cil_tmp9 ;
 643  unsigned long __cil_tmp10 ;
 644  unsigned long __cil_tmp11 ;
 645  void *__cil_tmp12 ;
 646  unsigned long __cil_tmp13 ;
 647  unsigned long __cil_tmp14 ;
 648  struct __UTAC__CFLOW_FUNC **mem_15 ;
 649  struct __UTAC__CFLOW_FUNC **mem_16 ;
 650  struct __UTAC__CFLOW_FUNC **mem_17 ;
 651
 652  {
 653#line 45
 654  excep = (struct __UTAC__EXCEPTION *)exception;
 655#line 46
 656  __cil_tmp5 = (unsigned long )excep;
 657#line 46
 658  __cil_tmp6 = __cil_tmp5 + 24;
 659#line 46
 660  mem_15 = (struct __UTAC__CFLOW_FUNC **)__cil_tmp6;
 661#line 46
 662  cf = *mem_15;
 663  {
 664#line 49
 665  while (1) {
 666    while_2_continue: /* CIL Label */ ;
 667    {
 668#line 49
 669    __cil_tmp7 = (struct __UTAC__CFLOW_FUNC *)0;
 670#line 49
 671    __cil_tmp8 = (unsigned long )__cil_tmp7;
 672#line 49
 673    __cil_tmp9 = (unsigned long )cf;
 674#line 49
 675    if (__cil_tmp9 != __cil_tmp8) {
 676
 677    } else {
 678      goto while_2_break;
 679    }
 680    }
 681    {
 682#line 50
 683    tmp = cf;
 684#line 51
 685    __cil_tmp10 = (unsigned long )cf;
 686#line 51
 687    __cil_tmp11 = __cil_tmp10 + 16;
 688#line 51
 689    mem_16 = (struct __UTAC__CFLOW_FUNC **)__cil_tmp11;
 690#line 51
 691    cf = *mem_16;
 692#line 52
 693    __cil_tmp12 = (void *)tmp;
 694#line 52
 695    free(__cil_tmp12);
 696    }
 697  }
 698  while_2_break: /* CIL Label */ ;
 699  }
 700#line 55
 701  __cil_tmp13 = (unsigned long )excep;
 702#line 55
 703  __cil_tmp14 = __cil_tmp13 + 24;
 704#line 55
 705  mem_17 = (struct __UTAC__CFLOW_FUNC **)__cil_tmp14;
 706#line 55
 707  *mem_17 = (struct __UTAC__CFLOW_FUNC *)0;
 708#line 694 "libacc.c"
 709  return;
 710}
 711}
 712#line 59 "libacc.c"
 713void __utac__exception__cf_handler_reset(void *exception ) 
 714{ struct __UTAC__EXCEPTION *excep ;
 715  struct __UTAC__CFLOW_FUNC *cf ;
 716  unsigned long __cil_tmp5 ;
 717  unsigned long __cil_tmp6 ;
 718  struct __UTAC__CFLOW_FUNC *__cil_tmp7 ;
 719  unsigned long __cil_tmp8 ;
 720  unsigned long __cil_tmp9 ;
 721  int (*__cil_tmp10)(int  , int  ) ;
 722  unsigned long __cil_tmp11 ;
 723  unsigned long __cil_tmp12 ;
 724  int __cil_tmp13 ;
 725  unsigned long __cil_tmp14 ;
 726  unsigned long __cil_tmp15 ;
 727  struct __UTAC__CFLOW_FUNC **mem_16 ;
 728  int (**mem_17)(int  , int  ) ;
 729  int *mem_18 ;
 730  struct __UTAC__CFLOW_FUNC **mem_19 ;
 731
 732  {
 733#line 60
 734  excep = (struct __UTAC__EXCEPTION *)exception;
 735#line 61
 736  __cil_tmp5 = (unsigned long )excep;
 737#line 61
 738  __cil_tmp6 = __cil_tmp5 + 24;
 739#line 61
 740  mem_16 = (struct __UTAC__CFLOW_FUNC **)__cil_tmp6;
 741#line 61
 742  cf = *mem_16;
 743  {
 744#line 64
 745  while (1) {
 746    while_3_continue: /* CIL Label */ ;
 747    {
 748#line 64
 749    __cil_tmp7 = (struct __UTAC__CFLOW_FUNC *)0;
 750#line 64
 751    __cil_tmp8 = (unsigned long )__cil_tmp7;
 752#line 64
 753    __cil_tmp9 = (unsigned long )cf;
 754#line 64
 755    if (__cil_tmp9 != __cil_tmp8) {
 756
 757    } else {
 758      goto while_3_break;
 759    }
 760    }
 761    {
 762#line 65
 763    mem_17 = (int (**)(int  , int  ))cf;
 764#line 65
 765    __cil_tmp10 = *mem_17;
 766#line 65
 767    __cil_tmp11 = (unsigned long )cf;
 768#line 65
 769    __cil_tmp12 = __cil_tmp11 + 8;
 770#line 65
 771    mem_18 = (int *)__cil_tmp12;
 772#line 65
 773    __cil_tmp13 = *mem_18;
 774#line 65
 775    (*__cil_tmp10)(4, __cil_tmp13);
 776#line 66
 777    __cil_tmp14 = (unsigned long )cf;
 778#line 66
 779    __cil_tmp15 = __cil_tmp14 + 16;
 780#line 66
 781    mem_19 = (struct __UTAC__CFLOW_FUNC **)__cil_tmp15;
 782#line 66
 783    cf = *mem_19;
 784    }
 785  }
 786  while_3_break: /* CIL Label */ ;
 787  }
 788  {
 789#line 69
 790  __utac__exception__cf_handler_free(exception);
 791  }
 792#line 732 "libacc.c"
 793  return;
 794}
 795}
 796#line 80 "libacc.c"
 797void *__utac__error_stack_mgt(void *env , int mode , int count ) ;
 798#line 80 "libacc.c"
 799static struct __ACC__ERR *head  =    (struct __ACC__ERR *)0;
 800#line 79 "libacc.c"
 801void *__utac__error_stack_mgt(void *env , int mode , int count ) 
 802{ void *retValue_acc ;
 803  struct __ACC__ERR *new ;
 804  void *tmp ;
 805  struct __ACC__ERR *temp ;
 806  struct __ACC__ERR *next ;
 807  void *excep ;
 808  unsigned long __cil_tmp10 ;
 809  unsigned long __cil_tmp11 ;
 810  unsigned long __cil_tmp12 ;
 811  unsigned long __cil_tmp13 ;
 812  void *__cil_tmp14 ;
 813  unsigned long __cil_tmp15 ;
 814  unsigned long __cil_tmp16 ;
 815  void *__cil_tmp17 ;
 816  void **mem_18 ;
 817  struct __ACC__ERR **mem_19 ;
 818  struct __ACC__ERR **mem_20 ;
 819  void **mem_21 ;
 820  struct __ACC__ERR **mem_22 ;
 821  void **mem_23 ;
 822  void **mem_24 ;
 823
 824  {
 825#line 82 "libacc.c"
 826  if (count == 0) {
 827#line 758 "libacc.c"
 828    return (retValue_acc);
 829  } else {
 830
 831  }
 832#line 86 "libacc.c"
 833  if (mode == 0) {
 834    {
 835#line 87
 836    tmp = malloc(16UL);
 837#line 87
 838    new = (struct __ACC__ERR *)tmp;
 839#line 88
 840    mem_18 = (void **)new;
 841#line 88
 842    *mem_18 = env;
 843#line 89
 844    __cil_tmp10 = (unsigned long )new;
 845#line 89
 846    __cil_tmp11 = __cil_tmp10 + 8;
 847#line 89
 848    mem_19 = (struct __ACC__ERR **)__cil_tmp11;
 849#line 89
 850    *mem_19 = head;
 851#line 90
 852    head = new;
 853#line 776 "libacc.c"
 854    retValue_acc = (void *)new;
 855    }
 856#line 778
 857    return (retValue_acc);
 858  } else {
 859
 860  }
 861#line 94 "libacc.c"
 862  if (mode == 1) {
 863#line 95
 864    temp = head;
 865    {
 866#line 98
 867    while (1) {
 868      while_4_continue: /* CIL Label */ ;
 869#line 98
 870      if (count > 1) {
 871
 872      } else {
 873        goto while_4_break;
 874      }
 875      {
 876#line 99
 877      __cil_tmp12 = (unsigned long )temp;
 878#line 99
 879      __cil_tmp13 = __cil_tmp12 + 8;
 880#line 99
 881      mem_20 = (struct __ACC__ERR **)__cil_tmp13;
 882#line 99
 883      next = *mem_20;
 884#line 100
 885      mem_21 = (void **)temp;
 886#line 100
 887      excep = *mem_21;
 888#line 101
 889      __cil_tmp14 = (void *)temp;
 890#line 101
 891      free(__cil_tmp14);
 892#line 102
 893      __utac__exception__cf_handler_reset(excep);
 894#line 103
 895      temp = next;
 896#line 104
 897      count = count - 1;
 898      }
 899    }
 900    while_4_break: /* CIL Label */ ;
 901    }
 902    {
 903#line 107
 904    __cil_tmp15 = (unsigned long )temp;
 905#line 107
 906    __cil_tmp16 = __cil_tmp15 + 8;
 907#line 107
 908    mem_22 = (struct __ACC__ERR **)__cil_tmp16;
 909#line 107
 910    head = *mem_22;
 911#line 108
 912    mem_23 = (void **)temp;
 913#line 108
 914    excep = *mem_23;
 915#line 109
 916    __cil_tmp17 = (void *)temp;
 917#line 109
 918    free(__cil_tmp17);
 919#line 110
 920    __utac__exception__cf_handler_reset(excep);
 921#line 820 "libacc.c"
 922    retValue_acc = excep;
 923    }
 924#line 822
 925    return (retValue_acc);
 926  } else {
 927
 928  }
 929#line 114
 930  if (mode == 2) {
 931#line 118 "libacc.c"
 932    if (head) {
 933#line 831
 934      mem_24 = (void **)head;
 935#line 831
 936      retValue_acc = *mem_24;
 937#line 833
 938      return (retValue_acc);
 939    } else {
 940#line 837 "libacc.c"
 941      retValue_acc = (void *)0;
 942#line 839
 943      return (retValue_acc);
 944    }
 945  } else {
 946
 947  }
 948#line 846 "libacc.c"
 949  return (retValue_acc);
 950}
 951}
 952#line 122 "libacc.c"
 953void *__utac__get_this_arg(int i , struct JoinPoint *this ) 
 954{ void *retValue_acc ;
 955  unsigned long __cil_tmp4 ;
 956  unsigned long __cil_tmp5 ;
 957  int __cil_tmp6 ;
 958  int __cil_tmp7 ;
 959  unsigned long __cil_tmp8 ;
 960  unsigned long __cil_tmp9 ;
 961  void **__cil_tmp10 ;
 962  void **__cil_tmp11 ;
 963  int *mem_12 ;
 964  void ***mem_13 ;
 965
 966  {
 967#line 123
 968  if (i > 0) {
 969    {
 970#line 123
 971    __cil_tmp4 = (unsigned long )this;
 972#line 123
 973    __cil_tmp5 = __cil_tmp4 + 16;
 974#line 123
 975    mem_12 = (int *)__cil_tmp5;
 976#line 123
 977    __cil_tmp6 = *mem_12;
 978#line 123
 979    if (i <= __cil_tmp6) {
 980
 981    } else {
 982      {
 983#line 123
 984      __assert_fail("i > 0 && i <= this->argsCount", "libacc.c",
 985                    123U, "__utac__get_this_arg");
 986      }
 987    }
 988    }
 989  } else {
 990    {
 991#line 123
 992    __assert_fail("i > 0 && i <= this->argsCount", "libacc.c",
 993                  123U, "__utac__get_this_arg");
 994    }
 995  }
 996#line 870 "libacc.c"
 997  __cil_tmp7 = i - 1;
 998#line 870
 999  __cil_tmp8 = (unsigned long )this;
1000#line 870
1001  __cil_tmp9 = __cil_tmp8 + 8;
1002#line 870
1003  mem_13 = (void ***)__cil_tmp9;
1004#line 870
1005  __cil_tmp10 = *mem_13;
1006#line 870
1007  __cil_tmp11 = __cil_tmp10 + __cil_tmp7;
1008#line 870
1009  retValue_acc = *__cil_tmp11;
1010#line 872
1011  return (retValue_acc);
1012#line 879
1013  return (retValue_acc);
1014}
1015}
1016#line 129 "libacc.c"
1017char const   *__utac__get_this_argtype(int i , struct JoinPoint *this ) 
1018{ char const   *retValue_acc ;
1019  unsigned long __cil_tmp4 ;
1020  unsigned long __cil_tmp5 ;
1021  int __cil_tmp6 ;
1022  int __cil_tmp7 ;
1023  unsigned long __cil_tmp8 ;
1024  unsigned long __cil_tmp9 ;
1025  char const   **__cil_tmp10 ;
1026  char const   **__cil_tmp11 ;
1027  int *mem_12 ;
1028  char const   ***mem_13 ;
1029
1030  {
1031#line 131
1032  if (i > 0) {
1033    {
1034#line 131
1035    __cil_tmp4 = (unsigned long )this;
1036#line 131
1037    __cil_tmp5 = __cil_tmp4 + 16;
1038#line 131
1039    mem_12 = (int *)__cil_tmp5;
1040#line 131
1041    __cil_tmp6 = *mem_12;
1042#line 131
1043    if (i <= __cil_tmp6) {
1044
1045    } else {
1046      {
1047#line 131
1048      __assert_fail("i > 0 && i <= this->argsCount", "libacc.c",
1049                    131U, "__utac__get_this_argtype");
1050      }
1051    }
1052    }
1053  } else {
1054    {
1055#line 131
1056    __assert_fail("i > 0 && i <= this->argsCount", "libacc.c",
1057                  131U, "__utac__get_this_argtype");
1058    }
1059  }
1060#line 903 "libacc.c"
1061  __cil_tmp7 = i - 1;
1062#line 903
1063  __cil_tmp8 = (unsigned long )this;
1064#line 903
1065  __cil_tmp9 = __cil_tmp8 + 24;
1066#line 903
1067  mem_13 = (char const   ***)__cil_tmp9;
1068#line 903
1069  __cil_tmp10 = *mem_13;
1070#line 903
1071  __cil_tmp11 = __cil_tmp10 + __cil_tmp7;
1072#line 903
1073  retValue_acc = *__cil_tmp11;
1074#line 905
1075  return (retValue_acc);
1076#line 912
1077  return (retValue_acc);
1078}
1079}
1080#line 1 "Environment.o"
1081#pragma merger(0,"Environment.i","")
1082#line 12 "Environment.h"
1083int getWaterLevel(void) ;
1084#line 9 "Environment.c"
1085int waterLevel  =    1;
1086#line 12 "Environment.c"
1087int methaneLevelCritical  =    0;
1088#line 15 "Environment.c"
1089void lowerWaterLevel(void) 
1090{ 
1091
1092  {
1093#line 19
1094  if (waterLevel > 0) {
1095#line 17
1096    waterLevel = waterLevel - 1;
1097  } else {
1098
1099  }
1100#line 81 "Environment.c"
1101  return;
1102}
1103}
1104#line 22 "Environment.c"
1105void waterRise(void) 
1106{ 
1107
1108  {
1109#line 26
1110  if (waterLevel < 2) {
1111#line 24
1112    waterLevel = waterLevel + 1;
1113  } else {
1114
1115  }
1116#line 104 "Environment.c"
1117  return;
1118}
1119}
1120#line 29 "Environment.c"
1121void changeMethaneLevel(void) 
1122{ 
1123
1124  {
1125#line 34
1126  if (methaneLevelCritical) {
1127#line 31
1128    methaneLevelCritical = 0;
1129  } else {
1130#line 33
1131    methaneLevelCritical = 1;
1132  }
1133#line 130 "Environment.c"
1134  return;
1135}
1136}
1137#line 38 "Environment.c"
1138int isMethaneLevelCritical(void) 
1139{ int retValue_acc ;
1140
1141  {
1142#line 148 "Environment.c"
1143  retValue_acc = methaneLevelCritical;
1144#line 150
1145  return (retValue_acc);
1146#line 157
1147  return (retValue_acc);
1148}
1149}
1150#line 44 "Environment.c"
1151void printEnvironment(void) 
1152{ 
1153
1154  {
1155  {
1156#line 45
1157  printf("Env(Water:%i", waterLevel);
1158#line 46
1159  printf(",Meth:");
1160  }
1161#line 47
1162  if (methaneLevelCritical) {
1163    {
1164#line 48
1165    printf("CRIT");
1166    }
1167  } else {
1168    {
1169#line 49
1170    printf("OK");
1171    }
1172  }
1173  {
1174#line 51
1175  printf(")");
1176  }
1177#line 189 "Environment.c"
1178  return;
1179}
1180}
1181#line 55 "Environment.c"
1182int getWaterLevel(void) 
1183{ int retValue_acc ;
1184
1185  {
1186#line 207 "Environment.c"
1187  retValue_acc = waterLevel;
1188#line 209
1189  return (retValue_acc);
1190#line 216
1191  return (retValue_acc);
1192}
1193}
1194#line 1 "wsllib_check.o"
1195#pragma merger(0,"wsllib_check.i","")
1196#line 3 "wsllib_check.c"
1197void __automaton_fail(void) 
1198{ 
1199
1200  {
1201  goto ERROR;
1202  ERROR: ;
1203#line 53 "wsllib_check.c"
1204  return;
1205}
1206}