Showing error 2053

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