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