Showing error 2047

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