Showing error 2062

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