Showing error 1852

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