Showing error 1982

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