[ 0:01] compiling /home/xrockai/src/divine/nightly/test/svcomp/product-lines/elevator_spec3_product25_true.cil.c [ 0:01] /home/xrockai/src/divine/nightly/test/svcomp/product-lines/elevator_spec3_product25_true.cil.c:45:44: warning: incompatible redeclaration of library function 'malloc' [ 0:01] extern __attribute__((__nothrow__)) void *malloc(size_t __size ) __attribute__((__malloc__)) ; [ 0:01] ^ [ 0:01] /home/xrockai/src/divine/nightly/test/svcomp/product-lines/elevator_spec3_product25_true.cil.c:45:44: note: 'malloc' is a builtin with type 'void *(unsigned long)' [ 0:01] /home/xrockai/src/divine/nightly/test/svcomp/product-lines/elevator_spec3_product25_true.cil.c:2755:10: warning: format string is not a string literal (potentially insecure) [ 0:01] printf(__cil_tmp6); [ 0:01] ^~~~~~~~~~ [ 0:01] /home/xrockai/src/divine/nightly/test/svcomp/product-lines/elevator_spec3_product25_true.cil.c:2755:10: note: treat the string as an argument to avoid this [ 0:01] printf(__cil_tmp6); [ 0:01] ^ [ 0:01] "%s", [ 0:01] /home/xrockai/src/divine/nightly/test/svcomp/product-lines/elevator_spec3_product25_true.cil.c:2760:12: warning: format string is not a string literal (potentially insecure) [ 0:01] printf(__cil_tmp7); [ 0:01] ^~~~~~~~~~ [ 0:01] /home/xrockai/src/divine/nightly/test/svcomp/product-lines/elevator_spec3_product25_true.cil.c:2760:12: note: treat the string as an argument to avoid this [ 0:01] printf(__cil_tmp7); [ 0:01] ^ [ 0:01] "%s", [ 0:01] /home/xrockai/src/divine/nightly/test/svcomp/product-lines/elevator_spec3_product25_true.cil.c:2765:12: warning: format string is not a string literal (potentially insecure) [ 0:01] printf(__cil_tmp8); [ 0:01] ^~~~~~~~~~ [ 0:01] /home/xrockai/src/divine/nightly/test/svcomp/product-lines/elevator_spec3_product25_true.cil.c:2765:12: note: treat the string as an argument to avoid this [ 0:01] printf(__cil_tmp8); [ 0:01] ^ [ 0:01] "%s", [ 0:01] /home/xrockai/src/divine/nightly/test/svcomp/product-lines/elevator_spec3_product25_true.cil.c:2770:10: warning: format string is not a string literal (potentially insecure) [ 0:01] printf(__cil_tmp9); [ 0:01] ^~~~~~~~~~ [ 0:01] /home/xrockai/src/divine/nightly/test/svcomp/product-lines/elevator_spec3_product25_true.cil.c:2770:10: note: treat the string as an argument to avoid this [ 0:01] printf(__cil_tmp9); [ 0:01] ^ [ 0:01] "%s", [ 0:01] /home/xrockai/src/divine/nightly/test/svcomp/product-lines/elevator_spec3_product25_true.cil.c:2774:10: warning: format string is not a string literal (potentially insecure) [ 0:01] printf(__cil_tmp11); [ 0:01] ^~~~~~~~~~~ [ 0:01] /home/xrockai/src/divine/nightly/test/svcomp/product-lines/elevator_spec3_product25_true.cil.c:2774:10: note: treat the string as an argument to avoid this [ 0:01] printf(__cil_tmp11); [ 0:01] ^ [ 0:01] "%s", [ 0:01] /home/xrockai/src/divine/nightly/test/svcomp/product-lines/elevator_spec3_product25_true.cil.c:2779:12: warning: format string is not a string literal (potentially insecure) [ 0:01] printf(__cil_tmp12); [ 0:01] ^~~~~~~~~~~ [ 0:01] /home/xrockai/src/divine/nightly/test/svcomp/product-lines/elevator_spec3_product25_true.cil.c:2779:12: note: treat the string as an argument to avoid this [ 0:01] printf(__cil_tmp12); [ 0:01] ^ [ 0:01] "%s", [ 0:01] /home/xrockai/src/divine/nightly/test/svcomp/product-lines/elevator_spec3_product25_true.cil.c:2784:12: warning: format string is not a string literal (potentially insecure) [ 0:01] printf(__cil_tmp13); [ 0:01] ^~~~~~~~~~~ [ 0:01] /home/xrockai/src/divine/nightly/test/svcomp/product-lines/elevator_spec3_product25_true.cil.c:2784:12: note: treat the string as an argument to avoid this [ 0:01] printf(__cil_tmp13); [ 0:01] ^ [ 0:01] "%s", [ 0:01] /home/xrockai/src/divine/nightly/test/svcomp/product-lines/elevator_spec3_product25_true.cil.c:2789:10: warning: format string is not a string literal (potentially insecure) [ 0:01] printf(__cil_tmp14); [ 0:01] ^~~~~~~~~~~ [ 0:01] /home/xrockai/src/divine/nightly/test/svcomp/product-lines/elevator_spec3_product25_true.cil.c:2789:10: note: treat the string as an argument to avoid this [ 0:01] printf(__cil_tmp14); [ 0:01] ^ [ 0:01] "%s", [ 0:01] /home/xrockai/src/divine/nightly/test/svcomp/product-lines/elevator_spec3_product25_true.cil.c:2833:10: warning: format string is not a string literal (potentially insecure) [ 0:01] printf(__cil_tmp20); [ 0:01] ^~~~~~~~~~~ [ 0:01] /home/xrockai/src/divine/nightly/test/svcomp/product-lines/elevator_spec3_product25_true.cil.c:2833:10: note: treat the string as an argument to avoid this [ 0:01] printf(__cil_tmp20); [ 0:01] ^ [ 0:01] "%s", [ 0:01] /home/xrockai/src/divine/nightly/test/svcomp/product-lines/elevator_spec3_product25_true.cil.c:2890:10: warning: format string is not a string literal (potentially insecure) [ 0:01] printf(__cil_tmp26); [ 0:01] ^~~~~~~~~~~ [ 0:01] /home/xrockai/src/divine/nightly/test/svcomp/product-lines/elevator_spec3_product25_true.cil.c:2890:10: note: treat the string as an argument to avoid this [ 0:01] printf(__cil_tmp26); [ 0:01] ^ [ 0:01] "%s", [ 0:01] 11 warnings generated. [ 0:01] compiling /dios/lib/config/seqklee.bc [ 0:01] setting up pass: functionmeta, options = [ 0:02] setting up pass: fuse-ctors, options = [ 0:02] KLEE: output directory is "/var/obj/divine-nightly/semidbg/test/__test_work_dir.18/_klee_out" [ 0:05] KLEE: Using Z3 solver backend [ 0:05] WARNING: this target does not support the llvm.stacksave intrinsic. [ 0:05] warning: Linking two modules of different target triples: klee_div_zero_check.bc' is 'x86_64-unknown-linux-gnu' whereas 'klee.bc' is 'x86_64-unknown-none-elf' [ 0:05] [ 0:05] KLEE: WARNING: undefined reference to function: __dios_tainted_init [ 0:08] KLEE: WARNING: undefined reference to function: klee_free [ 0:08] KLEE: WARNING: undefined reference to function: klee_malloc [ 0:08] i:1 [ 0:08] KLEE: WARNING ONCE: Alignment of memory from call "klee_malloc" is not modelled. Using alignment of 8. [ 0:08] about to __boot:0 [ 0:08] about to run the scheduler:0 [ 0:08] KLEE: WARNING ONCE: calling external: __dios_tainted_init() at /dios/libc/sys/start.cpp:49 5 [ 0:08] KLEE: ERROR: /dios/libc/sys/start.cpp:87: failed external call: __dios_tainted_init [ 0:08] KLEE: NOTE: now ignoring this error at this location [ 0:08] KLEE: ERROR: EXITING ON ERROR: [ 0:08] Error: failed external call: __dios_tainted_init [ 0:08] File: /dios/libc/sys/start.cpp [ 0:08] Line: 87 [ 0:08] assembly.ll line: 41486 [ 0:08] Stack: [ 0:08] #000041486 in __dios_start (l=0, argc=1, argv=93924410839560, envp=93924410900488) at /dios/libc/sys/start.cpp:87 [ 0:08] #100017448 in _ZN6__dios10sched_nullINS_5ClockINS_10NondetKleeINS_4BaseEEEEEE13run_schedulerINS_7ContextEEEvv () at /dios/sys/sched_null.hpp:163 [ 0:08] #200049811 in klee_boot (argc=2, argv=93924383767296) at /dios/arch/klee/boot.c:41 [ 0:08] [ 0:08] [ 0:08] 1 /* TAGS: c sym */ [ 0:08] 2 /* VERIFY_OPTS: --symbolic -o nofail:malloc */ [ 0:08] 3 extern void __VERIFIER_error() __attribute__ ((__noreturn__)); [ 0:08] 4 [ 0:08] 5 extern int __VERIFIER_nondet_int(void); [ 0:08] 6 /* Generated by CIL v. 1.3.7 */ [ 0:08] 7 /* print_CIL_Input is true */ [ 0:08] 8 [ 0:08] 9 struct JoinPoint { [ 0:08] 10 void **(*fp)(struct JoinPoint * ) ; [ 0:08] 11 void **args ; [ 0:08] 12 int argsCount ; [ 0:08] 13 char const **argsType ; [ 0:08] 14 void *(*arg)(int , struct JoinPoint * ) ; [ 0:08] 15 char const *(*argType)(int , struct JoinPoint * ) ; [ 0:08] 16 void **retValue ; [ 0:08] 17 char const *retType ; [ 0:08] 18 char const *funcName ; [ 0:08] 19 char const *targetName ; [ 0:08] 20 char const *fileName ; [ 0:08] 21 char const *kind ; [ 0:08] 22 void *excep_return ; [ 0:08] 23 }; [ 0:08] 24 struct __UTAC__CFLOW_FUNC { [ 0:08] 25 int (*func)(int , int ) ; [ 0:08] 26 int val ; [ 0:08] 27 struct __UTAC__CFLOW_FUNC *next ; [ 0:08] 28 }; [ 0:08] 29 struct __UTAC__EXCEPTION { [ 0:08] 30 void *jumpbuf ; [ 0:08] 31 unsigned long long prtValue ; [ 0:08] 32 int pops ; [ 0:08] 33 struct __UTAC__CFLOW_FUNC *cflowfuncs ; [ 0:08] 34 }; [ 0:08] 35 typedef unsigned int size_t; [ 0:08] 36 struct __ACC__ERR { [ 0:08] 37 void *v ; [ 0:08] 38 struct __ACC__ERR *next ; [ 0:08] 39 }; [ 0:08] 40 #pragma merger(0,"libacc.i","") [ 0:08] 41 extern __attribute__((__nothrow__, __noreturn__)) void __assert_fail(char const *__assertion , [ 0:08] 42 char const *__file , [ 0:08] 43 unsigned int __line , [ 0:08] 44 char const *__function ) ; [ 0:08] 45 extern __attribute__((__nothrow__)) void *malloc(size_t __size ) __attribute__((__malloc__)) ; [ 0:08] 46 extern __attribute__((__nothrow__)) void free(void *__ptr ) ; [ 0:08] 47 void __utac__exception__cf_handler_set(void *exception , int (*cflow_func)(int , [ 0:08] 48 int ) , [ 0:08] 49 int val ) [ 0:08] 50 { struct __UTAC__EXCEPTION *excep ; [ 0:08] 51 struct __UTAC__CFLOW_FUNC *cf ; [ 0:08] 52 void *tmp ; [ 0:08] 53 unsigned long __cil_tmp7 ; [ 0:08] 54 unsigned long __cil_tmp8 ; [ 0:08] 55 unsigned long __cil_tmp9 ; [ 0:08] 56 unsigned long __cil_tmp10 ; [ 0:08] 57 unsigned long __cil_tmp11 ; [ 0:08] 58 unsigned long __cil_tmp12 ; [ 0:08] 59 unsigned long __cil_tmp13 ; [ 0:08] 60 unsigned long __cil_tmp14 ; [ 0:08] 61 int (**mem_15)(int , int ) ; [ 0:08] 62 int *mem_16 ; [ 0:08] 63 struct __UTAC__CFLOW_FUNC **mem_17 ; [ 0:08] 64 struct __UTAC__CFLOW_FUNC **mem_18 ; [ 0:08] 65 struct __UTAC__CFLOW_FUNC **mem_19 ; [ 0:08] 66 [ 0:08] 67 { [ 0:08] 68 { [ 0:08] 69 excep = (struct __UTAC__EXCEPTION *)exception; [ 0:08] 70 tmp = malloc(24UL); [ 0:08] 71 cf = (struct __UTAC__CFLOW_FUNC *)tmp; [ 0:08] 72 mem_15 = (int (**)(int , int ))cf; [ 0:08] 73 *mem_15 = cflow_func; [ 0:08] 74 __cil_tmp7 = (unsigned long )cf; [ 0:08] 75 __cil_tmp8 = __cil_tmp7 + 8; [ 0:08] 76 mem_16 = (int *)__cil_tmp8; [ 0:08] 77 *mem_16 = val; [ 0:08] 78 __cil_tmp9 = (unsigned long )cf; [ 0:08] 79 __cil_tmp10 = __cil_tmp9 + 16; [ 0:08] 80 __cil_tmp11 = (unsigned long )excep; [ 0:08] 81 __cil_tmp12 = __cil_tmp11 + 24; [ 0:08] 82 mem_17 = (struct __UTAC__CFLOW_FUNC **)__cil_tmp10; [ 0:08] 83 mem_18 = (struct __UTAC__CFLOW_FUNC **)__cil_tmp12; [ 0:08] 84 *mem_17 = *mem_18; [ 0:08] 85 __cil_tmp13 = (unsigned long )excep; [ 0:08] 86 __cil_tmp14 = __cil_tmp13 + 24; [ 0:08] 87 mem_19 = (struct __UTAC__CFLOW_FUNC **)__cil_tmp14; [ 0:08] 88 *mem_19 = cf; [ 0:08] 89 } [ 0:08] 90 return; [ 0:08] 91 } [ 0:08] 92 } [ 0:08] 93 void __utac__exception__cf_handler_free(void *exception ) [ 0:08] 94 { struct __UTAC__EXCEPTION *excep ; [ 0:08] 95 struct __UTAC__CFLOW_FUNC *cf ; [ 0:08] 96 struct __UTAC__CFLOW_FUNC *tmp ; [ 0:08] 97 unsigned long __cil_tmp5 ; [ 0:08] 98 unsigned long __cil_tmp6 ; [ 0:08] 99 struct __UTAC__CFLOW_FUNC *__cil_tmp7 ; [ 0:08] 100 unsigned long __cil_tmp8 ; [ 0:08] 101 unsigned long __cil_tmp9 ; [ 0:08] 102 unsigned long __cil_tmp10 ; [ 0:08] 103 unsigned long __cil_tmp11 ; [ 0:08] 104 void *__cil_tmp12 ; [ 0:08] 105 unsigned long __cil_tmp13 ; [ 0:08] 106 unsigned long __cil_tmp14 ; [ 0:08] 107 struct __UTAC__CFLOW_FUNC **mem_15 ; [ 0:08] 108 struct __UTAC__CFLOW_FUNC **mem_16 ; [ 0:08] 109 struct __UTAC__CFLOW_FUNC **mem_17 ; [ 0:08] 110 [ 0:08] 111 { [ 0:08] 112 excep = (struct __UTAC__EXCEPTION *)exception; [ 0:08] 113 __cil_tmp5 = (unsigned long )excep; [ 0:08] 114 __cil_tmp6 = __cil_tmp5 + 24; [ 0:08] 115 mem_15 = (struct __UTAC__CFLOW_FUNC **)__cil_tmp6; [ 0:08] 116 cf = *mem_15; [ 0:08] 117 { [ 0:08] 118 while (1) { [ 0:08] 119 while_0_continue: /* CIL Label */ ; [ 0:08] 120 { [ 0:08] 121 __cil_tmp7 = (struct __UTAC__CFLOW_FUNC *)0; [ 0:08] 122 __cil_tmp8 = (unsigned long )__cil_tmp7; [ 0:08] 123 __cil_tmp9 = (unsigned long )cf; [ 0:08] 124 if (__cil_tmp9 != __cil_tmp8) { [ 0:08] 125 [ 0:08] 126 } else { [ 0:08] 127 goto while_0_break; [ 0:08] 128 } [ 0:08] 129 } [ 0:08] 130 { [ 0:08] 131 tmp = cf; [ 0:08] 132 __cil_tmp10 = (unsigned long )cf; [ 0:08] 133 __cil_tmp11 = __cil_tmp10 + 16; [ 0:08] 134 mem_16 = (struct __UTAC__CFLOW_FUNC **)__cil_tmp11; [ 0:08] 135 cf = *mem_16; [ 0:08] 136 __cil_tmp12 = (void *)tmp; [ 0:08] 137 free(__cil_tmp12); [ 0:08] 138 } [ 0:08] 139 } [ 0:08] 140 while_0_break: /* CIL Label */ ; [ 0:08] 141 } [ 0:08] 142 __cil_tmp13 = (unsigned long )excep; [ 0:08] 143 __cil_tmp14 = __cil_tmp13 + 24; [ 0:08] 144 mem_17 = (struct __UTAC__CFLOW_FUNC **)__cil_tmp14; [ 0:08] 145 *mem_17 = (struct __UTAC__CFLOW_FUNC *)0; [ 0:08] 146 return; [ 0:08] 147 } [ 0:08] 148 } [ 0:08] 149 void __utac__exception__cf_handler_reset(void *exception ) [ 0:08] 150 { struct __UTAC__EXCEPTION *excep ; [ 0:08] 151 struct __UTAC__CFLOW_FUNC *cf ; [ 0:08] 152 unsigned long __cil_tmp5 ; [ 0:08] 153 unsigned long __cil_tmp6 ; [ 0:08] 154 struct __UTAC__CFLOW_FUNC *__cil_tmp7 ; [ 0:08] 155 unsigned long __cil_tmp8 ; [ 0:08] 156 unsigned long __cil_tmp9 ; [ 0:08] 157 int (*__cil_tmp10)(int , int ) ; [ 0:08] 158 unsigned long __cil_tmp11 ; [ 0:08] 159 unsigned long __cil_tmp12 ; [ 0:08] 160 int __cil_tmp13 ; [ 0:08] 161 unsigned long __cil_tmp14 ; [ 0:08] 162 unsigned long __cil_tmp15 ; [ 0:08] 163 struct __UTAC__CFLOW_FUNC **mem_16 ; [ 0:08] 164 int (**mem_17)(int , int ) ; [ 0:08] 165 int *mem_18 ; [ 0:08] 166 struct __UTAC__CFLOW_FUNC **mem_19 ; [ 0:08] 167 [ 0:08] 168 { [ 0:08] 169 excep = (struct __UTAC__EXCEPTION *)exception; [ 0:08] 170 __cil_tmp5 = (unsigned long )excep; [ 0:08] 171 __cil_tmp6 = __cil_tmp5 + 24; [ 0:08] 172 mem_16 = (struct __UTAC__CFLOW_FUNC **)__cil_tmp6; [ 0:08] 173 cf = *mem_16; [ 0:08] 174 { [ 0:08] 175 while (1) { [ 0:08] 176 while_1_continue: /* CIL Label */ ; [ 0:08] 177 { [ 0:08] 178 __cil_tmp7 = (struct __UTAC__CFLOW_FUNC *)0; [ 0:08] 179 __cil_tmp8 = (unsigned long )__cil_tmp7; [ 0:08] 180 __cil_tmp9 = (unsigned long )cf; [ 0:08] 181 if (__cil_tmp9 != __cil_tmp8) { [ 0:08] 182 [ 0:08] 183 } else { [ 0:08] 184 goto while_1_break; [ 0:08] 185 } [ 0:08] 186 } [ 0:08] 187 { [ 0:08] 188 mem_17 = (int (**)(int , int ))cf; [ 0:08] 189 __cil_tmp10 = *mem_17; [ 0:08] 190 __cil_tmp11 = (unsigned long )cf; [ 0:08] 191 __cil_tmp12 = __cil_tmp11 + 8; [ 0:08] 192 mem_18 = (int *)__cil_tmp12; [ 0:08] 193 __cil_tmp13 = *mem_18; [ 0:08] 194 (*__cil_tmp10)(4, __cil_tmp13); [ 0:08] 195 __cil_tmp14 = (unsigned long )cf; [ 0:08] 196 __cil_tmp15 = __cil_tmp14 + 16; [ 0:08] 197 mem_19 = (struct __UTAC__CFLOW_FUNC **)__cil_tmp15; [ 0:08] 198 cf = *mem_19; [ 0:08] 199 } [ 0:08] 200 } [ 0:08] 201 while_1_break: /* CIL Label */ ; [ 0:08] 202 } [ 0:08] 203 { [ 0:08] 204 __utac__exception__cf_handler_free(exception); [ 0:08] 205 } [ 0:08] 206 return; [ 0:08] 207 } [ 0:08] 208 } [ 0:08] 209 void *__utac__error_stack_mgt(void *env , int mode , int count ) ; [ 0:08] 210 static struct __ACC__ERR *head = (struct __ACC__ERR *)0; [ 0:08] 211 void *__utac__error_stack_mgt(void *env , int mode , int count ) [ 0:08] 212 { void *retValue_acc ; [ 0:08] 213 struct __ACC__ERR *new ; [ 0:08] 214 void *tmp ; [ 0:08] 215 struct __ACC__ERR *temp ; [ 0:08] 216 struct __ACC__ERR *next ; [ 0:08] 217 void *excep ; [ 0:08] 218 unsigned long __cil_tmp10 ; [ 0:08] 219 unsigned long __cil_tmp11 ; [ 0:08] 220 unsigned long __cil_tmp12 ; [ 0:08] 221 unsigned long __cil_tmp13 ; [ 0:08] 222 void *__cil_tmp14 ; [ 0:08] 223 unsigned long __cil_tmp15 ; [ 0:08] 224 unsigned long __cil_tmp16 ; [ 0:08] 225 void *__cil_tmp17 ; [ 0:08] 226 void **mem_18 ; [ 0:08] 227 struct __ACC__ERR **mem_19 ; [ 0:08] 228 struct __ACC__ERR **mem_20 ; [ 0:08] 229 void **mem_21 ; [ 0:08] 230 struct __ACC__ERR **mem_22 ; [ 0:08] 231 void **mem_23 ; [ 0:08] 232 void **mem_24 ; [ 0:08] 233 [ 0:08] 234 { [ 0:08] 235 if (count == 0) { [ 0:08] 236 return (retValue_acc); [ 0:08] 237 } else { [ 0:08] 238 [ 0:08] 239 } [ 0:08] 240 if (mode == 0) { [ 0:08] 241 { [ 0:08] 242 tmp = malloc(16UL); [ 0:08] 243 new = (struct __ACC__ERR *)tmp; [ 0:08] 244 mem_18 = (void **)new; [ 0:08] 245 *mem_18 = env; [ 0:08] 246 __cil_tmp10 = (unsigned long )new; [ 0:08] 247 __cil_tmp11 = __cil_tmp10 + 8; [ 0:08] 248 mem_19 = (struct __ACC__ERR **)__cil_tmp11; [ 0:08] 249 *mem_19 = head; [ 0:08] 250 head = new; [ 0:08] 251 retValue_acc = (void *)new; [ 0:08] 252 } [ 0:08] 253 return (retValue_acc); [ 0:08] 254 } else { [ 0:08] 255 [ 0:08] 256 } [ 0:08] 257 if (mode == 1) { [ 0:08] 258 temp = head; [ 0:08] 259 { [ 0:08] 260 while (1) { [ 0:08] 261 while_2_continue: /* CIL Label */ ; [ 0:08] 262 if (count > 1) { [ 0:08] 263 [ 0:08] 264 } else { [ 0:08] 265 goto while_2_break; [ 0:08] 266 } [ 0:08] 267 { [ 0:08] 268 __cil_tmp12 = (unsigned long )temp; [ 0:08] 269 __cil_tmp13 = __cil_tmp12 + 8; [ 0:08] 270 mem_20 = (struct __ACC__ERR **)__cil_tmp13; [ 0:08] 271 next = *mem_20; [ 0:08] 272 mem_21 = (void **)temp; [ 0:08] 273 excep = *mem_21; [ 0:08] 274 __cil_tmp14 = (void *)temp; [ 0:08] 275 free(__cil_tmp14); [ 0:08] 276 __utac__exception__cf_handler_reset(excep); [ 0:08] 277 temp = next; [ 0:08] 278 count = count - 1; [ 0:08] 279 } [ 0:08] 280 } [ 0:08] 281 while_2_break: /* CIL Label */ ; [ 0:08] 282 } [ 0:08] 283 { [ 0:08] 284 __cil_tmp15 = (unsigned long )temp; [ 0:08] 285 __cil_tmp16 = __cil_tmp15 + 8; [ 0:08] 286 mem_22 = (struct __ACC__ERR **)__cil_tmp16; [ 0:08] 287 head = *mem_22; [ 0:08] 288 mem_23 = (void **)temp; [ 0:08] 289 excep = *mem_23; [ 0:08] 290 __cil_tmp17 = (void *)temp; [ 0:08] 291 free(__cil_tmp17); [ 0:08] 292 __utac__exception__cf_handler_reset(excep); [ 0:08] 293 retValue_acc = excep; [ 0:08] 294 } [ 0:08] 295 return (retValue_acc); [ 0:08] 296 } else { [ 0:08] 297 [ 0:08] 298 } [ 0:08] 299 if (mode == 2) { [ 0:08] 300 if (head) { [ 0:08] 301 mem_24 = (void **)head; [ 0:08] 302 retValue_acc = *mem_24; [ 0:08] 303 return (retValue_acc); [ 0:08] 304 } else { [ 0:08] 305 retValue_acc = (void *)0; [ 0:08] 306 return (retValue_acc); [ 0:08] 307 } [ 0:08] 308 } else { [ 0:08] 309 [ 0:08] 310 } [ 0:08] 311 return (retValue_acc); [ 0:08] 312 } [ 0:08] 313 } [ 0:08] 314 void *__utac__get_this_arg(int i , struct JoinPoint *this ) [ 0:08] 315 { void *retValue_acc ; [ 0:08] 316 unsigned long __cil_tmp4 ; [ 0:08] 317 unsigned long __cil_tmp5 ; [ 0:08] 318 int __cil_tmp6 ; [ 0:08] 319 int __cil_tmp7 ; [ 0:08] 320 unsigned long __cil_tmp8 ; [ 0:08] 321 unsigned long __cil_tmp9 ; [ 0:08] 322 void **__cil_tmp10 ; [ 0:08] 323 void **__cil_tmp11 ; [ 0:08] 324 int *mem_12 ; [ 0:08] 325 void ***mem_13 ; [ 0:08] 326 [ 0:08] 327 { [ 0:08] 328 if (i > 0) { [ 0:08] 329 { [ 0:08] 330 __cil_tmp4 = (unsigned long )this; [ 0:08] 331 __cil_tmp5 = __cil_tmp4 + 16; [ 0:08] 332 mem_12 = (int *)__cil_tmp5; [ 0:08] 333 __cil_tmp6 = *mem_12; [ 0:08] 334 if (i <= __cil_tmp6) { [ 0:08] 335 [ 0:08] 336 } else { [ 0:08] 337 { [ 0:08] 338 __assert_fail("i > 0 && i <= this->argsCount", "libacc.c", [ 0:08] 339 123U, "__utac__get_this_arg"); [ 0:08] 340 } [ 0:08] 341 } [ 0:08] 342 } [ 0:08] 343 } else { [ 0:08] 344 { [ 0:08] 345 __assert_fail("i > 0 && i <= this->argsCount", "libacc.c", [ 0:08] 346 123U, "__utac__get_this_arg"); [ 0:08] 347 } [ 0:08] 348 } [ 0:08] 349 __cil_tmp7 = i - 1; [ 0:08] 350 __cil_tmp8 = (unsigned long )this; [ 0:08] 351 __cil_tmp9 = __cil_tmp8 + 8; [ 0:08] 352 mem_13 = (void ***)__cil_tmp9; [ 0:08] 353 __cil_tmp10 = *mem_13; [ 0:08] 354 __cil_tmp11 = __cil_tmp10 + __cil_tmp7; [ 0:08] 355 retValue_acc = *__cil_tmp11; [ 0:08] 356 return (retValue_acc); [ 0:08] 357 return (retValue_acc); [ 0:08] 358 } [ 0:08] 359 } [ 0:08] 360 char const *__utac__get_this_argtype(int i , struct JoinPoint *this ) [ 0:08] 361 { char const *retValue_acc ; [ 0:08] 362 unsigned long __cil_tmp4 ; [ 0:08] 363 unsigned long __cil_tmp5 ; [ 0:08] 364 int __cil_tmp6 ; [ 0:08] 365 int __cil_tmp7 ; [ 0:08] 366 unsigned long __cil_tmp8 ; [ 0:08] 367 unsigned long __cil_tmp9 ; [ 0:08] 368 char const **__cil_tmp10 ; [ 0:08] 369 char const **__cil_tmp11 ; [ 0:08] 370 int *mem_12 ; [ 0:08] 371 char const ***mem_13 ; [ 0:08] 372 [ 0:08] 373 { [ 0:08] 374 if (i > 0) { [ 0:08] 375 { [ 0:08] 376 __cil_tmp4 = (unsigned long )this; [ 0:08] 377 __cil_tmp5 = __cil_tmp4 + 16; [ 0:08] 378 mem_12 = (int *)__cil_tmp5; [ 0:08] 379 __cil_tmp6 = *mem_12; [ 0:08] 380 if (i <= __cil_tmp6) { [ 0:08] 381 [ 0:08] 382 } else { [ 0:08] 383 { [ 0:08] 384 __assert_fail("i > 0 && i <= this->argsCount", "libacc.c", [ 0:08] 385 131U, "__utac__get_this_argtype"); [ 0:08] 386 } [ 0:08] 387 } [ 0:08] 388 } [ 0:08] 389 } else { [ 0:08] 390 { [ 0:08] 391 __assert_fail("i > 0 && i <= this->argsCount", "libacc.c", [ 0:08] 392 131U, "__utac__get_this_argtype"); [ 0:08] 393 } [ 0:08] 394 } [ 0:08] 395 __cil_tmp7 = i - 1; [ 0:08] 396 __cil_tmp8 = (unsigned long )this; [ 0:08] 397 __cil_tmp9 = __cil_tmp8 + 24; [ 0:08] 398 mem_13 = (char const ***)__cil_tmp9; [ 0:08] 399 __cil_tmp10 = *mem_13; [ 0:08] 400 __cil_tmp11 = __cil_tmp10 + __cil_tmp7; [ 0:08] 401 retValue_acc = *__cil_tmp11; [ 0:08] 402 return (retValue_acc); [ 0:08] 403 return (retValue_acc); [ 0:08] 404 } [ 0:08] 405 } [ 0:08] 406 #pragma merger(0,"Floor.i","") [ 0:08] 407 int isFloorCalling(int floorID ) ; [ 0:08] 408 void resetCallOnFloor(int floorID ) ; [ 0:08] 409 void callOnFloor(int floorID ) ; [ 0:08] 410 int isPersonOnFloor(int person , int floor ) ; [ 0:08] 411 void initPersonOnFloor(int person , int floor ) ; [ 0:08] 412 void removePersonFromFloor(int person , int floor ) ; [ 0:08] 413 int isTopFloor(int floorID ) ; [ 0:08] 414 void initFloors(void) ; [ 0:08] 415 int calls_0 ; [ 0:08] 416 int calls_1 ; [ 0:08] 417 int calls_2 ; [ 0:08] 418 int calls_3 ; [ 0:08] 419 int calls_4 ; [ 0:08] 420 int personOnFloor_0_0 ; [ 0:08] 421 int personOnFloor_0_1 ; [ 0:08] 422 int personOnFloor_0_2 ; [ 0:08] 423 int personOnFloor_0_3 ; [ 0:08] 424 int personOnFloor_0_4 ; [ 0:08] 425 int personOnFloor_1_0 ; [ 0:08] 426 int personOnFloor_1_1 ; [ 0:08] 427 int personOnFloor_1_2 ; [ 0:08] 428 int personOnFloor_1_3 ; [ 0:08] 429 int personOnFloor_1_4 ; [ 0:08] 430 int personOnFloor_2_0 ; [ 0:08] 431 int personOnFloor_2_1 ; [ 0:08] 432 int personOnFloor_2_2 ; [ 0:08] 433 int personOnFloor_2_3 ; [ 0:08] 434 int personOnFloor_2_4 ; [ 0:08] 435 int personOnFloor_3_0 ; [ 0:08] 436 int personOnFloor_3_1 ; [ 0:08] 437 int personOnFloor_3_2 ; [ 0:08] 438 int personOnFloor_3_3 ; [ 0:08] 439 int personOnFloor_3_4 ; [ 0:08] 440 int personOnFloor_4_0 ; [ 0:08] 441 int personOnFloor_4_1 ; [ 0:08] 442 int personOnFloor_4_2 ; [ 0:08] 443 int personOnFloor_4_3 ; [ 0:08] 444 int personOnFloor_4_4 ; [ 0:08] 445 int personOnFloor_5_0 ; [ 0:08] 446 int personOnFloor_5_1 ; [ 0:08] 447 int personOnFloor_5_2 ; [ 0:08] 448 int personOnFloor_5_3 ; [ 0:08] 449 int personOnFloor_5_4 ; [ 0:08] 450 void initFloors(void) [ 0:08] 451 { [ 0:08] 452 [ 0:08] 453 { [ 0:08] 454 calls_0 = 0; [ 0:08] 455 calls_1 = 0; [ 0:08] 456 calls_2 = 0; [ 0:08] 457 calls_3 = 0; [ 0:08] 458 calls_4 = 0; [ 0:08] 459 personOnFloor_0_0 = 0; [ 0:08] 460 personOnFloor_0_1 = 0; [ 0:08] 461 personOnFloor_0_2 = 0; [ 0:08] 462 personOnFloor_0_3 = 0; [ 0:08] 463 personOnFloor_0_4 = 0; [ 0:08] 464 personOnFloor_1_0 = 0; [ 0:08] 465 personOnFloor_1_1 = 0; [ 0:08] 466 personOnFloor_1_2 = 0; [ 0:08] 467 personOnFloor_1_3 = 0; [ 0:08] 468 personOnFloor_1_4 = 0; [ 0:08] 469 personOnFloor_2_0 = 0; [ 0:08] 470 personOnFloor_2_1 = 0; [ 0:08] 471 personOnFloor_2_2 = 0; [ 0:08] 472 personOnFloor_2_3 = 0; [ 0:08] 473 personOnFloor_2_4 = 0; [ 0:08] 474 personOnFloor_3_0 = 0; [ 0:08] 475 personOnFloor_3_1 = 0; [ 0:08] 476 personOnFloor_3_2 = 0; [ 0:08] 477 personOnFloor_3_3 = 0; [ 0:08] 478 personOnFloor_3_4 = 0; [ 0:08] 479 personOnFloor_4_0 = 0; [ 0:08] 480 personOnFloor_4_1 = 0; [ 0:08] 481 personOnFloor_4_2 = 0; [ 0:08] 482 personOnFloor_4_3 = 0; [ 0:08] 483 personOnFloor_4_4 = 0; [ 0:08] 484 personOnFloor_5_0 = 0; [ 0:08] 485 personOnFloor_5_1 = 0; [ 0:08] 486 personOnFloor_5_2 = 0; [ 0:08] 487 personOnFloor_5_3 = 0; [ 0:08] 488 personOnFloor_5_4 = 0; [ 0:08] 489 return; [ 0:08] 490 } [ 0:08] 491 } [ 0:08] 492 int isFloorCalling(int floorID ) [ 0:08] 493 { int retValue_acc ; [ 0:08] 494 [ 0:08] 495 { [ 0:08] 496 if (floorID == 0) { [ 0:08] 497 retValue_acc = calls_0; [ 0:08] 498 return (retValue_acc); [ 0:08] 499 } else { [ 0:08] 500 if (floorID == 1) { [ 0:08] 501 retValue_acc = calls_1; [ 0:08] 502 return (retValue_acc); [ 0:08] 503 } else { [ 0:08] 504 if (floorID == 2) { [ 0:08] 505 retValue_acc = calls_2; [ 0:08] 506 return (retValue_acc); [ 0:08] 507 } else { [ 0:08] 508 if (floorID == 3) { [ 0:08] 509 retValue_acc = calls_3; [ 0:08] 510 return (retValue_acc); [ 0:08] 511 } else { [ 0:08] 512 if (floorID == 4) { [ 0:08] 513 retValue_acc = calls_4; [ 0:08] 514 return (retValue_acc); [ 0:08] 515 } else { [ 0:08] 516 [ 0:08] 517 } [ 0:08] 518 } [ 0:08] 519 } [ 0:08] 520 } [ 0:08] 521 } [ 0:08] 522 retValue_acc = 0; [ 0:08] 523 return (retValue_acc); [ 0:08] 524 return (retValue_acc); [ 0:08] 525 } [ 0:08] 526 } [ 0:08] 527 void resetCallOnFloor(int floorID ) [ 0:08] 528 { [ 0:08] 529 [ 0:08] 530 { [ 0:08] 531 if (floorID == 0) { [ 0:08] 532 calls_0 = 0; [ 0:08] 533 } else { [ 0:08] 534 if (floorID == 1) { [ 0:08] 535 calls_1 = 0; [ 0:08] 536 } else { [ 0:08] 537 if (floorID == 2) { [ 0:08] 538 calls_2 = 0; [ 0:08] 539 } else { [ 0:08] 540 if (floorID == 3) { [ 0:08] 541 calls_3 = 0; [ 0:08] 542 } else { [ 0:08] 543 if (floorID == 4) { [ 0:08] 544 calls_4 = 0; [ 0:08] 545 } else { [ 0:08] 546 [ 0:08] 547 } [ 0:08] 548 } [ 0:08] 549 } [ 0:08] 550 } [ 0:08] 551 } [ 0:08] 552 return; [ 0:08] 553 } [ 0:08] 554 } [ 0:08] 555 void callOnFloor(int floorID ) [ 0:08] 556 { [ 0:08] 557 [ 0:08] 558 { [ 0:08] 559 if (floorID == 0) { [ 0:08] 560 calls_0 = 1; [ 0:08] 561 } else { [ 0:08] 562 if (floorID == 1) { [ 0:08] 563 calls_1 = 1; [ 0:08] 564 } else { [ 0:08] 565 if (floorID == 2) { [ 0:08] 566 calls_2 = 1; [ 0:08] 567 } else { [ 0:08] 568 if (floorID == 3) { [ 0:08] 569 calls_3 = 1; [ 0:08] 570 } else { [ 0:08] 571 if (floorID == 4) { [ 0:08] 572 calls_4 = 1; [ 0:08] 573 } else { [ 0:08] 574 [ 0:08] 575 } [ 0:08] 576 } [ 0:08] 577 } [ 0:08] 578 } [ 0:08] 579 } [ 0:08] 580 return; [ 0:08] 581 } [ 0:08] 582 } [ 0:08] 583 int isPersonOnFloor(int person , int floor ) [ 0:08] 584 { int retValue_acc ; [ 0:08] 585 [ 0:08] 586 { [ 0:08] 587 if (floor == 0) { [ 0:08] 588 if (person == 0) { [ 0:08] 589 retValue_acc = personOnFloor_0_0; [ 0:08] 590 return (retValue_acc); [ 0:08] 591 } else { [ 0:08] 592 if (person == 1) { [ 0:08] 593 retValue_acc = personOnFloor_1_0; [ 0:08] 594 return (retValue_acc); [ 0:08] 595 } else { [ 0:08] 596 if (person == 2) { [ 0:08] 597 retValue_acc = personOnFloor_2_0; [ 0:08] 598 return (retValue_acc); [ 0:08] 599 } else { [ 0:08] 600 if (person == 3) { [ 0:08] 601 retValue_acc = personOnFloor_3_0; [ 0:08] 602 return (retValue_acc); [ 0:08] 603 } else { [ 0:08] 604 if (person == 4) { [ 0:08] 605 retValue_acc = personOnFloor_4_0; [ 0:08] 606 return (retValue_acc); [ 0:08] 607 } else { [ 0:08] 608 if (person == 5) { [ 0:08] 609 retValue_acc = personOnFloor_5_0; [ 0:08] 610 return (retValue_acc); [ 0:08] 611 } else { [ 0:08] 612 [ 0:08] 613 } [ 0:08] 614 } [ 0:08] 615 } [ 0:08] 616 } [ 0:08] 617 } [ 0:08] 618 } [ 0:08] 619 } else { [ 0:08] 620 if (floor == 1) { [ 0:08] 621 if (person == 0) { [ 0:08] 622 retValue_acc = personOnFloor_0_1; [ 0:08] 623 return (retValue_acc); [ 0:08] 624 } else { [ 0:08] 625 if (person == 1) { [ 0:08] 626 retValue_acc = personOnFloor_1_1; [ 0:08] 627 return (retValue_acc); [ 0:08] 628 } else { [ 0:08] 629 if (person == 2) { [ 0:08] 630 retValue_acc = personOnFloor_2_1; [ 0:08] 631 return (retValue_acc); [ 0:08] 632 } else { [ 0:08] 633 if (person == 3) { [ 0:08] 634 retValue_acc = personOnFloor_3_1; [ 0:08] 635 return (retValue_acc); [ 0:08] 636 } else { [ 0:08] 637 if (person == 4) { [ 0:08] 638 retValue_acc = personOnFloor_4_1; [ 0:08] 639 return (retValue_acc); [ 0:08] 640 } else { [ 0:08] 641 if (person == 5) { [ 0:08] 642 retValue_acc = personOnFloor_5_1; [ 0:08] 643 return (retValue_acc); [ 0:08] 644 } else { [ 0:08] 645 [ 0:08] 646 } [ 0:08] 647 } [ 0:08] 648 } [ 0:08] 649 } [ 0:08] 650 } [ 0:08] 651 } [ 0:08] 652 } else { [ 0:08] 653 if (floor == 2) { [ 0:08] 654 if (person == 0) { [ 0:08] 655 retValue_acc = personOnFloor_0_2; [ 0:08] 656 return (retValue_acc); [ 0:08] 657 } else { [ 0:08] 658 if (person == 1) { [ 0:08] 659 retValue_acc = personOnFloor_1_2; [ 0:08] 660 return (retValue_acc); [ 0:08] 661 } else { [ 0:08] 662 if (person == 2) { [ 0:08] 663 retValue_acc = personOnFloor_2_2; [ 0:08] 664 return (retValue_acc); [ 0:08] 665 } else { [ 0:08] 666 if (person == 3) { [ 0:08] 667 retValue_acc = personOnFloor_3_2; [ 0:08] 668 return (retValue_acc); [ 0:08] 669 } else { [ 0:08] 670 if (person == 4) { [ 0:08] 671 retValue_acc = personOnFloor_4_2; [ 0:08] 672 return (retValue_acc); [ 0:08] 673 } else { [ 0:08] 674 if (person == 5) { [ 0:08] 675 retValue_acc = personOnFloor_5_2; [ 0:08] 676 return (retValue_acc); [ 0:08] 677 } else { [ 0:08] 678 [ 0:08] 679 } [ 0:08] 680 } [ 0:08] 681 } [ 0:08] 682 } [ 0:08] 683 } [ 0:08] 684 } [ 0:08] 685 } else { [ 0:08] 686 if (floor == 3) { [ 0:08] 687 if (person == 0) { [ 0:08] 688 retValue_acc = personOnFloor_0_3; [ 0:08] 689 return (retValue_acc); [ 0:08] 690 } else { [ 0:08] 691 if (person == 1) { [ 0:08] 692 retValue_acc = personOnFloor_1_3; [ 0:08] 693 return (retValue_acc); [ 0:08] 694 } else { [ 0:08] 695 if (person == 2) { [ 0:08] 696 retValue_acc = personOnFloor_2_3; [ 0:08] 697 return (retValue_acc); [ 0:08] 698 } else { [ 0:08] 699 if (person == 3) { [ 0:08] 700 retValue_acc = personOnFloor_3_3; [ 0:08] 701 return (retValue_acc); [ 0:08] 702 } else { [ 0:08] 703 if (person == 4) { [ 0:08] 704 retValue_acc = personOnFloor_4_3; [ 0:08] 705 return (retValue_acc); [ 0:08] 706 } else { [ 0:08] 707 if (person == 5) { [ 0:08] 708 retValue_acc = personOnFloor_5_3; [ 0:08] 709 return (retValue_acc); [ 0:08] 710 } else { [ 0:08] 711 [ 0:08] 712 } [ 0:08] 713 } [ 0:08] 714 } [ 0:08] 715 } [ 0:08] 716 } [ 0:08] 717 } [ 0:08] 718 } else { [ 0:08] 719 if (floor == 4) { [ 0:08] 720 if (person == 0) { [ 0:08] 721 retValue_acc = personOnFloor_0_4; [ 0:08] 722 return (retValue_acc); [ 0:08] 723 } else { [ 0:08] 724 if (person == 1) { [ 0:08] 725 retValue_acc = personOnFloor_1_4; [ 0:08] 726 return (retValue_acc); [ 0:08] 727 } else { [ 0:08] 728 if (person == 2) { [ 0:08] 729 retValue_acc = personOnFloor_2_4; [ 0:08] 730 return (retValue_acc); [ 0:08] 731 } else { [ 0:08] 732 if (person == 3) { [ 0:08] 733 retValue_acc = personOnFloor_3_4; [ 0:08] 734 return (retValue_acc); [ 0:08] 735 } else { [ 0:08] 736 if (person == 4) { [ 0:08] 737 retValue_acc = personOnFloor_4_4; [ 0:08] 738 return (retValue_acc); [ 0:08] 739 } else { [ 0:08] 740 if (person == 5) { [ 0:08] 741 retValue_acc = personOnFloor_5_4; [ 0:08] 742 return (retValue_acc); [ 0:08] 743 } else { [ 0:08] 744 [ 0:08] 745 } [ 0:08] 746 } [ 0:08] 747 } [ 0:08] 748 } [ 0:08] 749 } [ 0:08] 750 } [ 0:08] 751 } else { [ 0:08] 752 [ 0:08] 753 } [ 0:08] 754 } [ 0:08] 755 } [ 0:08] 756 } [ 0:08] 757 } [ 0:08] 758 retValue_acc = 0; [ 0:08] 759 return (retValue_acc); [ 0:08] 760 return (retValue_acc); [ 0:08] 761 } [ 0:08] 762 } [ 0:08] 763 void initPersonOnFloor(int person , int floor ) [ 0:08] 764 { [ 0:08] 765 [ 0:08] 766 { [ 0:08] 767 if (floor == 0) { [ 0:08] 768 if (person == 0) { [ 0:08] 769 personOnFloor_0_0 = 1; [ 0:08] 770 } else { [ 0:08] 771 if (person == 1) { [ 0:08] 772 personOnFloor_1_0 = 1; [ 0:08] 773 } else { [ 0:08] 774 if (person == 2) { [ 0:08] 775 personOnFloor_2_0 = 1; [ 0:08] 776 } else { [ 0:08] 777 if (person == 3) { [ 0:08] 778 personOnFloor_3_0 = 1; [ 0:08] 779 } else { [ 0:08] 780 if (person == 4) { [ 0:08] 781 personOnFloor_4_0 = 1; [ 0:08] 782 } else { [ 0:08] 783 if (person == 5) { [ 0:08] 784 personOnFloor_5_0 = 1; [ 0:08] 785 } else { [ 0:08] 786 [ 0:08] 787 } [ 0:08] 788 } [ 0:08] 789 } [ 0:08] 790 } [ 0:08] 791 } [ 0:08] 792 } [ 0:08] 793 } else { [ 0:08] 794 if (floor == 1) { [ 0:08] 795 if (person == 0) { [ 0:08] 796 personOnFloor_0_1 = 1; [ 0:08] 797 } else { [ 0:08] 798 if (person == 1) { [ 0:08] 799 personOnFloor_1_1 = 1; [ 0:08] 800 } else { [ 0:08] 801 if (person == 2) { [ 0:08] 802 personOnFloor_2_1 = 1; [ 0:08] 803 } else { [ 0:08] 804 if (person == 3) { [ 0:08] 805 personOnFloor_3_1 = 1; [ 0:08] 806 } else { [ 0:08] 807 if (person == 4) { [ 0:08] 808 personOnFloor_4_1 = 1; [ 0:08] 809 } else { [ 0:08] 810 if (person == 5) { [ 0:08] 811 personOnFloor_5_1 = 1; [ 0:08] 812 } else { [ 0:08] 813 [ 0:08] 814 } [ 0:08] 815 } [ 0:08] 816 } [ 0:08] 817 } [ 0:08] 818 } [ 0:08] 819 } [ 0:08] 820 } else { [ 0:08] 821 if (floor == 2) { [ 0:08] 822 if (person == 0) { [ 0:08] 823 personOnFloor_0_2 = 1; [ 0:08] 824 } else { [ 0:08] 825 if (person == 1) { [ 0:08] 826 personOnFloor_1_2 = 1; [ 0:08] 827 } else { [ 0:08] 828 if (person == 2) { [ 0:08] 829 personOnFloor_2_2 = 1; [ 0:08] 830 } else { [ 0:08] 831 if (person == 3) { [ 0:08] 832 personOnFloor_3_2 = 1; [ 0:08] 833 } else { [ 0:08] 834 if (person == 4) { [ 0:08] 835 personOnFloor_4_2 = 1; [ 0:08] 836 } else { [ 0:08] 837 if (person == 5) { [ 0:08] 838 personOnFloor_5_2 = 1; [ 0:08] 839 } else { [ 0:08] 840 [ 0:08] 841 } [ 0:08] 842 } [ 0:08] 843 } [ 0:08] 844 } [ 0:08] 845 } [ 0:08] 846 } [ 0:08] 847 } else { [ 0:08] 848 if (floor == 3) { [ 0:08] 849 if (person == 0) { [ 0:08] 850 personOnFloor_0_3 = 1; [ 0:08] 851 } else { [ 0:08] 852 if (person == 1) { [ 0:08] 853 personOnFloor_1_3 = 1; [ 0:08] 854 } else { [ 0:08] 855 if (person == 2) { [ 0:08] 856 personOnFloor_2_3 = 1; [ 0:08] 857 } else { [ 0:08] 858 if (person == 3) { [ 0:08] 859 personOnFloor_3_3 = 1; [ 0:08] 860 } else { [ 0:08] 861 if (person == 4) { [ 0:08] 862 personOnFloor_4_3 = 1; [ 0:08] 863 } else { [ 0:08] 864 if (person == 5) { [ 0:08] 865 personOnFloor_5_3 = 1; [ 0:08] 866 } else { [ 0:08] 867 [ 0:08] 868 } [ 0:08] 869 } [ 0:08] 870 } [ 0:08] 871 } [ 0:08] 872 } [ 0:08] 873 } [ 0:08] 874 } else { [ 0:08] 875 if (floor == 4) { [ 0:08] 876 if (person == 0) { [ 0:08] 877 personOnFloor_0_4 = 1; [ 0:08] 878 } else { [ 0:08] 879 if (person == 1) { [ 0:08] 880 personOnFloor_1_4 = 1; [ 0:08] 881 } else { [ 0:08] 882 if (person == 2) { [ 0:08] 883 personOnFloor_2_4 = 1; [ 0:08] 884 } else { [ 0:08] 885 if (person == 3) { [ 0:08] 886 personOnFloor_3_4 = 1; [ 0:08] 887 } else { [ 0:08] 888 if (person == 4) { [ 0:08] 889 personOnFloor_4_4 = 1; [ 0:08] 890 } else { [ 0:08] 891 if (person == 5) { [ 0:08] 892 personOnFloor_5_4 = 1; [ 0:08] 893 } else { [ 0:08] 894 [ 0:08] 895 } [ 0:08] 896 } [ 0:08] 897 } [ 0:08] 898 } [ 0:08] 899 } [ 0:08] 900 } [ 0:08] 901 } else { [ 0:08] 902 [ 0:08] 903 } [ 0:08] 904 } [ 0:08] 905 } [ 0:08] 906 } [ 0:08] 907 } [ 0:08] 908 { [ 0:08] 909 callOnFloor(floor); [ 0:08] 910 } [ 0:08] 911 return; [ 0:08] 912 } [ 0:08] 913 } [ 0:08] 914 void removePersonFromFloor(int person , int floor ) [ 0:08] 915 { [ 0:08] 916 [ 0:08] 917 { [ 0:08] 918 if (floor == 0) { [ 0:08] 919 if (person == 0) { [ 0:08] 920 personOnFloor_0_0 = 0; [ 0:08] 921 } else { [ 0:08] 922 if (person == 1) { [ 0:08] 923 personOnFloor_1_0 = 0; [ 0:08] 924 } else { [ 0:08] 925 if (person == 2) { [ 0:08] 926 personOnFloor_2_0 = 0; [ 0:08] 927 } else { [ 0:08] 928 if (person == 3) { [ 0:08] 929 personOnFloor_3_0 = 0; [ 0:08] 930 } else { [ 0:08] 931 if (person == 4) { [ 0:08] 932 personOnFloor_4_0 = 0; [ 0:08] 933 } else { [ 0:08] 934 if (person == 5) { [ 0:08] 935 personOnFloor_5_0 = 0; [ 0:08] 936 } else { [ 0:08] 937 [ 0:08] 938 } [ 0:08] 939 } [ 0:08] 940 } [ 0:08] 941 } [ 0:08] 942 } [ 0:08] 943 } [ 0:08] 944 } else { [ 0:08] 945 if (floor == 1) { [ 0:08] 946 if (person == 0) { [ 0:08] 947 personOnFloor_0_1 = 0; [ 0:08] 948 } else { [ 0:08] 949 if (person == 1) { [ 0:08] 950 personOnFloor_1_1 = 0; [ 0:08] 951 } else { [ 0:08] 952 if (person == 2) { [ 0:08] 953 personOnFloor_2_1 = 0; [ 0:08] 954 } else { [ 0:08] 955 if (person == 3) { [ 0:08] 956 personOnFloor_3_1 = 0; [ 0:08] 957 } else { [ 0:08] 958 if (person == 4) { [ 0:08] 959 personOnFloor_4_1 = 0; [ 0:08] 960 } else { [ 0:08] 961 if (person == 5) { [ 0:08] 962 personOnFloor_5_1 = 0; [ 0:08] 963 } else { [ 0:08] 964 [ 0:08] 965 } [ 0:08] 966 } [ 0:08] 967 } [ 0:08] 968 } [ 0:08] 969 } [ 0:08] 970 } [ 0:08] 971 } else { [ 0:08] 972 if (floor == 2) { [ 0:08] 973 if (person == 0) { [ 0:08] 974 personOnFloor_0_2 = 0; [ 0:08] 975 } else { [ 0:08] 976 if (person == 1) { [ 0:08] 977 personOnFloor_1_2 = 0; [ 0:08] 978 } else { [ 0:08] 979 if (person == 2) { [ 0:08] 980 personOnFloor_2_2 = 0; [ 0:08] 981 } else { [ 0:08] 982 if (person == 3) { [ 0:08] 983 personOnFloor_3_2 = 0; [ 0:08] 984 } else { [ 0:08] 985 if (person == 4) { [ 0:08] 986 personOnFloor_4_2 = 0; [ 0:08] 987 } else { [ 0:08] 988 if (person == 5) { [ 0:08] 989 personOnFloor_5_2 = 0; [ 0:08] 990 } else { [ 0:08] 991 [ 0:08] 992 } [ 0:08] 993 } [ 0:08] 994 } [ 0:08] 995 } [ 0:08] 996 } [ 0:08] 997 } [ 0:08] 998 } else { [ 0:08] 999 if (floor == 3) { [ 0:08] 1000 if (person == 0) { [ 0:08] 1001 personOnFloor_0_3 = 0; [ 0:08] 1002 } else { [ 0:08] 1003 if (person == 1) { [ 0:08] 1004 personOnFloor_1_3 = 0; [ 0:08] 1005 } else { [ 0:08] 1006 if (person == 2) { [ 0:08] 1007 personOnFloor_2_3 = 0; [ 0:08] 1008 } else { [ 0:08] 1009 if (person == 3) { [ 0:08] 1010 personOnFloor_3_3 = 0; [ 0:08] 1011 } else { [ 0:08] 1012 if (person == 4) { [ 0:08] 1013 personOnFloor_4_3 = 0; [ 0:08] 1014 } else { [ 0:08] 1015 if (person == 5) { [ 0:08] 1016 personOnFloor_5_3 = 0; [ 0:08] 1017 } else { [ 0:08] 1018 [ 0:08] 1019 } [ 0:08] 1020 } [ 0:08] 1021 } [ 0:08] 1022 } [ 0:08] 1023 } [ 0:08] 1024 } [ 0:08] 1025 } else { [ 0:08] 1026 if (floor == 4) { [ 0:08] 1027 if (person == 0) { [ 0:08] 1028 personOnFloor_0_4 = 0; [ 0:08] 1029 } else { [ 0:08] 1030 if (person == 1) { [ 0:08] 1031 personOnFloor_1_4 = 0; [ 0:08] 1032 } else { [ 0:08] 1033 if (person == 2) { [ 0:08] 1034 personOnFloor_2_4 = 0; [ 0:08] 1035 } else { [ 0:08] 1036 if (person == 3) { [ 0:08] 1037 personOnFloor_3_4 = 0; [ 0:08] 1038 } else { [ 0:08] 1039 if (person == 4) { [ 0:08] 1040 personOnFloor_4_4 = 0; [ 0:08] 1041 } else { [ 0:08] 1042 if (person == 5) { [ 0:08] 1043 personOnFloor_5_4 = 0; [ 0:08] 1044 } else { [ 0:08] 1045 [ 0:08] 1046 } [ 0:08] 1047 } [ 0:08] 1048 } [ 0:08] 1049 } [ 0:08] 1050 } [ 0:08] 1051 } [ 0:08] 1052 } else { [ 0:08] 1053 [ 0:08] 1054 } [ 0:08] 1055 } [ 0:08] 1056 } [ 0:08] 1057 } [ 0:08] 1058 } [ 0:08] 1059 { [ 0:08] 1060 resetCallOnFloor(floor); [ 0:08] 1061 } [ 0:08] 1062 return; [ 0:08] 1063 } [ 0:08] 1064 } [ 0:08] 1065 int isTopFloor(int floorID ) [ 0:08] 1066 { int retValue_acc ; [ 0:08] 1067 [ 0:08] 1068 { [ 0:08] 1069 retValue_acc = floorID == 4; [ 0:08] 1070 return (retValue_acc); [ 0:08] 1071 return (retValue_acc); [ 0:08] 1072 } [ 0:08] 1073 } [ 0:08] 1074 #pragma merger(0,"featureselect.i","") [ 0:08] 1075 int select_one(void) ; [ 0:08] 1076 void select_features(void) ; [ 0:08] 1077 void select_helpers(void) ; [ 0:08] 1078 int valid_product(void) ; [ 0:08] 1079 int select_one(void) [ 0:08] 1080 { int retValue_acc ; [ 0:08] 1081 int choice = __VERIFIER_nondet_int(); [ 0:08] 1082 [ 0:08] 1083 { [ 0:08] 1084 retValue_acc = choice; [ 0:08] 1085 return (retValue_acc); [ 0:08] 1086 return (retValue_acc); [ 0:08] 1087 } [ 0:08] 1088 } [ 0:08] 1089 void select_features(void) [ 0:08] 1090 { [ 0:08] 1091 [ 0:08] 1092 { [ 0:08] 1093 return; [ 0:08] 1094 } [ 0:08] 1095 } [ 0:08] 1096 void select_helpers(void) [ 0:08] 1097 { [ 0:08] 1098 [ 0:08] 1099 { [ 0:08] 1100 return; [ 0:08] 1101 } [ 0:08] 1102 } [ 0:08] 1103 int valid_product(void) [ 0:08] 1104 { int retValue_acc ; [ 0:08] 1105 [ 0:08] 1106 { [ 0:08] 1107 retValue_acc = 1; [ 0:08] 1108 return (retValue_acc); [ 0:08] 1109 return (retValue_acc); [ 0:08] 1110 } [ 0:08] 1111 } [ 0:08] 1112 #pragma merger(0,"wsllib_check.i","") [ 0:08] 1113 void __automaton_fail(void) [ 0:08] 1114 { [ 0:08] 1115 [ 0:08] 1116 { [ 0:08] 1117 ERROR: __VERIFIER_error(); [ 0:08] 1118 return; [ 0:08] 1119 } [ 0:08] 1120 } [ 0:08] 1121 #pragma merger(0,"Test.i","") [ 0:08] 1122 extern __attribute__((__nothrow__, __noreturn__)) void exit(int __status ) ; [ 0:08] 1123 int cleanupTimeShifts = 12; [ 0:08] 1124 int get_nondetMinMax07(void) [ 0:08] 1125 { int retValue_acc ; [ 0:08] 1126 int nd ; [ 0:08] 1127 nd = __VERIFIER_nondet_int(); [ 0:08] 1128 [ 0:08] 1129 { [ 0:08] 1130 if (nd == 0) { [ 0:08] 1131 retValue_acc = 0; [ 0:08] 1132 return (retValue_acc); [ 0:08] 1133 } else { [ 0:08] 1134 if (nd == 1) { [ 0:08] 1135 retValue_acc = 1; [ 0:08] 1136 return (retValue_acc); [ 0:08] 1137 } else { [ 0:08] 1138 if (nd == 2) { [ 0:08] 1139 retValue_acc = 2; [ 0:08] 1140 return (retValue_acc); [ 0:08] 1141 } else { [ 0:08] 1142 if (nd == 3) { [ 0:08] 1143 retValue_acc = 3; [ 0:08] 1144 return (retValue_acc); [ 0:08] 1145 } else { [ 0:08] 1146 if (nd == 4) { [ 0:08] 1147 retValue_acc = 4; [ 0:08] 1148 return (retValue_acc); [ 0:08] 1149 } else { [ 0:08] 1150 if (nd == 5) { [ 0:08] 1151 retValue_acc = 5; [ 0:08] 1152 return (retValue_acc); [ 0:08] 1153 } else { [ 0:08] 1154 if (nd == 6) { [ 0:08] 1155 retValue_acc = 6; [ 0:08] 1156 return (retValue_acc); [ 0:08] 1157 } else { [ 0:08] 1158 if (nd == 7) { [ 0:08] 1159 retValue_acc = 7; [ 0:08] 1160 return (retValue_acc); [ 0:08] 1161 } else { [ 0:08] 1162 { [ 0:08] 1163 exit(0); [ 0:08] 1164 } [ 0:08] 1165 } [ 0:08] 1166 } [ 0:08] 1167 } [ 0:08] 1168 } [ 0:08] 1169 } [ 0:08] 1170 } [ 0:08] 1171 } [ 0:08] 1172 } [ 0:08] 1173 return (retValue_acc); [ 0:08] 1174 } [ 0:08] 1175 } [ 0:08] 1176 int getOrigin(int person ) ; [ 0:08] 1177 void bobCall(void) [ 0:08] 1178 { int tmp ; [ 0:08] 1179 [ 0:08] 1180 { [ 0:08] 1181 { [ 0:08] 1182 tmp = getOrigin(0); [ 0:08] 1183 initPersonOnFloor(0, tmp); [ 0:08] 1184 } [ 0:08] 1185 return; [ 0:08] 1186 } [ 0:08] 1187 } [ 0:08] 1188 void aliceCall(void) [ 0:08] 1189 { int tmp ; [ 0:08] 1190 [ 0:08] 1191 { [ 0:08] 1192 { [ 0:08] 1193 tmp = getOrigin(1); [ 0:08] 1194 initPersonOnFloor(1, tmp); [ 0:08] 1195 } [ 0:08] 1196 return; [ 0:08] 1197 } [ 0:08] 1198 } [ 0:08] 1199 void angelinaCall(void) [ 0:08] 1200 { int tmp ; [ 0:08] 1201 [ 0:08] 1202 { [ 0:08] 1203 { [ 0:08] 1204 tmp = getOrigin(2); [ 0:08] 1205 initPersonOnFloor(2, tmp); [ 0:08] 1206 } [ 0:08] 1207 return; [ 0:08] 1208 } [ 0:08] 1209 } [ 0:08] 1210 void chuckCall(void) [ 0:08] 1211 { int tmp ; [ 0:08] 1212 [ 0:08] 1213 { [ 0:08] 1214 { [ 0:08] 1215 tmp = getOrigin(3); [ 0:08] 1216 initPersonOnFloor(3, tmp); [ 0:08] 1217 } [ 0:08] 1218 return; [ 0:08] 1219 } [ 0:08] 1220 } [ 0:08] 1221 void monicaCall(void) [ 0:08] 1222 { int tmp ; [ 0:08] 1223 [ 0:08] 1224 { [ 0:08] 1225 { [ 0:08] 1226 tmp = getOrigin(4); [ 0:08] 1227 initPersonOnFloor(4, tmp); [ 0:08] 1228 } [ 0:08] 1229 return; [ 0:08] 1230 } [ 0:08] 1231 } [ 0:08] 1232 void bigMacCall(void) [ 0:08] 1233 { int tmp ; [ 0:08] 1234 [ 0:08] 1235 { [ 0:08] 1236 { [ 0:08] 1237 tmp = getOrigin(5); [ 0:08] 1238 initPersonOnFloor(5, tmp); [ 0:08] 1239 } [ 0:08] 1240 return; [ 0:08] 1241 } [ 0:08] 1242 } [ 0:08] 1243 void timeShift(void) ; [ 0:08] 1244 void threeTS(void) [ 0:08] 1245 { [ 0:08] 1246 [ 0:08] 1247 { [ 0:08] 1248 { [ 0:08] 1249 timeShift(); [ 0:08] 1250 timeShift(); [ 0:08] 1251 timeShift(); [ 0:08] 1252 } [ 0:08] 1253 return; [ 0:08] 1254 } [ 0:08] 1255 } [ 0:08] 1256 int isIdle(void) ; [ 0:08] 1257 int isBlocked(void) ; [ 0:08] 1258 void cleanup(void) [ 0:08] 1259 { int i ; [ 0:08] 1260 int tmp ; [ 0:08] 1261 int tmp___0 ; [ 0:08] 1262 int __cil_tmp4 ; [ 0:08] 1263 [ 0:08] 1264 { [ 0:08] 1265 { [ 0:08] 1266 timeShift(); [ 0:08] 1267 i = 0; [ 0:08] 1268 } [ 0:08] 1269 { [ 0:08] 1270 while (1) { [ 0:08] 1271 while_3_continue: /* CIL Label */ ; [ 0:08] 1272 { [ 0:08] 1273 __cil_tmp4 = cleanupTimeShifts - 1; [ 0:08] 1274 if (i < __cil_tmp4) { [ 0:08] 1275 { [ 0:08] 1276 tmp___0 = isBlocked(); [ 0:08] 1277 } [ 0:08] 1278 if (tmp___0 != 1) { [ 0:08] 1279 [ 0:08] 1280 } else { [ 0:08] 1281 goto while_3_break; [ 0:08] 1282 } [ 0:08] 1283 } else { [ 0:08] 1284 goto while_3_break; [ 0:08] 1285 } [ 0:08] 1286 } [ 0:08] 1287 { [ 0:08] 1288 tmp = isIdle(); [ 0:08] 1289 } [ 0:08] 1290 if (tmp) { [ 0:08] 1291 return; [ 0:08] 1292 } else { [ 0:08] 1293 { [ 0:08] 1294 timeShift(); [ 0:08] 1295 } [ 0:08] 1296 } [ 0:08] 1297 i = i + 1; [ 0:08] 1298 } [ 0:08] 1299 while_3_break: /* CIL Label */ ; [ 0:08] 1300 } [ 0:08] 1301 return; [ 0:08] 1302 } [ 0:08] 1303 } [ 0:08] 1304 void initTopDown(void) ; [ 0:08] 1305 void initBottomUp(void) ; [ 0:08] 1306 void randomSequenceOfActions(void) [ 0:08] 1307 { int maxLength ; [ 0:08] 1308 int tmp ; [ 0:08] 1309 int counter ; [ 0:08] 1310 int action ; [ 0:08] 1311 int tmp___0 ; [ 0:08] 1312 int origin ; [ 0:08] 1313 int tmp___1 ; [ 0:08] 1314 int tmp___2 ; [ 0:08] 1315 [ 0:08] 1316 { [ 0:08] 1317 { [ 0:08] 1318 maxLength = 4; [ 0:08] 1319 tmp = __VERIFIER_nondet_int(); [ 0:08] 1320 } [ 0:08] 1321 if (tmp) { [ 0:08] 1322 { [ 0:08] 1323 initTopDown(); [ 0:08] 1324 } [ 0:08] 1325 } else { [ 0:08] 1326 { [ 0:08] 1327 initBottomUp(); [ 0:08] 1328 } [ 0:08] 1329 } [ 0:08] 1330 counter = 0; [ 0:08] 1331 { [ 0:08] 1332 while (1) { [ 0:08] 1333 while_4_continue: /* CIL Label */ ; [ 0:08] 1334 if (counter < maxLength) { [ 0:08] 1335 [ 0:08] 1336 } else { [ 0:08] 1337 goto while_4_break; [ 0:08] 1338 } [ 0:08] 1339 { [ 0:08] 1340 counter = counter + 1; [ 0:08] 1341 tmp___0 = get_nondetMinMax07(); [ 0:08] 1342 action = tmp___0; [ 0:08] 1343 } [ 0:08] 1344 if (action < 6) { [ 0:08] 1345 { [ 0:08] 1346 tmp___1 = getOrigin(action); [ 0:08] 1347 origin = tmp___1; [ 0:08] 1348 initPersonOnFloor(action, origin); [ 0:08] 1349 } [ 0:08] 1350 } else { [ 0:08] 1351 if (action == 6) { [ 0:08] 1352 { [ 0:08] 1353 timeShift(); [ 0:08] 1354 } [ 0:08] 1355 } else { [ 0:08] 1356 if (action == 7) { [ 0:08] 1357 { [ 0:08] 1358 timeShift(); [ 0:08] 1359 timeShift(); [ 0:08] 1360 timeShift(); [ 0:08] 1361 } [ 0:08] 1362 } else { [ 0:08] 1363 [ 0:08] 1364 } [ 0:08] 1365 } [ 0:08] 1366 } [ 0:08] 1367 { [ 0:08] 1368 tmp___2 = isBlocked(); [ 0:08] 1369 } [ 0:08] 1370 if (tmp___2) { [ 0:08] 1371 return; [ 0:08] 1372 } else { [ 0:08] 1373 [ 0:08] 1374 } [ 0:08] 1375 } [ 0:08] 1376 while_4_break: /* CIL Label */ ; [ 0:08] 1377 } [ 0:08] 1378 { [ 0:08] 1379 cleanup(); [ 0:08] 1380 } [ 0:08] 1381 return; [ 0:08] 1382 } [ 0:08] 1383 } [ 0:08] 1384 void runTest_Simple(void) [ 0:08] 1385 { [ 0:08] 1386 [ 0:08] 1387 { [ 0:08] 1388 { [ 0:08] 1389 bigMacCall(); [ 0:08] 1390 angelinaCall(); [ 0:08] 1391 cleanup(); [ 0:08] 1392 } [ 0:08] 1393 return; [ 0:08] 1394 } [ 0:08] 1395 } [ 0:08] 1396 void Specification1(void) [ 0:08] 1397 { [ 0:08] 1398 [ 0:08] 1399 { [ 0:08] 1400 { [ 0:08] 1401 bigMacCall(); [ 0:08] 1402 angelinaCall(); [ 0:08] 1403 cleanup(); [ 0:08] 1404 } [ 0:08] 1405 return; [ 0:08] 1406 } [ 0:08] 1407 } [ 0:08] 1408 void Specification2(void) [ 0:08] 1409 { [ 0:08] 1410 [ 0:08] 1411 { [ 0:08] 1412 { [ 0:08] 1413 bigMacCall(); [ 0:08] 1414 cleanup(); [ 0:08] 1415 } [ 0:08] 1416 return; [ 0:08] 1417 } [ 0:08] 1418 } [ 0:08] 1419 void Specification3(void) [ 0:08] 1420 { [ 0:08] 1421 [ 0:08] 1422 { [ 0:08] 1423 { [ 0:08] 1424 bobCall(); [ 0:08] 1425 timeShift(); [ 0:08] 1426 timeShift(); [ 0:08] 1427 timeShift(); [ 0:08] 1428 timeShift(); [ 0:08] 1429 timeShift(); [ 0:08] 1430 bobCall(); [ 0:08] 1431 cleanup(); [ 0:08] 1432 } [ 0:08] 1433 return; [ 0:08] 1434 } [ 0:08] 1435 } [ 0:08] 1436 void setup(void) [ 0:08] 1437 { [ 0:08] 1438 [ 0:08] 1439 { [ 0:08] 1440 return; [ 0:08] 1441 } [ 0:08] 1442 } [ 0:08] 1443 void test(void) ; [ 0:08] 1444 void runTest(void) [ 0:08] 1445 { [ 0:08] 1446 [ 0:08] 1447 { [ 0:08] 1448 { [ 0:08] 1449 test(); [ 0:08] 1450 } [ 0:08] 1451 return; [ 0:08] 1452 } [ 0:08] 1453 } [ 0:08] 1454 int main(void) [ 0:08] 1455 { int retValue_acc ; [ 0:08] 1456 int tmp ; [ 0:08] 1457 [ 0:08] 1458 { [ 0:08] 1459 { [ 0:08] 1460 select_helpers(); [ 0:08] 1461 select_features(); [ 0:08] 1462 tmp = valid_product(); [ 0:08] 1463 } [ 0:08] 1464 if (tmp) { [ 0:08] 1465 { [ 0:08] 1466 setup(); [ 0:08] 1467 runTest(); [ 0:08] 1468 } [ 0:08] 1469 } else { [ 0:08] 1470 [ 0:08] 1471 } [ 0:08] 1472 retValue_acc = 0; [ 0:08] 1473 return (retValue_acc); [ 0:08] 1474 return (retValue_acc); [ 0:08] 1475 } [ 0:08] 1476 } [ 0:08] 1477 #pragma merger(0,"UnitTests.i","") [ 0:08] 1478 void printState(void) ; [ 0:08] 1479 int weight = 0; [ 0:08] 1480 int maximumWeight = 100; [ 0:08] 1481 void spec1(void) [ 0:08] 1482 { int tmp ; [ 0:08] 1483 int tmp___0 ; [ 0:08] 1484 int i ; [ 0:08] 1485 int tmp___1 ; [ 0:08] 1486 [ 0:08] 1487 { [ 0:08] 1488 { [ 0:08] 1489 initBottomUp(); [ 0:08] 1490 tmp = getOrigin(5); [ 0:08] 1491 initPersonOnFloor(5, tmp); [ 0:08] 1492 printState(); [ 0:08] 1493 tmp___0 = getOrigin(2); [ 0:08] 1494 initPersonOnFloor(2, tmp___0); [ 0:08] 1495 printState(); [ 0:08] 1496 i = 0; [ 0:08] 1497 } [ 0:08] 1498 { [ 0:08] 1499 while (1) { [ 0:08] 1500 while_5_continue: /* CIL Label */ ; [ 0:08] 1501 if (i < cleanupTimeShifts) { [ 0:08] 1502 { [ 0:08] 1503 tmp___1 = isBlocked(); [ 0:08] 1504 } [ 0:08] 1505 if (tmp___1 != 1) { [ 0:08] 1506 [ 0:08] 1507 } else { [ 0:08] 1508 goto while_5_break; [ 0:08] 1509 } [ 0:08] 1510 } else { [ 0:08] 1511 goto while_5_break; [ 0:08] 1512 } [ 0:08] 1513 { [ 0:08] 1514 timeShift(); [ 0:08] 1515 printState(); [ 0:08] 1516 i = i + 1; [ 0:08] 1517 } [ 0:08] 1518 } [ 0:08] 1519 while_5_break: /* CIL Label */ ; [ 0:08] 1520 } [ 0:08] 1521 return; [ 0:08] 1522 } [ 0:08] 1523 } [ 0:08] 1524 void spec14(void) [ 0:08] 1525 { int tmp ; [ 0:08] 1526 int tmp___0 ; [ 0:08] 1527 int i ; [ 0:08] 1528 int tmp___1 ; [ 0:08] 1529 [ 0:08] 1530 { [ 0:08] 1531 { [ 0:08] 1532 initTopDown(); [ 0:08] 1533 tmp = getOrigin(5); [ 0:08] 1534 initPersonOnFloor(5, tmp); [ 0:08] 1535 printState(); [ 0:08] 1536 timeShift(); [ 0:08] 1537 timeShift(); [ 0:08] 1538 timeShift(); [ 0:08] 1539 timeShift(); [ 0:08] 1540 tmp___0 = getOrigin(0); [ 0:08] 1541 initPersonOnFloor(0, tmp___0); [ 0:08] 1542 printState(); [ 0:08] 1543 i = 0; [ 0:08] 1544 } [ 0:08] 1545 { [ 0:08] 1546 while (1) { [ 0:08] 1547 while_6_continue: /* CIL Label */ ; [ 0:08] 1548 if (i < cleanupTimeShifts) { [ 0:08] 1549 { [ 0:08] 1550 tmp___1 = isBlocked(); [ 0:08] 1551 } [ 0:08] 1552 if (tmp___1 != 1) { [ 0:08] 1553 [ 0:08] 1554 } else { [ 0:08] 1555 goto while_6_break; [ 0:08] 1556 } [ 0:08] 1557 } else { [ 0:08] 1558 goto while_6_break; [ 0:08] 1559 } [ 0:08] 1560 { [ 0:08] 1561 timeShift(); [ 0:08] 1562 printState(); [ 0:08] 1563 i = i + 1; [ 0:08] 1564 } [ 0:08] 1565 } [ 0:08] 1566 while_6_break: /* CIL Label */ ; [ 0:08] 1567 } [ 0:08] 1568 return; [ 0:08] 1569 } [ 0:08] 1570 } [ 0:08] 1571 #pragma merger(0,"scenario.i","") [ 0:08] 1572 void test(void) [ 0:08] 1573 { [ 0:08] 1574 [ 0:08] 1575 { [ 0:08] 1576 { [ 0:08] 1577 initTopDown(); [ 0:08] 1578 bobCall(); [ 0:08] 1579 threeTS(); [ 0:08] 1580 bobCall(); [ 0:08] 1581 cleanup(); [ 0:08] 1582 } [ 0:08] 1583 return; [ 0:08] 1584 } [ 0:08] 1585 } [ 0:08] 1586 #pragma merger(0,"Elevator.i","") [ 0:08] 1587 extern int printf(char const * __restrict __format , ...) ; [ 0:08] 1588 int getWeight(int person ) ; [ 0:08] 1589 int getDestination(int person ) ; [ 0:08] 1590 void enterElevator(int p ) ; [ 0:08] 1591 int isEmpty(void) ; [ 0:08] 1592 int isAnyLiftButtonPressed(void) ; [ 0:08] 1593 int buttonForFloorIsPressed(int floorID ) ; [ 0:08] 1594 int areDoorsOpen(void) ; [ 0:08] 1595 int getCurrentFloorID(void) ; [ 0:08] 1596 int currentHeading = 1; [ 0:08] 1597 int currentFloorID = 0; [ 0:08] 1598 int persons_0 ; [ 0:08] 1599 int persons_1 ; [ 0:08] 1600 int persons_2 ; [ 0:08] 1601 int persons_3 ; [ 0:08] 1602 int persons_4 ; [ 0:08] 1603 int persons_5 ; [ 0:08] 1604 int doorState = 1; [ 0:08] 1605 int floorButtons_0 ; [ 0:08] 1606 int floorButtons_1 ; [ 0:08] 1607 int floorButtons_2 ; [ 0:08] 1608 int floorButtons_3 ; [ 0:08] 1609 int floorButtons_4 ; [ 0:08] 1610 void initTopDown(void) [ 0:08] 1611 { [ 0:08] 1612 [ 0:08] 1613 { [ 0:08] 1614 { [ 0:08] 1615 currentFloorID = 4; [ 0:08] 1616 currentHeading = 0; [ 0:08] 1617 floorButtons_0 = 0; [ 0:08] 1618 floorButtons_1 = 0; [ 0:08] 1619 floorButtons_2 = 0; [ 0:08] 1620 floorButtons_3 = 0; [ 0:08] 1621 floorButtons_4 = 0; [ 0:08] 1622 persons_0 = 0; [ 0:08] 1623 persons_1 = 0; [ 0:08] 1624 persons_2 = 0; [ 0:08] 1625 persons_3 = 0; [ 0:08] 1626 persons_4 = 0; [ 0:08] 1627 persons_5 = 0; [ 0:08] 1628 initFloors(); [ 0:08] 1629 } [ 0:08] 1630 return; [ 0:08] 1631 } [ 0:08] 1632 } [ 0:08] 1633 void initBottomUp(void) [ 0:08] 1634 { [ 0:08] 1635 [ 0:08] 1636 { [ 0:08] 1637 { [ 0:08] 1638 currentFloorID = 0; [ 0:08] 1639 currentHeading = 1; [ 0:08] 1640 floorButtons_0 = 0; [ 0:08] 1641 floorButtons_1 = 0; [ 0:08] 1642 floorButtons_2 = 0; [ 0:08] 1643 floorButtons_3 = 0; [ 0:08] 1644 floorButtons_4 = 0; [ 0:08] 1645 persons_0 = 0; [ 0:08] 1646 persons_1 = 0; [ 0:08] 1647 persons_2 = 0; [ 0:08] 1648 persons_3 = 0; [ 0:08] 1649 persons_4 = 0; [ 0:08] 1650 persons_5 = 0; [ 0:08] 1651 initFloors(); [ 0:08] 1652 } [ 0:08] 1653 return; [ 0:08] 1654 } [ 0:08] 1655 } [ 0:08] 1656 int isBlocked(void) [ 0:08] 1657 { int retValue_acc ; [ 0:08] 1658 [ 0:08] 1659 { [ 0:08] 1660 retValue_acc = 0; [ 0:08] 1661 return (retValue_acc); [ 0:08] 1662 return (retValue_acc); [ 0:08] 1663 } [ 0:08] 1664 } [ 0:08] 1665 void enterElevator__wrappee__base(int p ) [ 0:08] 1666 { [ 0:08] 1667 [ 0:08] 1668 { [ 0:08] 1669 if (p == 0) { [ 0:08] 1670 persons_0 = 1; [ 0:08] 1671 } else { [ 0:08] 1672 if (p == 1) { [ 0:08] 1673 persons_1 = 1; [ 0:08] 1674 } else { [ 0:08] 1675 if (p == 2) { [ 0:08] 1676 persons_2 = 1; [ 0:08] 1677 } else { [ 0:08] 1678 if (p == 3) { [ 0:08] 1679 persons_3 = 1; [ 0:08] 1680 } else { [ 0:08] 1681 if (p == 4) { [ 0:08] 1682 persons_4 = 1; [ 0:08] 1683 } else { [ 0:08] 1684 if (p == 5) { [ 0:08] 1685 persons_5 = 1; [ 0:08] 1686 } else { [ 0:08] 1687 [ 0:08] 1688 } [ 0:08] 1689 } [ 0:08] 1690 } [ 0:08] 1691 } [ 0:08] 1692 } [ 0:08] 1693 } [ 0:08] 1694 return; [ 0:08] 1695 } [ 0:08] 1696 } [ 0:08] 1697 void enterElevator(int p ) [ 0:08] 1698 { int tmp ; [ 0:08] 1699 [ 0:08] 1700 { [ 0:08] 1701 { [ 0:08] 1702 enterElevator__wrappee__base(p); [ 0:08] 1703 tmp = getWeight(p); [ 0:08] 1704 weight = weight + tmp; [ 0:08] 1705 } [ 0:08] 1706 return; [ 0:08] 1707 } [ 0:08] 1708 } [ 0:08] 1709 void leaveElevator__wrappee__base(int p ) [ 0:08] 1710 { [ 0:08] 1711 [ 0:08] 1712 { [ 0:08] 1713 if (p == 0) { [ 0:08] 1714 persons_0 = 0; [ 0:08] 1715 } else { [ 0:08] 1716 if (p == 1) { [ 0:08] 1717 persons_1 = 0; [ 0:08] 1718 } else { [ 0:08] 1719 if (p == 2) { [ 0:08] 1720 persons_2 = 0; [ 0:08] 1721 } else { [ 0:08] 1722 if (p == 3) { [ 0:08] 1723 persons_3 = 0; [ 0:08] 1724 } else { [ 0:08] 1725 if (p == 4) { [ 0:08] 1726 persons_4 = 0; [ 0:08] 1727 } else { [ 0:08] 1728 if (p == 5) { [ 0:08] 1729 persons_5 = 0; [ 0:08] 1730 } else { [ 0:08] 1731 [ 0:08] 1732 } [ 0:08] 1733 } [ 0:08] 1734 } [ 0:08] 1735 } [ 0:08] 1736 } [ 0:08] 1737 } [ 0:08] 1738 return; [ 0:08] 1739 } [ 0:08] 1740 } [ 0:08] 1741 void leaveElevator__wrappee__weight(int p ) [ 0:08] 1742 { int tmp ; [ 0:08] 1743 [ 0:08] 1744 { [ 0:08] 1745 { [ 0:08] 1746 leaveElevator__wrappee__base(p); [ 0:08] 1747 tmp = getWeight(p); [ 0:08] 1748 weight = weight - tmp; [ 0:08] 1749 } [ 0:08] 1750 return; [ 0:08] 1751 } [ 0:08] 1752 } [ 0:08] 1753 void leaveElevator(int p ) [ 0:08] 1754 { int tmp ; [ 0:08] 1755 [ 0:08] 1756 { [ 0:08] 1757 { [ 0:08] 1758 leaveElevator__wrappee__weight(p); [ 0:08] 1759 tmp = isEmpty(); [ 0:08] 1760 } [ 0:08] 1761 if (tmp) { [ 0:08] 1762 floorButtons_0 = 0; [ 0:08] 1763 floorButtons_1 = 0; [ 0:08] 1764 floorButtons_2 = 0; [ 0:08] 1765 floorButtons_3 = 0; [ 0:08] 1766 floorButtons_4 = 0; [ 0:08] 1767 } else { [ 0:08] 1768 [ 0:08] 1769 } [ 0:08] 1770 return; [ 0:08] 1771 } [ 0:08] 1772 } [ 0:08] 1773 void pressInLiftFloorButton(int floorID ) [ 0:08] 1774 { [ 0:08] 1775 [ 0:08] 1776 { [ 0:08] 1777 if (floorID == 0) { [ 0:08] 1778 floorButtons_0 = 1; [ 0:08] 1779 } else { [ 0:08] 1780 if (floorID == 1) { [ 0:08] 1781 floorButtons_1 = 1; [ 0:08] 1782 } else { [ 0:08] 1783 if (floorID == 2) { [ 0:08] 1784 floorButtons_2 = 1; [ 0:08] 1785 } else { [ 0:08] 1786 if (floorID == 3) { [ 0:08] 1787 floorButtons_3 = 1; [ 0:08] 1788 } else { [ 0:08] 1789 if (floorID == 4) { [ 0:08] 1790 floorButtons_4 = 1; [ 0:08] 1791 } else { [ 0:08] 1792 [ 0:08] 1793 } [ 0:08] 1794 } [ 0:08] 1795 } [ 0:08] 1796 } [ 0:08] 1797 } [ 0:08] 1798 return; [ 0:08] 1799 } [ 0:08] 1800 } [ 0:08] 1801 void resetFloorButton(int floorID ) [ 0:08] 1802 { [ 0:08] 1803 [ 0:08] 1804 { [ 0:08] 1805 if (floorID == 0) { [ 0:08] 1806 floorButtons_0 = 0; [ 0:08] 1807 } else { [ 0:08] 1808 if (floorID == 1) { [ 0:08] 1809 floorButtons_1 = 0; [ 0:08] 1810 } else { [ 0:08] 1811 if (floorID == 2) { [ 0:08] 1812 floorButtons_2 = 0; [ 0:08] 1813 } else { [ 0:08] 1814 if (floorID == 3) { [ 0:08] 1815 floorButtons_3 = 0; [ 0:08] 1816 } else { [ 0:08] 1817 if (floorID == 4) { [ 0:08] 1818 floorButtons_4 = 0; [ 0:08] 1819 } else { [ 0:08] 1820 [ 0:08] 1821 } [ 0:08] 1822 } [ 0:08] 1823 } [ 0:08] 1824 } [ 0:08] 1825 } [ 0:08] 1826 return; [ 0:08] 1827 } [ 0:08] 1828 } [ 0:08] 1829 int getCurrentFloorID(void) [ 0:08] 1830 { int retValue_acc ; [ 0:08] 1831 [ 0:08] 1832 { [ 0:08] 1833 retValue_acc = currentFloorID; [ 0:08] 1834 return (retValue_acc); [ 0:08] 1835 return (retValue_acc); [ 0:08] 1836 } [ 0:08] 1837 } [ 0:08] 1838 int areDoorsOpen(void) [ 0:08] 1839 { int retValue_acc ; [ 0:08] 1840 [ 0:08] 1841 { [ 0:08] 1842 retValue_acc = doorState; [ 0:08] 1843 return (retValue_acc); [ 0:08] 1844 return (retValue_acc); [ 0:08] 1845 } [ 0:08] 1846 } [ 0:08] 1847 int buttonForFloorIsPressed(int floorID ) [ 0:08] 1848 { int retValue_acc ; [ 0:08] 1849 [ 0:08] 1850 { [ 0:08] 1851 if (floorID == 0) { [ 0:08] 1852 retValue_acc = floorButtons_0; [ 0:08] 1853 return (retValue_acc); [ 0:08] 1854 } else { [ 0:08] 1855 if (floorID == 1) { [ 0:08] 1856 retValue_acc = floorButtons_1; [ 0:08] 1857 return (retValue_acc); [ 0:08] 1858 } else { [ 0:08] 1859 if (floorID == 2) { [ 0:08] 1860 retValue_acc = floorButtons_2; [ 0:08] 1861 return (retValue_acc); [ 0:08] 1862 } else { [ 0:08] 1863 if (floorID == 3) { [ 0:08] 1864 retValue_acc = floorButtons_3; [ 0:08] 1865 return (retValue_acc); [ 0:08] 1866 } else { [ 0:08] 1867 if (floorID == 4) { [ 0:08] 1868 retValue_acc = floorButtons_4; [ 0:08] 1869 return (retValue_acc); [ 0:08] 1870 } else { [ 0:08] 1871 retValue_acc = 0; [ 0:08] 1872 return (retValue_acc); [ 0:08] 1873 } [ 0:08] 1874 } [ 0:08] 1875 } [ 0:08] 1876 } [ 0:08] 1877 } [ 0:08] 1878 return (retValue_acc); [ 0:08] 1879 } [ 0:08] 1880 } [ 0:08] 1881 int getCurrentHeading(void) [ 0:08] 1882 { int retValue_acc ; [ 0:08] 1883 [ 0:08] 1884 { [ 0:08] 1885 retValue_acc = currentHeading; [ 0:08] 1886 return (retValue_acc); [ 0:08] 1887 return (retValue_acc); [ 0:08] 1888 } [ 0:08] 1889 } [ 0:08] 1890 int isEmpty(void) [ 0:08] 1891 { int retValue_acc ; [ 0:08] 1892 [ 0:08] 1893 { [ 0:08] 1894 if (persons_0 == 1) { [ 0:08] 1895 retValue_acc = 0; [ 0:08] 1896 return (retValue_acc); [ 0:08] 1897 } else { [ 0:08] 1898 if (persons_1 == 1) { [ 0:08] 1899 retValue_acc = 0; [ 0:08] 1900 return (retValue_acc); [ 0:08] 1901 } else { [ 0:08] 1902 if (persons_2 == 1) { [ 0:08] 1903 retValue_acc = 0; [ 0:08] 1904 return (retValue_acc); [ 0:08] 1905 } else { [ 0:08] 1906 if (persons_3 == 1) { [ 0:08] 1907 retValue_acc = 0; [ 0:08] 1908 return (retValue_acc); [ 0:08] 1909 } else { [ 0:08] 1910 if (persons_4 == 1) { [ 0:08] 1911 retValue_acc = 0; [ 0:08] 1912 return (retValue_acc); [ 0:08] 1913 } else { [ 0:08] 1914 if (persons_5 == 1) { [ 0:08] 1915 retValue_acc = 0; [ 0:08] 1916 return (retValue_acc); [ 0:08] 1917 } else { [ 0:08] 1918 [ 0:08] 1919 } [ 0:08] 1920 } [ 0:08] 1921 } [ 0:08] 1922 } [ 0:08] 1923 } [ 0:08] 1924 } [ 0:08] 1925 retValue_acc = 1; [ 0:08] 1926 return (retValue_acc); [ 0:08] 1927 return (retValue_acc); [ 0:08] 1928 } [ 0:08] 1929 } [ 0:08] 1930 int anyStopRequested(void) [ 0:08] 1931 { int retValue_acc ; [ 0:08] 1932 int tmp ; [ 0:08] 1933 int tmp___0 ; [ 0:08] 1934 int tmp___1 ; [ 0:08] 1935 int tmp___2 ; [ 0:08] 1936 int tmp___3 ; [ 0:08] 1937 [ 0:08] 1938 { [ 0:08] 1939 { [ 0:08] 1940 tmp___3 = isFloorCalling(0); [ 0:08] 1941 } [ 0:08] 1942 if (tmp___3) { [ 0:08] 1943 retValue_acc = 1; [ 0:08] 1944 return (retValue_acc); [ 0:08] 1945 } else { [ 0:08] 1946 if (floorButtons_0) { [ 0:08] 1947 retValue_acc = 1; [ 0:08] 1948 return (retValue_acc); [ 0:08] 1949 } else { [ 0:08] 1950 { [ 0:08] 1951 tmp___2 = isFloorCalling(1); [ 0:08] 1952 } [ 0:08] 1953 if (tmp___2) { [ 0:08] 1954 retValue_acc = 1; [ 0:08] 1955 return (retValue_acc); [ 0:08] 1956 } else { [ 0:08] 1957 if (floorButtons_1) { [ 0:08] 1958 retValue_acc = 1; [ 0:08] 1959 return (retValue_acc); [ 0:08] 1960 } else { [ 0:08] 1961 { [ 0:08] 1962 tmp___1 = isFloorCalling(2); [ 0:08] 1963 } [ 0:08] 1964 if (tmp___1) { [ 0:08] 1965 retValue_acc = 1; [ 0:08] 1966 return (retValue_acc); [ 0:08] 1967 } else { [ 0:08] 1968 if (floorButtons_2) { [ 0:08] 1969 retValue_acc = 1; [ 0:08] 1970 return (retValue_acc); [ 0:08] 1971 } else { [ 0:08] 1972 { [ 0:08] 1973 tmp___0 = isFloorCalling(3); [ 0:08] 1974 } [ 0:08] 1975 if (tmp___0) { [ 0:08] 1976 retValue_acc = 1; [ 0:08] 1977 return (retValue_acc); [ 0:08] 1978 } else { [ 0:08] 1979 if (floorButtons_3) { [ 0:08] 1980 retValue_acc = 1; [ 0:08] 1981 return (retValue_acc); [ 0:08] 1982 } else { [ 0:08] 1983 { [ 0:08] 1984 tmp = isFloorCalling(4); [ 0:08] 1985 } [ 0:08] 1986 if (tmp) { [ 0:08] 1987 retValue_acc = 1; [ 0:08] 1988 return (retValue_acc); [ 0:08] 1989 } else { [ 0:08] 1990 if (floorButtons_4) { [ 0:08] 1991 retValue_acc = 1; [ 0:08] 1992 return (retValue_acc); [ 0:08] 1993 } else { [ 0:08] 1994 [ 0:08] 1995 } [ 0:08] 1996 } [ 0:08] 1997 } [ 0:08] 1998 } [ 0:08] 1999 } [ 0:08] 2000 } [ 0:08] 2001 } [ 0:08] 2002 } [ 0:08] 2003 } [ 0:08] 2004 } [ 0:08] 2005 retValue_acc = 0; [ 0:08] 2006 return (retValue_acc); [ 0:08] 2007 return (retValue_acc); [ 0:08] 2008 } [ 0:08] 2009 } [ 0:08] 2010 int isIdle(void) [ 0:08] 2011 { int retValue_acc ; [ 0:08] 2012 int tmp ; [ 0:08] 2013 [ 0:08] 2014 { [ 0:08] 2015 { [ 0:08] 2016 tmp = anyStopRequested(); [ 0:08] 2017 retValue_acc = tmp == 0; [ 0:08] 2018 } [ 0:08] 2019 return (retValue_acc); [ 0:08] 2020 return (retValue_acc); [ 0:08] 2021 } [ 0:08] 2022 } [ 0:08] 2023 int stopRequestedInDirection(int dir , int respectFloorCalls , int respectInLiftCalls ) [ 0:08] 2024 { int retValue_acc ; [ 0:08] 2025 int tmp ; [ 0:08] 2026 int tmp___0 ; [ 0:08] 2027 int tmp___1 ; [ 0:08] 2028 int tmp___2 ; [ 0:08] 2029 int tmp___3 ; [ 0:08] 2030 int tmp___4 ; [ 0:08] 2031 int tmp___5 ; [ 0:08] 2032 int tmp___6 ; [ 0:08] 2033 int tmp___7 ; [ 0:08] 2034 int tmp___8 ; [ 0:08] 2035 int tmp___9 ; [ 0:08] 2036 [ 0:08] 2037 { [ 0:08] 2038 if (dir == 1) { [ 0:08] 2039 { [ 0:08] 2040 tmp = isTopFloor(currentFloorID); [ 0:08] 2041 } [ 0:08] 2042 if (tmp) { [ 0:08] 2043 retValue_acc = 0; [ 0:08] 2044 return (retValue_acc); [ 0:08] 2045 } else { [ 0:08] 2046 [ 0:08] 2047 } [ 0:08] 2048 if (currentFloorID < 0) { [ 0:08] 2049 if (respectFloorCalls) { [ 0:08] 2050 { [ 0:08] 2051 tmp___4 = isFloorCalling(0); [ 0:08] 2052 } [ 0:08] 2053 if (tmp___4) { [ 0:08] 2054 retValue_acc = 1; [ 0:08] 2055 return (retValue_acc); [ 0:08] 2056 } else { [ 0:08] 2057 goto _L___16; [ 0:08] 2058 } [ 0:08] 2059 } else { [ 0:08] 2060 goto _L___16; [ 0:08] 2061 } [ 0:08] 2062 } else { [ 0:08] 2063 _L___16: /* CIL Label */ [ 0:08] 2064 if (currentFloorID < 0) { [ 0:08] 2065 if (respectInLiftCalls) { [ 0:08] 2066 if (floorButtons_0) { [ 0:08] 2067 retValue_acc = 1; [ 0:08] 2068 return (retValue_acc); [ 0:08] 2069 } else { [ 0:08] 2070 goto _L___14; [ 0:08] 2071 } [ 0:08] 2072 } else { [ 0:08] 2073 goto _L___14; [ 0:08] 2074 } [ 0:08] 2075 } else { [ 0:08] 2076 _L___14: /* CIL Label */ [ 0:08] 2077 if (currentFloorID < 1) { [ 0:08] 2078 if (respectFloorCalls) { [ 0:08] 2079 { [ 0:08] 2080 tmp___3 = isFloorCalling(1); [ 0:08] 2081 } [ 0:08] 2082 if (tmp___3) { [ 0:08] 2083 retValue_acc = 1; [ 0:08] 2084 return (retValue_acc); [ 0:08] 2085 } else { [ 0:08] 2086 goto _L___12; [ 0:08] 2087 } [ 0:08] 2088 } else { [ 0:08] 2089 goto _L___12; [ 0:08] 2090 } [ 0:08] 2091 } else { [ 0:08] 2092 _L___12: /* CIL Label */ [ 0:08] 2093 if (currentFloorID < 1) { [ 0:08] 2094 if (respectInLiftCalls) { [ 0:08] 2095 if (floorButtons_1) { [ 0:08] 2096 retValue_acc = 1; [ 0:08] 2097 return (retValue_acc); [ 0:08] 2098 } else { [ 0:08] 2099 goto _L___10; [ 0:08] 2100 } [ 0:08] 2101 } else { [ 0:08] 2102 goto _L___10; [ 0:08] 2103 } [ 0:08] 2104 } else { [ 0:08] 2105 _L___10: /* CIL Label */ [ 0:08] 2106 if (currentFloorID < 2) { [ 0:08] 2107 if (respectFloorCalls) { [ 0:08] 2108 { [ 0:08] 2109 tmp___2 = isFloorCalling(2); [ 0:08] 2110 } [ 0:08] 2111 if (tmp___2) { [ 0:08] 2112 retValue_acc = 1; [ 0:08] 2113 return (retValue_acc); [ 0:08] 2114 } else { [ 0:08] 2115 goto _L___8; [ 0:08] 2116 } [ 0:08] 2117 } else { [ 0:08] 2118 goto _L___8; [ 0:08] 2119 } [ 0:08] 2120 } else { [ 0:08] 2121 _L___8: /* CIL Label */ [ 0:08] 2122 if (currentFloorID < 2) { [ 0:08] 2123 if (respectInLiftCalls) { [ 0:08] 2124 if (floorButtons_2) { [ 0:08] 2125 retValue_acc = 1; [ 0:08] 2126 return (retValue_acc); [ 0:08] 2127 } else { [ 0:08] 2128 goto _L___6; [ 0:08] 2129 } [ 0:08] 2130 } else { [ 0:08] 2131 goto _L___6; [ 0:08] 2132 } [ 0:08] 2133 } else { [ 0:08] 2134 _L___6: /* CIL Label */ [ 0:08] 2135 if (currentFloorID < 3) { [ 0:08] 2136 if (respectFloorCalls) { [ 0:08] 2137 { [ 0:08] 2138 tmp___1 = isFloorCalling(3); [ 0:08] 2139 } [ 0:08] 2140 if (tmp___1) { [ 0:08] 2141 retValue_acc = 1; [ 0:08] 2142 return (retValue_acc); [ 0:08] 2143 } else { [ 0:08] 2144 goto _L___4; [ 0:08] 2145 } [ 0:08] 2146 } else { [ 0:08] 2147 goto _L___4; [ 0:08] 2148 } [ 0:08] 2149 } else { [ 0:08] 2150 _L___4: /* CIL Label */ [ 0:08] 2151 if (currentFloorID < 3) { [ 0:08] 2152 if (respectInLiftCalls) { [ 0:08] 2153 if (floorButtons_3) { [ 0:08] 2154 retValue_acc = 1; [ 0:08] 2155 return (retValue_acc); [ 0:08] 2156 } else { [ 0:08] 2157 goto _L___2; [ 0:08] 2158 } [ 0:08] 2159 } else { [ 0:08] 2160 goto _L___2; [ 0:08] 2161 } [ 0:08] 2162 } else { [ 0:08] 2163 _L___2: /* CIL Label */ [ 0:08] 2164 if (currentFloorID < 4) { [ 0:08] 2165 if (respectFloorCalls) { [ 0:08] 2166 { [ 0:08] 2167 tmp___0 = isFloorCalling(4); [ 0:08] 2168 } [ 0:08] 2169 if (tmp___0) { [ 0:08] 2170 retValue_acc = 1; [ 0:08] 2171 return (retValue_acc); [ 0:08] 2172 } else { [ 0:08] 2173 goto _L___0; [ 0:08] 2174 } [ 0:08] 2175 } else { [ 0:08] 2176 goto _L___0; [ 0:08] 2177 } [ 0:08] 2178 } else { [ 0:08] 2179 _L___0: /* CIL Label */ [ 0:08] 2180 if (currentFloorID < 4) { [ 0:08] 2181 if (respectInLiftCalls) { [ 0:08] 2182 if (floorButtons_4) { [ 0:08] 2183 retValue_acc = 1; [ 0:08] 2184 return (retValue_acc); [ 0:08] 2185 } else { [ 0:08] 2186 retValue_acc = 0; [ 0:08] 2187 return (retValue_acc); [ 0:08] 2188 } [ 0:08] 2189 } else { [ 0:08] 2190 retValue_acc = 0; [ 0:08] 2191 return (retValue_acc); [ 0:08] 2192 } [ 0:08] 2193 } else { [ 0:08] 2194 retValue_acc = 0; [ 0:08] 2195 return (retValue_acc); [ 0:08] 2196 } [ 0:08] 2197 } [ 0:08] 2198 } [ 0:08] 2199 } [ 0:08] 2200 } [ 0:08] 2201 } [ 0:08] 2202 } [ 0:08] 2203 } [ 0:08] 2204 } [ 0:08] 2205 } [ 0:08] 2206 } else { [ 0:08] 2207 if (currentFloorID == 0) { [ 0:08] 2208 retValue_acc = 0; [ 0:08] 2209 return (retValue_acc); [ 0:08] 2210 } else { [ 0:08] 2211 [ 0:08] 2212 } [ 0:08] 2213 if (currentFloorID > 0) { [ 0:08] 2214 if (respectFloorCalls) { [ 0:08] 2215 { [ 0:08] 2216 tmp___9 = isFloorCalling(0); [ 0:08] 2217 } [ 0:08] 2218 if (tmp___9) { [ 0:08] 2219 retValue_acc = 1; [ 0:08] 2220 return (retValue_acc); [ 0:08] 2221 } else { [ 0:08] 2222 goto _L___34; [ 0:08] 2223 } [ 0:08] 2224 } else { [ 0:08] 2225 goto _L___34; [ 0:08] 2226 } [ 0:08] 2227 } else { [ 0:08] 2228 _L___34: /* CIL Label */ [ 0:08] 2229 if (currentFloorID > 0) { [ 0:08] 2230 if (respectInLiftCalls) { [ 0:08] 2231 if (floorButtons_0) { [ 0:08] 2232 retValue_acc = 1; [ 0:08] 2233 return (retValue_acc); [ 0:08] 2234 } else { [ 0:08] 2235 goto _L___32; [ 0:08] 2236 } [ 0:08] 2237 } else { [ 0:08] 2238 goto _L___32; [ 0:08] 2239 } [ 0:08] 2240 } else { [ 0:08] 2241 _L___32: /* CIL Label */ [ 0:08] 2242 if (currentFloorID > 1) { [ 0:08] 2243 if (respectFloorCalls) { [ 0:08] 2244 { [ 0:08] 2245 tmp___8 = isFloorCalling(1); [ 0:08] 2246 } [ 0:08] 2247 if (tmp___8) { [ 0:08] 2248 retValue_acc = 1; [ 0:08] 2249 return (retValue_acc); [ 0:08] 2250 } else { [ 0:08] 2251 goto _L___30; [ 0:08] 2252 } [ 0:08] 2253 } else { [ 0:08] 2254 goto _L___30; [ 0:08] 2255 } [ 0:08] 2256 } else { [ 0:08] 2257 _L___30: /* CIL Label */ [ 0:08] 2258 if (currentFloorID > 1) { [ 0:08] 2259 if (respectInLiftCalls) { [ 0:08] 2260 if (floorButtons_1) { [ 0:08] 2261 retValue_acc = 1; [ 0:08] 2262 return (retValue_acc); [ 0:08] 2263 } else { [ 0:08] 2264 goto _L___28; [ 0:08] 2265 } [ 0:08] 2266 } else { [ 0:08] 2267 goto _L___28; [ 0:08] 2268 } [ 0:08] 2269 } else { [ 0:08] 2270 _L___28: /* CIL Label */ [ 0:08] 2271 if (currentFloorID > 2) { [ 0:08] 2272 if (respectFloorCalls) { [ 0:08] 2273 { [ 0:08] 2274 tmp___7 = isFloorCalling(2); [ 0:08] 2275 } [ 0:08] 2276 if (tmp___7) { [ 0:08] 2277 retValue_acc = 1; [ 0:08] 2278 return (retValue_acc); [ 0:08] 2279 } else { [ 0:08] 2280 goto _L___26; [ 0:08] 2281 } [ 0:08] 2282 } else { [ 0:08] 2283 goto _L___26; [ 0:08] 2284 } [ 0:08] 2285 } else { [ 0:08] 2286 _L___26: /* CIL Label */ [ 0:08] 2287 if (currentFloorID > 2) { [ 0:08] 2288 if (respectInLiftCalls) { [ 0:08] 2289 if (floorButtons_2) { [ 0:08] 2290 retValue_acc = 1; [ 0:08] 2291 return (retValue_acc); [ 0:08] 2292 } else { [ 0:08] 2293 goto _L___24; [ 0:08] 2294 } [ 0:08] 2295 } else { [ 0:08] 2296 goto _L___24; [ 0:08] 2297 } [ 0:08] 2298 } else { [ 0:08] 2299 _L___24: /* CIL Label */ [ 0:08] 2300 if (currentFloorID > 3) { [ 0:08] 2301 if (respectFloorCalls) { [ 0:08] 2302 { [ 0:08] 2303 tmp___6 = isFloorCalling(3); [ 0:08] 2304 } [ 0:08] 2305 if (tmp___6) { [ 0:08] 2306 retValue_acc = 1; [ 0:08] 2307 return (retValue_acc); [ 0:08] 2308 } else { [ 0:08] 2309 goto _L___22; [ 0:08] 2310 } [ 0:08] 2311 } else { [ 0:08] 2312 goto _L___22; [ 0:08] 2313 } [ 0:08] 2314 } else { [ 0:08] 2315 _L___22: /* CIL Label */ [ 0:08] 2316 if (currentFloorID > 3) { [ 0:08] 2317 if (respectInLiftCalls) { [ 0:08] 2318 if (floorButtons_3) { [ 0:08] 2319 retValue_acc = 1; [ 0:08] 2320 return (retValue_acc); [ 0:08] 2321 } else { [ 0:08] 2322 goto _L___20; [ 0:08] 2323 } [ 0:08] 2324 } else { [ 0:08] 2325 goto _L___20; [ 0:08] 2326 } [ 0:08] 2327 } else { [ 0:08] 2328 _L___20: /* CIL Label */ [ 0:08] 2329 if (currentFloorID > 4) { [ 0:08] 2330 if (respectFloorCalls) { [ 0:08] 2331 { [ 0:08] 2332 tmp___5 = isFloorCalling(4); [ 0:08] 2333 } [ 0:08] 2334 if (tmp___5) { [ 0:08] 2335 retValue_acc = 1; [ 0:08] 2336 return (retValue_acc); [ 0:08] 2337 } else { [ 0:08] 2338 goto _L___18; [ 0:08] 2339 } [ 0:08] 2340 } else { [ 0:08] 2341 goto _L___18; [ 0:08] 2342 } [ 0:08] 2343 } else { [ 0:08] 2344 _L___18: /* CIL Label */ [ 0:08] 2345 if (currentFloorID > 4) { [ 0:08] 2346 if (respectInLiftCalls) { [ 0:08] 2347 if (floorButtons_4) { [ 0:08] 2348 retValue_acc = 1; [ 0:08] 2349 return (retValue_acc); [ 0:08] 2350 } else { [ 0:08] 2351 retValue_acc = 0; [ 0:08] 2352 return (retValue_acc); [ 0:08] 2353 } [ 0:08] 2354 } else { [ 0:08] 2355 retValue_acc = 0; [ 0:08] 2356 return (retValue_acc); [ 0:08] 2357 } [ 0:08] 2358 } else { [ 0:08] 2359 retValue_acc = 0; [ 0:08] 2360 return (retValue_acc); [ 0:08] 2361 } [ 0:08] 2362 } [ 0:08] 2363 } [ 0:08] 2364 } [ 0:08] 2365 } [ 0:08] 2366 } [ 0:08] 2367 } [ 0:08] 2368 } [ 0:08] 2369 } [ 0:08] 2370 } [ 0:08] 2371 } [ 0:08] 2372 return (retValue_acc); [ 0:08] 2373 } [ 0:08] 2374 } [ 0:08] 2375 int isAnyLiftButtonPressed(void) [ 0:08] 2376 { int retValue_acc ; [ 0:08] 2377 [ 0:08] 2378 { [ 0:08] 2379 if (floorButtons_0) { [ 0:08] 2380 retValue_acc = 1; [ 0:08] 2381 return (retValue_acc); [ 0:08] 2382 } else { [ 0:08] 2383 if (floorButtons_1) { [ 0:08] 2384 retValue_acc = 1; [ 0:08] 2385 return (retValue_acc); [ 0:08] 2386 } else { [ 0:08] 2387 if (floorButtons_2) { [ 0:08] 2388 retValue_acc = 1; [ 0:08] 2389 return (retValue_acc); [ 0:08] 2390 } else { [ 0:08] 2391 if (floorButtons_3) { [ 0:08] 2392 retValue_acc = 1; [ 0:08] 2393 return (retValue_acc); [ 0:08] 2394 } else { [ 0:08] 2395 if (floorButtons_4) { [ 0:08] 2396 retValue_acc = 1; [ 0:08] 2397 return (retValue_acc); [ 0:08] 2398 } else { [ 0:08] 2399 retValue_acc = 0; [ 0:08] 2400 return (retValue_acc); [ 0:08] 2401 } [ 0:08] 2402 } [ 0:08] 2403 } [ 0:08] 2404 } [ 0:08] 2405 } [ 0:08] 2406 return (retValue_acc); [ 0:08] 2407 } [ 0:08] 2408 } [ 0:08] 2409 void continueInDirection(int dir ) [ 0:08] 2410 { int tmp ; [ 0:08] 2411 [ 0:08] 2412 { [ 0:08] 2413 currentHeading = dir; [ 0:08] 2414 if (currentHeading == 1) { [ 0:08] 2415 { [ 0:08] 2416 tmp = isTopFloor(currentFloorID); [ 0:08] 2417 } [ 0:08] 2418 if (tmp) { [ 0:08] 2419 currentHeading = 0; [ 0:08] 2420 } else { [ 0:08] 2421 [ 0:08] 2422 } [ 0:08] 2423 } else { [ 0:08] 2424 if (currentFloorID == 0) { [ 0:08] 2425 currentHeading = 1; [ 0:08] 2426 } else { [ 0:08] 2427 [ 0:08] 2428 } [ 0:08] 2429 } [ 0:08] 2430 if (currentHeading == 1) { [ 0:08] 2431 currentFloorID = currentFloorID + 1; [ 0:08] 2432 } else { [ 0:08] 2433 currentFloorID = currentFloorID - 1; [ 0:08] 2434 } [ 0:08] 2435 return; [ 0:08] 2436 } [ 0:08] 2437 } [ 0:08] 2438 int stopRequestedAtCurrentFloor(void) [ 0:08] 2439 { int retValue_acc ; [ 0:08] 2440 int tmp ; [ 0:08] 2441 int tmp___0 ; [ 0:08] 2442 [ 0:08] 2443 { [ 0:08] 2444 { [ 0:08] 2445 tmp___0 = isFloorCalling(currentFloorID); [ 0:08] 2446 } [ 0:08] 2447 if (tmp___0) { [ 0:08] 2448 retValue_acc = 1; [ 0:08] 2449 return (retValue_acc); [ 0:08] 2450 } else { [ 0:08] 2451 { [ 0:08] 2452 tmp = buttonForFloorIsPressed(currentFloorID); [ 0:08] 2453 } [ 0:08] 2454 if (tmp) { [ 0:08] 2455 retValue_acc = 1; [ 0:08] 2456 return (retValue_acc); [ 0:08] 2457 } else { [ 0:08] 2458 retValue_acc = 0; [ 0:08] 2459 return (retValue_acc); [ 0:08] 2460 } [ 0:08] 2461 } [ 0:08] 2462 return (retValue_acc); [ 0:08] 2463 } [ 0:08] 2464 } [ 0:08] 2465 int getReverseHeading(int ofHeading ) [ 0:08] 2466 { int retValue_acc ; [ 0:08] 2467 [ 0:08] 2468 { [ 0:08] 2469 if (ofHeading == 0) { [ 0:08] 2470 retValue_acc = 1; [ 0:08] 2471 return (retValue_acc); [ 0:08] 2472 } else { [ 0:08] 2473 retValue_acc = 0; [ 0:08] 2474 return (retValue_acc); [ 0:08] 2475 } [ 0:08] 2476 return (retValue_acc); [ 0:08] 2477 } [ 0:08] 2478 } [ 0:08] 2479 void processWaitingOnFloor(int floorID ) [ 0:08] 2480 { int tmp ; [ 0:08] 2481 int tmp___0 ; [ 0:08] 2482 int tmp___1 ; [ 0:08] 2483 int tmp___2 ; [ 0:08] 2484 int tmp___3 ; [ 0:08] 2485 int tmp___4 ; [ 0:08] 2486 int tmp___5 ; [ 0:08] 2487 int tmp___6 ; [ 0:08] 2488 int tmp___7 ; [ 0:08] 2489 int tmp___8 ; [ 0:08] 2490 int tmp___9 ; [ 0:08] 2491 int tmp___10 ; [ 0:08] 2492 [ 0:08] 2493 { [ 0:08] 2494 { [ 0:08] 2495 tmp___0 = isPersonOnFloor(0, floorID); [ 0:08] 2496 } [ 0:08] 2497 if (tmp___0) { [ 0:08] 2498 { [ 0:08] 2499 removePersonFromFloor(0, floorID); [ 0:08] 2500 tmp = getDestination(0); [ 0:08] 2501 pressInLiftFloorButton(tmp); [ 0:08] 2502 enterElevator(0); [ 0:08] 2503 } [ 0:08] 2504 } else { [ 0:08] 2505 [ 0:08] 2506 } [ 0:08] 2507 { [ 0:08] 2508 tmp___2 = isPersonOnFloor(1, floorID); [ 0:08] 2509 } [ 0:08] 2510 if (tmp___2) { [ 0:08] 2511 { [ 0:08] 2512 removePersonFromFloor(1, floorID); [ 0:08] 2513 tmp___1 = getDestination(1); [ 0:08] 2514 pressInLiftFloorButton(tmp___1); [ 0:08] 2515 enterElevator(1); [ 0:08] 2516 } [ 0:08] 2517 } else { [ 0:08] 2518 [ 0:08] 2519 } [ 0:08] 2520 { [ 0:08] 2521 tmp___4 = isPersonOnFloor(2, floorID); [ 0:08] 2522 } [ 0:08] 2523 if (tmp___4) { [ 0:08] 2524 { [ 0:08] 2525 removePersonFromFloor(2, floorID); [ 0:08] 2526 tmp___3 = getDestination(2); [ 0:08] 2527 pressInLiftFloorButton(tmp___3); [ 0:08] 2528 enterElevator(2); [ 0:08] 2529 } [ 0:08] 2530 } else { [ 0:08] 2531 [ 0:08] 2532 } [ 0:08] 2533 { [ 0:08] 2534 tmp___6 = isPersonOnFloor(3, floorID); [ 0:08] 2535 } [ 0:08] 2536 if (tmp___6) { [ 0:08] 2537 { [ 0:08] 2538 removePersonFromFloor(3, floorID); [ 0:08] 2539 tmp___5 = getDestination(3); [ 0:08] 2540 pressInLiftFloorButton(tmp___5); [ 0:08] 2541 enterElevator(3); [ 0:08] 2542 } [ 0:08] 2543 } else { [ 0:08] 2544 [ 0:08] 2545 } [ 0:08] 2546 { [ 0:08] 2547 tmp___8 = isPersonOnFloor(4, floorID); [ 0:08] 2548 } [ 0:08] 2549 if (tmp___8) { [ 0:08] 2550 { [ 0:08] 2551 removePersonFromFloor(4, floorID); [ 0:08] 2552 tmp___7 = getDestination(4); [ 0:08] 2553 pressInLiftFloorButton(tmp___7); [ 0:08] 2554 enterElevator(4); [ 0:08] 2555 } [ 0:08] 2556 } else { [ 0:08] 2557 [ 0:08] 2558 } [ 0:08] 2559 { [ 0:08] 2560 tmp___10 = isPersonOnFloor(5, floorID); [ 0:08] 2561 } [ 0:08] 2562 if (tmp___10) { [ 0:08] 2563 { [ 0:08] 2564 removePersonFromFloor(5, floorID); [ 0:08] 2565 tmp___9 = getDestination(5); [ 0:08] 2566 pressInLiftFloorButton(tmp___9); [ 0:08] 2567 enterElevator(5); [ 0:08] 2568 } [ 0:08] 2569 } else { [ 0:08] 2570 [ 0:08] 2571 } [ 0:08] 2572 { [ 0:08] 2573 resetCallOnFloor(floorID); [ 0:08] 2574 } [ 0:08] 2575 return; [ 0:08] 2576 } [ 0:08] 2577 } [ 0:08] 2578 void __utac_acc__Specification3_spec__1(void) ; [ 0:08] 2579 void __utac_acc__Specification3_spec__2(void) ; [ 0:08] 2580 void timeShift(void) [ 0:08] 2581 { int tmp ; [ 0:08] 2582 int tmp___0 ; [ 0:08] 2583 int tmp___1 ; [ 0:08] 2584 int tmp___2 ; [ 0:08] 2585 int tmp___3 ; [ 0:08] 2586 int tmp___4 ; [ 0:08] 2587 int tmp___5 ; [ 0:08] 2588 int tmp___6 ; [ 0:08] 2589 int tmp___7 ; [ 0:08] 2590 int tmp___8 ; [ 0:08] 2591 int tmp___9 ; [ 0:08] 2592 [ 0:08] 2593 { [ 0:08] 2594 { [ 0:08] 2595 __utac_acc__Specification3_spec__1(); [ 0:08] 2596 tmp___9 = stopRequestedAtCurrentFloor(); [ 0:08] 2597 } [ 0:08] 2598 if (tmp___9) { [ 0:08] 2599 doorState = 1; [ 0:08] 2600 if (persons_0) { [ 0:08] 2601 { [ 0:08] 2602 tmp = getDestination(0); [ 0:08] 2603 } [ 0:08] 2604 if (tmp == currentFloorID) { [ 0:08] 2605 { [ 0:08] 2606 leaveElevator(0); [ 0:08] 2607 } [ 0:08] 2608 } else { [ 0:08] 2609 [ 0:08] 2610 } [ 0:08] 2611 } else { [ 0:08] 2612 [ 0:08] 2613 } [ 0:08] 2614 if (persons_1) { [ 0:08] 2615 { [ 0:08] 2616 tmp___0 = getDestination(1); [ 0:08] 2617 } [ 0:08] 2618 if (tmp___0 == currentFloorID) { [ 0:08] 2619 { [ 0:08] 2620 leaveElevator(1); [ 0:08] 2621 } [ 0:08] 2622 } else { [ 0:08] 2623 [ 0:08] 2624 } [ 0:08] 2625 } else { [ 0:08] 2626 [ 0:08] 2627 } [ 0:08] 2628 if (persons_2) { [ 0:08] 2629 { [ 0:08] 2630 tmp___1 = getDestination(2); [ 0:08] 2631 } [ 0:08] 2632 if (tmp___1 == currentFloorID) { [ 0:08] 2633 { [ 0:08] 2634 leaveElevator(2); [ 0:08] 2635 } [ 0:08] 2636 } else { [ 0:08] 2637 [ 0:08] 2638 } [ 0:08] 2639 } else { [ 0:08] 2640 [ 0:08] 2641 } [ 0:08] 2642 if (persons_3) { [ 0:08] 2643 { [ 0:08] 2644 tmp___2 = getDestination(3); [ 0:08] 2645 } [ 0:08] 2646 if (tmp___2 == currentFloorID) { [ 0:08] 2647 { [ 0:08] 2648 leaveElevator(3); [ 0:08] 2649 } [ 0:08] 2650 } else { [ 0:08] 2651 [ 0:08] 2652 } [ 0:08] 2653 } else { [ 0:08] 2654 [ 0:08] 2655 } [ 0:08] 2656 if (persons_4) { [ 0:08] 2657 { [ 0:08] 2658 tmp___3 = getDestination(4); [ 0:08] 2659 } [ 0:08] 2660 if (tmp___3 == currentFloorID) { [ 0:08] 2661 { [ 0:08] 2662 leaveElevator(4); [ 0:08] 2663 } [ 0:08] 2664 } else { [ 0:08] 2665 [ 0:08] 2666 } [ 0:08] 2667 } else { [ 0:08] 2668 [ 0:08] 2669 } [ 0:08] 2670 if (persons_5) { [ 0:08] 2671 { [ 0:08] 2672 tmp___4 = getDestination(5); [ 0:08] 2673 } [ 0:08] 2674 if (tmp___4 == currentFloorID) { [ 0:08] 2675 { [ 0:08] 2676 leaveElevator(5); [ 0:08] 2677 } [ 0:08] 2678 } else { [ 0:08] 2679 [ 0:08] 2680 } [ 0:08] 2681 } else { [ 0:08] 2682 [ 0:08] 2683 } [ 0:08] 2684 { [ 0:08] 2685 processWaitingOnFloor(currentFloorID); [ 0:08] 2686 resetFloorButton(currentFloorID); [ 0:08] 2687 } [ 0:08] 2688 } else { [ 0:08] 2689 if (doorState == 1) { [ 0:08] 2690 doorState = 0; [ 0:08] 2691 } else { [ 0:08] 2692 [ 0:08] 2693 } [ 0:08] 2694 { [ 0:08] 2695 tmp___8 = stopRequestedInDirection(currentHeading, 1, 1); [ 0:08] 2696 } [ 0:08] 2697 if (tmp___8) { [ 0:08] 2698 { [ 0:08] 2699 continueInDirection(currentHeading); [ 0:08] 2700 } [ 0:08] 2701 } else { [ 0:08] 2702 { [ 0:08] 2703 tmp___6 = getReverseHeading(currentHeading); [ 0:08] 2704 tmp___7 = stopRequestedInDirection(tmp___6, 1, 1); [ 0:08] 2705 } [ 0:08] 2706 if (tmp___7) { [ 0:08] 2707 { [ 0:08] 2708 tmp___5 = getReverseHeading(currentHeading); [ 0:08] 2709 continueInDirection(tmp___5); [ 0:08] 2710 } [ 0:08] 2711 } else { [ 0:08] 2712 { [ 0:08] 2713 continueInDirection(currentHeading); [ 0:08] 2714 } [ 0:08] 2715 } [ 0:08] 2716 } [ 0:08] 2717 } [ 0:08] 2718 { [ 0:08] 2719 __utac_acc__Specification3_spec__2(); [ 0:08] 2720 } [ 0:08] 2721 return; [ 0:08] 2722 } [ 0:08] 2723 } [ 0:08] 2724 void printState(void) [ 0:08] 2725 { int tmp ; [ 0:08] 2726 int tmp___0 ; [ 0:08] 2727 int tmp___1 ; [ 0:08] 2728 int tmp___2 ; [ 0:08] 2729 int tmp___3 ; [ 0:08] 2730 char const * __restrict __cil_tmp6 ; [ 0:08] 2731 char const * __restrict __cil_tmp7 ; [ 0:08] 2732 char const * __restrict __cil_tmp8 ; [ 0:08] 2733 char const * __restrict __cil_tmp9 ; [ 0:08] 2734 char const * __restrict __cil_tmp10 ; [ 0:08] 2735 char const * __restrict __cil_tmp11 ; [ 0:08] 2736 char const * __restrict __cil_tmp12 ; [ 0:08] 2737 char const * __restrict __cil_tmp13 ; [ 0:08] 2738 char const * __restrict __cil_tmp14 ; [ 0:08] 2739 char const * __restrict __cil_tmp15 ; [ 0:08] 2740 char const * __restrict __cil_tmp16 ; [ 0:08] 2741 char const * __restrict __cil_tmp17 ; [ 0:08] 2742 char const * __restrict __cil_tmp18 ; [ 0:08] 2743 char const * __restrict __cil_tmp19 ; [ 0:08] 2744 char const * __restrict __cil_tmp20 ; [ 0:08] 2745 char const * __restrict __cil_tmp21 ; [ 0:08] 2746 char const * __restrict __cil_tmp22 ; [ 0:08] 2747 char const * __restrict __cil_tmp23 ; [ 0:08] 2748 char const * __restrict __cil_tmp24 ; [ 0:08] 2749 char const * __restrict __cil_tmp25 ; [ 0:08] 2750 char const * __restrict __cil_tmp26 ; [ 0:08] 2751 [ 0:08] 2752 { [ 0:08] 2753 { [ 0:08] 2754 __cil_tmp6 = (char const * __restrict )"Elevator "; [ 0:08] 2755 printf(__cil_tmp6); [ 0:08] 2756 } [ 0:08] 2757 if (doorState) { [ 0:08] 2758 { [ 0:08] 2759 __cil_tmp7 = (char const * __restrict )"[_]"; [ 0:08] 2760 printf(__cil_tmp7); [ 0:08] 2761 } [ 0:08] 2762 } else { [ 0:08] 2763 { [ 0:08] 2764 __cil_tmp8 = (char const * __restrict )"[] "; [ 0:08] 2765 printf(__cil_tmp8); [ 0:08] 2766 } [ 0:08] 2767 } [ 0:08] 2768 { [ 0:08] 2769 __cil_tmp9 = (char const * __restrict )" at "; [ 0:08] 2770 printf(__cil_tmp9); [ 0:08] 2771 __cil_tmp10 = (char const * __restrict )"%i"; [ 0:08] 2772 printf(__cil_tmp10, currentFloorID); [ 0:08] 2773 __cil_tmp11 = (char const * __restrict )" heading "; [ 0:08] 2774 printf(__cil_tmp11); [ 0:08] 2775 } [ 0:08] 2776 if (currentHeading) { [ 0:08] 2777 { [ 0:08] 2778 __cil_tmp12 = (char const * __restrict )"up"; [ 0:08] 2779 printf(__cil_tmp12); [ 0:08] 2780 } [ 0:08] 2781 } else { [ 0:08] 2782 { [ 0:08] 2783 __cil_tmp13 = (char const * __restrict )"down"; [ 0:08] 2784 printf(__cil_tmp13); [ 0:08] 2785 } [ 0:08] 2786 } [ 0:08] 2787 { [ 0:08] 2788 __cil_tmp14 = (char const * __restrict )" IL_p:"; [ 0:08] 2789 printf(__cil_tmp14); [ 0:08] 2790 } [ 0:08] 2791 if (floorButtons_0) { [ 0:08] 2792 { [ 0:08] 2793 __cil_tmp15 = (char const * __restrict )" %i"; [ 0:08] 2794 printf(__cil_tmp15, 0); [ 0:08] 2795 } [ 0:08] 2796 } else { [ 0:08] 2797 [ 0:08] 2798 } [ 0:08] 2799 if (floorButtons_1) { [ 0:08] 2800 { [ 0:08] 2801 __cil_tmp16 = (char const * __restrict )" %i"; [ 0:08] 2802 printf(__cil_tmp16, 1); [ 0:08] 2803 } [ 0:08] 2804 } else { [ 0:08] 2805 [ 0:08] 2806 } [ 0:08] 2807 if (floorButtons_2) { [ 0:08] 2808 { [ 0:08] 2809 __cil_tmp17 = (char const * __restrict )" %i"; [ 0:08] 2810 printf(__cil_tmp17, 2); [ 0:08] 2811 } [ 0:08] 2812 } else { [ 0:08] 2813 [ 0:08] 2814 } [ 0:08] 2815 if (floorButtons_3) { [ 0:08] 2816 { [ 0:08] 2817 __cil_tmp18 = (char const * __restrict )" %i"; [ 0:08] 2818 printf(__cil_tmp18, 3); [ 0:08] 2819 } [ 0:08] 2820 } else { [ 0:08] 2821 [ 0:08] 2822 } [ 0:08] 2823 if (floorButtons_4) { [ 0:08] 2824 { [ 0:08] 2825 __cil_tmp19 = (char const * __restrict )" %i"; [ 0:08] 2826 printf(__cil_tmp19, 4); [ 0:08] 2827 } [ 0:08] 2828 } else { [ 0:08] 2829 [ 0:08] 2830 } [ 0:08] 2831 { [ 0:08] 2832 __cil_tmp20 = (char const * __restrict )" F_p:"; [ 0:08] 2833 printf(__cil_tmp20); [ 0:08] 2834 tmp = isFloorCalling(0); [ 0:08] 2835 } [ 0:08] 2836 if (tmp) { [ 0:08] 2837 { [ 0:08] 2838 __cil_tmp21 = (char const * __restrict )" %i"; [ 0:08] 2839 printf(__cil_tmp21, 0); [ 0:08] 2840 } [ 0:08] 2841 } else { [ 0:08] 2842 [ 0:08] 2843 } [ 0:08] 2844 { [ 0:08] 2845 tmp___0 = isFloorCalling(1); [ 0:08] 2846 } [ 0:08] 2847 if (tmp___0) { [ 0:08] 2848 { [ 0:08] 2849 __cil_tmp22 = (char const * __restrict )" %i"; [ 0:08] 2850 printf(__cil_tmp22, 1); [ 0:08] 2851 } [ 0:08] 2852 } else { [ 0:08] 2853 [ 0:08] 2854 } [ 0:08] 2855 { [ 0:08] 2856 tmp___1 = isFloorCalling(2); [ 0:08] 2857 } [ 0:08] 2858 if (tmp___1) { [ 0:08] 2859 { [ 0:08] 2860 __cil_tmp23 = (char const * __restrict )" %i"; [ 0:08] 2861 printf(__cil_tmp23, 2); [ 0:08] 2862 } [ 0:08] 2863 } else { [ 0:08] 2864 [ 0:08] 2865 } [ 0:08] 2866 { [ 0:08] 2867 tmp___2 = isFloorCalling(3); [ 0:08] 2868 } [ 0:08] 2869 if (tmp___2) { [ 0:08] 2870 { [ 0:08] 2871 __cil_tmp24 = (char const * __restrict )" %i"; [ 0:08] 2872 printf(__cil_tmp24, 3); [ 0:08] 2873 } [ 0:08] 2874 } else { [ 0:08] 2875 [ 0:08] 2876 } [ 0:08] 2877 { [ 0:08] 2878 tmp___3 = isFloorCalling(4); [ 0:08] 2879 } [ 0:08] 2880 if (tmp___3) { [ 0:08] 2881 { [ 0:08] 2882 __cil_tmp25 = (char const * __restrict )" %i"; [ 0:08] 2883 printf(__cil_tmp25, 4); [ 0:08] 2884 } [ 0:08] 2885 } else { [ 0:08] 2886 [ 0:08] 2887 } [ 0:08] 2888 { [ 0:08] 2889 __cil_tmp26 = (char const * __restrict )"\n"; [ 0:08] 2890 printf(__cil_tmp26); [ 0:08] 2891 } [ 0:08] 2892 return; [ 0:08] 2893 } [ 0:08] 2894 } [ 0:08] 2895 int existInLiftCallsInDirection(int d ) [ 0:08] 2896 { int retValue_acc ; [ 0:08] 2897 int i ; [ 0:08] 2898 int i___0 ; [ 0:08] 2899 [ 0:08] 2900 { [ 0:08] 2901 if (d == 1) { [ 0:08] 2902 i = 0; [ 0:08] 2903 i = currentFloorID + 1; [ 0:08] 2904 { [ 0:08] 2905 while (1) { [ 0:08] 2906 while_7_continue: /* CIL Label */ ; [ 0:08] 2907 if (i < 5) { [ 0:08] 2908 [ 0:08] 2909 } else { [ 0:08] 2910 goto while_7_break; [ 0:08] 2911 } [ 0:08] 2912 if (i == 0) { [ 0:08] 2913 if (floorButtons_0) { [ 0:08] 2914 retValue_acc = 1; [ 0:08] 2915 return (retValue_acc); [ 0:08] 2916 } else { [ 0:08] 2917 goto _L___2; [ 0:08] 2918 } [ 0:08] 2919 } else { [ 0:08] 2920 _L___2: /* CIL Label */ [ 0:08] 2921 if (i == 1) { [ 0:08] 2922 if (floorButtons_1) { [ 0:08] 2923 retValue_acc = 1; [ 0:08] 2924 return (retValue_acc); [ 0:08] 2925 } else { [ 0:08] 2926 goto _L___1; [ 0:08] 2927 } [ 0:08] 2928 } else { [ 0:08] 2929 _L___1: /* CIL Label */ [ 0:08] 2930 if (i == 2) { [ 0:08] 2931 if (floorButtons_2) { [ 0:08] 2932 retValue_acc = 1; [ 0:08] 2933 return (retValue_acc); [ 0:08] 2934 } else { [ 0:08] 2935 goto _L___0; [ 0:08] 2936 } [ 0:08] 2937 } else { [ 0:08] 2938 _L___0: /* CIL Label */ [ 0:08] 2939 if (i == 3) { [ 0:08] 2940 if (floorButtons_3) { [ 0:08] 2941 retValue_acc = 1; [ 0:08] 2942 return (retValue_acc); [ 0:08] 2943 } else { [ 0:08] 2944 goto _L; [ 0:08] 2945 } [ 0:08] 2946 } else { [ 0:08] 2947 _L: /* CIL Label */ [ 0:08] 2948 if (i == 4) { [ 0:08] 2949 if (floorButtons_4) { [ 0:08] 2950 retValue_acc = 1; [ 0:08] 2951 return (retValue_acc); [ 0:08] 2952 } else { [ 0:08] 2953 [ 0:08] 2954 } [ 0:08] 2955 } else { [ 0:08] 2956 [ 0:08] 2957 } [ 0:08] 2958 } [ 0:08] 2959 } [ 0:08] 2960 } [ 0:08] 2961 } [ 0:08] 2962 i = i + 1; [ 0:08] 2963 } [ 0:08] 2964 while_7_break: /* CIL Label */ ; [ 0:08] 2965 } [ 0:08] 2966 } else { [ 0:08] 2967 if (d == 0) { [ 0:08] 2968 i___0 = 0; [ 0:08] 2969 i___0 = currentFloorID - 1; [ 0:08] 2970 { [ 0:08] 2971 while (1) { [ 0:08] 2972 while_8_continue: /* CIL Label */ ; [ 0:08] 2973 if (i___0 >= 0) { [ 0:08] 2974 [ 0:08] 2975 } else { [ 0:08] 2976 goto while_8_break; [ 0:08] 2977 } [ 0:08] 2978 i___0 = currentFloorID + 1; [ 0:08] 2979 { [ 0:08] 2980 while (1) { [ 0:08] 2981 while_9_continue: /* CIL Label */ ; [ 0:08] 2982 if (i___0 < 5) { [ 0:08] 2983 [ 0:08] 2984 } else { [ 0:08] 2985 goto while_9_break; [ 0:08] 2986 } [ 0:08] 2987 if (i___0 == 0) { [ 0:08] 2988 if (floorButtons_0) { [ 0:08] 2989 retValue_acc = 1; [ 0:08] 2990 return (retValue_acc); [ 0:08] 2991 } else { [ 0:08] 2992 goto _L___6; [ 0:08] 2993 } [ 0:08] 2994 } else { [ 0:08] 2995 _L___6: /* CIL Label */ [ 0:08] 2996 if (i___0 == 1) { [ 0:08] 2997 if (floorButtons_1) { [ 0:08] 2998 retValue_acc = 1; [ 0:08] 2999 return (retValue_acc); [ 0:08] 3000 } else { [ 0:08] 3001 goto _L___5; [ 0:08] 3002 } [ 0:08] 3003 } else { [ 0:08] 3004 _L___5: /* CIL Label */ [ 0:08] 3005 if (i___0 == 2) { [ 0:08] 3006 if (floorButtons_2) { [ 0:08] 3007 retValue_acc = 1; [ 0:08] 3008 return (retValue_acc); [ 0:08] 3009 } else { [ 0:08] 3010 goto _L___4; [ 0:08] 3011 } [ 0:08] 3012 } else { [ 0:08] 3013 _L___4: /* CIL Label */ [ 0:08] 3014 if (i___0 == 3) { [ 0:08] 3015 if (floorButtons_3) { [ 0:08] 3016 retValue_acc = 1; [ 0:08] 3017 return (retValue_acc); [ 0:08] 3018 } else { [ 0:08] 3019 goto _L___3; [ 0:08] 3020 } [ 0:08] 3021 } else { [ 0:08] 3022 _L___3: /* CIL Label */ [ 0:08] 3023 if (i___0 == 4) { [ 0:08] 3024 if (floorButtons_4) { [ 0:08] 3025 retValue_acc = 1; [ 0:08] 3026 return (retValue_acc); [ 0:08] 3027 } else { [ 0:08] 3028 [ 0:08] 3029 } [ 0:08] 3030 } else { [ 0:08] 3031 [ 0:08] 3032 } [ 0:08] 3033 } [ 0:08] 3034 } [ 0:08] 3035 } [ 0:08] 3036 } [ 0:08] 3037 i___0 = i___0 + 1; [ 0:08] 3038 } [ 0:08] 3039 while_9_break: /* CIL Label */ ; [ 0:08] 3040 } [ 0:08] 3041 i___0 = i___0 - 1; [ 0:08] 3042 } [ 0:08] 3043 while_8_break: /* CIL Label */ ; [ 0:08] 3044 } [ 0:08] 3045 } else { [ 0:08] 3046 [ 0:08] 3047 } [ 0:08] 3048 } [ 0:08] 3049 retValue_acc = 0; [ 0:08] 3050 return (retValue_acc); [ 0:08] 3051 return (retValue_acc); [ 0:08] 3052 } [ 0:08] 3053 } [ 0:08] 3054 #pragma merger(0,"Specification3_spec.i","") [ 0:08] 3055 int expectedDirection = 0; [ 0:08] 3056 void __utac_acc__Specification3_spec__1(void) [ 0:08] 3057 { int currentFloorID___0 ; [ 0:08] 3058 int tmp ; [ 0:08] 3059 int tmp___0 ; [ 0:08] 3060 int tmp___1 ; [ 0:08] 3061 int tmp___2 ; [ 0:08] 3062 int tmp___3 ; [ 0:08] 3063 int tmp___4 ; [ 0:08] 3064 int tmp___5 ; [ 0:08] 3065 int tmp___6 ; [ 0:08] 3066 int tmp___7 ; [ 0:08] 3067 int tmp___8 ; [ 0:08] 3068 int tmp___9 ; [ 0:08] 3069 int tmp___10 ; [ 0:08] 3070 [ 0:08] 3071 { [ 0:08] 3072 { [ 0:08] 3073 expectedDirection = 0; [ 0:08] 3074 tmp = getCurrentFloorID(); [ 0:08] 3075 currentFloorID___0 = tmp; [ 0:08] 3076 tmp___10 = getCurrentHeading(); [ 0:08] 3077 } [ 0:08] 3078 if (tmp___10 == 1) { [ 0:08] 3079 if (currentFloorID___0 < 0) { [ 0:08] 3080 { [ 0:08] 3081 tmp___4 = buttonForFloorIsPressed(0); [ 0:08] 3082 } [ 0:08] 3083 if (tmp___4) { [ 0:08] 3084 expectedDirection = 1; [ 0:08] 3085 } else { [ 0:08] 3086 goto _L___2; [ 0:08] 3087 } [ 0:08] 3088 } else { [ 0:08] 3089 _L___2: /* CIL Label */ [ 0:08] 3090 if (currentFloorID___0 < 1) { [ 0:08] 3091 { [ 0:08] 3092 tmp___3 = buttonForFloorIsPressed(1); [ 0:08] 3093 } [ 0:08] 3094 if (tmp___3) { [ 0:08] 3095 expectedDirection = 1; [ 0:08] 3096 } else { [ 0:08] 3097 goto _L___1; [ 0:08] 3098 } [ 0:08] 3099 } else { [ 0:08] 3100 _L___1: /* CIL Label */ [ 0:08] 3101 if (currentFloorID___0 < 2) { [ 0:08] 3102 { [ 0:08] 3103 tmp___2 = buttonForFloorIsPressed(2); [ 0:08] 3104 } [ 0:08] 3105 if (tmp___2) { [ 0:08] 3106 expectedDirection = 1; [ 0:08] 3107 } else { [ 0:08] 3108 goto _L___0; [ 0:08] 3109 } [ 0:08] 3110 } else { [ 0:08] 3111 _L___0: /* CIL Label */ [ 0:08] 3112 if (currentFloorID___0 < 3) { [ 0:08] 3113 { [ 0:08] 3114 tmp___1 = buttonForFloorIsPressed(3); [ 0:08] 3115 } [ 0:08] 3116 if (tmp___1) { [ 0:08] 3117 expectedDirection = 1; [ 0:08] 3118 } else { [ 0:08] 3119 goto _L; [ 0:08] 3120 } [ 0:08] 3121 } else { [ 0:08] 3122 _L: /* CIL Label */ [ 0:08] 3123 if (currentFloorID___0 < 4) { [ 0:08] 3124 { [ 0:08] 3125 tmp___0 = buttonForFloorIsPressed(4); [ 0:08] 3126 } [ 0:08] 3127 if (tmp___0) { [ 0:08] 3128 expectedDirection = 1; [ 0:08] 3129 } else { [ 0:08] 3130 [ 0:08] 3131 } [ 0:08] 3132 } else { [ 0:08] 3133 [ 0:08] 3134 } [ 0:08] 3135 } [ 0:08] 3136 } [ 0:08] 3137 } [ 0:08] 3138 } [ 0:08] 3139 } else { [ 0:08] 3140 if (currentFloorID___0 > 0) { [ 0:08] 3141 { [ 0:08] 3142 tmp___9 = buttonForFloorIsPressed(0); [ 0:08] 3143 } [ 0:08] 3144 if (tmp___9) { [ 0:08] 3145 expectedDirection = -1; [ 0:08] 3146 } else { [ 0:08] 3147 goto _L___6; [ 0:08] 3148 } [ 0:08] 3149 } else { [ 0:08] 3150 _L___6: /* CIL Label */ [ 0:08] 3151 if (currentFloorID___0 > 1) { [ 0:08] 3152 { [ 0:08] 3153 tmp___8 = buttonForFloorIsPressed(1); [ 0:08] 3154 } [ 0:08] 3155 if (tmp___8) { [ 0:08] 3156 expectedDirection = -1; [ 0:08] 3157 } else { [ 0:08] 3158 goto _L___5; [ 0:08] 3159 } [ 0:08] 3160 } else { [ 0:08] 3161 _L___5: /* CIL Label */ [ 0:08] 3162 if (currentFloorID___0 > 2) { [ 0:08] 3163 { [ 0:08] 3164 tmp___7 = buttonForFloorIsPressed(2); [ 0:08] 3165 } [ 0:08] 3166 if (tmp___7) { [ 0:08] 3167 expectedDirection = -1; [ 0:08] 3168 } else { [ 0:08] 3169 goto _L___4; [ 0:08] 3170 } [ 0:08] 3171 } else { [ 0:08] 3172 _L___4: /* CIL Label */ [ 0:08] 3173 if (currentFloorID___0 > 3) { [ 0:08] 3174 { [ 0:08] 3175 tmp___6 = buttonForFloorIsPressed(3); [ 0:08] 3176 } [ 0:08] 3177 if (tmp___6) { [ 0:08] 3178 expectedDirection = -1; [ 0:08] 3179 } else { [ 0:08] 3180 goto _L___3; [ 0:08] 3181 } [ 0:08] 3182 } else { [ 0:08] 3183 _L___3: /* CIL Label */ [ 0:08] 3184 if (currentFloorID___0 > 4) { [ 0:08] 3185 { [ 0:08] 3186 tmp___5 = buttonForFloorIsPressed(4); [ 0:08] 3187 } [ 0:08] 3188 if (tmp___5) { [ 0:08] 3189 expectedDirection = -1; [ 0:08] 3190 } else { [ 0:08] 3191 [ 0:08] 3192 } [ 0:08] 3193 } else { [ 0:08] 3194 [ 0:08] 3195 } [ 0:08] 3196 } [ 0:08] 3197 } [ 0:08] 3198 } [ 0:08] 3199 } [ 0:08] 3200 } [ 0:08] 3201 return; [ 0:08] 3202 } [ 0:08] 3203 } [ 0:08] 3204 void __utac_acc__Specification3_spec__2(void) [ 0:08] 3205 { int tmp ; [ 0:08] 3206 int tmp___0 ; [ 0:08] 3207 [ 0:08] 3208 { [ 0:08] 3209 if (expectedDirection == -1) { [ 0:08] 3210 { [ 0:08] 3211 tmp___0 = getCurrentHeading(); [ 0:08] 3212 } [ 0:08] 3213 if (tmp___0 == 1) { [ 0:08] 3214 { [ 0:08] 3215 __automaton_fail(); [ 0:08] 3216 } [ 0:08] 3217 } else { [ 0:08] 3218 goto _L; [ 0:08] 3219 } [ 0:08] 3220 } else { [ 0:08] 3221 _L: /* CIL Label */ [ 0:08] 3222 if (expectedDirection == 1) { [ 0:08] 3223 { [ 0:08] 3224 tmp = getCurrentHeading(); [ 0:08] 3225 } [ 0:08] 3226 if (tmp == 0) { [ 0:08] 3227 { [ 0:08] 3228 __automaton_fail(); [ 0:08] 3229 } [ 0:08] 3230 } else { [ 0:08] 3231 [ 0:08] 3232 } [ 0:08] 3233 } else { [ 0:08] 3234 [ 0:08] 3235 } [ 0:08] 3236 } [ 0:08] 3237 return; [ 0:08] 3238 } [ 0:08] 3239 } [ 0:08] 3240 #pragma merger(0,"Person.i","") [ 0:08] 3241 int getWeight(int person ) [ 0:08] 3242 { int retValue_acc ; [ 0:08] 3243 [ 0:08] 3244 { [ 0:08] 3245 if (person == 0) { [ 0:08] 3246 retValue_acc = 40; [ 0:08] 3247 return (retValue_acc); [ 0:08] 3248 } else { [ 0:08] 3249 if (person == 1) { [ 0:08] 3250 retValue_acc = 40; [ 0:08] 3251 return (retValue_acc); [ 0:08] 3252 } else { [ 0:08] 3253 if (person == 2) { [ 0:08] 3254 retValue_acc = 40; [ 0:08] 3255 return (retValue_acc); [ 0:08] 3256 } else { [ 0:08] 3257 if (person == 3) { [ 0:08] 3258 retValue_acc = 40; [ 0:08] 3259 return (retValue_acc); [ 0:08] 3260 } else { [ 0:08] 3261 if (person == 4) { [ 0:08] 3262 retValue_acc = 30; [ 0:08] 3263 return (retValue_acc); [ 0:08] 3264 } else { [ 0:08] 3265 if (person == 5) { [ 0:08] 3266 retValue_acc = 150; [ 0:08] 3267 return (retValue_acc); [ 0:08] 3268 } else { [ 0:08] 3269 retValue_acc = 0; [ 0:08] 3270 return (retValue_acc); [ 0:08] 3271 } [ 0:08] 3272 } [ 0:08] 3273 } [ 0:08] 3274 } [ 0:08] 3275 } [ 0:08] 3276 } [ 0:08] 3277 return (retValue_acc); [ 0:08] 3278 } [ 0:08] 3279 } [ 0:08] 3280 int getOrigin(int person ) [ 0:08] 3281 { int retValue_acc ; [ 0:08] 3282 [ 0:08] 3283 { [ 0:08] 3284 if (person == 0) { [ 0:08] 3285 retValue_acc = 4; [ 0:08] 3286 return (retValue_acc); [ 0:08] 3287 } else { [ 0:08] 3288 if (person == 1) { [ 0:08] 3289 retValue_acc = 3; [ 0:08] 3290 return (retValue_acc); [ 0:08] 3291 } else { [ 0:08] 3292 if (person == 2) { [ 0:08] 3293 retValue_acc = 2; [ 0:08] 3294 return (retValue_acc); [ 0:08] 3295 } else { [ 0:08] 3296 if (person == 3) { [ 0:08] 3297 retValue_acc = 1; [ 0:08] 3298 return (retValue_acc); [ 0:08] 3299 } else { [ 0:08] 3300 if (person == 4) { [ 0:08] 3301 retValue_acc = 0; [ 0:08] 3302 return (retValue_acc); [ 0:08] 3303 } else { [ 0:08] 3304 if (person == 5) { [ 0:08] 3305 retValue_acc = 1; [ 0:08] 3306 return (retValue_acc); [ 0:08] 3307 } else { [ 0:08] 3308 retValue_acc = 0; [ 0:08] 3309 return (retValue_acc); [ 0:08] 3310 } [ 0:08] 3311 } [ 0:08] 3312 } [ 0:08] 3313 } [ 0:08] 3314 } [ 0:08] 3315 } [ 0:08] 3316 return (retValue_acc); [ 0:08] 3317 } [ 0:08] 3318 } [ 0:08] 3319 int getDestination(int person ) [ 0:08] 3320 { int retValue_acc ; [ 0:08] 3321 [ 0:08] 3322 { [ 0:08] 3323 if (person == 0) { [ 0:08] 3324 retValue_acc = 0; [ 0:08] 3325 return (retValue_acc); [ 0:08] 3326 } else { [ 0:08] 3327 if (person == 1) { [ 0:08] 3328 retValue_acc = 0; [ 0:08] 3329 return (retValue_acc); [ 0:08] 3330 } else { [ 0:08] 3331 if (person == 2) { [ 0:08] 3332 retValue_acc = 1; [ 0:08] 3333 return (retValue_acc); [ 0:08] 3334 } else { [ 0:08] 3335 if (person == 3) { [ 0:08] 3336 retValue_acc = 3; [ 0:08] 3337 return (retValue_acc); [ 0:08] 3338 } else { [ 0:08] 3339 if (person == 4) { [ 0:08] 3340 retValue_acc = 1; [ 0:08] 3341 return (retValue_acc); [ 0:08] 3342 } else { [ 0:08] 3343 if (person == 5) { [ 0:08] 3344 retValue_acc = 3; [ 0:08] 3345 return (retValue_acc); [ 0:08] 3346 } else { [ 0:08] 3347 retValue_acc = 0; [ 0:08] 3348 return (retValue_acc); [ 0:08] 3349 } [ 0:08] 3350 } [ 0:08] 3351 } [ 0:08] 3352 } [ 0:08] 3353 } [ 0:08] 3354 } [ 0:08] 3355 return (retValue_acc); [ 0:08] 3356 } [ 0:08] 3357 } [ 0:08] # no errors were expected but one was found anyway