./Ultimate.py --spec /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/properties/termination.prp --file /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/product-lines/elevator_spec13_product31.cil.c --full-output --architecture 32bit -------------------------------------------------------------------------------- Checking for termination Using default analysis Version 84cfde4a Calling Ultimate with: /root/.sdkman/candidates/java/current/bin/java -Dosgi.configuration.area=/storage/repos/ultimate-clean/releaseScripts/default/UAutomizer-linux/data/config -Xmx15G -Xms4m -jar /storage/repos/ultimate-clean/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata /storage/repos/ultimate-clean/releaseScripts/default/UAutomizer-linux/data -tc /storage/repos/ultimate-clean/releaseScripts/default/UAutomizer-linux/config/AutomizerTermination.xml -i /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/product-lines/elevator_spec13_product31.cil.c -s /storage/repos/ultimate-clean/releaseScripts/default/UAutomizer-linux/config/svcomp-Termination-32bit-Automizer_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /storage/repos/ultimate-clean/releaseScripts/default/UAutomizer-linux --witnessprinter.witness.filename witness --witnessprinter.write.witness.besides.input.file false --witnessprinter.graph.data.specification CHECK( init(main()), LTL(F end) ) --witnessprinter.graph.data.producer Automizer --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash 2e77838346608929bef5ad1e655ea0710d74ebb9f10b29169ab985d305812d92 --- Real Ultimate output --- This is Ultimate 0.2.5-dev-84cfde4 [2024-10-12 00:47:00,390 INFO L188 SettingsManager]: Resetting all preferences to default values... [2024-10-12 00:47:00,483 INFO L114 SettingsManager]: Loading settings from /storage/repos/ultimate-clean/releaseScripts/default/UAutomizer-linux/config/svcomp-Termination-32bit-Automizer_Default.epf [2024-10-12 00:47:00,487 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2024-10-12 00:47:00,488 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2024-10-12 00:47:00,507 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2024-10-12 00:47:00,508 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2024-10-12 00:47:00,508 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2024-10-12 00:47:00,509 INFO L151 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2024-10-12 00:47:00,509 INFO L153 SettingsManager]: * Use memory slicer=true [2024-10-12 00:47:00,510 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2024-10-12 00:47:00,510 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2024-10-12 00:47:00,511 INFO L153 SettingsManager]: * Use SBE=true [2024-10-12 00:47:00,511 INFO L151 SettingsManager]: Preferences of BuchiAutomizer differ from their defaults: [2024-10-12 00:47:00,511 INFO L153 SettingsManager]: * NCSB implementation=INTSET_LAZY3 [2024-10-12 00:47:00,512 INFO L153 SettingsManager]: * Use old map elimination=false [2024-10-12 00:47:00,512 INFO L153 SettingsManager]: * Use external solver (rank synthesis)=false [2024-10-12 00:47:00,513 INFO L153 SettingsManager]: * Use only trivial implications for array writes=true [2024-10-12 00:47:00,513 INFO L153 SettingsManager]: * Rank analysis=LINEAR_WITH_GUESSES [2024-10-12 00:47:00,513 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2024-10-12 00:47:00,514 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=ASSUME [2024-10-12 00:47:00,514 INFO L153 SettingsManager]: * sizeof long=4 [2024-10-12 00:47:00,514 INFO L153 SettingsManager]: * Overapproximate operations on floating types=true [2024-10-12 00:47:00,515 INFO L153 SettingsManager]: * sizeof POINTER=4 [2024-10-12 00:47:00,515 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2024-10-12 00:47:00,515 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=ASSUME [2024-10-12 00:47:00,516 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=ASSUME [2024-10-12 00:47:00,516 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=ASSUME [2024-10-12 00:47:00,516 INFO L153 SettingsManager]: * Allow undefined functions=false [2024-10-12 00:47:00,516 INFO L153 SettingsManager]: * Check unreachability of reach_error function=false [2024-10-12 00:47:00,517 INFO L153 SettingsManager]: * sizeof long double=12 [2024-10-12 00:47:00,522 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2024-10-12 00:47:00,522 INFO L153 SettingsManager]: * Assume nondeterminstic values are in range=false [2024-10-12 00:47:00,522 INFO L153 SettingsManager]: * Use constant arrays=true [2024-10-12 00:47:00,523 INFO L151 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2024-10-12 00:47:00,523 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2024-10-12 00:47:00,523 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2024-10-12 00:47:00,523 INFO L153 SettingsManager]: * Trace refinement strategy=CAMEL [2024-10-12 00:47:00,524 INFO L151 SettingsManager]: Preferences of IcfgTransformer differ from their defaults: [2024-10-12 00:47:00,524 INFO L153 SettingsManager]: * TransformationType=MODULO_NEIGHBOR WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate-clean/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: Entry function -> main Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness directory -> /storage/repos/ultimate-clean/releaseScripts/default/UAutomizer-linux Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness filename -> witness Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Write witness besides input file -> false Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data specification -> CHECK( init(main()), LTL(F end) ) Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data producer -> Automizer Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data architecture -> 32bit Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data programhash -> 2e77838346608929bef5ad1e655ea0710d74ebb9f10b29169ab985d305812d92 [2024-10-12 00:47:00,773 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2024-10-12 00:47:00,795 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2024-10-12 00:47:00,798 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2024-10-12 00:47:00,800 INFO L270 PluginConnector]: Initializing CDTParser... [2024-10-12 00:47:00,800 INFO L274 PluginConnector]: CDTParser initialized [2024-10-12 00:47:00,802 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/product-lines/elevator_spec13_product31.cil.c [2024-10-12 00:47:02,257 INFO L533 CDTParser]: Created temporary CDT project at NULL [2024-10-12 00:47:02,617 INFO L384 CDTParser]: Found 1 translation units. [2024-10-12 00:47:02,618 INFO L180 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/product-lines/elevator_spec13_product31.cil.c [2024-10-12 00:47:02,650 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate-clean/releaseScripts/default/UAutomizer-linux/data/1b9a1ec9d/c6e52669b981489b9a784a5b7d494260/FLAGa2e6d8787 [2024-10-12 00:47:02,834 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate-clean/releaseScripts/default/UAutomizer-linux/data/1b9a1ec9d/c6e52669b981489b9a784a5b7d494260 [2024-10-12 00:47:02,837 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2024-10-12 00:47:02,839 INFO L133 ToolchainWalker]: Walking toolchain with 6 elements. [2024-10-12 00:47:02,840 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2024-10-12 00:47:02,840 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2024-10-12 00:47:02,845 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2024-10-12 00:47:02,846 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 12.10 12:47:02" (1/1) ... [2024-10-12 00:47:02,849 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@25066799 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 12.10 12:47:02, skipping insertion in model container [2024-10-12 00:47:02,849 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 12.10 12:47:02" (1/1) ... [2024-10-12 00:47:02,911 INFO L175 MainTranslator]: Built tables and reachable declarations [2024-10-12 00:47:03,426 INFO L210 PostProcessor]: Analyzing one entry point: main [2024-10-12 00:47:03,442 INFO L200 MainTranslator]: Completed pre-run [2024-10-12 00:47:03,452 WARN L75 lationResultReporter]: Unsoundness Warning: Ignoring preprocessor pragma C: #pragma merger(0,"wsllib_check.i","") [48] [2024-10-12 00:47:03,454 WARN L75 lationResultReporter]: Unsoundness Warning: Ignoring preprocessor pragma C: #pragma merger(0,"libacc.i","") [57] [2024-10-12 00:47:03,454 WARN L75 lationResultReporter]: Unsoundness Warning: Ignoring preprocessor pragma C: #pragma merger(0,"Specification13_spec.i","") [423] [2024-10-12 00:47:03,455 WARN L75 lationResultReporter]: Unsoundness Warning: Ignoring preprocessor pragma C: #pragma merger(0,"Person.i","") [517] [2024-10-12 00:47:03,455 WARN L75 lationResultReporter]: Unsoundness Warning: Ignoring preprocessor pragma C: #pragma merger(0,"Floor.i","") [638] [2024-10-12 00:47:03,455 WARN L75 lationResultReporter]: Unsoundness Warning: Ignoring preprocessor pragma C: #pragma merger(0,"Test.i","") [1306] [2024-10-12 00:47:03,455 WARN L75 lationResultReporter]: Unsoundness Warning: Ignoring preprocessor pragma C: #pragma merger(0,"scenario.i","") [1664] [2024-10-12 00:47:03,456 WARN L75 lationResultReporter]: Unsoundness Warning: Ignoring preprocessor pragma C: #pragma merger(0,"featureselect.i","") [1679] [2024-10-12 00:47:03,456 WARN L75 lationResultReporter]: Unsoundness Warning: Ignoring preprocessor pragma C: #pragma merger(0,"Elevator.i","") [1714] [2024-10-12 00:47:03,456 WARN L75 lationResultReporter]: Unsoundness Warning: Ignoring preprocessor pragma C: #pragma merger(0,"UnitTests.i","") [3329] [2024-10-12 00:47:03,550 INFO L210 PostProcessor]: Analyzing one entry point: main [2024-10-12 00:47:03,580 INFO L204 MainTranslator]: Completed translation [2024-10-12 00:47:03,581 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 12.10 12:47:03 WrapperNode [2024-10-12 00:47:03,581 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2024-10-12 00:47:03,582 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2024-10-12 00:47:03,583 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2024-10-12 00:47:03,583 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2024-10-12 00:47:03,588 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 12.10 12:47:03" (1/1) ... [2024-10-12 00:47:03,614 INFO L184 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 12.10 12:47:03" (1/1) ... [2024-10-12 00:47:04,021 INFO L138 Inliner]: procedures = 95, calls = 349, calls flagged for inlining = 202, calls inlined = 1075, statements flattened = 36571 [2024-10-12 00:47:04,022 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2024-10-12 00:47:04,022 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2024-10-12 00:47:04,022 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2024-10-12 00:47:04,023 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2024-10-12 00:47:04,034 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 12.10 12:47:03" (1/1) ... [2024-10-12 00:47:04,035 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 12.10 12:47:03" (1/1) ... [2024-10-12 00:47:04,153 INFO L184 PluginConnector]: Executing the observer MemorySlicer from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 12.10 12:47:03" (1/1) ... [2024-10-12 00:47:04,319 INFO L175 MemorySlicer]: Split 81 memory accesses to 20 slices as follows [2, 4, 4, 4, 2, 4, 4, 5, 3, 3, 5, 7, 4, 4, 4, 4, 4, 6, 4, 4]. 9 percent of accesses are in the largest equivalence class. The 81 initializations are split as follows [2, 4, 4, 4, 2, 4, 4, 5, 3, 3, 5, 7, 4, 4, 4, 4, 4, 6, 4, 4]. The 0 writes are split as follows [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]. [2024-10-12 00:47:04,320 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 12.10 12:47:03" (1/1) ... [2024-10-12 00:47:04,320 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 12.10 12:47:03" (1/1) ... [2024-10-12 00:47:04,599 INFO L184 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 12.10 12:47:03" (1/1) ... [2024-10-12 00:47:04,926 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 12.10 12:47:03" (1/1) ... [2024-10-12 00:47:04,960 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 12.10 12:47:03" (1/1) ... [2024-10-12 00:47:04,999 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 12.10 12:47:03" (1/1) ... [2024-10-12 00:47:05,082 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2024-10-12 00:47:05,083 INFO L112 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2024-10-12 00:47:05,083 INFO L270 PluginConnector]: Initializing RCFGBuilder... [2024-10-12 00:47:05,083 INFO L274 PluginConnector]: RCFGBuilder initialized [2024-10-12 00:47:05,084 INFO L184 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 12.10 12:47:03" (1/1) ... [2024-10-12 00:47:05,090 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-10-12 00:47:05,102 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-clean/releaseScripts/default/UAutomizer-linux/z3 [2024-10-12 00:47:05,118 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate-clean/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-10-12 00:47:05,120 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-clean/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (1)] Waiting until timeout for monitored process [2024-10-12 00:47:05,157 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2024-10-12 00:47:05,157 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#0 [2024-10-12 00:47:05,158 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#1 [2024-10-12 00:47:05,158 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#2 [2024-10-12 00:47:05,158 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#3 [2024-10-12 00:47:05,158 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#4 [2024-10-12 00:47:05,158 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#5 [2024-10-12 00:47:05,158 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#6 [2024-10-12 00:47:05,158 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#7 [2024-10-12 00:47:05,158 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#8 [2024-10-12 00:47:05,158 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#9 [2024-10-12 00:47:05,159 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#10 [2024-10-12 00:47:05,159 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#11 [2024-10-12 00:47:05,159 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#12 [2024-10-12 00:47:05,159 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#13 [2024-10-12 00:47:05,159 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#14 [2024-10-12 00:47:05,159 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#15 [2024-10-12 00:47:05,160 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#16 [2024-10-12 00:47:05,160 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#17 [2024-10-12 00:47:05,160 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#18 [2024-10-12 00:47:05,160 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#19 [2024-10-12 00:47:05,160 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2024-10-12 00:47:05,160 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2024-10-12 00:47:05,368 INFO L238 CfgBuilder]: Building ICFG [2024-10-12 00:47:05,375 INFO L264 CfgBuilder]: Building CFG for each procedure with an implementation [2024-10-12 00:47:18,796 INFO L? ?]: Removed 15572 outVars from TransFormulas that were not future-live. [2024-10-12 00:47:18,796 INFO L287 CfgBuilder]: Performing block encoding [2024-10-12 00:47:18,929 INFO L309 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2024-10-12 00:47:18,930 INFO L314 CfgBuilder]: Removed 61 assume(true) statements. [2024-10-12 00:47:18,930 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 12.10 12:47:18 BoogieIcfgContainer [2024-10-12 00:47:18,930 INFO L131 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2024-10-12 00:47:18,931 INFO L112 PluginConnector]: ------------------------BuchiAutomizer---------------------------- [2024-10-12 00:47:18,931 INFO L270 PluginConnector]: Initializing BuchiAutomizer... [2024-10-12 00:47:18,935 INFO L274 PluginConnector]: BuchiAutomizer initialized [2024-10-12 00:47:18,935 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2024-10-12 00:47:18,936 INFO L184 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "CDTParser AST 12.10 12:47:02" (1/3) ... [2024-10-12 00:47:18,937 INFO L204 PluginConnector]: Invalid model from BuchiAutomizer for observer de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver@6bed9f02 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer AST 12.10 12:47:18, skipping insertion in model container [2024-10-12 00:47:18,937 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2024-10-12 00:47:18,937 INFO L184 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 12.10 12:47:03" (2/3) ... [2024-10-12 00:47:18,938 INFO L204 PluginConnector]: Invalid model from BuchiAutomizer for observer de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver@6bed9f02 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer AST 12.10 12:47:18, skipping insertion in model container [2024-10-12 00:47:18,939 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2024-10-12 00:47:18,939 INFO L184 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 12.10 12:47:18" (3/3) ... [2024-10-12 00:47:18,940 INFO L332 chiAutomizerObserver]: Analyzing ICFG elevator_spec13_product31.cil.c [2024-10-12 00:47:19,115 INFO L300 stractBuchiCegarLoop]: Interprodecural is true [2024-10-12 00:47:19,116 INFO L301 stractBuchiCegarLoop]: Hoare is None [2024-10-12 00:47:19,116 INFO L302 stractBuchiCegarLoop]: Compute interpolants for ForwardPredicates [2024-10-12 00:47:19,116 INFO L303 stractBuchiCegarLoop]: Backedges is STRAIGHT_LINE [2024-10-12 00:47:19,116 INFO L304 stractBuchiCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2024-10-12 00:47:19,116 INFO L305 stractBuchiCegarLoop]: Difference is false [2024-10-12 00:47:19,116 INFO L306 stractBuchiCegarLoop]: Minimize is MINIMIZE_SEVPA [2024-10-12 00:47:19,116 INFO L310 stractBuchiCegarLoop]: ======== Iteration 0 == of CEGAR loop == BuchiAutomatonCegarLoop ======== [2024-10-12 00:47:19,151 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand has 9737 states, 9736 states have (on average 1.8729457682826622) internal successors, (18235), 9736 states have internal predecessors, (18235), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-10-12 00:47:19,335 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 2433 [2024-10-12 00:47:19,336 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-10-12 00:47:19,336 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-10-12 00:47:19,345 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-10-12 00:47:19,346 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1, 1, 1] [2024-10-12 00:47:19,346 INFO L332 stractBuchiCegarLoop]: ======== Iteration 1 ============ [2024-10-12 00:47:19,371 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand has 9737 states, 9736 states have (on average 1.8729457682826622) internal successors, (18235), 9736 states have internal predecessors, (18235), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-10-12 00:47:19,477 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 2433 [2024-10-12 00:47:19,477 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-10-12 00:47:19,478 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-10-12 00:47:19,479 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-10-12 00:47:19,480 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1, 1, 1] [2024-10-12 00:47:19,486 INFO L745 eck$LassoCheckResult]: Stem: 4999#$Ultimate##0true assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int#0(48, 1, 0, 1);call write~init~int#0(0, 1, 1, 1);call #Ultimate.allocInit(32, 2);call #Ultimate.allocInit(12, 3);call #Ultimate.allocInit(30, 4);call #Ultimate.allocInit(9, 5);call #Ultimate.allocInit(21, 6);call #Ultimate.allocInit(30, 7);call #Ultimate.allocInit(9, 8);call #Ultimate.allocInit(21, 9);call #Ultimate.allocInit(30, 10);call #Ultimate.allocInit(9, 11);call #Ultimate.allocInit(25, 12);call #Ultimate.allocInit(30, 13);call #Ultimate.allocInit(9, 14);call #Ultimate.allocInit(25, 15);call #Ultimate.allocInit(10, 16);call #Ultimate.allocInit(4, 17);call write~init~int#5(91, 17, 0, 1);call write~init~int#5(95, 17, 1, 1);call write~init~int#5(93, 17, 2, 1);call write~init~int#5(0, 17, 3, 1);call #Ultimate.allocInit(4, 18);call write~init~int#6(91, 18, 0, 1);call write~init~int#6(93, 18, 1, 1);call write~init~int#6(32, 18, 2, 1);call write~init~int#6(0, 18, 3, 1);call #Ultimate.allocInit(5, 19);call write~init~int#7(32, 19, 0, 1);call write~init~int#7(97, 19, 1, 1);call write~init~int#7(116, 19, 2, 1);call write~init~int#7(32, 19, 3, 1);call write~init~int#7(0, 19, 4, 1);call #Ultimate.allocInit(3, 20);call write~init~int#8(37, 20, 0, 1);call write~init~int#8(105, 20, 1, 1);call write~init~int#8(0, 20, 2, 1);call #Ultimate.allocInit(10, 21);call #Ultimate.allocInit(3, 22);call write~init~int#9(117, 22, 0, 1);call write~init~int#9(112, 22, 1, 1);call write~init~int#9(0, 22, 2, 1);call #Ultimate.allocInit(5, 23);call write~init~int#10(100, 23, 0, 1);call write~init~int#10(111, 23, 1, 1);call write~init~int#10(119, 23, 2, 1);call write~init~int#10(110, 23, 3, 1);call write~init~int#10(0, 23, 4, 1);call #Ultimate.allocInit(7, 24);call write~init~int#11(32, 24, 0, 1);call write~init~int#11(73, 24, 1, 1);call write~init~int#11(76, 24, 2, 1);call write~init~int#11(95, 24, 3, 1);call write~init~int#11(112, 24, 4, 1);call write~init~int#11(58, 24, 5, 1);call write~init~int#11(0, 24, 6, 1);call #Ultimate.allocInit(4, 25);call write~init~int#12(32, 25, 0, 1);call write~init~int#12(37, 25, 1, 1);call write~init~int#12(105, 25, 2, 1);call write~init~int#12(0, 25, 3, 1);call #Ultimate.allocInit(4, 26);call write~init~int#13(32, 26, 0, 1);call write~init~int#13(37, 26, 1, 1);call write~init~int#13(105, 26, 2, 1);call write~init~int#13(0, 26, 3, 1);call #Ultimate.allocInit(4, 27);call write~init~int#14(32, 27, 0, 1);call write~init~int#14(37, 27, 1, 1);call write~init~int#14(105, 27, 2, 1);call write~init~int#14(0, 27, 3, 1);call #Ultimate.allocInit(4, 28);call write~init~int#15(32, 28, 0, 1);call write~init~int#15(37, 28, 1, 1);call write~init~int#15(105, 28, 2, 1);call write~init~int#15(0, 28, 3, 1);call #Ultimate.allocInit(4, 29);call write~init~int#16(32, 29, 0, 1);call write~init~int#16(37, 29, 1, 1);call write~init~int#16(105, 29, 2, 1);call write~init~int#16(0, 29, 3, 1);call #Ultimate.allocInit(6, 30);call write~init~int#17(32, 30, 0, 1);call write~init~int#17(70, 30, 1, 1);call write~init~int#17(95, 30, 2, 1);call write~init~int#17(112, 30, 3, 1);call write~init~int#17(58, 30, 4, 1);call write~init~int#17(0, 30, 5, 1);call #Ultimate.allocInit(4, 31);call write~init~int#18(32, 31, 0, 1);call write~init~int#18(37, 31, 1, 1);call write~init~int#18(105, 31, 2, 1);call write~init~int#18(0, 31, 3, 1);call #Ultimate.allocInit(4, 32);call write~init~int#19(32, 32, 0, 1);call write~init~int#19(37, 32, 1, 1);call write~init~int#19(105, 32, 2, 1);call write~init~int#19(0, 32, 3, 1);call #Ultimate.allocInit(4, 33);call write~init~int#1(32, 33, 0, 1);call write~init~int#1(37, 33, 1, 1);call write~init~int#1(105, 33, 2, 1);call write~init~int#1(0, 33, 3, 1);call #Ultimate.allocInit(4, 34);call write~init~int#2(32, 34, 0, 1);call write~init~int#2(37, 34, 1, 1);call write~init~int#2(105, 34, 2, 1);call write~init~int#2(0, 34, 3, 1);call #Ultimate.allocInit(4, 35);call write~init~int#3(32, 35, 0, 1);call write~init~int#3(37, 35, 1, 1);call write~init~int#3(105, 35, 2, 1);call write~init~int#3(0, 35, 3, 1);call #Ultimate.allocInit(2, 36);call write~init~int#4(10, 36, 0, 1);call write~init~int#4(0, 36, 1, 1);~head~0.base, ~head~0.offset := 0, 0;~weight~0 := 0;~maximumWeight~0 := 100;~executiveFloor~0 := 4;~prevDir~0 := 0;~calls_0~0 := 0;~calls_1~0 := 0;~calls_2~0 := 0;~calls_3~0 := 0;~calls_4~0 := 0;~personOnFloor_0_0~0 := 0;~personOnFloor_0_1~0 := 0;~personOnFloor_0_2~0 := 0;~personOnFloor_0_3~0 := 0;~personOnFloor_0_4~0 := 0;~personOnFloor_1_0~0 := 0;~personOnFloor_1_1~0 := 0;~personOnFloor_1_2~0 := 0;~personOnFloor_1_3~0 := 0;~personOnFloor_1_4~0 := 0;~personOnFloor_2_0~0 := 0;~personOnFloor_2_1~0 := 0;~personOnFloor_2_2~0 := 0;~personOnFloor_2_3~0 := 0;~personOnFloor_2_4~0 := 0;~personOnFloor_3_0~0 := 0;~personOnFloor_3_1~0 := 0;~personOnFloor_3_2~0 := 0;~personOnFloor_3_3~0 := 0;~personOnFloor_3_4~0 := 0;~personOnFloor_4_0~0 := 0;~personOnFloor_4_1~0 := 0;~personOnFloor_4_2~0 := 0;~personOnFloor_4_3~0 := 0;~personOnFloor_4_4~0 := 0;~personOnFloor_5_0~0 := 0;~personOnFloor_5_1~0 := 0;~personOnFloor_5_2~0 := 0;~personOnFloor_5_3~0 := 0;~personOnFloor_5_4~0 := 0;~cleanupTimeShifts~0 := 12;~currentHeading~0 := 1;~currentFloorID~0 := 0;~persons_0~0 := 0;~persons_1~0 := 0;~persons_2~0 := 0;~persons_3~0 := 0;~persons_4~0 := 0;~persons_5~0 := 0;~doorState~0 := 1;~floorButtons_0~0 := 0;~floorButtons_1~0 := 0;~floorButtons_2~0 := 0;~floorButtons_3~0 := 0;~floorButtons_4~0 := 0; 4700#L-1true assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret47#1, main_~retValue_acc~10#1, main_~tmp~12#1;havoc main_~retValue_acc~10#1;havoc main_~tmp~12#1;assume { :begin_inline_select_helpers } true; 8263#select_helpers_returnLabel#1true assume { :end_inline_select_helpers } true;assume { :begin_inline_select_features } true; 7884#select_features_returnLabel#1true assume { :end_inline_select_features } true;assume { :begin_inline_valid_product } true;havoc valid_product_#res#1;havoc valid_product_~retValue_acc~12#1;havoc valid_product_~retValue_acc~12#1;valid_product_~retValue_acc~12#1 := 1;valid_product_#res#1 := valid_product_~retValue_acc~12#1; 654#valid_product_returnLabel#1true main_#t~ret47#1 := valid_product_#res#1;havoc valid_product_~retValue_acc~12#1;assume { :end_inline_valid_product } true;main_~tmp~12#1 := main_#t~ret47#1;havoc main_#t~ret47#1; 2895#L1651true assume 0 != main_~tmp~12#1;assume { :begin_inline_setup } true; 1543#setup_returnLabel#1true assume { :end_inline_setup } true;assume { :begin_inline_runTest } true;assume { :begin_inline_test } true;assume { :begin_inline_aliceCall } true;havoc aliceCall_#t~ret36#1, aliceCall_~tmp~5#1;havoc aliceCall_~tmp~5#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 1;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~4#1; 5456#L564true assume 0 == getOrigin_~person#1;getOrigin_~retValue_acc~4#1 := 4;getOrigin_#res#1 := getOrigin_~retValue_acc~4#1; 2544#getOrigin_returnLabel#1true aliceCall_#t~ret36#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;aliceCall_~tmp~5#1 := aliceCall_#t~ret36#1;havoc aliceCall_#t~ret36#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 1, aliceCall_~tmp~5#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 1135#L999true assume 0 == initPersonOnFloor_~floor#1; 4619#L1000true assume 0 == initPersonOnFloor_~person#1;~personOnFloor_0_0~0 := 1; 7845#L1107-1true assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 320#L791true assume 0 == callOnFloor_~floorID#1;~calls_0~0 := 1; 1154#L803-2true havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true; 954#initPersonOnFloor_returnLabel#1true havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true; 7822#aliceCall_returnLabel#1true havoc aliceCall_#t~ret36#1, aliceCall_~tmp~5#1;assume { :end_inline_aliceCall } true;assume { :begin_inline_angelinaCall } true;havoc angelinaCall_#t~ret37#1, angelinaCall_~tmp~6#1;havoc angelinaCall_~tmp~6#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 2;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~4#1; 5043#L564-1true assume 0 == getOrigin_~person#1;getOrigin_~retValue_acc~4#1 := 4;getOrigin_#res#1 := getOrigin_~retValue_acc~4#1; 375#getOrigin_returnLabel#2true angelinaCall_#t~ret37#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;angelinaCall_~tmp~6#1 := angelinaCall_#t~ret37#1;havoc angelinaCall_#t~ret37#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 2, angelinaCall_~tmp~6#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 3857#L999-1true assume 0 == initPersonOnFloor_~floor#1; 9458#L1000-2true assume 0 == initPersonOnFloor_~person#1;~personOnFloor_0_0~0 := 1; 3357#L1107-3true assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 8366#L791-2true assume 0 == callOnFloor_~floorID#1;~calls_0~0 := 1; 8212#L803-5true havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true; 3408#initPersonOnFloor_returnLabel#2true havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true; 8043#angelinaCall_returnLabel#1true havoc angelinaCall_#t~ret37#1, angelinaCall_~tmp~6#1;assume { :end_inline_angelinaCall } true;assume { :begin_inline_threeTS } true;assume { :begin_inline_timeShift } true;havoc timeShift_#t~ret98#1, timeShift_#t~ret99#1, timeShift_#t~ret100#1, timeShift_#t~ret101#1, timeShift_#t~ret102#1, timeShift_#t~ret103#1, timeShift_#t~ret104#1, timeShift_#t~ret105#1, timeShift_#t~ret106#1, timeShift_#t~ret107#1, timeShift_#t~ret108#1, timeShift_~tmp~26#1, timeShift_~tmp___0~10#1, timeShift_~tmp___1~5#1, timeShift_~tmp___2~5#1, timeShift_~tmp___3~4#1, timeShift_~tmp___4~3#1, timeShift_~tmp___5~2#1, timeShift_~tmp___6~2#1, timeShift_~tmp___7~2#1, timeShift_~tmp___8~2#1, timeShift_~tmp___9~2#1;havoc timeShift_~tmp~26#1;havoc timeShift_~tmp___0~10#1;havoc timeShift_~tmp___1~5#1;havoc timeShift_~tmp___2~5#1;havoc timeShift_~tmp___3~4#1;havoc timeShift_~tmp___4~3#1;havoc timeShift_~tmp___5~2#1;havoc timeShift_~tmp___6~2#1;havoc timeShift_~tmp___7~2#1;havoc timeShift_~tmp___8~2#1;havoc timeShift_~tmp___9~2#1;assume { :begin_inline___utac_acc__Specification13_spec__1 } true;havoc __utac_acc__Specification13_spec__1_#t~ret27#1;assume { :begin_inline_getCurrentHeading } true;havoc getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~17#1;havoc getCurrentHeading_~retValue_acc~17#1;getCurrentHeading_~retValue_acc~17#1 := ~currentHeading~0;getCurrentHeading_#res#1 := getCurrentHeading_~retValue_acc~17#1; 7420#getCurrentHeading_returnLabel#1true __utac_acc__Specification13_spec__1_#t~ret27#1 := getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~17#1;assume { :end_inline_getCurrentHeading } true;~prevDir~0 := __utac_acc__Specification13_spec__1_#t~ret27#1;havoc __utac_acc__Specification13_spec__1_#t~ret27#1; 3717#__utac_acc__Specification13_spec__1_returnLabel#1true havoc __utac_acc__Specification13_spec__1_#t~ret27#1;assume { :end_inline___utac_acc__Specification13_spec__1 } true;assume { :begin_inline_stopRequestedAtCurrentFloor } true;havoc stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1, stopRequestedAtCurrentFloor_#t~ret83#1, stopRequestedAtCurrentFloor_#t~ret84#1, stopRequestedAtCurrentFloor_#t~ret85#1, stopRequestedAtCurrentFloor_~retValue_acc~27#1, stopRequestedAtCurrentFloor_~tmp~24#1, stopRequestedAtCurrentFloor_~tmp___0~8#1;havoc stopRequestedAtCurrentFloor_~retValue_acc~27#1;havoc stopRequestedAtCurrentFloor_~tmp~24#1;havoc stopRequestedAtCurrentFloor_~tmp___0~8#1;assume { :begin_inline_isExecutiveFloorCalling } true;havoc isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;havoc isExecutiveFloorCalling_~retValue_acc~30#1;assume { :begin_inline_isFloorCalling } true;isFloorCalling_#in~floorID#1 := ~executiveFloor~0;havoc isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;isFloorCalling_~floorID#1 := isFloorCalling_#in~floorID#1;havoc isFloorCalling_~retValue_acc~6#1; 9181#L728true assume 0 == isFloorCalling_~floorID#1;isFloorCalling_~retValue_acc~6#1 := ~calls_0~0;isFloorCalling_#res#1 := isFloorCalling_~retValue_acc~6#1; 7405#isFloorCalling_returnLabel#1true isExecutiveFloorCalling_#t~ret135#1 := isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;havoc isFloorCalling_#in~floorID#1;assume { :end_inline_isFloorCalling } true;isExecutiveFloorCalling_~retValue_acc~30#1 := isExecutiveFloorCalling_#t~ret135#1;havoc isExecutiveFloorCalling_#t~ret135#1;isExecutiveFloorCalling_#res#1 := isExecutiveFloorCalling_~retValue_acc~30#1; 8986#isExecutiveFloorCalling_returnLabel#1true stopRequestedAtCurrentFloor_#t~ret82#1 := isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;assume { :end_inline_isExecutiveFloorCalling } true;stopRequestedAtCurrentFloor_~tmp~24#1 := stopRequestedAtCurrentFloor_#t~ret82#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1; 4896#L2700true assume 0 != stopRequestedAtCurrentFloor_~tmp~24#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;havoc getCurrentFloorID_~retValue_acc~14#1;getCurrentFloorID_~retValue_acc~14#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~14#1; 3475#getCurrentFloorID_returnLabel#1true stopRequestedAtCurrentFloor_#t~ret83#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedAtCurrentFloor_~tmp___0~8#1 := stopRequestedAtCurrentFloor_#t~ret83#1;havoc stopRequestedAtCurrentFloor_#t~ret83#1; 2673#L2704true assume !(~executiveFloor~0 == stopRequestedAtCurrentFloor_~tmp___0~8#1);stopRequestedAtCurrentFloor_~retValue_acc~27#1 := 0;stopRequestedAtCurrentFloor_#res#1 := stopRequestedAtCurrentFloor_~retValue_acc~27#1; 259#stopRequestedAtCurrentFloor_returnLabel#1true timeShift_#t~ret98#1 := stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1, stopRequestedAtCurrentFloor_#t~ret83#1, stopRequestedAtCurrentFloor_#t~ret84#1, stopRequestedAtCurrentFloor_#t~ret85#1, stopRequestedAtCurrentFloor_~retValue_acc~27#1, stopRequestedAtCurrentFloor_~tmp~24#1, stopRequestedAtCurrentFloor_~tmp___0~8#1;assume { :end_inline_stopRequestedAtCurrentFloor } true;timeShift_~tmp___9~2#1 := timeShift_#t~ret98#1;havoc timeShift_#t~ret98#1; 562#L2853true assume !(0 != timeShift_~tmp___9~2#1); 3118#L2944true assume 1 == ~doorState~0;~doorState~0 := 0; 854#L2944-2true assume { :begin_inline_stopRequestedInDirection } true;stopRequestedInDirection_#in~dir#1, stopRequestedInDirection_#in~respectFloorCalls#1, stopRequestedInDirection_#in~respectInLiftCalls#1 := ~currentHeading~0, 1, 1;havoc stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret73#1, stopRequestedInDirection_#t~ret74#1, stopRequestedInDirection_#t~ret75#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~23#1, stopRequestedInDirection_~tmp~20#1, stopRequestedInDirection_~tmp___0~5#1, stopRequestedInDirection_~__cil_tmp7~6#1, stopRequestedInDirection_~__cil_tmp8~7#1;stopRequestedInDirection_~dir#1 := stopRequestedInDirection_#in~dir#1;stopRequestedInDirection_~respectFloorCalls#1 := stopRequestedInDirection_#in~respectFloorCalls#1;stopRequestedInDirection_~respectInLiftCalls#1 := stopRequestedInDirection_#in~respectInLiftCalls#1;havoc stopRequestedInDirection_~retValue_acc~23#1;havoc stopRequestedInDirection_~tmp~20#1;havoc stopRequestedInDirection_~tmp___0~5#1;havoc stopRequestedInDirection_~__cil_tmp7~6#1;havoc stopRequestedInDirection_~__cil_tmp8~7#1;assume { :begin_inline_isExecutiveFloorCalling } true;havoc isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;havoc isExecutiveFloorCalling_~retValue_acc~30#1;assume { :begin_inline_isFloorCalling } true;isFloorCalling_#in~floorID#1 := ~executiveFloor~0;havoc isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;isFloorCalling_~floorID#1 := isFloorCalling_#in~floorID#1;havoc isFloorCalling_~retValue_acc~6#1; 8473#L728-3true assume 0 == isFloorCalling_~floorID#1;isFloorCalling_~retValue_acc~6#1 := ~calls_0~0;isFloorCalling_#res#1 := isFloorCalling_~retValue_acc~6#1; 2766#isFloorCalling_returnLabel#4true isExecutiveFloorCalling_#t~ret135#1 := isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;havoc isFloorCalling_#in~floorID#1;assume { :end_inline_isFloorCalling } true;isExecutiveFloorCalling_~retValue_acc~30#1 := isExecutiveFloorCalling_#t~ret135#1;havoc isExecutiveFloorCalling_#t~ret135#1;isExecutiveFloorCalling_#res#1 := isExecutiveFloorCalling_~retValue_acc~30#1; 5812#isExecutiveFloorCalling_returnLabel#2true stopRequestedInDirection_#t~ret73#1 := isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;assume { :end_inline_isExecutiveFloorCalling } true;stopRequestedInDirection_~tmp___0~5#1 := stopRequestedInDirection_#t~ret73#1;havoc stopRequestedInDirection_#t~ret73#1; 395#L2555true assume 0 != stopRequestedInDirection_~tmp___0~5#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;havoc getCurrentFloorID_~retValue_acc~14#1;getCurrentFloorID_~retValue_acc~14#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~14#1; 9540#getCurrentFloorID_returnLabel#4true stopRequestedInDirection_#t~ret74#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedInDirection_~tmp~20#1 := stopRequestedInDirection_#t~ret74#1;havoc stopRequestedInDirection_#t~ret74#1;stopRequestedInDirection_~__cil_tmp7~6#1 := (if 1 == stopRequestedInDirection_~dir#1 then 1 else 0);stopRequestedInDirection_~__cil_tmp8~7#1 := (if stopRequestedInDirection_~tmp~20#1 < ~executiveFloor~0 then 1 else 0);stopRequestedInDirection_~retValue_acc~23#1 := (if stopRequestedInDirection_~__cil_tmp8~7#1 == stopRequestedInDirection_~__cil_tmp7~6#1 then 1 else 0);stopRequestedInDirection_#res#1 := stopRequestedInDirection_~retValue_acc~23#1; 1668#stopRequestedInDirection_returnLabel#1true timeShift_#t~ret105#1 := stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret73#1, stopRequestedInDirection_#t~ret74#1, stopRequestedInDirection_#t~ret75#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~23#1, stopRequestedInDirection_~tmp~20#1, stopRequestedInDirection_~tmp___0~5#1, stopRequestedInDirection_~__cil_tmp7~6#1, stopRequestedInDirection_~__cil_tmp8~7#1;havoc stopRequestedInDirection_#in~dir#1, stopRequestedInDirection_#in~respectFloorCalls#1, stopRequestedInDirection_#in~respectInLiftCalls#1;assume { :end_inline_stopRequestedInDirection } true;timeShift_~tmp___8~2#1 := timeShift_#t~ret105#1;havoc timeShift_#t~ret105#1; 208#L2952true assume 0 != timeShift_~tmp___8~2#1;assume { :begin_inline_continueInDirection } true;continueInDirection_#in~dir#1 := ~currentHeading~0;havoc continueInDirection_#t~ret76#1, continueInDirection_~dir#1, continueInDirection_~tmp~21#1;continueInDirection_~dir#1 := continueInDirection_#in~dir#1;havoc continueInDirection_~tmp~21#1;~currentHeading~0 := continueInDirection_~dir#1; 8805#L2612true assume !(1 == ~currentHeading~0); 2606#L2622true assume !(0 == ~currentFloorID~0); 3864#L2622-2true assume !(1 == ~currentHeading~0);~currentFloorID~0 := ~currentFloorID~0 - 1; 2461#L2628-1true havoc continueInDirection_#t~ret76#1, continueInDirection_~dir#1, continueInDirection_~tmp~21#1;havoc continueInDirection_#in~dir#1;assume { :end_inline_continueInDirection } true; 9#L2961-2true assume { :begin_inline___utac_acc__Specification13_spec__2 } true;havoc __utac_acc__Specification13_spec__2_#t~ret28#1, __utac_acc__Specification13_spec__2_#t~ret29#1, __utac_acc__Specification13_spec__2_#t~ret30#1, __utac_acc__Specification13_spec__2_#t~ret31#1, __utac_acc__Specification13_spec__2_#t~ret32#1, __utac_acc__Specification13_spec__2_#t~ret33#1, __utac_acc__Specification13_spec__2_~tmp~3#1, __utac_acc__Specification13_spec__2_~tmp___0~0#1, __utac_acc__Specification13_spec__2_~tmp___1~0#1, __utac_acc__Specification13_spec__2_~tmp___2~0#1, __utac_acc__Specification13_spec__2_~tmp___3~0#1, __utac_acc__Specification13_spec__2_~tmp___4~0#1, __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1, __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1;havoc __utac_acc__Specification13_spec__2_~tmp~3#1;havoc __utac_acc__Specification13_spec__2_~tmp___0~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___1~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___2~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___3~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___4~0#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1;__utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 := 2 * ~maximumWeight~0;__utac_acc__Specification13_spec__2_~__cil_tmp8~5#1 := (if __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 < 0 && 0 != __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 % 3 then 1 + __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 / 3 else __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 / 3); 1789#L454true assume ~weight~0 > __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1; 1006#L455true assume 1 == ~prevDir~0;assume { :begin_inline_existInLiftCallsInDirection } true;existInLiftCallsInDirection_#in~d#1 := 0;havoc existInLiftCallsInDirection_#res#1;havoc existInLiftCallsInDirection_~d#1, existInLiftCallsInDirection_~retValue_acc~29#1, existInLiftCallsInDirection_~i~1#1, existInLiftCallsInDirection_~i___0~0#1;existInLiftCallsInDirection_~d#1 := existInLiftCallsInDirection_#in~d#1;havoc existInLiftCallsInDirection_~retValue_acc~29#1;havoc existInLiftCallsInDirection_~i~1#1;havoc existInLiftCallsInDirection_~i___0~0#1; 2106#L3156true assume 1 == existInLiftCallsInDirection_~d#1;existInLiftCallsInDirection_~i~1#1 := 0;existInLiftCallsInDirection_~i~1#1 := 1 + ~currentFloorID~0; 5285#L3160-2true [2024-10-12 00:47:19,487 INFO L747 eck$LassoCheckResult]: Loop: 5285#L3160-2true assume !false; 3472#L3161true assume existInLiftCallsInDirection_~i~1#1 < 5; 3#L3162true assume !(0 == existInLiftCallsInDirection_~i~1#1); 3414#$Ultimate##3770true assume !(1 == existInLiftCallsInDirection_~i~1#1); 4183#$Ultimate##3774true assume !(2 == existInLiftCallsInDirection_~i~1#1); 1470#$Ultimate##3778true assume !(3 == existInLiftCallsInDirection_~i~1#1); 2549#$Ultimate##3782true assume !(4 == existInLiftCallsInDirection_~i~1#1); 1611#L3203-1true existInLiftCallsInDirection_~i~1#1 := 1 + existInLiftCallsInDirection_~i~1#1; 5285#L3160-2true [2024-10-12 00:47:19,495 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-12 00:47:19,496 INFO L85 PathProgramCache]: Analyzing trace with hash 1456644332, now seen corresponding path program 1 times [2024-10-12 00:47:19,504 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-12 00:47:19,504 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [781698575] [2024-10-12 00:47:19,505 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-12 00:47:19,505 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-12 00:47:19,669 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-12 00:47:20,039 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-10-12 00:47:20,040 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-10-12 00:47:20,040 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [781698575] [2024-10-12 00:47:20,041 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [781698575] provided 1 perfect and 0 imperfect interpolant sequences [2024-10-12 00:47:20,041 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-10-12 00:47:20,043 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2024-10-12 00:47:20,044 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1869633547] [2024-10-12 00:47:20,046 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-10-12 00:47:20,051 INFO L750 eck$LassoCheckResult]: stem already infeasible [2024-10-12 00:47:20,052 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-12 00:47:20,053 INFO L85 PathProgramCache]: Analyzing trace with hash -462995331, now seen corresponding path program 1 times [2024-10-12 00:47:20,053 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-12 00:47:20,053 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [611509120] [2024-10-12 00:47:20,054 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-12 00:47:20,054 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-12 00:47:20,075 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-12 00:47:20,076 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-10-12 00:47:20,079 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-12 00:47:20,121 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-10-12 00:47:20,191 INFO L204 LassoAnalysis]: Preferences: [2024-10-12 00:47:20,192 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2024-10-12 00:47:20,192 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2024-10-12 00:47:20,192 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2024-10-12 00:47:20,193 INFO L128 ssoRankerPreferences]: Use exernal solver: true [2024-10-12 00:47:20,193 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-10-12 00:47:20,193 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2024-10-12 00:47:20,193 INFO L131 ssoRankerPreferences]: Path of dumped script: [2024-10-12 00:47:20,193 INFO L132 ssoRankerPreferences]: Filename of dumped script: elevator_spec13_product31.cil.c_Iteration1_Loop [2024-10-12 00:47:20,193 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2024-10-12 00:47:20,193 INFO L241 LassoAnalysis]: Starting lasso preprocessing... [2024-10-12 00:47:20,210 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-10-12 00:47:20,290 INFO L259 LassoAnalysis]: Preprocessing complete. [2024-10-12 00:47:20,291 INFO L365 LassoAnalysis]: Checking for nontermination... [2024-10-12 00:47:20,293 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-10-12 00:47:20,293 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-clean/releaseScripts/default/UAutomizer-linux/z3 [2024-10-12 00:47:20,296 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate-clean/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-10-12 00:47:20,298 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-clean/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (2)] Waiting until timeout for monitored process [2024-10-12 00:47:20,300 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2024-10-12 00:47:20,300 INFO L160 nArgumentSynthesizer]: Using integer mode. [2024-10-12 00:47:20,333 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-clean/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (2)] Ended with exit code 0 [2024-10-12 00:47:20,335 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-10-12 00:47:20,335 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-clean/releaseScripts/default/UAutomizer-linux/z3 [2024-10-12 00:47:20,336 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate-clean/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-10-12 00:47:20,338 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-clean/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (3)] Waiting until timeout for monitored process [2024-10-12 00:47:20,339 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 3 Nilpotent components: true [2024-10-12 00:47:20,339 INFO L160 nArgumentSynthesizer]: Using integer mode. [2024-10-12 00:47:20,379 INFO L405 LassoAnalysis]: Proving nontermination failed: No geometric nontermination argument exists. [2024-10-12 00:47:20,384 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-clean/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (3)] Ended with exit code 0 [2024-10-12 00:47:20,385 INFO L204 LassoAnalysis]: Preferences: [2024-10-12 00:47:20,385 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2024-10-12 00:47:20,385 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2024-10-12 00:47:20,385 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2024-10-12 00:47:20,386 INFO L128 ssoRankerPreferences]: Use exernal solver: false [2024-10-12 00:47:20,386 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-10-12 00:47:20,386 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2024-10-12 00:47:20,386 INFO L131 ssoRankerPreferences]: Path of dumped script: [2024-10-12 00:47:20,386 INFO L132 ssoRankerPreferences]: Filename of dumped script: elevator_spec13_product31.cil.c_Iteration1_Loop [2024-10-12 00:47:20,386 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2024-10-12 00:47:20,386 INFO L241 LassoAnalysis]: Starting lasso preprocessing... [2024-10-12 00:47:20,387 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-10-12 00:47:20,457 INFO L259 LassoAnalysis]: Preprocessing complete. [2024-10-12 00:47:20,462 INFO L451 LassoAnalysis]: Using template 'affine'. [2024-10-12 00:47:20,463 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-10-12 00:47:20,463 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-clean/releaseScripts/default/UAutomizer-linux/z3 [2024-10-12 00:47:20,466 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate-clean/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-10-12 00:47:20,467 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-clean/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (4)] Waiting until timeout for monitored process [2024-10-12 00:47:20,469 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2024-10-12 00:47:20,481 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-10-12 00:47:20,482 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-10-12 00:47:20,482 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-10-12 00:47:20,484 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-10-12 00:47:20,484 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-10-12 00:47:20,486 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-10-12 00:47:20,486 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-10-12 00:47:20,489 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2024-10-12 00:47:20,495 INFO L443 ModelExtractionUtils]: Simplification made 2 calls to the SMT solver. [2024-10-12 00:47:20,495 INFO L444 ModelExtractionUtils]: 1 out of 3 variables were initially zero. Simplification set additionally 0 variables to zero. [2024-10-12 00:47:20,496 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-10-12 00:47:20,496 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-clean/releaseScripts/default/UAutomizer-linux/z3 [2024-10-12 00:47:20,518 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate-clean/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-10-12 00:47:20,520 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-clean/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (5)] Waiting until timeout for monitored process [2024-10-12 00:47:20,521 INFO L435 nArgumentSynthesizer]: Simplifying supporting invariants... [2024-10-12 00:47:20,521 INFO L438 nArgumentSynthesizer]: Removed 0 redundant supporting invariants from a total of 0. [2024-10-12 00:47:20,522 INFO L474 LassoAnalysis]: Proved termination. [2024-10-12 00:47:20,522 INFO L476 LassoAnalysis]: Termination argument consisting of: Ranking function f(ULTIMATE.start_existInLiftCallsInDirection_~i~1#1) = -1*ULTIMATE.start_existInLiftCallsInDirection_~i~1#1 Supporting invariants [] [2024-10-12 00:47:20,538 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-clean/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (4)] Forceful destruction successful, exit code 0 [2024-10-12 00:47:20,542 INFO L156 tatePredicateManager]: 0 out of 0 supporting invariants were superfluous and have been removed [2024-10-12 00:47:20,574 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-12 00:47:20,726 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-12 00:47:20,731 INFO L255 TraceCheckSpWp]: Trace formula consists of 619 conjuncts, 2 conjuncts are in the unsatisfiable core [2024-10-12 00:47:20,734 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-10-12 00:47:20,834 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-12 00:47:20,834 WARN L253 TraceCheckSpWp]: Trace formula consists of 11 conjuncts, 9 conjuncts are in the unsatisfiable core [2024-10-12 00:47:20,835 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-10-12 00:47:21,024 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-10-12 00:47:21,057 INFO L141 lantAutomatonBouncer]: Defining deterministic Buchi interpolant automaton with honda bouncer for stem and without honda bouncer for loop.1 stem predicates 7 loop predicates [2024-10-12 00:47:21,092 INFO L71 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand has 9737 states, 9736 states have (on average 1.8729457682826622) internal successors, (18235), 9736 states have internal predecessors, (18235), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand has 9 states, 9 states have (on average 6.666666666666667) internal successors, (60), 9 states have internal predecessors, (60), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-10-12 00:47:21,891 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-clean/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (5)] Ended with exit code 0 [2024-10-12 00:47:22,252 INFO L75 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand has 9737 states, 9736 states have (on average 1.8729457682826622) internal successors, (18235), 9736 states have internal predecessors, (18235), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0). Second operand has 9 states, 9 states have (on average 6.666666666666667) internal successors, (60), 9 states have internal predecessors, (60), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Result 25439 states and 47584 transitions. Complement of second has 18 states. [2024-10-12 00:47:22,256 INFO L141 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 10 states 1 stem states 7 non-accepting loop states 1 accepting loop states [2024-10-12 00:47:22,261 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 6.666666666666667) internal successors, (60), 9 states have internal predecessors, (60), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-10-12 00:47:22,298 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 32929 transitions. [2024-10-12 00:47:22,300 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 10 states and 32929 transitions. Stem has 52 letters. Loop has 8 letters. [2024-10-12 00:47:22,301 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2024-10-12 00:47:22,301 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 10 states and 32929 transitions. Stem has 60 letters. Loop has 8 letters. [2024-10-12 00:47:22,301 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2024-10-12 00:47:22,302 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 10 states and 32929 transitions. Stem has 52 letters. Loop has 16 letters. [2024-10-12 00:47:22,302 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2024-10-12 00:47:22,303 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 25439 states and 47584 transitions. [2024-10-12 00:47:22,510 INFO L131 ngComponentsAnalysis]: Automaton has 60 accepting balls. 4784 [2024-10-12 00:47:22,637 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 25439 states to 17512 states and 32673 transitions. [2024-10-12 00:47:22,638 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 17482 [2024-10-12 00:47:22,667 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 17483 [2024-10-12 00:47:22,668 INFO L73 IsDeterministic]: Start isDeterministic. Operand 17512 states and 32673 transitions. [2024-10-12 00:47:22,679 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-10-12 00:47:22,680 INFO L218 hiAutomatonCegarLoop]: Abstraction has 17512 states and 32673 transitions. [2024-10-12 00:47:22,725 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 17512 states and 32673 transitions. [2024-10-12 00:47:23,014 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 17512 to 17486. [2024-10-12 00:47:23,063 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17486 states, 17486 states have (on average 1.8662930344275421) internal successors, (32634), 17485 states have internal predecessors, (32634), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-10-12 00:47:23,103 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17486 states to 17486 states and 32634 transitions. [2024-10-12 00:47:23,105 INFO L240 hiAutomatonCegarLoop]: Abstraction has 17486 states and 32634 transitions. [2024-10-12 00:47:23,105 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-10-12 00:47:23,108 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2024-10-12 00:47:23,110 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2024-10-12 00:47:23,111 INFO L87 Difference]: Start difference. First operand 17486 states and 32634 transitions. Second operand has 5 states, 5 states have (on average 10.4) internal successors, (52), 5 states have internal predecessors, (52), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-10-12 00:47:23,751 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-10-12 00:47:23,751 INFO L93 Difference]: Finished difference Result 17468 states and 32503 transitions. [2024-10-12 00:47:23,751 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 17468 states and 32503 transitions. [2024-10-12 00:47:23,886 INFO L131 ngComponentsAnalysis]: Automaton has 60 accepting balls. 4768 [2024-10-12 00:47:23,976 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 17468 states to 17459 states and 32494 transitions. [2024-10-12 00:47:23,976 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 17440 [2024-10-12 00:47:23,996 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 17440 [2024-10-12 00:47:23,996 INFO L73 IsDeterministic]: Start isDeterministic. Operand 17459 states and 32494 transitions. [2024-10-12 00:47:24,006 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-10-12 00:47:24,007 INFO L218 hiAutomatonCegarLoop]: Abstraction has 17459 states and 32494 transitions. [2024-10-12 00:47:24,034 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 17459 states and 32494 transitions. [2024-10-12 00:47:24,233 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 17459 to 9724. [2024-10-12 00:47:24,255 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9724 states, 9724 states have (on average 1.8612710818593172) internal successors, (18099), 9723 states have internal predecessors, (18099), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-10-12 00:47:24,284 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9724 states to 9724 states and 18099 transitions. [2024-10-12 00:47:24,284 INFO L240 hiAutomatonCegarLoop]: Abstraction has 9724 states and 18099 transitions. [2024-10-12 00:47:24,285 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2024-10-12 00:47:24,286 INFO L425 stractBuchiCegarLoop]: Abstraction has 9724 states and 18099 transitions. [2024-10-12 00:47:24,287 INFO L332 stractBuchiCegarLoop]: ======== Iteration 2 ============ [2024-10-12 00:47:24,287 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 9724 states and 18099 transitions. [2024-10-12 00:47:24,342 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 2431 [2024-10-12 00:47:24,342 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-10-12 00:47:24,342 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-10-12 00:47:24,343 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-10-12 00:47:24,344 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1, 1, 1] [2024-10-12 00:47:24,344 INFO L745 eck$LassoCheckResult]: Stem: 78085#$Ultimate##0 assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int#0(48, 1, 0, 1);call write~init~int#0(0, 1, 1, 1);call #Ultimate.allocInit(32, 2);call #Ultimate.allocInit(12, 3);call #Ultimate.allocInit(30, 4);call #Ultimate.allocInit(9, 5);call #Ultimate.allocInit(21, 6);call #Ultimate.allocInit(30, 7);call #Ultimate.allocInit(9, 8);call #Ultimate.allocInit(21, 9);call #Ultimate.allocInit(30, 10);call #Ultimate.allocInit(9, 11);call #Ultimate.allocInit(25, 12);call #Ultimate.allocInit(30, 13);call #Ultimate.allocInit(9, 14);call #Ultimate.allocInit(25, 15);call #Ultimate.allocInit(10, 16);call #Ultimate.allocInit(4, 17);call write~init~int#5(91, 17, 0, 1);call write~init~int#5(95, 17, 1, 1);call write~init~int#5(93, 17, 2, 1);call write~init~int#5(0, 17, 3, 1);call #Ultimate.allocInit(4, 18);call write~init~int#6(91, 18, 0, 1);call write~init~int#6(93, 18, 1, 1);call write~init~int#6(32, 18, 2, 1);call write~init~int#6(0, 18, 3, 1);call #Ultimate.allocInit(5, 19);call write~init~int#7(32, 19, 0, 1);call write~init~int#7(97, 19, 1, 1);call write~init~int#7(116, 19, 2, 1);call write~init~int#7(32, 19, 3, 1);call write~init~int#7(0, 19, 4, 1);call #Ultimate.allocInit(3, 20);call write~init~int#8(37, 20, 0, 1);call write~init~int#8(105, 20, 1, 1);call write~init~int#8(0, 20, 2, 1);call #Ultimate.allocInit(10, 21);call #Ultimate.allocInit(3, 22);call write~init~int#9(117, 22, 0, 1);call write~init~int#9(112, 22, 1, 1);call write~init~int#9(0, 22, 2, 1);call #Ultimate.allocInit(5, 23);call write~init~int#10(100, 23, 0, 1);call write~init~int#10(111, 23, 1, 1);call write~init~int#10(119, 23, 2, 1);call write~init~int#10(110, 23, 3, 1);call write~init~int#10(0, 23, 4, 1);call #Ultimate.allocInit(7, 24);call write~init~int#11(32, 24, 0, 1);call write~init~int#11(73, 24, 1, 1);call write~init~int#11(76, 24, 2, 1);call write~init~int#11(95, 24, 3, 1);call write~init~int#11(112, 24, 4, 1);call write~init~int#11(58, 24, 5, 1);call write~init~int#11(0, 24, 6, 1);call #Ultimate.allocInit(4, 25);call write~init~int#12(32, 25, 0, 1);call write~init~int#12(37, 25, 1, 1);call write~init~int#12(105, 25, 2, 1);call write~init~int#12(0, 25, 3, 1);call #Ultimate.allocInit(4, 26);call write~init~int#13(32, 26, 0, 1);call write~init~int#13(37, 26, 1, 1);call write~init~int#13(105, 26, 2, 1);call write~init~int#13(0, 26, 3, 1);call #Ultimate.allocInit(4, 27);call write~init~int#14(32, 27, 0, 1);call write~init~int#14(37, 27, 1, 1);call write~init~int#14(105, 27, 2, 1);call write~init~int#14(0, 27, 3, 1);call #Ultimate.allocInit(4, 28);call write~init~int#15(32, 28, 0, 1);call write~init~int#15(37, 28, 1, 1);call write~init~int#15(105, 28, 2, 1);call write~init~int#15(0, 28, 3, 1);call #Ultimate.allocInit(4, 29);call write~init~int#16(32, 29, 0, 1);call write~init~int#16(37, 29, 1, 1);call write~init~int#16(105, 29, 2, 1);call write~init~int#16(0, 29, 3, 1);call #Ultimate.allocInit(6, 30);call write~init~int#17(32, 30, 0, 1);call write~init~int#17(70, 30, 1, 1);call write~init~int#17(95, 30, 2, 1);call write~init~int#17(112, 30, 3, 1);call write~init~int#17(58, 30, 4, 1);call write~init~int#17(0, 30, 5, 1);call #Ultimate.allocInit(4, 31);call write~init~int#18(32, 31, 0, 1);call write~init~int#18(37, 31, 1, 1);call write~init~int#18(105, 31, 2, 1);call write~init~int#18(0, 31, 3, 1);call #Ultimate.allocInit(4, 32);call write~init~int#19(32, 32, 0, 1);call write~init~int#19(37, 32, 1, 1);call write~init~int#19(105, 32, 2, 1);call write~init~int#19(0, 32, 3, 1);call #Ultimate.allocInit(4, 33);call write~init~int#1(32, 33, 0, 1);call write~init~int#1(37, 33, 1, 1);call write~init~int#1(105, 33, 2, 1);call write~init~int#1(0, 33, 3, 1);call #Ultimate.allocInit(4, 34);call write~init~int#2(32, 34, 0, 1);call write~init~int#2(37, 34, 1, 1);call write~init~int#2(105, 34, 2, 1);call write~init~int#2(0, 34, 3, 1);call #Ultimate.allocInit(4, 35);call write~init~int#3(32, 35, 0, 1);call write~init~int#3(37, 35, 1, 1);call write~init~int#3(105, 35, 2, 1);call write~init~int#3(0, 35, 3, 1);call #Ultimate.allocInit(2, 36);call write~init~int#4(10, 36, 0, 1);call write~init~int#4(0, 36, 1, 1);~head~0.base, ~head~0.offset := 0, 0;~weight~0 := 0;~maximumWeight~0 := 100;~executiveFloor~0 := 4;~prevDir~0 := 0;~calls_0~0 := 0;~calls_1~0 := 0;~calls_2~0 := 0;~calls_3~0 := 0;~calls_4~0 := 0;~personOnFloor_0_0~0 := 0;~personOnFloor_0_1~0 := 0;~personOnFloor_0_2~0 := 0;~personOnFloor_0_3~0 := 0;~personOnFloor_0_4~0 := 0;~personOnFloor_1_0~0 := 0;~personOnFloor_1_1~0 := 0;~personOnFloor_1_2~0 := 0;~personOnFloor_1_3~0 := 0;~personOnFloor_1_4~0 := 0;~personOnFloor_2_0~0 := 0;~personOnFloor_2_1~0 := 0;~personOnFloor_2_2~0 := 0;~personOnFloor_2_3~0 := 0;~personOnFloor_2_4~0 := 0;~personOnFloor_3_0~0 := 0;~personOnFloor_3_1~0 := 0;~personOnFloor_3_2~0 := 0;~personOnFloor_3_3~0 := 0;~personOnFloor_3_4~0 := 0;~personOnFloor_4_0~0 := 0;~personOnFloor_4_1~0 := 0;~personOnFloor_4_2~0 := 0;~personOnFloor_4_3~0 := 0;~personOnFloor_4_4~0 := 0;~personOnFloor_5_0~0 := 0;~personOnFloor_5_1~0 := 0;~personOnFloor_5_2~0 := 0;~personOnFloor_5_3~0 := 0;~personOnFloor_5_4~0 := 0;~cleanupTimeShifts~0 := 12;~currentHeading~0 := 1;~currentFloorID~0 := 0;~persons_0~0 := 0;~persons_1~0 := 0;~persons_2~0 := 0;~persons_3~0 := 0;~persons_4~0 := 0;~persons_5~0 := 0;~doorState~0 := 1;~floorButtons_0~0 := 0;~floorButtons_1~0 := 0;~floorButtons_2~0 := 0;~floorButtons_3~0 := 0;~floorButtons_4~0 := 0; 77826#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret47#1, main_~retValue_acc~10#1, main_~tmp~12#1;havoc main_~retValue_acc~10#1;havoc main_~tmp~12#1;assume { :begin_inline_select_helpers } true; 77827#select_helpers_returnLabel#1 assume { :end_inline_select_helpers } true;assume { :begin_inline_select_features } true; 79781#select_features_returnLabel#1 assume { :end_inline_select_features } true;assume { :begin_inline_valid_product } true;havoc valid_product_#res#1;havoc valid_product_~retValue_acc~12#1;havoc valid_product_~retValue_acc~12#1;valid_product_~retValue_acc~12#1 := 1;valid_product_#res#1 := valid_product_~retValue_acc~12#1; 71922#valid_product_returnLabel#1 main_#t~ret47#1 := valid_product_#res#1;havoc valid_product_~retValue_acc~12#1;assume { :end_inline_valid_product } true;main_~tmp~12#1 := main_#t~ret47#1;havoc main_#t~ret47#1; 71923#L1651 assume 0 != main_~tmp~12#1;assume { :begin_inline_setup } true; 73690#setup_returnLabel#1 assume { :end_inline_setup } true;assume { :begin_inline_runTest } true;assume { :begin_inline_test } true;assume { :begin_inline_aliceCall } true;havoc aliceCall_#t~ret36#1, aliceCall_~tmp~5#1;havoc aliceCall_~tmp~5#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 1;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~4#1; 73691#L564 assume !(0 == getOrigin_~person#1); 72312#L568 assume 1 == getOrigin_~person#1;getOrigin_~retValue_acc~4#1 := 3;getOrigin_#res#1 := getOrigin_~retValue_acc~4#1; 70359#getOrigin_returnLabel#1 aliceCall_#t~ret36#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;aliceCall_~tmp~5#1 := aliceCall_#t~ret36#1;havoc aliceCall_#t~ret36#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 1, aliceCall_~tmp~5#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 72929#L999 assume 0 == initPersonOnFloor_~floor#1; 72930#L1000 assume 0 == initPersonOnFloor_~person#1;~personOnFloor_0_0~0 := 1; 72720#L1107-1 assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 71174#L791 assume 0 == callOnFloor_~floorID#1;~calls_0~0 := 1; 70976#L803-2 havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true; 72568#initPersonOnFloor_returnLabel#1 havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true; 72569#aliceCall_returnLabel#1 havoc aliceCall_#t~ret36#1, aliceCall_~tmp~5#1;assume { :end_inline_aliceCall } true;assume { :begin_inline_angelinaCall } true;havoc angelinaCall_#t~ret37#1, angelinaCall_~tmp~6#1;havoc angelinaCall_~tmp~6#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 2;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~4#1; 78129#L564-1 assume !(0 == getOrigin_~person#1); 73437#L568-1 assume 1 == getOrigin_~person#1;getOrigin_~retValue_acc~4#1 := 3;getOrigin_#res#1 := getOrigin_~retValue_acc~4#1; 71301#getOrigin_returnLabel#2 angelinaCall_#t~ret37#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;angelinaCall_~tmp~6#1 := angelinaCall_#t~ret37#1;havoc angelinaCall_#t~ret37#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 2, angelinaCall_~tmp~6#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 71302#L999-1 assume 0 == initPersonOnFloor_~floor#1; 76945#L1000-2 assume 0 == initPersonOnFloor_~person#1;~personOnFloor_0_0~0 := 1; 70514#L1107-3 assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 76393#L791-2 assume 0 == callOnFloor_~floorID#1;~calls_0~0 := 1; 72547#L803-5 havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true; 76443#initPersonOnFloor_returnLabel#2 havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true; 76444#angelinaCall_returnLabel#1 havoc angelinaCall_#t~ret37#1, angelinaCall_~tmp~6#1;assume { :end_inline_angelinaCall } true;assume { :begin_inline_threeTS } true;assume { :begin_inline_timeShift } true;havoc timeShift_#t~ret98#1, timeShift_#t~ret99#1, timeShift_#t~ret100#1, timeShift_#t~ret101#1, timeShift_#t~ret102#1, timeShift_#t~ret103#1, timeShift_#t~ret104#1, timeShift_#t~ret105#1, timeShift_#t~ret106#1, timeShift_#t~ret107#1, timeShift_#t~ret108#1, timeShift_~tmp~26#1, timeShift_~tmp___0~10#1, timeShift_~tmp___1~5#1, timeShift_~tmp___2~5#1, timeShift_~tmp___3~4#1, timeShift_~tmp___4~3#1, timeShift_~tmp___5~2#1, timeShift_~tmp___6~2#1, timeShift_~tmp___7~2#1, timeShift_~tmp___8~2#1, timeShift_~tmp___9~2#1;havoc timeShift_~tmp~26#1;havoc timeShift_~tmp___0~10#1;havoc timeShift_~tmp___1~5#1;havoc timeShift_~tmp___2~5#1;havoc timeShift_~tmp___3~4#1;havoc timeShift_~tmp___4~3#1;havoc timeShift_~tmp___5~2#1;havoc timeShift_~tmp___6~2#1;havoc timeShift_~tmp___7~2#1;havoc timeShift_~tmp___8~2#1;havoc timeShift_~tmp___9~2#1;assume { :begin_inline___utac_acc__Specification13_spec__1 } true;havoc __utac_acc__Specification13_spec__1_#t~ret27#1;assume { :begin_inline_getCurrentHeading } true;havoc getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~17#1;havoc getCurrentHeading_~retValue_acc~17#1;getCurrentHeading_~retValue_acc~17#1 := ~currentHeading~0;getCurrentHeading_#res#1 := getCurrentHeading_~retValue_acc~17#1; 79601#getCurrentHeading_returnLabel#1 __utac_acc__Specification13_spec__1_#t~ret27#1 := getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~17#1;assume { :end_inline_getCurrentHeading } true;~prevDir~0 := __utac_acc__Specification13_spec__1_#t~ret27#1;havoc __utac_acc__Specification13_spec__1_#t~ret27#1; 76770#__utac_acc__Specification13_spec__1_returnLabel#1 havoc __utac_acc__Specification13_spec__1_#t~ret27#1;assume { :end_inline___utac_acc__Specification13_spec__1 } true;assume { :begin_inline_stopRequestedAtCurrentFloor } true;havoc stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1, stopRequestedAtCurrentFloor_#t~ret83#1, stopRequestedAtCurrentFloor_#t~ret84#1, stopRequestedAtCurrentFloor_#t~ret85#1, stopRequestedAtCurrentFloor_~retValue_acc~27#1, stopRequestedAtCurrentFloor_~tmp~24#1, stopRequestedAtCurrentFloor_~tmp___0~8#1;havoc stopRequestedAtCurrentFloor_~retValue_acc~27#1;havoc stopRequestedAtCurrentFloor_~tmp~24#1;havoc stopRequestedAtCurrentFloor_~tmp___0~8#1;assume { :begin_inline_isExecutiveFloorCalling } true;havoc isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;havoc isExecutiveFloorCalling_~retValue_acc~30#1;assume { :begin_inline_isFloorCalling } true;isFloorCalling_#in~floorID#1 := ~executiveFloor~0;havoc isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;isFloorCalling_~floorID#1 := isFloorCalling_#in~floorID#1;havoc isFloorCalling_~retValue_acc~6#1; 76771#L728 assume 0 == isFloorCalling_~floorID#1;isFloorCalling_~retValue_acc~6#1 := ~calls_0~0;isFloorCalling_#res#1 := isFloorCalling_~retValue_acc~6#1; 78232#isFloorCalling_returnLabel#1 isExecutiveFloorCalling_#t~ret135#1 := isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;havoc isFloorCalling_#in~floorID#1;assume { :end_inline_isFloorCalling } true;isExecutiveFloorCalling_~retValue_acc~30#1 := isExecutiveFloorCalling_#t~ret135#1;havoc isExecutiveFloorCalling_#t~ret135#1;isExecutiveFloorCalling_#res#1 := isExecutiveFloorCalling_~retValue_acc~30#1; 79599#isExecutiveFloorCalling_returnLabel#1 stopRequestedAtCurrentFloor_#t~ret82#1 := isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;assume { :end_inline_isExecutiveFloorCalling } true;stopRequestedAtCurrentFloor_~tmp~24#1 := stopRequestedAtCurrentFloor_#t~ret82#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1; 77997#L2700 assume 0 != stopRequestedAtCurrentFloor_~tmp~24#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;havoc getCurrentFloorID_~retValue_acc~14#1;getCurrentFloorID_~retValue_acc~14#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~14#1; 76521#getCurrentFloorID_returnLabel#1 stopRequestedAtCurrentFloor_#t~ret83#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedAtCurrentFloor_~tmp___0~8#1 := stopRequestedAtCurrentFloor_#t~ret83#1;havoc stopRequestedAtCurrentFloor_#t~ret83#1; 75477#L2704 assume !(~executiveFloor~0 == stopRequestedAtCurrentFloor_~tmp___0~8#1);stopRequestedAtCurrentFloor_~retValue_acc~27#1 := 0;stopRequestedAtCurrentFloor_#res#1 := stopRequestedAtCurrentFloor_~retValue_acc~27#1; 71034#stopRequestedAtCurrentFloor_returnLabel#1 timeShift_#t~ret98#1 := stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1, stopRequestedAtCurrentFloor_#t~ret83#1, stopRequestedAtCurrentFloor_#t~ret84#1, stopRequestedAtCurrentFloor_#t~ret85#1, stopRequestedAtCurrentFloor_~retValue_acc~27#1, stopRequestedAtCurrentFloor_~tmp~24#1, stopRequestedAtCurrentFloor_~tmp___0~8#1;assume { :end_inline_stopRequestedAtCurrentFloor } true;timeShift_~tmp___9~2#1 := timeShift_#t~ret98#1;havoc timeShift_#t~ret98#1; 71035#L2853 assume !(0 != timeShift_~tmp___9~2#1); 71725#L2944 assume 1 == ~doorState~0;~doorState~0 := 0; 72359#L2944-2 assume { :begin_inline_stopRequestedInDirection } true;stopRequestedInDirection_#in~dir#1, stopRequestedInDirection_#in~respectFloorCalls#1, stopRequestedInDirection_#in~respectInLiftCalls#1 := ~currentHeading~0, 1, 1;havoc stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret73#1, stopRequestedInDirection_#t~ret74#1, stopRequestedInDirection_#t~ret75#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~23#1, stopRequestedInDirection_~tmp~20#1, stopRequestedInDirection_~tmp___0~5#1, stopRequestedInDirection_~__cil_tmp7~6#1, stopRequestedInDirection_~__cil_tmp8~7#1;stopRequestedInDirection_~dir#1 := stopRequestedInDirection_#in~dir#1;stopRequestedInDirection_~respectFloorCalls#1 := stopRequestedInDirection_#in~respectFloorCalls#1;stopRequestedInDirection_~respectInLiftCalls#1 := stopRequestedInDirection_#in~respectInLiftCalls#1;havoc stopRequestedInDirection_~retValue_acc~23#1;havoc stopRequestedInDirection_~tmp~20#1;havoc stopRequestedInDirection_~tmp___0~5#1;havoc stopRequestedInDirection_~__cil_tmp7~6#1;havoc stopRequestedInDirection_~__cil_tmp8~7#1;assume { :begin_inline_isExecutiveFloorCalling } true;havoc isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;havoc isExecutiveFloorCalling_~retValue_acc~30#1;assume { :begin_inline_isFloorCalling } true;isFloorCalling_#in~floorID#1 := ~executiveFloor~0;havoc isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;isFloorCalling_~floorID#1 := isFloorCalling_#in~floorID#1;havoc isFloorCalling_~retValue_acc~6#1; 72360#L728-3 assume 0 == isFloorCalling_~floorID#1;isFloorCalling_~retValue_acc~6#1 := ~calls_0~0;isFloorCalling_#res#1 := isFloorCalling_~retValue_acc~6#1; 72679#isFloorCalling_returnLabel#4 isExecutiveFloorCalling_#t~ret135#1 := isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;havoc isFloorCalling_#in~floorID#1;assume { :end_inline_isFloorCalling } true;isExecutiveFloorCalling_~retValue_acc~30#1 := isExecutiveFloorCalling_#t~ret135#1;havoc isExecutiveFloorCalling_#t~ret135#1;isExecutiveFloorCalling_#res#1 := isExecutiveFloorCalling_~retValue_acc~30#1; 75610#isExecutiveFloorCalling_returnLabel#2 stopRequestedInDirection_#t~ret73#1 := isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;assume { :end_inline_isExecutiveFloorCalling } true;stopRequestedInDirection_~tmp___0~5#1 := stopRequestedInDirection_#t~ret73#1;havoc stopRequestedInDirection_#t~ret73#1; 71347#L2555 assume 0 != stopRequestedInDirection_~tmp___0~5#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;havoc getCurrentFloorID_~retValue_acc~14#1;getCurrentFloorID_~retValue_acc~14#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~14#1; 71348#getCurrentFloorID_returnLabel#4 stopRequestedInDirection_#t~ret74#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedInDirection_~tmp~20#1 := stopRequestedInDirection_#t~ret74#1;havoc stopRequestedInDirection_#t~ret74#1;stopRequestedInDirection_~__cil_tmp7~6#1 := (if 1 == stopRequestedInDirection_~dir#1 then 1 else 0);stopRequestedInDirection_~__cil_tmp8~7#1 := (if stopRequestedInDirection_~tmp~20#1 < ~executiveFloor~0 then 1 else 0);stopRequestedInDirection_~retValue_acc~23#1 := (if stopRequestedInDirection_~__cil_tmp8~7#1 == stopRequestedInDirection_~__cil_tmp7~6#1 then 1 else 0);stopRequestedInDirection_#res#1 := stopRequestedInDirection_~retValue_acc~23#1; 73902#stopRequestedInDirection_returnLabel#1 timeShift_#t~ret105#1 := stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret73#1, stopRequestedInDirection_#t~ret74#1, stopRequestedInDirection_#t~ret75#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~23#1, stopRequestedInDirection_~tmp~20#1, stopRequestedInDirection_~tmp___0~5#1, stopRequestedInDirection_~__cil_tmp7~6#1, stopRequestedInDirection_~__cil_tmp8~7#1;havoc stopRequestedInDirection_#in~dir#1, stopRequestedInDirection_#in~respectFloorCalls#1, stopRequestedInDirection_#in~respectInLiftCalls#1;assume { :end_inline_stopRequestedInDirection } true;timeShift_~tmp___8~2#1 := timeShift_#t~ret105#1;havoc timeShift_#t~ret105#1; 70911#L2952 assume 0 != timeShift_~tmp___8~2#1;assume { :begin_inline_continueInDirection } true;continueInDirection_#in~dir#1 := ~currentHeading~0;havoc continueInDirection_#t~ret76#1, continueInDirection_~dir#1, continueInDirection_~tmp~21#1;continueInDirection_~dir#1 := continueInDirection_#in~dir#1;havoc continueInDirection_~tmp~21#1;~currentHeading~0 := continueInDirection_~dir#1; 70912#L2612 assume !(1 == ~currentHeading~0); 75386#L2622 assume !(0 == ~currentFloorID~0); 75387#L2622-2 assume !(1 == ~currentHeading~0);~currentFloorID~0 := ~currentFloorID~0 - 1; 75194#L2628-1 havoc continueInDirection_#t~ret76#1, continueInDirection_~dir#1, continueInDirection_~tmp~21#1;havoc continueInDirection_#in~dir#1;assume { :end_inline_continueInDirection } true; 70381#L2961-2 assume { :begin_inline___utac_acc__Specification13_spec__2 } true;havoc __utac_acc__Specification13_spec__2_#t~ret28#1, __utac_acc__Specification13_spec__2_#t~ret29#1, __utac_acc__Specification13_spec__2_#t~ret30#1, __utac_acc__Specification13_spec__2_#t~ret31#1, __utac_acc__Specification13_spec__2_#t~ret32#1, __utac_acc__Specification13_spec__2_#t~ret33#1, __utac_acc__Specification13_spec__2_~tmp~3#1, __utac_acc__Specification13_spec__2_~tmp___0~0#1, __utac_acc__Specification13_spec__2_~tmp___1~0#1, __utac_acc__Specification13_spec__2_~tmp___2~0#1, __utac_acc__Specification13_spec__2_~tmp___3~0#1, __utac_acc__Specification13_spec__2_~tmp___4~0#1, __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1, __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1;havoc __utac_acc__Specification13_spec__2_~tmp~3#1;havoc __utac_acc__Specification13_spec__2_~tmp___0~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___1~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___2~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___3~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___4~0#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1;__utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 := 2 * ~maximumWeight~0;__utac_acc__Specification13_spec__2_~__cil_tmp8~5#1 := (if __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 < 0 && 0 != __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 % 3 then 1 + __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 / 3 else __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 / 3); 70382#L454 assume ~weight~0 > __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1; 72673#L455 assume !(1 == ~prevDir~0); 72674#L481 assume 0 == ~prevDir~0;assume { :begin_inline_existInLiftCallsInDirection } true;existInLiftCallsInDirection_#in~d#1 := 1;havoc existInLiftCallsInDirection_#res#1;havoc existInLiftCallsInDirection_~d#1, existInLiftCallsInDirection_~retValue_acc~29#1, existInLiftCallsInDirection_~i~1#1, existInLiftCallsInDirection_~i___0~0#1;existInLiftCallsInDirection_~d#1 := existInLiftCallsInDirection_#in~d#1;havoc existInLiftCallsInDirection_~retValue_acc~29#1;havoc existInLiftCallsInDirection_~i~1#1;havoc existInLiftCallsInDirection_~i___0~0#1; 74427#L3156-2 assume 1 == existInLiftCallsInDirection_~d#1;existInLiftCallsInDirection_~i~1#1 := 0;existInLiftCallsInDirection_~i~1#1 := 1 + ~currentFloorID~0; 74429#L3160-8 [2024-10-12 00:47:24,345 INFO L747 eck$LassoCheckResult]: Loop: 74429#L3160-8 assume !false; 75212#L3161-2 assume existInLiftCallsInDirection_~i~1#1 < 5; 75213#L3162-2 assume !(0 == existInLiftCallsInDirection_~i~1#1); 75258#$Ultimate##3926 assume !(1 == existInLiftCallsInDirection_~i~1#1); 73537#$Ultimate##3930 assume !(2 == existInLiftCallsInDirection_~i~1#1); 78999#$Ultimate##3934 assume !(3 == existInLiftCallsInDirection_~i~1#1); 76523#$Ultimate##3938 assume !(4 == existInLiftCallsInDirection_~i~1#1); 76524#L3203-5 existInLiftCallsInDirection_~i~1#1 := 1 + existInLiftCallsInDirection_~i~1#1; 74429#L3160-8 [2024-10-12 00:47:24,346 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-12 00:47:24,346 INFO L85 PathProgramCache]: Analyzing trace with hash -1563197109, now seen corresponding path program 1 times [2024-10-12 00:47:24,346 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-12 00:47:24,346 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1385301338] [2024-10-12 00:47:24,346 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-12 00:47:24,347 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-12 00:47:24,390 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-12 00:47:24,577 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-10-12 00:47:24,577 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-10-12 00:47:24,578 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1385301338] [2024-10-12 00:47:24,578 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1385301338] provided 1 perfect and 0 imperfect interpolant sequences [2024-10-12 00:47:24,578 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-10-12 00:47:24,578 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2024-10-12 00:47:24,578 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [172140768] [2024-10-12 00:47:24,579 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-10-12 00:47:24,580 INFO L750 eck$LassoCheckResult]: stem already infeasible [2024-10-12 00:47:24,580 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-12 00:47:24,580 INFO L85 PathProgramCache]: Analyzing trace with hash -1655895939, now seen corresponding path program 1 times [2024-10-12 00:47:24,580 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-12 00:47:24,581 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1044310827] [2024-10-12 00:47:24,581 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-12 00:47:24,581 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-12 00:47:24,596 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-12 00:47:24,596 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-10-12 00:47:24,599 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-12 00:47:24,610 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-10-12 00:47:24,665 INFO L204 LassoAnalysis]: Preferences: [2024-10-12 00:47:24,665 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2024-10-12 00:47:24,665 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2024-10-12 00:47:24,665 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2024-10-12 00:47:24,666 INFO L128 ssoRankerPreferences]: Use exernal solver: true [2024-10-12 00:47:24,666 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-10-12 00:47:24,666 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2024-10-12 00:47:24,666 INFO L131 ssoRankerPreferences]: Path of dumped script: [2024-10-12 00:47:24,666 INFO L132 ssoRankerPreferences]: Filename of dumped script: elevator_spec13_product31.cil.c_Iteration2_Loop [2024-10-12 00:47:24,666 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2024-10-12 00:47:24,666 INFO L241 LassoAnalysis]: Starting lasso preprocessing... [2024-10-12 00:47:24,667 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-10-12 00:47:24,721 INFO L259 LassoAnalysis]: Preprocessing complete. [2024-10-12 00:47:24,722 INFO L365 LassoAnalysis]: Checking for nontermination... [2024-10-12 00:47:24,722 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-10-12 00:47:24,722 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-clean/releaseScripts/default/UAutomizer-linux/z3 [2024-10-12 00:47:24,724 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate-clean/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-10-12 00:47:24,726 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-clean/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (6)] Waiting until timeout for monitored process [2024-10-12 00:47:24,727 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2024-10-12 00:47:24,727 INFO L160 nArgumentSynthesizer]: Using integer mode. [2024-10-12 00:47:24,757 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-clean/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (6)] Ended with exit code 0 [2024-10-12 00:47:24,757 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-10-12 00:47:24,758 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-clean/releaseScripts/default/UAutomizer-linux/z3 [2024-10-12 00:47:24,759 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate-clean/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-10-12 00:47:24,761 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-clean/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (7)] Waiting until timeout for monitored process [2024-10-12 00:47:24,762 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 3 Nilpotent components: true [2024-10-12 00:47:24,762 INFO L160 nArgumentSynthesizer]: Using integer mode. [2024-10-12 00:47:24,795 INFO L405 LassoAnalysis]: Proving nontermination failed: No geometric nontermination argument exists. [2024-10-12 00:47:24,801 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-clean/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (7)] Forceful destruction successful, exit code 0 [2024-10-12 00:47:24,801 INFO L204 LassoAnalysis]: Preferences: [2024-10-12 00:47:24,801 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2024-10-12 00:47:24,802 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2024-10-12 00:47:24,802 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2024-10-12 00:47:24,802 INFO L128 ssoRankerPreferences]: Use exernal solver: false [2024-10-12 00:47:24,802 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-10-12 00:47:24,802 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2024-10-12 00:47:24,802 INFO L131 ssoRankerPreferences]: Path of dumped script: [2024-10-12 00:47:24,802 INFO L132 ssoRankerPreferences]: Filename of dumped script: elevator_spec13_product31.cil.c_Iteration2_Loop [2024-10-12 00:47:24,802 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2024-10-12 00:47:24,802 INFO L241 LassoAnalysis]: Starting lasso preprocessing... [2024-10-12 00:47:24,803 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-10-12 00:47:24,867 INFO L259 LassoAnalysis]: Preprocessing complete. [2024-10-12 00:47:24,867 INFO L451 LassoAnalysis]: Using template 'affine'. [2024-10-12 00:47:24,868 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-10-12 00:47:24,868 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-clean/releaseScripts/default/UAutomizer-linux/z3 [2024-10-12 00:47:24,870 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate-clean/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-10-12 00:47:24,872 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-clean/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (8)] Waiting until timeout for monitored process [2024-10-12 00:47:24,873 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2024-10-12 00:47:24,885 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-10-12 00:47:24,886 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-10-12 00:47:24,886 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-10-12 00:47:24,886 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-10-12 00:47:24,886 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-10-12 00:47:24,888 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-10-12 00:47:24,888 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-10-12 00:47:24,890 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2024-10-12 00:47:24,895 INFO L443 ModelExtractionUtils]: Simplification made 3 calls to the SMT solver. [2024-10-12 00:47:24,895 INFO L444 ModelExtractionUtils]: 0 out of 3 variables were initially zero. Simplification set additionally 1 variables to zero. [2024-10-12 00:47:24,896 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-10-12 00:47:24,896 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-clean/releaseScripts/default/UAutomizer-linux/z3 [2024-10-12 00:47:24,898 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate-clean/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-10-12 00:47:24,900 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-clean/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (9)] Waiting until timeout for monitored process [2024-10-12 00:47:24,901 INFO L435 nArgumentSynthesizer]: Simplifying supporting invariants... [2024-10-12 00:47:24,902 INFO L438 nArgumentSynthesizer]: Removed 0 redundant supporting invariants from a total of 0. [2024-10-12 00:47:24,902 INFO L474 LassoAnalysis]: Proved termination. [2024-10-12 00:47:24,902 INFO L476 LassoAnalysis]: Termination argument consisting of: Ranking function f(ULTIMATE.start_existInLiftCallsInDirection_~i~1#1) = -1*ULTIMATE.start_existInLiftCallsInDirection_~i~1#1 Supporting invariants [] [2024-10-12 00:47:24,917 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-clean/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (8)] Forceful destruction successful, exit code 0 [2024-10-12 00:47:24,918 INFO L156 tatePredicateManager]: 0 out of 0 supporting invariants were superfluous and have been removed [2024-10-12 00:47:24,930 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-12 00:47:25,047 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-12 00:47:25,051 INFO L255 TraceCheckSpWp]: Trace formula consists of 622 conjuncts, 2 conjuncts are in the unsatisfiable core [2024-10-12 00:47:25,053 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-10-12 00:47:25,146 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-12 00:47:25,147 WARN L253 TraceCheckSpWp]: Trace formula consists of 11 conjuncts, 9 conjuncts are in the unsatisfiable core [2024-10-12 00:47:25,147 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-10-12 00:47:25,328 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-10-12 00:47:25,329 INFO L141 lantAutomatonBouncer]: Defining deterministic Buchi interpolant automaton with honda bouncer for stem and without honda bouncer for loop.1 stem predicates 7 loop predicates [2024-10-12 00:47:25,329 INFO L71 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 9724 states and 18099 transitions. cyclomatic complexity: 8409 Second operand has 9 states, 9 states have (on average 7.0) internal successors, (63), 9 states have internal predecessors, (63), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-10-12 00:47:26,210 INFO L75 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 9724 states and 18099 transitions. cyclomatic complexity: 8409. Second operand has 9 states, 9 states have (on average 7.0) internal successors, (63), 9 states have internal predecessors, (63), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Result 17515 states and 32577 transitions. Complement of second has 17 states. [2024-10-12 00:47:26,214 INFO L141 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 9 states 1 stem states 7 non-accepting loop states 1 accepting loop states [2024-10-12 00:47:26,215 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 7.0) internal successors, (63), 9 states have internal predecessors, (63), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-10-12 00:47:26,221 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-clean/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (9)] Ended with exit code 0 [2024-10-12 00:47:26,236 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 18086 transitions. [2024-10-12 00:47:26,236 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 9 states and 18086 transitions. Stem has 55 letters. Loop has 8 letters. [2024-10-12 00:47:26,237 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2024-10-12 00:47:26,237 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 9 states and 18086 transitions. Stem has 63 letters. Loop has 8 letters. [2024-10-12 00:47:26,237 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2024-10-12 00:47:26,237 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 9 states and 18086 transitions. Stem has 55 letters. Loop has 16 letters. [2024-10-12 00:47:26,238 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2024-10-12 00:47:26,238 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 17515 states and 32577 transitions. [2024-10-12 00:47:26,328 INFO L131 ngComponentsAnalysis]: Automaton has 60 accepting balls. 4782 [2024-10-12 00:47:26,395 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 17515 states to 17509 states and 32571 transitions. [2024-10-12 00:47:26,395 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 17460 [2024-10-12 00:47:26,410 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 17461 [2024-10-12 00:47:26,411 INFO L73 IsDeterministic]: Start isDeterministic. Operand 17509 states and 32571 transitions. [2024-10-12 00:47:26,412 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-10-12 00:47:26,412 INFO L218 hiAutomatonCegarLoop]: Abstraction has 17509 states and 32571 transitions. [2024-10-12 00:47:26,433 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 17509 states and 32571 transitions. [2024-10-12 00:47:26,592 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 17509 to 9748. [2024-10-12 00:47:26,608 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9748 states, 9748 states have (on average 1.8605867870332375) internal successors, (18137), 9747 states have internal predecessors, (18137), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-10-12 00:47:26,629 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9748 states to 9748 states and 18137 transitions. [2024-10-12 00:47:26,630 INFO L240 hiAutomatonCegarLoop]: Abstraction has 9748 states and 18137 transitions. [2024-10-12 00:47:26,630 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-10-12 00:47:26,630 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2024-10-12 00:47:26,631 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2024-10-12 00:47:26,631 INFO L87 Difference]: Start difference. First operand 9748 states and 18137 transitions. Second operand has 4 states, 4 states have (on average 13.75) internal successors, (55), 4 states have internal predecessors, (55), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-10-12 00:47:26,987 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-10-12 00:47:26,988 INFO L93 Difference]: Finished difference Result 9766 states and 18155 transitions. [2024-10-12 00:47:26,988 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 9766 states and 18155 transitions. [2024-10-12 00:47:27,030 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 2435 [2024-10-12 00:47:27,065 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 9766 states to 9766 states and 18155 transitions. [2024-10-12 00:47:27,066 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 9728 [2024-10-12 00:47:27,075 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 9728 [2024-10-12 00:47:27,078 INFO L73 IsDeterministic]: Start isDeterministic. Operand 9766 states and 18155 transitions. [2024-10-12 00:47:27,084 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-10-12 00:47:27,084 INFO L218 hiAutomatonCegarLoop]: Abstraction has 9766 states and 18155 transitions. [2024-10-12 00:47:27,097 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 9766 states and 18155 transitions. [2024-10-12 00:47:27,203 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 9766 to 9763. [2024-10-12 00:47:27,221 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9763 states, 9763 states have (on average 1.8592645703165012) internal successors, (18152), 9762 states have internal predecessors, (18152), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-10-12 00:47:27,243 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9763 states to 9763 states and 18152 transitions. [2024-10-12 00:47:27,243 INFO L240 hiAutomatonCegarLoop]: Abstraction has 9763 states and 18152 transitions. [2024-10-12 00:47:27,244 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2024-10-12 00:47:27,246 INFO L425 stractBuchiCegarLoop]: Abstraction has 9763 states and 18152 transitions. [2024-10-12 00:47:27,246 INFO L332 stractBuchiCegarLoop]: ======== Iteration 3 ============ [2024-10-12 00:47:27,246 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 9763 states and 18152 transitions. [2024-10-12 00:47:27,280 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 2435 [2024-10-12 00:47:27,280 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-10-12 00:47:27,280 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-10-12 00:47:27,282 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-10-12 00:47:27,282 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1] [2024-10-12 00:47:27,283 INFO L745 eck$LassoCheckResult]: Stem: 125082#$Ultimate##0 assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int#0(48, 1, 0, 1);call write~init~int#0(0, 1, 1, 1);call #Ultimate.allocInit(32, 2);call #Ultimate.allocInit(12, 3);call #Ultimate.allocInit(30, 4);call #Ultimate.allocInit(9, 5);call #Ultimate.allocInit(21, 6);call #Ultimate.allocInit(30, 7);call #Ultimate.allocInit(9, 8);call #Ultimate.allocInit(21, 9);call #Ultimate.allocInit(30, 10);call #Ultimate.allocInit(9, 11);call #Ultimate.allocInit(25, 12);call #Ultimate.allocInit(30, 13);call #Ultimate.allocInit(9, 14);call #Ultimate.allocInit(25, 15);call #Ultimate.allocInit(10, 16);call #Ultimate.allocInit(4, 17);call write~init~int#5(91, 17, 0, 1);call write~init~int#5(95, 17, 1, 1);call write~init~int#5(93, 17, 2, 1);call write~init~int#5(0, 17, 3, 1);call #Ultimate.allocInit(4, 18);call write~init~int#6(91, 18, 0, 1);call write~init~int#6(93, 18, 1, 1);call write~init~int#6(32, 18, 2, 1);call write~init~int#6(0, 18, 3, 1);call #Ultimate.allocInit(5, 19);call write~init~int#7(32, 19, 0, 1);call write~init~int#7(97, 19, 1, 1);call write~init~int#7(116, 19, 2, 1);call write~init~int#7(32, 19, 3, 1);call write~init~int#7(0, 19, 4, 1);call #Ultimate.allocInit(3, 20);call write~init~int#8(37, 20, 0, 1);call write~init~int#8(105, 20, 1, 1);call write~init~int#8(0, 20, 2, 1);call #Ultimate.allocInit(10, 21);call #Ultimate.allocInit(3, 22);call write~init~int#9(117, 22, 0, 1);call write~init~int#9(112, 22, 1, 1);call write~init~int#9(0, 22, 2, 1);call #Ultimate.allocInit(5, 23);call write~init~int#10(100, 23, 0, 1);call write~init~int#10(111, 23, 1, 1);call write~init~int#10(119, 23, 2, 1);call write~init~int#10(110, 23, 3, 1);call write~init~int#10(0, 23, 4, 1);call #Ultimate.allocInit(7, 24);call write~init~int#11(32, 24, 0, 1);call write~init~int#11(73, 24, 1, 1);call write~init~int#11(76, 24, 2, 1);call write~init~int#11(95, 24, 3, 1);call write~init~int#11(112, 24, 4, 1);call write~init~int#11(58, 24, 5, 1);call write~init~int#11(0, 24, 6, 1);call #Ultimate.allocInit(4, 25);call write~init~int#12(32, 25, 0, 1);call write~init~int#12(37, 25, 1, 1);call write~init~int#12(105, 25, 2, 1);call write~init~int#12(0, 25, 3, 1);call #Ultimate.allocInit(4, 26);call write~init~int#13(32, 26, 0, 1);call write~init~int#13(37, 26, 1, 1);call write~init~int#13(105, 26, 2, 1);call write~init~int#13(0, 26, 3, 1);call #Ultimate.allocInit(4, 27);call write~init~int#14(32, 27, 0, 1);call write~init~int#14(37, 27, 1, 1);call write~init~int#14(105, 27, 2, 1);call write~init~int#14(0, 27, 3, 1);call #Ultimate.allocInit(4, 28);call write~init~int#15(32, 28, 0, 1);call write~init~int#15(37, 28, 1, 1);call write~init~int#15(105, 28, 2, 1);call write~init~int#15(0, 28, 3, 1);call #Ultimate.allocInit(4, 29);call write~init~int#16(32, 29, 0, 1);call write~init~int#16(37, 29, 1, 1);call write~init~int#16(105, 29, 2, 1);call write~init~int#16(0, 29, 3, 1);call #Ultimate.allocInit(6, 30);call write~init~int#17(32, 30, 0, 1);call write~init~int#17(70, 30, 1, 1);call write~init~int#17(95, 30, 2, 1);call write~init~int#17(112, 30, 3, 1);call write~init~int#17(58, 30, 4, 1);call write~init~int#17(0, 30, 5, 1);call #Ultimate.allocInit(4, 31);call write~init~int#18(32, 31, 0, 1);call write~init~int#18(37, 31, 1, 1);call write~init~int#18(105, 31, 2, 1);call write~init~int#18(0, 31, 3, 1);call #Ultimate.allocInit(4, 32);call write~init~int#19(32, 32, 0, 1);call write~init~int#19(37, 32, 1, 1);call write~init~int#19(105, 32, 2, 1);call write~init~int#19(0, 32, 3, 1);call #Ultimate.allocInit(4, 33);call write~init~int#1(32, 33, 0, 1);call write~init~int#1(37, 33, 1, 1);call write~init~int#1(105, 33, 2, 1);call write~init~int#1(0, 33, 3, 1);call #Ultimate.allocInit(4, 34);call write~init~int#2(32, 34, 0, 1);call write~init~int#2(37, 34, 1, 1);call write~init~int#2(105, 34, 2, 1);call write~init~int#2(0, 34, 3, 1);call #Ultimate.allocInit(4, 35);call write~init~int#3(32, 35, 0, 1);call write~init~int#3(37, 35, 1, 1);call write~init~int#3(105, 35, 2, 1);call write~init~int#3(0, 35, 3, 1);call #Ultimate.allocInit(2, 36);call write~init~int#4(10, 36, 0, 1);call write~init~int#4(0, 36, 1, 1);~head~0.base, ~head~0.offset := 0, 0;~weight~0 := 0;~maximumWeight~0 := 100;~executiveFloor~0 := 4;~prevDir~0 := 0;~calls_0~0 := 0;~calls_1~0 := 0;~calls_2~0 := 0;~calls_3~0 := 0;~calls_4~0 := 0;~personOnFloor_0_0~0 := 0;~personOnFloor_0_1~0 := 0;~personOnFloor_0_2~0 := 0;~personOnFloor_0_3~0 := 0;~personOnFloor_0_4~0 := 0;~personOnFloor_1_0~0 := 0;~personOnFloor_1_1~0 := 0;~personOnFloor_1_2~0 := 0;~personOnFloor_1_3~0 := 0;~personOnFloor_1_4~0 := 0;~personOnFloor_2_0~0 := 0;~personOnFloor_2_1~0 := 0;~personOnFloor_2_2~0 := 0;~personOnFloor_2_3~0 := 0;~personOnFloor_2_4~0 := 0;~personOnFloor_3_0~0 := 0;~personOnFloor_3_1~0 := 0;~personOnFloor_3_2~0 := 0;~personOnFloor_3_3~0 := 0;~personOnFloor_3_4~0 := 0;~personOnFloor_4_0~0 := 0;~personOnFloor_4_1~0 := 0;~personOnFloor_4_2~0 := 0;~personOnFloor_4_3~0 := 0;~personOnFloor_4_4~0 := 0;~personOnFloor_5_0~0 := 0;~personOnFloor_5_1~0 := 0;~personOnFloor_5_2~0 := 0;~personOnFloor_5_3~0 := 0;~personOnFloor_5_4~0 := 0;~cleanupTimeShifts~0 := 12;~currentHeading~0 := 1;~currentFloorID~0 := 0;~persons_0~0 := 0;~persons_1~0 := 0;~persons_2~0 := 0;~persons_3~0 := 0;~persons_4~0 := 0;~persons_5~0 := 0;~doorState~0 := 1;~floorButtons_0~0 := 0;~floorButtons_1~0 := 0;~floorButtons_2~0 := 0;~floorButtons_3~0 := 0;~floorButtons_4~0 := 0; 124823#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret47#1, main_~retValue_acc~10#1, main_~tmp~12#1;havoc main_~retValue_acc~10#1;havoc main_~tmp~12#1;assume { :begin_inline_select_helpers } true; 124824#select_helpers_returnLabel#1 assume { :end_inline_select_helpers } true;assume { :begin_inline_select_features } true; 126780#select_features_returnLabel#1 assume { :end_inline_select_features } true;assume { :begin_inline_valid_product } true;havoc valid_product_#res#1;havoc valid_product_~retValue_acc~12#1;havoc valid_product_~retValue_acc~12#1;valid_product_~retValue_acc~12#1 := 1;valid_product_#res#1 := valid_product_~retValue_acc~12#1; 118907#valid_product_returnLabel#1 main_#t~ret47#1 := valid_product_#res#1;havoc valid_product_~retValue_acc~12#1;assume { :end_inline_valid_product } true;main_~tmp~12#1 := main_#t~ret47#1;havoc main_#t~ret47#1; 118908#L1651 assume 0 != main_~tmp~12#1;assume { :begin_inline_setup } true; 120677#setup_returnLabel#1 assume { :end_inline_setup } true;assume { :begin_inline_runTest } true;assume { :begin_inline_test } true;assume { :begin_inline_aliceCall } true;havoc aliceCall_#t~ret36#1, aliceCall_~tmp~5#1;havoc aliceCall_~tmp~5#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 1;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~4#1; 120678#L564 assume !(0 == getOrigin_~person#1); 119297#L568 assume !(1 == getOrigin_~person#1); 119299#L572 assume 2 == getOrigin_~person#1;getOrigin_~retValue_acc~4#1 := 2;getOrigin_#res#1 := getOrigin_~retValue_acc~4#1; 117344#getOrigin_returnLabel#1 aliceCall_#t~ret36#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;aliceCall_~tmp~5#1 := aliceCall_#t~ret36#1;havoc aliceCall_#t~ret36#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 1, aliceCall_~tmp~5#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 127091#L999 assume 0 == initPersonOnFloor_~floor#1; 124735#L1000 assume 0 == initPersonOnFloor_~person#1;~personOnFloor_0_0~0 := 1; 119706#L1107-1 assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 118159#L791 assume 0 == callOnFloor_~floorID#1;~calls_0~0 := 1; 117961#L803-2 havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true; 119554#initPersonOnFloor_returnLabel#1 havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true; 119555#aliceCall_returnLabel#1 havoc aliceCall_#t~ret36#1, aliceCall_~tmp~5#1;assume { :end_inline_aliceCall } true;assume { :begin_inline_angelinaCall } true;havoc angelinaCall_#t~ret37#1, angelinaCall_~tmp~6#1;havoc angelinaCall_~tmp~6#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 2;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~4#1; 125126#L564-1 assume !(0 == getOrigin_~person#1); 120422#L568-1 assume !(1 == getOrigin_~person#1); 120423#L572-1 assume 2 == getOrigin_~person#1;getOrigin_~retValue_acc~4#1 := 2;getOrigin_#res#1 := getOrigin_~retValue_acc~4#1; 122651#getOrigin_returnLabel#2 angelinaCall_#t~ret37#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;angelinaCall_~tmp~6#1 := angelinaCall_#t~ret37#1;havoc angelinaCall_#t~ret37#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 2, angelinaCall_~tmp~6#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 127087#L999-1 assume 0 == initPersonOnFloor_~floor#1; 127074#L1000-2 assume 0 == initPersonOnFloor_~person#1;~personOnFloor_0_0~0 := 1; 117499#L1107-3 assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 123384#L791-2 assume 0 == callOnFloor_~floorID#1;~calls_0~0 := 1; 119533#L803-5 havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true; 123434#initPersonOnFloor_returnLabel#2 havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true; 123435#angelinaCall_returnLabel#1 havoc angelinaCall_#t~ret37#1, angelinaCall_~tmp~6#1;assume { :end_inline_angelinaCall } true;assume { :begin_inline_threeTS } true;assume { :begin_inline_timeShift } true;havoc timeShift_#t~ret98#1, timeShift_#t~ret99#1, timeShift_#t~ret100#1, timeShift_#t~ret101#1, timeShift_#t~ret102#1, timeShift_#t~ret103#1, timeShift_#t~ret104#1, timeShift_#t~ret105#1, timeShift_#t~ret106#1, timeShift_#t~ret107#1, timeShift_#t~ret108#1, timeShift_~tmp~26#1, timeShift_~tmp___0~10#1, timeShift_~tmp___1~5#1, timeShift_~tmp___2~5#1, timeShift_~tmp___3~4#1, timeShift_~tmp___4~3#1, timeShift_~tmp___5~2#1, timeShift_~tmp___6~2#1, timeShift_~tmp___7~2#1, timeShift_~tmp___8~2#1, timeShift_~tmp___9~2#1;havoc timeShift_~tmp~26#1;havoc timeShift_~tmp___0~10#1;havoc timeShift_~tmp___1~5#1;havoc timeShift_~tmp___2~5#1;havoc timeShift_~tmp___3~4#1;havoc timeShift_~tmp___4~3#1;havoc timeShift_~tmp___5~2#1;havoc timeShift_~tmp___6~2#1;havoc timeShift_~tmp___7~2#1;havoc timeShift_~tmp___8~2#1;havoc timeShift_~tmp___9~2#1;assume { :begin_inline___utac_acc__Specification13_spec__1 } true;havoc __utac_acc__Specification13_spec__1_#t~ret27#1;assume { :begin_inline_getCurrentHeading } true;havoc getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~17#1;havoc getCurrentHeading_~retValue_acc~17#1;getCurrentHeading_~retValue_acc~17#1 := ~currentHeading~0;getCurrentHeading_#res#1 := getCurrentHeading_~retValue_acc~17#1; 126599#getCurrentHeading_returnLabel#1 __utac_acc__Specification13_spec__1_#t~ret27#1 := getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~17#1;assume { :end_inline_getCurrentHeading } true;~prevDir~0 := __utac_acc__Specification13_spec__1_#t~ret27#1;havoc __utac_acc__Specification13_spec__1_#t~ret27#1; 123763#__utac_acc__Specification13_spec__1_returnLabel#1 havoc __utac_acc__Specification13_spec__1_#t~ret27#1;assume { :end_inline___utac_acc__Specification13_spec__1 } true;assume { :begin_inline_stopRequestedAtCurrentFloor } true;havoc stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1, stopRequestedAtCurrentFloor_#t~ret83#1, stopRequestedAtCurrentFloor_#t~ret84#1, stopRequestedAtCurrentFloor_#t~ret85#1, stopRequestedAtCurrentFloor_~retValue_acc~27#1, stopRequestedAtCurrentFloor_~tmp~24#1, stopRequestedAtCurrentFloor_~tmp___0~8#1;havoc stopRequestedAtCurrentFloor_~retValue_acc~27#1;havoc stopRequestedAtCurrentFloor_~tmp~24#1;havoc stopRequestedAtCurrentFloor_~tmp___0~8#1;assume { :begin_inline_isExecutiveFloorCalling } true;havoc isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;havoc isExecutiveFloorCalling_~retValue_acc~30#1;assume { :begin_inline_isFloorCalling } true;isFloorCalling_#in~floorID#1 := ~executiveFloor~0;havoc isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;isFloorCalling_~floorID#1 := isFloorCalling_#in~floorID#1;havoc isFloorCalling_~retValue_acc~6#1; 123764#L728 assume 0 == isFloorCalling_~floorID#1;isFloorCalling_~retValue_acc~6#1 := ~calls_0~0;isFloorCalling_#res#1 := isFloorCalling_~retValue_acc~6#1; 125229#isFloorCalling_returnLabel#1 isExecutiveFloorCalling_#t~ret135#1 := isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;havoc isFloorCalling_#in~floorID#1;assume { :end_inline_isFloorCalling } true;isExecutiveFloorCalling_~retValue_acc~30#1 := isExecutiveFloorCalling_#t~ret135#1;havoc isExecutiveFloorCalling_#t~ret135#1;isExecutiveFloorCalling_#res#1 := isExecutiveFloorCalling_~retValue_acc~30#1; 126597#isExecutiveFloorCalling_returnLabel#1 stopRequestedAtCurrentFloor_#t~ret82#1 := isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;assume { :end_inline_isExecutiveFloorCalling } true;stopRequestedAtCurrentFloor_~tmp~24#1 := stopRequestedAtCurrentFloor_#t~ret82#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1; 124994#L2700 assume 0 != stopRequestedAtCurrentFloor_~tmp~24#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;havoc getCurrentFloorID_~retValue_acc~14#1;getCurrentFloorID_~retValue_acc~14#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~14#1; 123512#getCurrentFloorID_returnLabel#1 stopRequestedAtCurrentFloor_#t~ret83#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedAtCurrentFloor_~tmp___0~8#1 := stopRequestedAtCurrentFloor_#t~ret83#1;havoc stopRequestedAtCurrentFloor_#t~ret83#1; 122467#L2704 assume !(~executiveFloor~0 == stopRequestedAtCurrentFloor_~tmp___0~8#1);stopRequestedAtCurrentFloor_~retValue_acc~27#1 := 0;stopRequestedAtCurrentFloor_#res#1 := stopRequestedAtCurrentFloor_~retValue_acc~27#1; 118019#stopRequestedAtCurrentFloor_returnLabel#1 timeShift_#t~ret98#1 := stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1, stopRequestedAtCurrentFloor_#t~ret83#1, stopRequestedAtCurrentFloor_#t~ret84#1, stopRequestedAtCurrentFloor_#t~ret85#1, stopRequestedAtCurrentFloor_~retValue_acc~27#1, stopRequestedAtCurrentFloor_~tmp~24#1, stopRequestedAtCurrentFloor_~tmp___0~8#1;assume { :end_inline_stopRequestedAtCurrentFloor } true;timeShift_~tmp___9~2#1 := timeShift_#t~ret98#1;havoc timeShift_#t~ret98#1; 118020#L2853 assume !(0 != timeShift_~tmp___9~2#1); 118710#L2944 assume 1 == ~doorState~0;~doorState~0 := 0; 119345#L2944-2 assume { :begin_inline_stopRequestedInDirection } true;stopRequestedInDirection_#in~dir#1, stopRequestedInDirection_#in~respectFloorCalls#1, stopRequestedInDirection_#in~respectInLiftCalls#1 := ~currentHeading~0, 1, 1;havoc stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret73#1, stopRequestedInDirection_#t~ret74#1, stopRequestedInDirection_#t~ret75#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~23#1, stopRequestedInDirection_~tmp~20#1, stopRequestedInDirection_~tmp___0~5#1, stopRequestedInDirection_~__cil_tmp7~6#1, stopRequestedInDirection_~__cil_tmp8~7#1;stopRequestedInDirection_~dir#1 := stopRequestedInDirection_#in~dir#1;stopRequestedInDirection_~respectFloorCalls#1 := stopRequestedInDirection_#in~respectFloorCalls#1;stopRequestedInDirection_~respectInLiftCalls#1 := stopRequestedInDirection_#in~respectInLiftCalls#1;havoc stopRequestedInDirection_~retValue_acc~23#1;havoc stopRequestedInDirection_~tmp~20#1;havoc stopRequestedInDirection_~tmp___0~5#1;havoc stopRequestedInDirection_~__cil_tmp7~6#1;havoc stopRequestedInDirection_~__cil_tmp8~7#1;assume { :begin_inline_isExecutiveFloorCalling } true;havoc isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;havoc isExecutiveFloorCalling_~retValue_acc~30#1;assume { :begin_inline_isFloorCalling } true;isFloorCalling_#in~floorID#1 := ~executiveFloor~0;havoc isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;isFloorCalling_~floorID#1 := isFloorCalling_#in~floorID#1;havoc isFloorCalling_~retValue_acc~6#1; 119346#L728-3 assume 0 == isFloorCalling_~floorID#1;isFloorCalling_~retValue_acc~6#1 := ~calls_0~0;isFloorCalling_#res#1 := isFloorCalling_~retValue_acc~6#1; 119665#isFloorCalling_returnLabel#4 isExecutiveFloorCalling_#t~ret135#1 := isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;havoc isFloorCalling_#in~floorID#1;assume { :end_inline_isFloorCalling } true;isExecutiveFloorCalling_~retValue_acc~30#1 := isExecutiveFloorCalling_#t~ret135#1;havoc isExecutiveFloorCalling_#t~ret135#1;isExecutiveFloorCalling_#res#1 := isExecutiveFloorCalling_~retValue_acc~30#1; 122600#isExecutiveFloorCalling_returnLabel#2 stopRequestedInDirection_#t~ret73#1 := isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;assume { :end_inline_isExecutiveFloorCalling } true;stopRequestedInDirection_~tmp___0~5#1 := stopRequestedInDirection_#t~ret73#1;havoc stopRequestedInDirection_#t~ret73#1; 118332#L2555 assume 0 != stopRequestedInDirection_~tmp___0~5#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;havoc getCurrentFloorID_~retValue_acc~14#1;getCurrentFloorID_~retValue_acc~14#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~14#1; 118333#getCurrentFloorID_returnLabel#4 stopRequestedInDirection_#t~ret74#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedInDirection_~tmp~20#1 := stopRequestedInDirection_#t~ret74#1;havoc stopRequestedInDirection_#t~ret74#1;stopRequestedInDirection_~__cil_tmp7~6#1 := (if 1 == stopRequestedInDirection_~dir#1 then 1 else 0);stopRequestedInDirection_~__cil_tmp8~7#1 := (if stopRequestedInDirection_~tmp~20#1 < ~executiveFloor~0 then 1 else 0);stopRequestedInDirection_~retValue_acc~23#1 := (if stopRequestedInDirection_~__cil_tmp8~7#1 == stopRequestedInDirection_~__cil_tmp7~6#1 then 1 else 0);stopRequestedInDirection_#res#1 := stopRequestedInDirection_~retValue_acc~23#1; 120889#stopRequestedInDirection_returnLabel#1 timeShift_#t~ret105#1 := stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret73#1, stopRequestedInDirection_#t~ret74#1, stopRequestedInDirection_#t~ret75#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~23#1, stopRequestedInDirection_~tmp~20#1, stopRequestedInDirection_~tmp___0~5#1, stopRequestedInDirection_~__cil_tmp7~6#1, stopRequestedInDirection_~__cil_tmp8~7#1;havoc stopRequestedInDirection_#in~dir#1, stopRequestedInDirection_#in~respectFloorCalls#1, stopRequestedInDirection_#in~respectInLiftCalls#1;assume { :end_inline_stopRequestedInDirection } true;timeShift_~tmp___8~2#1 := timeShift_#t~ret105#1;havoc timeShift_#t~ret105#1; 117896#L2952 assume 0 != timeShift_~tmp___8~2#1;assume { :begin_inline_continueInDirection } true;continueInDirection_#in~dir#1 := ~currentHeading~0;havoc continueInDirection_#t~ret76#1, continueInDirection_~dir#1, continueInDirection_~tmp~21#1;continueInDirection_~dir#1 := continueInDirection_#in~dir#1;havoc continueInDirection_~tmp~21#1;~currentHeading~0 := continueInDirection_~dir#1; 117897#L2612 assume !(1 == ~currentHeading~0); 122376#L2622 assume !(0 == ~currentFloorID~0); 122377#L2622-2 assume !(1 == ~currentHeading~0);~currentFloorID~0 := ~currentFloorID~0 - 1; 122180#L2628-1 havoc continueInDirection_#t~ret76#1, continueInDirection_~dir#1, continueInDirection_~tmp~21#1;havoc continueInDirection_#in~dir#1;assume { :end_inline_continueInDirection } true; 117366#L2961-2 assume { :begin_inline___utac_acc__Specification13_spec__2 } true;havoc __utac_acc__Specification13_spec__2_#t~ret28#1, __utac_acc__Specification13_spec__2_#t~ret29#1, __utac_acc__Specification13_spec__2_#t~ret30#1, __utac_acc__Specification13_spec__2_#t~ret31#1, __utac_acc__Specification13_spec__2_#t~ret32#1, __utac_acc__Specification13_spec__2_#t~ret33#1, __utac_acc__Specification13_spec__2_~tmp~3#1, __utac_acc__Specification13_spec__2_~tmp___0~0#1, __utac_acc__Specification13_spec__2_~tmp___1~0#1, __utac_acc__Specification13_spec__2_~tmp___2~0#1, __utac_acc__Specification13_spec__2_~tmp___3~0#1, __utac_acc__Specification13_spec__2_~tmp___4~0#1, __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1, __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1;havoc __utac_acc__Specification13_spec__2_~tmp~3#1;havoc __utac_acc__Specification13_spec__2_~tmp___0~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___1~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___2~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___3~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___4~0#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1;__utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 := 2 * ~maximumWeight~0;__utac_acc__Specification13_spec__2_~__cil_tmp8~5#1 := (if __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 < 0 && 0 != __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 % 3 then 1 + __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 / 3 else __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 / 3); 117367#L454 assume ~weight~0 > __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1; 119659#L455 assume 1 == ~prevDir~0;assume { :begin_inline_existInLiftCallsInDirection } true;existInLiftCallsInDirection_#in~d#1 := 0;havoc existInLiftCallsInDirection_#res#1;havoc existInLiftCallsInDirection_~d#1, existInLiftCallsInDirection_~retValue_acc~29#1, existInLiftCallsInDirection_~i~1#1, existInLiftCallsInDirection_~i___0~0#1;existInLiftCallsInDirection_~d#1 := existInLiftCallsInDirection_#in~d#1;havoc existInLiftCallsInDirection_~retValue_acc~29#1;havoc existInLiftCallsInDirection_~i~1#1;havoc existInLiftCallsInDirection_~i___0~0#1; 119661#L3156 assume !(1 == existInLiftCallsInDirection_~d#1); 121596#L3222 assume 0 == existInLiftCallsInDirection_~d#1;existInLiftCallsInDirection_~i___0~0#1 := 0;existInLiftCallsInDirection_~i___0~0#1 := ~currentFloorID~0 - 1; 121130#L3226-2 [2024-10-12 00:47:27,284 INFO L747 eck$LassoCheckResult]: Loop: 121130#L3226-2 assume !false; 121929#L3227 assume existInLiftCallsInDirection_~i___0~0#1 >= 0; 121930#L3228 existInLiftCallsInDirection_~i___0~0#1 := 1 + ~currentFloorID~0; 117604#L3235-2 assume !false; 117605#L3236 assume !(existInLiftCallsInDirection_~i___0~0#1 < 5); 121013#L3294 existInLiftCallsInDirection_~i___0~0#1 := existInLiftCallsInDirection_~i___0~0#1 - 1; 121130#L3226-2 [2024-10-12 00:47:27,284 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-12 00:47:27,284 INFO L85 PathProgramCache]: Analyzing trace with hash 2016865714, now seen corresponding path program 1 times [2024-10-12 00:47:27,288 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-12 00:47:27,288 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [524818340] [2024-10-12 00:47:27,289 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-12 00:47:27,289 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-12 00:47:27,322 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-12 00:47:27,399 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-10-12 00:47:27,399 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-10-12 00:47:27,400 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [524818340] [2024-10-12 00:47:27,400 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [524818340] provided 1 perfect and 0 imperfect interpolant sequences [2024-10-12 00:47:27,400 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-10-12 00:47:27,400 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2024-10-12 00:47:27,401 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1648844956] [2024-10-12 00:47:27,401 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-10-12 00:47:27,401 INFO L750 eck$LassoCheckResult]: stem already infeasible [2024-10-12 00:47:27,401 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-12 00:47:27,404 INFO L85 PathProgramCache]: Analyzing trace with hash 1717871275, now seen corresponding path program 1 times [2024-10-12 00:47:27,404 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-12 00:47:27,404 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2009058241] [2024-10-12 00:47:27,405 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-12 00:47:27,405 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-12 00:47:27,420 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-12 00:47:27,424 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-10-12 00:47:27,426 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-12 00:47:27,439 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-10-12 00:47:27,469 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-10-12 00:47:27,470 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2024-10-12 00:47:27,470 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2024-10-12 00:47:27,470 INFO L87 Difference]: Start difference. First operand 9763 states and 18152 transitions. cyclomatic complexity: 8424 Second operand has 3 states, 3 states have (on average 19.0) internal successors, (57), 3 states have internal predecessors, (57), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-10-12 00:47:27,652 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-10-12 00:47:27,653 INFO L93 Difference]: Finished difference Result 9729 states and 18084 transitions. [2024-10-12 00:47:27,653 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 9729 states and 18084 transitions. [2024-10-12 00:47:27,704 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 2435 [2024-10-12 00:47:27,742 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 9729 states to 9729 states and 18084 transitions. [2024-10-12 00:47:27,743 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 9691 [2024-10-12 00:47:27,752 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 9691 [2024-10-12 00:47:27,752 INFO L73 IsDeterministic]: Start isDeterministic. Operand 9729 states and 18084 transitions. [2024-10-12 00:47:27,763 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-10-12 00:47:27,764 INFO L218 hiAutomatonCegarLoop]: Abstraction has 9729 states and 18084 transitions. [2024-10-12 00:47:27,778 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 9729 states and 18084 transitions. [2024-10-12 00:47:27,879 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 9729 to 9729. [2024-10-12 00:47:27,895 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9729 states, 9729 states have (on average 1.85877274128893) internal successors, (18084), 9728 states have internal predecessors, (18084), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-10-12 00:47:27,915 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9729 states to 9729 states and 18084 transitions. [2024-10-12 00:47:27,916 INFO L240 hiAutomatonCegarLoop]: Abstraction has 9729 states and 18084 transitions. [2024-10-12 00:47:27,916 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2024-10-12 00:47:27,917 INFO L425 stractBuchiCegarLoop]: Abstraction has 9729 states and 18084 transitions. [2024-10-12 00:47:27,917 INFO L332 stractBuchiCegarLoop]: ======== Iteration 4 ============ [2024-10-12 00:47:27,917 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 9729 states and 18084 transitions. [2024-10-12 00:47:27,950 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 2435 [2024-10-12 00:47:27,950 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-10-12 00:47:27,950 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-10-12 00:47:27,951 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-10-12 00:47:27,951 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1] [2024-10-12 00:47:27,951 INFO L745 eck$LassoCheckResult]: Stem: 144551#$Ultimate##0 assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int#0(48, 1, 0, 1);call write~init~int#0(0, 1, 1, 1);call #Ultimate.allocInit(32, 2);call #Ultimate.allocInit(12, 3);call #Ultimate.allocInit(30, 4);call #Ultimate.allocInit(9, 5);call #Ultimate.allocInit(21, 6);call #Ultimate.allocInit(30, 7);call #Ultimate.allocInit(9, 8);call #Ultimate.allocInit(21, 9);call #Ultimate.allocInit(30, 10);call #Ultimate.allocInit(9, 11);call #Ultimate.allocInit(25, 12);call #Ultimate.allocInit(30, 13);call #Ultimate.allocInit(9, 14);call #Ultimate.allocInit(25, 15);call #Ultimate.allocInit(10, 16);call #Ultimate.allocInit(4, 17);call write~init~int#5(91, 17, 0, 1);call write~init~int#5(95, 17, 1, 1);call write~init~int#5(93, 17, 2, 1);call write~init~int#5(0, 17, 3, 1);call #Ultimate.allocInit(4, 18);call write~init~int#6(91, 18, 0, 1);call write~init~int#6(93, 18, 1, 1);call write~init~int#6(32, 18, 2, 1);call write~init~int#6(0, 18, 3, 1);call #Ultimate.allocInit(5, 19);call write~init~int#7(32, 19, 0, 1);call write~init~int#7(97, 19, 1, 1);call write~init~int#7(116, 19, 2, 1);call write~init~int#7(32, 19, 3, 1);call write~init~int#7(0, 19, 4, 1);call #Ultimate.allocInit(3, 20);call write~init~int#8(37, 20, 0, 1);call write~init~int#8(105, 20, 1, 1);call write~init~int#8(0, 20, 2, 1);call #Ultimate.allocInit(10, 21);call #Ultimate.allocInit(3, 22);call write~init~int#9(117, 22, 0, 1);call write~init~int#9(112, 22, 1, 1);call write~init~int#9(0, 22, 2, 1);call #Ultimate.allocInit(5, 23);call write~init~int#10(100, 23, 0, 1);call write~init~int#10(111, 23, 1, 1);call write~init~int#10(119, 23, 2, 1);call write~init~int#10(110, 23, 3, 1);call write~init~int#10(0, 23, 4, 1);call #Ultimate.allocInit(7, 24);call write~init~int#11(32, 24, 0, 1);call write~init~int#11(73, 24, 1, 1);call write~init~int#11(76, 24, 2, 1);call write~init~int#11(95, 24, 3, 1);call write~init~int#11(112, 24, 4, 1);call write~init~int#11(58, 24, 5, 1);call write~init~int#11(0, 24, 6, 1);call #Ultimate.allocInit(4, 25);call write~init~int#12(32, 25, 0, 1);call write~init~int#12(37, 25, 1, 1);call write~init~int#12(105, 25, 2, 1);call write~init~int#12(0, 25, 3, 1);call #Ultimate.allocInit(4, 26);call write~init~int#13(32, 26, 0, 1);call write~init~int#13(37, 26, 1, 1);call write~init~int#13(105, 26, 2, 1);call write~init~int#13(0, 26, 3, 1);call #Ultimate.allocInit(4, 27);call write~init~int#14(32, 27, 0, 1);call write~init~int#14(37, 27, 1, 1);call write~init~int#14(105, 27, 2, 1);call write~init~int#14(0, 27, 3, 1);call #Ultimate.allocInit(4, 28);call write~init~int#15(32, 28, 0, 1);call write~init~int#15(37, 28, 1, 1);call write~init~int#15(105, 28, 2, 1);call write~init~int#15(0, 28, 3, 1);call #Ultimate.allocInit(4, 29);call write~init~int#16(32, 29, 0, 1);call write~init~int#16(37, 29, 1, 1);call write~init~int#16(105, 29, 2, 1);call write~init~int#16(0, 29, 3, 1);call #Ultimate.allocInit(6, 30);call write~init~int#17(32, 30, 0, 1);call write~init~int#17(70, 30, 1, 1);call write~init~int#17(95, 30, 2, 1);call write~init~int#17(112, 30, 3, 1);call write~init~int#17(58, 30, 4, 1);call write~init~int#17(0, 30, 5, 1);call #Ultimate.allocInit(4, 31);call write~init~int#18(32, 31, 0, 1);call write~init~int#18(37, 31, 1, 1);call write~init~int#18(105, 31, 2, 1);call write~init~int#18(0, 31, 3, 1);call #Ultimate.allocInit(4, 32);call write~init~int#19(32, 32, 0, 1);call write~init~int#19(37, 32, 1, 1);call write~init~int#19(105, 32, 2, 1);call write~init~int#19(0, 32, 3, 1);call #Ultimate.allocInit(4, 33);call write~init~int#1(32, 33, 0, 1);call write~init~int#1(37, 33, 1, 1);call write~init~int#1(105, 33, 2, 1);call write~init~int#1(0, 33, 3, 1);call #Ultimate.allocInit(4, 34);call write~init~int#2(32, 34, 0, 1);call write~init~int#2(37, 34, 1, 1);call write~init~int#2(105, 34, 2, 1);call write~init~int#2(0, 34, 3, 1);call #Ultimate.allocInit(4, 35);call write~init~int#3(32, 35, 0, 1);call write~init~int#3(37, 35, 1, 1);call write~init~int#3(105, 35, 2, 1);call write~init~int#3(0, 35, 3, 1);call #Ultimate.allocInit(2, 36);call write~init~int#4(10, 36, 0, 1);call write~init~int#4(0, 36, 1, 1);~head~0.base, ~head~0.offset := 0, 0;~weight~0 := 0;~maximumWeight~0 := 100;~executiveFloor~0 := 4;~prevDir~0 := 0;~calls_0~0 := 0;~calls_1~0 := 0;~calls_2~0 := 0;~calls_3~0 := 0;~calls_4~0 := 0;~personOnFloor_0_0~0 := 0;~personOnFloor_0_1~0 := 0;~personOnFloor_0_2~0 := 0;~personOnFloor_0_3~0 := 0;~personOnFloor_0_4~0 := 0;~personOnFloor_1_0~0 := 0;~personOnFloor_1_1~0 := 0;~personOnFloor_1_2~0 := 0;~personOnFloor_1_3~0 := 0;~personOnFloor_1_4~0 := 0;~personOnFloor_2_0~0 := 0;~personOnFloor_2_1~0 := 0;~personOnFloor_2_2~0 := 0;~personOnFloor_2_3~0 := 0;~personOnFloor_2_4~0 := 0;~personOnFloor_3_0~0 := 0;~personOnFloor_3_1~0 := 0;~personOnFloor_3_2~0 := 0;~personOnFloor_3_3~0 := 0;~personOnFloor_3_4~0 := 0;~personOnFloor_4_0~0 := 0;~personOnFloor_4_1~0 := 0;~personOnFloor_4_2~0 := 0;~personOnFloor_4_3~0 := 0;~personOnFloor_4_4~0 := 0;~personOnFloor_5_0~0 := 0;~personOnFloor_5_1~0 := 0;~personOnFloor_5_2~0 := 0;~personOnFloor_5_3~0 := 0;~personOnFloor_5_4~0 := 0;~cleanupTimeShifts~0 := 12;~currentHeading~0 := 1;~currentFloorID~0 := 0;~persons_0~0 := 0;~persons_1~0 := 0;~persons_2~0 := 0;~persons_3~0 := 0;~persons_4~0 := 0;~persons_5~0 := 0;~doorState~0 := 1;~floorButtons_0~0 := 0;~floorButtons_1~0 := 0;~floorButtons_2~0 := 0;~floorButtons_3~0 := 0;~floorButtons_4~0 := 0; 144294#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret47#1, main_~retValue_acc~10#1, main_~tmp~12#1;havoc main_~retValue_acc~10#1;havoc main_~tmp~12#1;assume { :begin_inline_select_helpers } true; 144295#select_helpers_returnLabel#1 assume { :end_inline_select_helpers } true;assume { :begin_inline_select_features } true; 146249#select_features_returnLabel#1 assume { :end_inline_select_features } true;assume { :begin_inline_valid_product } true;havoc valid_product_#res#1;havoc valid_product_~retValue_acc~12#1;havoc valid_product_~retValue_acc~12#1;valid_product_~retValue_acc~12#1 := 1;valid_product_#res#1 := valid_product_~retValue_acc~12#1; 138402#valid_product_returnLabel#1 main_#t~ret47#1 := valid_product_#res#1;havoc valid_product_~retValue_acc~12#1;assume { :end_inline_valid_product } true;main_~tmp~12#1 := main_#t~ret47#1;havoc main_#t~ret47#1; 138403#L1651 assume 0 != main_~tmp~12#1;assume { :begin_inline_setup } true; 140166#setup_returnLabel#1 assume { :end_inline_setup } true;assume { :begin_inline_runTest } true;assume { :begin_inline_test } true;assume { :begin_inline_aliceCall } true;havoc aliceCall_#t~ret36#1, aliceCall_~tmp~5#1;havoc aliceCall_~tmp~5#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 1;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~4#1; 140167#L564 assume !(0 == getOrigin_~person#1); 138792#L568 assume 1 == getOrigin_~person#1;getOrigin_~retValue_acc~4#1 := 3;getOrigin_#res#1 := getOrigin_~retValue_acc~4#1; 138793#getOrigin_returnLabel#1 aliceCall_#t~ret36#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;aliceCall_~tmp~5#1 := aliceCall_#t~ret36#1;havoc aliceCall_#t~ret36#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 1, aliceCall_~tmp~5#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 139410#L999 assume !(0 == initPersonOnFloor_~floor#1); 139411#L1026 assume !(1 == initPersonOnFloor_~floor#1); 145310#L1053 assume !(2 == initPersonOnFloor_~floor#1); 145806#L1080 assume 3 == initPersonOnFloor_~floor#1; 142980#L1081 assume 0 == initPersonOnFloor_~person#1;~personOnFloor_0_3~0 := 1; 140784#L1107-1 assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 137654#L791 assume 0 == callOnFloor_~floorID#1;~calls_0~0 := 1; 137456#L803-2 havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true; 139048#initPersonOnFloor_returnLabel#1 havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true; 139049#aliceCall_returnLabel#1 havoc aliceCall_#t~ret36#1, aliceCall_~tmp~5#1;assume { :end_inline_aliceCall } true;assume { :begin_inline_angelinaCall } true;havoc angelinaCall_#t~ret37#1, angelinaCall_~tmp~6#1;havoc angelinaCall_~tmp~6#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 2;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~4#1; 144595#L564-1 assume !(0 == getOrigin_~person#1); 139911#L568-1 assume !(1 == getOrigin_~person#1); 139912#L572-1 assume 2 == getOrigin_~person#1;getOrigin_~retValue_acc~4#1 := 2;getOrigin_#res#1 := getOrigin_~retValue_acc~4#1; 142130#getOrigin_returnLabel#2 angelinaCall_#t~ret37#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;angelinaCall_~tmp~6#1 := angelinaCall_#t~ret37#1;havoc angelinaCall_#t~ret37#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 2, angelinaCall_~tmp~6#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 146555#L999-1 assume 0 == initPersonOnFloor_~floor#1; 146543#L1000-2 assume 0 == initPersonOnFloor_~person#1;~personOnFloor_0_0~0 := 1; 136994#L1107-3 assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 142863#L791-2 assume 0 == callOnFloor_~floorID#1;~calls_0~0 := 1; 139027#L803-5 havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true; 142911#initPersonOnFloor_returnLabel#2 havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true; 142912#angelinaCall_returnLabel#1 havoc angelinaCall_#t~ret37#1, angelinaCall_~tmp~6#1;assume { :end_inline_angelinaCall } true;assume { :begin_inline_threeTS } true;assume { :begin_inline_timeShift } true;havoc timeShift_#t~ret98#1, timeShift_#t~ret99#1, timeShift_#t~ret100#1, timeShift_#t~ret101#1, timeShift_#t~ret102#1, timeShift_#t~ret103#1, timeShift_#t~ret104#1, timeShift_#t~ret105#1, timeShift_#t~ret106#1, timeShift_#t~ret107#1, timeShift_#t~ret108#1, timeShift_~tmp~26#1, timeShift_~tmp___0~10#1, timeShift_~tmp___1~5#1, timeShift_~tmp___2~5#1, timeShift_~tmp___3~4#1, timeShift_~tmp___4~3#1, timeShift_~tmp___5~2#1, timeShift_~tmp___6~2#1, timeShift_~tmp___7~2#1, timeShift_~tmp___8~2#1, timeShift_~tmp___9~2#1;havoc timeShift_~tmp~26#1;havoc timeShift_~tmp___0~10#1;havoc timeShift_~tmp___1~5#1;havoc timeShift_~tmp___2~5#1;havoc timeShift_~tmp___3~4#1;havoc timeShift_~tmp___4~3#1;havoc timeShift_~tmp___5~2#1;havoc timeShift_~tmp___6~2#1;havoc timeShift_~tmp___7~2#1;havoc timeShift_~tmp___8~2#1;havoc timeShift_~tmp___9~2#1;assume { :begin_inline___utac_acc__Specification13_spec__1 } true;havoc __utac_acc__Specification13_spec__1_#t~ret27#1;assume { :begin_inline_getCurrentHeading } true;havoc getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~17#1;havoc getCurrentHeading_~retValue_acc~17#1;getCurrentHeading_~retValue_acc~17#1 := ~currentHeading~0;getCurrentHeading_#res#1 := getCurrentHeading_~retValue_acc~17#1; 146068#getCurrentHeading_returnLabel#1 __utac_acc__Specification13_spec__1_#t~ret27#1 := getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~17#1;assume { :end_inline_getCurrentHeading } true;~prevDir~0 := __utac_acc__Specification13_spec__1_#t~ret27#1;havoc __utac_acc__Specification13_spec__1_#t~ret27#1; 143240#__utac_acc__Specification13_spec__1_returnLabel#1 havoc __utac_acc__Specification13_spec__1_#t~ret27#1;assume { :end_inline___utac_acc__Specification13_spec__1 } true;assume { :begin_inline_stopRequestedAtCurrentFloor } true;havoc stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1, stopRequestedAtCurrentFloor_#t~ret83#1, stopRequestedAtCurrentFloor_#t~ret84#1, stopRequestedAtCurrentFloor_#t~ret85#1, stopRequestedAtCurrentFloor_~retValue_acc~27#1, stopRequestedAtCurrentFloor_~tmp~24#1, stopRequestedAtCurrentFloor_~tmp___0~8#1;havoc stopRequestedAtCurrentFloor_~retValue_acc~27#1;havoc stopRequestedAtCurrentFloor_~tmp~24#1;havoc stopRequestedAtCurrentFloor_~tmp___0~8#1;assume { :begin_inline_isExecutiveFloorCalling } true;havoc isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;havoc isExecutiveFloorCalling_~retValue_acc~30#1;assume { :begin_inline_isFloorCalling } true;isFloorCalling_#in~floorID#1 := ~executiveFloor~0;havoc isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;isFloorCalling_~floorID#1 := isFloorCalling_#in~floorID#1;havoc isFloorCalling_~retValue_acc~6#1; 143241#L728 assume 0 == isFloorCalling_~floorID#1;isFloorCalling_~retValue_acc~6#1 := ~calls_0~0;isFloorCalling_#res#1 := isFloorCalling_~retValue_acc~6#1; 144698#isFloorCalling_returnLabel#1 isExecutiveFloorCalling_#t~ret135#1 := isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;havoc isFloorCalling_#in~floorID#1;assume { :end_inline_isFloorCalling } true;isExecutiveFloorCalling_~retValue_acc~30#1 := isExecutiveFloorCalling_#t~ret135#1;havoc isExecutiveFloorCalling_#t~ret135#1;isExecutiveFloorCalling_#res#1 := isExecutiveFloorCalling_~retValue_acc~30#1; 146066#isExecutiveFloorCalling_returnLabel#1 stopRequestedAtCurrentFloor_#t~ret82#1 := isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;assume { :end_inline_isExecutiveFloorCalling } true;stopRequestedAtCurrentFloor_~tmp~24#1 := stopRequestedAtCurrentFloor_#t~ret82#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1; 144465#L2700 assume 0 != stopRequestedAtCurrentFloor_~tmp~24#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;havoc getCurrentFloorID_~retValue_acc~14#1;getCurrentFloorID_~retValue_acc~14#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~14#1; 142988#getCurrentFloorID_returnLabel#1 stopRequestedAtCurrentFloor_#t~ret83#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedAtCurrentFloor_~tmp___0~8#1 := stopRequestedAtCurrentFloor_#t~ret83#1;havoc stopRequestedAtCurrentFloor_#t~ret83#1; 141946#L2704 assume !(~executiveFloor~0 == stopRequestedAtCurrentFloor_~tmp___0~8#1);stopRequestedAtCurrentFloor_~retValue_acc~27#1 := 0;stopRequestedAtCurrentFloor_#res#1 := stopRequestedAtCurrentFloor_~retValue_acc~27#1; 137516#stopRequestedAtCurrentFloor_returnLabel#1 timeShift_#t~ret98#1 := stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1, stopRequestedAtCurrentFloor_#t~ret83#1, stopRequestedAtCurrentFloor_#t~ret84#1, stopRequestedAtCurrentFloor_#t~ret85#1, stopRequestedAtCurrentFloor_~retValue_acc~27#1, stopRequestedAtCurrentFloor_~tmp~24#1, stopRequestedAtCurrentFloor_~tmp___0~8#1;assume { :end_inline_stopRequestedAtCurrentFloor } true;timeShift_~tmp___9~2#1 := timeShift_#t~ret98#1;havoc timeShift_#t~ret98#1; 137517#L2853 assume !(0 != timeShift_~tmp___9~2#1); 138205#L2944 assume 1 == ~doorState~0;~doorState~0 := 0; 138839#L2944-2 assume { :begin_inline_stopRequestedInDirection } true;stopRequestedInDirection_#in~dir#1, stopRequestedInDirection_#in~respectFloorCalls#1, stopRequestedInDirection_#in~respectInLiftCalls#1 := ~currentHeading~0, 1, 1;havoc stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret73#1, stopRequestedInDirection_#t~ret74#1, stopRequestedInDirection_#t~ret75#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~23#1, stopRequestedInDirection_~tmp~20#1, stopRequestedInDirection_~tmp___0~5#1, stopRequestedInDirection_~__cil_tmp7~6#1, stopRequestedInDirection_~__cil_tmp8~7#1;stopRequestedInDirection_~dir#1 := stopRequestedInDirection_#in~dir#1;stopRequestedInDirection_~respectFloorCalls#1 := stopRequestedInDirection_#in~respectFloorCalls#1;stopRequestedInDirection_~respectInLiftCalls#1 := stopRequestedInDirection_#in~respectInLiftCalls#1;havoc stopRequestedInDirection_~retValue_acc~23#1;havoc stopRequestedInDirection_~tmp~20#1;havoc stopRequestedInDirection_~tmp___0~5#1;havoc stopRequestedInDirection_~__cil_tmp7~6#1;havoc stopRequestedInDirection_~__cil_tmp8~7#1;assume { :begin_inline_isExecutiveFloorCalling } true;havoc isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;havoc isExecutiveFloorCalling_~retValue_acc~30#1;assume { :begin_inline_isFloorCalling } true;isFloorCalling_#in~floorID#1 := ~executiveFloor~0;havoc isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;isFloorCalling_~floorID#1 := isFloorCalling_#in~floorID#1;havoc isFloorCalling_~retValue_acc~6#1; 138840#L728-3 assume 0 == isFloorCalling_~floorID#1;isFloorCalling_~retValue_acc~6#1 := ~calls_0~0;isFloorCalling_#res#1 := isFloorCalling_~retValue_acc~6#1; 139162#isFloorCalling_returnLabel#4 isExecutiveFloorCalling_#t~ret135#1 := isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;havoc isFloorCalling_#in~floorID#1;assume { :end_inline_isFloorCalling } true;isExecutiveFloorCalling_~retValue_acc~30#1 := isExecutiveFloorCalling_#t~ret135#1;havoc isExecutiveFloorCalling_#t~ret135#1;isExecutiveFloorCalling_#res#1 := isExecutiveFloorCalling_~retValue_acc~30#1; 142079#isExecutiveFloorCalling_returnLabel#2 stopRequestedInDirection_#t~ret73#1 := isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;assume { :end_inline_isExecutiveFloorCalling } true;stopRequestedInDirection_~tmp___0~5#1 := stopRequestedInDirection_#t~ret73#1;havoc stopRequestedInDirection_#t~ret73#1; 137827#L2555 assume 0 != stopRequestedInDirection_~tmp___0~5#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;havoc getCurrentFloorID_~retValue_acc~14#1;getCurrentFloorID_~retValue_acc~14#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~14#1; 137828#getCurrentFloorID_returnLabel#4 stopRequestedInDirection_#t~ret74#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedInDirection_~tmp~20#1 := stopRequestedInDirection_#t~ret74#1;havoc stopRequestedInDirection_#t~ret74#1;stopRequestedInDirection_~__cil_tmp7~6#1 := (if 1 == stopRequestedInDirection_~dir#1 then 1 else 0);stopRequestedInDirection_~__cil_tmp8~7#1 := (if stopRequestedInDirection_~tmp~20#1 < ~executiveFloor~0 then 1 else 0);stopRequestedInDirection_~retValue_acc~23#1 := (if stopRequestedInDirection_~__cil_tmp8~7#1 == stopRequestedInDirection_~__cil_tmp7~6#1 then 1 else 0);stopRequestedInDirection_#res#1 := stopRequestedInDirection_~retValue_acc~23#1; 140375#stopRequestedInDirection_returnLabel#1 timeShift_#t~ret105#1 := stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret73#1, stopRequestedInDirection_#t~ret74#1, stopRequestedInDirection_#t~ret75#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~23#1, stopRequestedInDirection_~tmp~20#1, stopRequestedInDirection_~tmp___0~5#1, stopRequestedInDirection_~__cil_tmp7~6#1, stopRequestedInDirection_~__cil_tmp8~7#1;havoc stopRequestedInDirection_#in~dir#1, stopRequestedInDirection_#in~respectFloorCalls#1, stopRequestedInDirection_#in~respectInLiftCalls#1;assume { :end_inline_stopRequestedInDirection } true;timeShift_~tmp___8~2#1 := timeShift_#t~ret105#1;havoc timeShift_#t~ret105#1; 137394#L2952 assume 0 != timeShift_~tmp___8~2#1;assume { :begin_inline_continueInDirection } true;continueInDirection_#in~dir#1 := ~currentHeading~0;havoc continueInDirection_#t~ret76#1, continueInDirection_~dir#1, continueInDirection_~tmp~21#1;continueInDirection_~dir#1 := continueInDirection_#in~dir#1;havoc continueInDirection_~tmp~21#1;~currentHeading~0 := continueInDirection_~dir#1; 137395#L2612 assume !(1 == ~currentHeading~0); 141857#L2622 assume !(0 == ~currentFloorID~0); 141858#L2622-2 assume !(1 == ~currentHeading~0);~currentFloorID~0 := ~currentFloorID~0 - 1; 141664#L2628-1 havoc continueInDirection_#t~ret76#1, continueInDirection_~dir#1, continueInDirection_~tmp~21#1;havoc continueInDirection_#in~dir#1;assume { :end_inline_continueInDirection } true; 136861#L2961-2 assume { :begin_inline___utac_acc__Specification13_spec__2 } true;havoc __utac_acc__Specification13_spec__2_#t~ret28#1, __utac_acc__Specification13_spec__2_#t~ret29#1, __utac_acc__Specification13_spec__2_#t~ret30#1, __utac_acc__Specification13_spec__2_#t~ret31#1, __utac_acc__Specification13_spec__2_#t~ret32#1, __utac_acc__Specification13_spec__2_#t~ret33#1, __utac_acc__Specification13_spec__2_~tmp~3#1, __utac_acc__Specification13_spec__2_~tmp___0~0#1, __utac_acc__Specification13_spec__2_~tmp___1~0#1, __utac_acc__Specification13_spec__2_~tmp___2~0#1, __utac_acc__Specification13_spec__2_~tmp___3~0#1, __utac_acc__Specification13_spec__2_~tmp___4~0#1, __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1, __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1;havoc __utac_acc__Specification13_spec__2_~tmp~3#1;havoc __utac_acc__Specification13_spec__2_~tmp___0~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___1~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___2~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___3~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___4~0#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1;__utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 := 2 * ~maximumWeight~0;__utac_acc__Specification13_spec__2_~__cil_tmp8~5#1 := (if __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 < 0 && 0 != __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 % 3 then 1 + __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 / 3 else __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 / 3); 136862#L454 assume ~weight~0 > __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1; 139153#L455 assume 1 == ~prevDir~0;assume { :begin_inline_existInLiftCallsInDirection } true;existInLiftCallsInDirection_#in~d#1 := 0;havoc existInLiftCallsInDirection_#res#1;havoc existInLiftCallsInDirection_~d#1, existInLiftCallsInDirection_~retValue_acc~29#1, existInLiftCallsInDirection_~i~1#1, existInLiftCallsInDirection_~i___0~0#1;existInLiftCallsInDirection_~d#1 := existInLiftCallsInDirection_#in~d#1;havoc existInLiftCallsInDirection_~retValue_acc~29#1;havoc existInLiftCallsInDirection_~i~1#1;havoc existInLiftCallsInDirection_~i___0~0#1; 139155#L3156 assume !(1 == existInLiftCallsInDirection_~d#1); 141081#L3222 assume 0 == existInLiftCallsInDirection_~d#1;existInLiftCallsInDirection_~i___0~0#1 := 0;existInLiftCallsInDirection_~i___0~0#1 := ~currentFloorID~0 - 1; 140614#L3226-2 [2024-10-12 00:47:27,952 INFO L747 eck$LassoCheckResult]: Loop: 140614#L3226-2 assume !false; 141414#L3227 assume existInLiftCallsInDirection_~i___0~0#1 >= 0; 141415#L3228 existInLiftCallsInDirection_~i___0~0#1 := 1 + ~currentFloorID~0; 137099#L3235-2 assume !false; 137100#L3236 assume !(existInLiftCallsInDirection_~i___0~0#1 < 5); 140497#L3294 existInLiftCallsInDirection_~i___0~0#1 := existInLiftCallsInDirection_~i___0~0#1 - 1; 140614#L3226-2 [2024-10-12 00:47:27,952 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-12 00:47:27,952 INFO L85 PathProgramCache]: Analyzing trace with hash -461795163, now seen corresponding path program 1 times [2024-10-12 00:47:27,953 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-12 00:47:27,953 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1843075356] [2024-10-12 00:47:27,953 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-12 00:47:27,953 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-12 00:47:27,976 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-12 00:47:28,096 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-10-12 00:47:28,096 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-10-12 00:47:28,096 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1843075356] [2024-10-12 00:47:28,097 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1843075356] provided 1 perfect and 0 imperfect interpolant sequences [2024-10-12 00:47:28,097 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-10-12 00:47:28,097 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2024-10-12 00:47:28,097 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1018865241] [2024-10-12 00:47:28,097 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-10-12 00:47:28,097 INFO L750 eck$LassoCheckResult]: stem already infeasible [2024-10-12 00:47:28,098 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-12 00:47:28,098 INFO L85 PathProgramCache]: Analyzing trace with hash 1717871275, now seen corresponding path program 2 times [2024-10-12 00:47:28,098 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-12 00:47:28,098 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1431677305] [2024-10-12 00:47:28,102 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-12 00:47:28,102 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-12 00:47:28,112 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-12 00:47:28,113 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-10-12 00:47:28,114 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-12 00:47:28,121 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-10-12 00:47:28,143 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-10-12 00:47:28,144 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2024-10-12 00:47:28,144 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2024-10-12 00:47:28,144 INFO L87 Difference]: Start difference. First operand 9729 states and 18084 transitions. cyclomatic complexity: 8390 Second operand has 5 states, 5 states have (on average 11.8) internal successors, (59), 5 states have internal predecessors, (59), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-10-12 00:47:28,660 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-10-12 00:47:28,660 INFO L93 Difference]: Finished difference Result 9737 states and 18091 transitions. [2024-10-12 00:47:28,661 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 9737 states and 18091 transitions. [2024-10-12 00:47:28,708 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 2435 [2024-10-12 00:47:28,747 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 9737 states to 9737 states and 18091 transitions. [2024-10-12 00:47:28,748 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 9699 [2024-10-12 00:47:28,755 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 9699 [2024-10-12 00:47:28,755 INFO L73 IsDeterministic]: Start isDeterministic. Operand 9737 states and 18091 transitions. [2024-10-12 00:47:28,756 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-10-12 00:47:28,756 INFO L218 hiAutomatonCegarLoop]: Abstraction has 9737 states and 18091 transitions. [2024-10-12 00:47:28,774 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 9737 states and 18091 transitions. [2024-10-12 00:47:28,892 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 9737 to 9729. [2024-10-12 00:47:28,909 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9729 states, 9729 states have (on average 1.8581560283687943) internal successors, (18078), 9728 states have internal predecessors, (18078), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-10-12 00:47:28,934 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9729 states to 9729 states and 18078 transitions. [2024-10-12 00:47:28,934 INFO L240 hiAutomatonCegarLoop]: Abstraction has 9729 states and 18078 transitions. [2024-10-12 00:47:28,935 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2024-10-12 00:47:28,937 INFO L425 stractBuchiCegarLoop]: Abstraction has 9729 states and 18078 transitions. [2024-10-12 00:47:28,937 INFO L332 stractBuchiCegarLoop]: ======== Iteration 5 ============ [2024-10-12 00:47:28,937 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 9729 states and 18078 transitions. [2024-10-12 00:47:28,979 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 2435 [2024-10-12 00:47:28,979 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-10-12 00:47:28,979 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-10-12 00:47:28,980 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-10-12 00:47:28,980 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1] [2024-10-12 00:47:28,982 INFO L745 eck$LassoCheckResult]: Stem: 164025#$Ultimate##0 assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int#0(48, 1, 0, 1);call write~init~int#0(0, 1, 1, 1);call #Ultimate.allocInit(32, 2);call #Ultimate.allocInit(12, 3);call #Ultimate.allocInit(30, 4);call #Ultimate.allocInit(9, 5);call #Ultimate.allocInit(21, 6);call #Ultimate.allocInit(30, 7);call #Ultimate.allocInit(9, 8);call #Ultimate.allocInit(21, 9);call #Ultimate.allocInit(30, 10);call #Ultimate.allocInit(9, 11);call #Ultimate.allocInit(25, 12);call #Ultimate.allocInit(30, 13);call #Ultimate.allocInit(9, 14);call #Ultimate.allocInit(25, 15);call #Ultimate.allocInit(10, 16);call #Ultimate.allocInit(4, 17);call write~init~int#5(91, 17, 0, 1);call write~init~int#5(95, 17, 1, 1);call write~init~int#5(93, 17, 2, 1);call write~init~int#5(0, 17, 3, 1);call #Ultimate.allocInit(4, 18);call write~init~int#6(91, 18, 0, 1);call write~init~int#6(93, 18, 1, 1);call write~init~int#6(32, 18, 2, 1);call write~init~int#6(0, 18, 3, 1);call #Ultimate.allocInit(5, 19);call write~init~int#7(32, 19, 0, 1);call write~init~int#7(97, 19, 1, 1);call write~init~int#7(116, 19, 2, 1);call write~init~int#7(32, 19, 3, 1);call write~init~int#7(0, 19, 4, 1);call #Ultimate.allocInit(3, 20);call write~init~int#8(37, 20, 0, 1);call write~init~int#8(105, 20, 1, 1);call write~init~int#8(0, 20, 2, 1);call #Ultimate.allocInit(10, 21);call #Ultimate.allocInit(3, 22);call write~init~int#9(117, 22, 0, 1);call write~init~int#9(112, 22, 1, 1);call write~init~int#9(0, 22, 2, 1);call #Ultimate.allocInit(5, 23);call write~init~int#10(100, 23, 0, 1);call write~init~int#10(111, 23, 1, 1);call write~init~int#10(119, 23, 2, 1);call write~init~int#10(110, 23, 3, 1);call write~init~int#10(0, 23, 4, 1);call #Ultimate.allocInit(7, 24);call write~init~int#11(32, 24, 0, 1);call write~init~int#11(73, 24, 1, 1);call write~init~int#11(76, 24, 2, 1);call write~init~int#11(95, 24, 3, 1);call write~init~int#11(112, 24, 4, 1);call write~init~int#11(58, 24, 5, 1);call write~init~int#11(0, 24, 6, 1);call #Ultimate.allocInit(4, 25);call write~init~int#12(32, 25, 0, 1);call write~init~int#12(37, 25, 1, 1);call write~init~int#12(105, 25, 2, 1);call write~init~int#12(0, 25, 3, 1);call #Ultimate.allocInit(4, 26);call write~init~int#13(32, 26, 0, 1);call write~init~int#13(37, 26, 1, 1);call write~init~int#13(105, 26, 2, 1);call write~init~int#13(0, 26, 3, 1);call #Ultimate.allocInit(4, 27);call write~init~int#14(32, 27, 0, 1);call write~init~int#14(37, 27, 1, 1);call write~init~int#14(105, 27, 2, 1);call write~init~int#14(0, 27, 3, 1);call #Ultimate.allocInit(4, 28);call write~init~int#15(32, 28, 0, 1);call write~init~int#15(37, 28, 1, 1);call write~init~int#15(105, 28, 2, 1);call write~init~int#15(0, 28, 3, 1);call #Ultimate.allocInit(4, 29);call write~init~int#16(32, 29, 0, 1);call write~init~int#16(37, 29, 1, 1);call write~init~int#16(105, 29, 2, 1);call write~init~int#16(0, 29, 3, 1);call #Ultimate.allocInit(6, 30);call write~init~int#17(32, 30, 0, 1);call write~init~int#17(70, 30, 1, 1);call write~init~int#17(95, 30, 2, 1);call write~init~int#17(112, 30, 3, 1);call write~init~int#17(58, 30, 4, 1);call write~init~int#17(0, 30, 5, 1);call #Ultimate.allocInit(4, 31);call write~init~int#18(32, 31, 0, 1);call write~init~int#18(37, 31, 1, 1);call write~init~int#18(105, 31, 2, 1);call write~init~int#18(0, 31, 3, 1);call #Ultimate.allocInit(4, 32);call write~init~int#19(32, 32, 0, 1);call write~init~int#19(37, 32, 1, 1);call write~init~int#19(105, 32, 2, 1);call write~init~int#19(0, 32, 3, 1);call #Ultimate.allocInit(4, 33);call write~init~int#1(32, 33, 0, 1);call write~init~int#1(37, 33, 1, 1);call write~init~int#1(105, 33, 2, 1);call write~init~int#1(0, 33, 3, 1);call #Ultimate.allocInit(4, 34);call write~init~int#2(32, 34, 0, 1);call write~init~int#2(37, 34, 1, 1);call write~init~int#2(105, 34, 2, 1);call write~init~int#2(0, 34, 3, 1);call #Ultimate.allocInit(4, 35);call write~init~int#3(32, 35, 0, 1);call write~init~int#3(37, 35, 1, 1);call write~init~int#3(105, 35, 2, 1);call write~init~int#3(0, 35, 3, 1);call #Ultimate.allocInit(2, 36);call write~init~int#4(10, 36, 0, 1);call write~init~int#4(0, 36, 1, 1);~head~0.base, ~head~0.offset := 0, 0;~weight~0 := 0;~maximumWeight~0 := 100;~executiveFloor~0 := 4;~prevDir~0 := 0;~calls_0~0 := 0;~calls_1~0 := 0;~calls_2~0 := 0;~calls_3~0 := 0;~calls_4~0 := 0;~personOnFloor_0_0~0 := 0;~personOnFloor_0_1~0 := 0;~personOnFloor_0_2~0 := 0;~personOnFloor_0_3~0 := 0;~personOnFloor_0_4~0 := 0;~personOnFloor_1_0~0 := 0;~personOnFloor_1_1~0 := 0;~personOnFloor_1_2~0 := 0;~personOnFloor_1_3~0 := 0;~personOnFloor_1_4~0 := 0;~personOnFloor_2_0~0 := 0;~personOnFloor_2_1~0 := 0;~personOnFloor_2_2~0 := 0;~personOnFloor_2_3~0 := 0;~personOnFloor_2_4~0 := 0;~personOnFloor_3_0~0 := 0;~personOnFloor_3_1~0 := 0;~personOnFloor_3_2~0 := 0;~personOnFloor_3_3~0 := 0;~personOnFloor_3_4~0 := 0;~personOnFloor_4_0~0 := 0;~personOnFloor_4_1~0 := 0;~personOnFloor_4_2~0 := 0;~personOnFloor_4_3~0 := 0;~personOnFloor_4_4~0 := 0;~personOnFloor_5_0~0 := 0;~personOnFloor_5_1~0 := 0;~personOnFloor_5_2~0 := 0;~personOnFloor_5_3~0 := 0;~personOnFloor_5_4~0 := 0;~cleanupTimeShifts~0 := 12;~currentHeading~0 := 1;~currentFloorID~0 := 0;~persons_0~0 := 0;~persons_1~0 := 0;~persons_2~0 := 0;~persons_3~0 := 0;~persons_4~0 := 0;~persons_5~0 := 0;~doorState~0 := 1;~floorButtons_0~0 := 0;~floorButtons_1~0 := 0;~floorButtons_2~0 := 0;~floorButtons_3~0 := 0;~floorButtons_4~0 := 0; 163768#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret47#1, main_~retValue_acc~10#1, main_~tmp~12#1;havoc main_~retValue_acc~10#1;havoc main_~tmp~12#1;assume { :begin_inline_select_helpers } true; 163769#select_helpers_returnLabel#1 assume { :end_inline_select_helpers } true;assume { :begin_inline_select_features } true; 165723#select_features_returnLabel#1 assume { :end_inline_select_features } true;assume { :begin_inline_valid_product } true;havoc valid_product_#res#1;havoc valid_product_~retValue_acc~12#1;havoc valid_product_~retValue_acc~12#1;valid_product_~retValue_acc~12#1 := 1;valid_product_#res#1 := valid_product_~retValue_acc~12#1; 157876#valid_product_returnLabel#1 main_#t~ret47#1 := valid_product_#res#1;havoc valid_product_~retValue_acc~12#1;assume { :end_inline_valid_product } true;main_~tmp~12#1 := main_#t~ret47#1;havoc main_#t~ret47#1; 157877#L1651 assume 0 != main_~tmp~12#1;assume { :begin_inline_setup } true; 159640#setup_returnLabel#1 assume { :end_inline_setup } true;assume { :begin_inline_runTest } true;assume { :begin_inline_test } true;assume { :begin_inline_aliceCall } true;havoc aliceCall_#t~ret36#1, aliceCall_~tmp~5#1;havoc aliceCall_~tmp~5#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 1;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~4#1; 159641#L564 assume !(0 == getOrigin_~person#1); 158266#L568 assume 1 == getOrigin_~person#1;getOrigin_~retValue_acc~4#1 := 3;getOrigin_#res#1 := getOrigin_~retValue_acc~4#1; 158267#getOrigin_returnLabel#1 aliceCall_#t~ret36#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;aliceCall_~tmp~5#1 := aliceCall_#t~ret36#1;havoc aliceCall_#t~ret36#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 1, aliceCall_~tmp~5#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 158887#L999 assume !(0 == initPersonOnFloor_~floor#1); 158888#L1026 assume !(1 == initPersonOnFloor_~floor#1); 164784#L1053 assume !(2 == initPersonOnFloor_~floor#1); 165280#L1080 assume 3 == initPersonOnFloor_~floor#1; 162454#L1081 assume !(0 == initPersonOnFloor_~person#1); 162455#L1084 assume 1 == initPersonOnFloor_~person#1;~personOnFloor_1_3~0 := 1; 160258#L1107-1 assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 157128#L791 assume 0 == callOnFloor_~floorID#1;~calls_0~0 := 1; 156930#L803-2 havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true; 158525#initPersonOnFloor_returnLabel#1 havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true; 158526#aliceCall_returnLabel#1 havoc aliceCall_#t~ret36#1, aliceCall_~tmp~5#1;assume { :end_inline_aliceCall } true;assume { :begin_inline_angelinaCall } true;havoc angelinaCall_#t~ret37#1, angelinaCall_~tmp~6#1;havoc angelinaCall_~tmp~6#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 2;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~4#1; 164069#L564-1 assume !(0 == getOrigin_~person#1); 159385#L568-1 assume !(1 == getOrigin_~person#1); 159386#L572-1 assume 2 == getOrigin_~person#1;getOrigin_~retValue_acc~4#1 := 2;getOrigin_#res#1 := getOrigin_~retValue_acc~4#1; 161604#getOrigin_returnLabel#2 angelinaCall_#t~ret37#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;angelinaCall_~tmp~6#1 := angelinaCall_#t~ret37#1;havoc angelinaCall_#t~ret37#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 2, angelinaCall_~tmp~6#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 166029#L999-1 assume 0 == initPersonOnFloor_~floor#1; 166017#L1000-2 assume !(0 == initPersonOnFloor_~person#1); 157239#L1003-2 assume 1 == initPersonOnFloor_~person#1;~personOnFloor_1_0~0 := 1; 156473#L1107-3 assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 162338#L791-2 assume 0 == callOnFloor_~floorID#1;~calls_0~0 := 1; 158501#L803-5 havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true; 162385#initPersonOnFloor_returnLabel#2 havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true; 162386#angelinaCall_returnLabel#1 havoc angelinaCall_#t~ret37#1, angelinaCall_~tmp~6#1;assume { :end_inline_angelinaCall } true;assume { :begin_inline_threeTS } true;assume { :begin_inline_timeShift } true;havoc timeShift_#t~ret98#1, timeShift_#t~ret99#1, timeShift_#t~ret100#1, timeShift_#t~ret101#1, timeShift_#t~ret102#1, timeShift_#t~ret103#1, timeShift_#t~ret104#1, timeShift_#t~ret105#1, timeShift_#t~ret106#1, timeShift_#t~ret107#1, timeShift_#t~ret108#1, timeShift_~tmp~26#1, timeShift_~tmp___0~10#1, timeShift_~tmp___1~5#1, timeShift_~tmp___2~5#1, timeShift_~tmp___3~4#1, timeShift_~tmp___4~3#1, timeShift_~tmp___5~2#1, timeShift_~tmp___6~2#1, timeShift_~tmp___7~2#1, timeShift_~tmp___8~2#1, timeShift_~tmp___9~2#1;havoc timeShift_~tmp~26#1;havoc timeShift_~tmp___0~10#1;havoc timeShift_~tmp___1~5#1;havoc timeShift_~tmp___2~5#1;havoc timeShift_~tmp___3~4#1;havoc timeShift_~tmp___4~3#1;havoc timeShift_~tmp___5~2#1;havoc timeShift_~tmp___6~2#1;havoc timeShift_~tmp___7~2#1;havoc timeShift_~tmp___8~2#1;havoc timeShift_~tmp___9~2#1;assume { :begin_inline___utac_acc__Specification13_spec__1 } true;havoc __utac_acc__Specification13_spec__1_#t~ret27#1;assume { :begin_inline_getCurrentHeading } true;havoc getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~17#1;havoc getCurrentHeading_~retValue_acc~17#1;getCurrentHeading_~retValue_acc~17#1 := ~currentHeading~0;getCurrentHeading_#res#1 := getCurrentHeading_~retValue_acc~17#1; 165542#getCurrentHeading_returnLabel#1 __utac_acc__Specification13_spec__1_#t~ret27#1 := getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~17#1;assume { :end_inline_getCurrentHeading } true;~prevDir~0 := __utac_acc__Specification13_spec__1_#t~ret27#1;havoc __utac_acc__Specification13_spec__1_#t~ret27#1; 162714#__utac_acc__Specification13_spec__1_returnLabel#1 havoc __utac_acc__Specification13_spec__1_#t~ret27#1;assume { :end_inline___utac_acc__Specification13_spec__1 } true;assume { :begin_inline_stopRequestedAtCurrentFloor } true;havoc stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1, stopRequestedAtCurrentFloor_#t~ret83#1, stopRequestedAtCurrentFloor_#t~ret84#1, stopRequestedAtCurrentFloor_#t~ret85#1, stopRequestedAtCurrentFloor_~retValue_acc~27#1, stopRequestedAtCurrentFloor_~tmp~24#1, stopRequestedAtCurrentFloor_~tmp___0~8#1;havoc stopRequestedAtCurrentFloor_~retValue_acc~27#1;havoc stopRequestedAtCurrentFloor_~tmp~24#1;havoc stopRequestedAtCurrentFloor_~tmp___0~8#1;assume { :begin_inline_isExecutiveFloorCalling } true;havoc isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;havoc isExecutiveFloorCalling_~retValue_acc~30#1;assume { :begin_inline_isFloorCalling } true;isFloorCalling_#in~floorID#1 := ~executiveFloor~0;havoc isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;isFloorCalling_~floorID#1 := isFloorCalling_#in~floorID#1;havoc isFloorCalling_~retValue_acc~6#1; 162715#L728 assume 0 == isFloorCalling_~floorID#1;isFloorCalling_~retValue_acc~6#1 := ~calls_0~0;isFloorCalling_#res#1 := isFloorCalling_~retValue_acc~6#1; 164173#isFloorCalling_returnLabel#1 isExecutiveFloorCalling_#t~ret135#1 := isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;havoc isFloorCalling_#in~floorID#1;assume { :end_inline_isFloorCalling } true;isExecutiveFloorCalling_~retValue_acc~30#1 := isExecutiveFloorCalling_#t~ret135#1;havoc isExecutiveFloorCalling_#t~ret135#1;isExecutiveFloorCalling_#res#1 := isExecutiveFloorCalling_~retValue_acc~30#1; 165540#isExecutiveFloorCalling_returnLabel#1 stopRequestedAtCurrentFloor_#t~ret82#1 := isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;assume { :end_inline_isExecutiveFloorCalling } true;stopRequestedAtCurrentFloor_~tmp~24#1 := stopRequestedAtCurrentFloor_#t~ret82#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1; 163939#L2700 assume 0 != stopRequestedAtCurrentFloor_~tmp~24#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;havoc getCurrentFloorID_~retValue_acc~14#1;getCurrentFloorID_~retValue_acc~14#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~14#1; 162462#getCurrentFloorID_returnLabel#1 stopRequestedAtCurrentFloor_#t~ret83#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedAtCurrentFloor_~tmp___0~8#1 := stopRequestedAtCurrentFloor_#t~ret83#1;havoc stopRequestedAtCurrentFloor_#t~ret83#1; 161420#L2704 assume !(~executiveFloor~0 == stopRequestedAtCurrentFloor_~tmp___0~8#1);stopRequestedAtCurrentFloor_~retValue_acc~27#1 := 0;stopRequestedAtCurrentFloor_#res#1 := stopRequestedAtCurrentFloor_~retValue_acc~27#1; 156993#stopRequestedAtCurrentFloor_returnLabel#1 timeShift_#t~ret98#1 := stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1, stopRequestedAtCurrentFloor_#t~ret83#1, stopRequestedAtCurrentFloor_#t~ret84#1, stopRequestedAtCurrentFloor_#t~ret85#1, stopRequestedAtCurrentFloor_~retValue_acc~27#1, stopRequestedAtCurrentFloor_~tmp~24#1, stopRequestedAtCurrentFloor_~tmp___0~8#1;assume { :end_inline_stopRequestedAtCurrentFloor } true;timeShift_~tmp___9~2#1 := timeShift_#t~ret98#1;havoc timeShift_#t~ret98#1; 156994#L2853 assume !(0 != timeShift_~tmp___9~2#1); 157681#L2944 assume 1 == ~doorState~0;~doorState~0 := 0; 158313#L2944-2 assume { :begin_inline_stopRequestedInDirection } true;stopRequestedInDirection_#in~dir#1, stopRequestedInDirection_#in~respectFloorCalls#1, stopRequestedInDirection_#in~respectInLiftCalls#1 := ~currentHeading~0, 1, 1;havoc stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret73#1, stopRequestedInDirection_#t~ret74#1, stopRequestedInDirection_#t~ret75#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~23#1, stopRequestedInDirection_~tmp~20#1, stopRequestedInDirection_~tmp___0~5#1, stopRequestedInDirection_~__cil_tmp7~6#1, stopRequestedInDirection_~__cil_tmp8~7#1;stopRequestedInDirection_~dir#1 := stopRequestedInDirection_#in~dir#1;stopRequestedInDirection_~respectFloorCalls#1 := stopRequestedInDirection_#in~respectFloorCalls#1;stopRequestedInDirection_~respectInLiftCalls#1 := stopRequestedInDirection_#in~respectInLiftCalls#1;havoc stopRequestedInDirection_~retValue_acc~23#1;havoc stopRequestedInDirection_~tmp~20#1;havoc stopRequestedInDirection_~tmp___0~5#1;havoc stopRequestedInDirection_~__cil_tmp7~6#1;havoc stopRequestedInDirection_~__cil_tmp8~7#1;assume { :begin_inline_isExecutiveFloorCalling } true;havoc isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;havoc isExecutiveFloorCalling_~retValue_acc~30#1;assume { :begin_inline_isFloorCalling } true;isFloorCalling_#in~floorID#1 := ~executiveFloor~0;havoc isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;isFloorCalling_~floorID#1 := isFloorCalling_#in~floorID#1;havoc isFloorCalling_~retValue_acc~6#1; 158314#L728-3 assume 0 == isFloorCalling_~floorID#1;isFloorCalling_~retValue_acc~6#1 := ~calls_0~0;isFloorCalling_#res#1 := isFloorCalling_~retValue_acc~6#1; 158639#isFloorCalling_returnLabel#4 isExecutiveFloorCalling_#t~ret135#1 := isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;havoc isFloorCalling_#in~floorID#1;assume { :end_inline_isFloorCalling } true;isExecutiveFloorCalling_~retValue_acc~30#1 := isExecutiveFloorCalling_#t~ret135#1;havoc isExecutiveFloorCalling_#t~ret135#1;isExecutiveFloorCalling_#res#1 := isExecutiveFloorCalling_~retValue_acc~30#1; 161553#isExecutiveFloorCalling_returnLabel#2 stopRequestedInDirection_#t~ret73#1 := isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;assume { :end_inline_isExecutiveFloorCalling } true;stopRequestedInDirection_~tmp___0~5#1 := stopRequestedInDirection_#t~ret73#1;havoc stopRequestedInDirection_#t~ret73#1; 157301#L2555 assume 0 != stopRequestedInDirection_~tmp___0~5#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;havoc getCurrentFloorID_~retValue_acc~14#1;getCurrentFloorID_~retValue_acc~14#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~14#1; 157302#getCurrentFloorID_returnLabel#4 stopRequestedInDirection_#t~ret74#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedInDirection_~tmp~20#1 := stopRequestedInDirection_#t~ret74#1;havoc stopRequestedInDirection_#t~ret74#1;stopRequestedInDirection_~__cil_tmp7~6#1 := (if 1 == stopRequestedInDirection_~dir#1 then 1 else 0);stopRequestedInDirection_~__cil_tmp8~7#1 := (if stopRequestedInDirection_~tmp~20#1 < ~executiveFloor~0 then 1 else 0);stopRequestedInDirection_~retValue_acc~23#1 := (if stopRequestedInDirection_~__cil_tmp8~7#1 == stopRequestedInDirection_~__cil_tmp7~6#1 then 1 else 0);stopRequestedInDirection_#res#1 := stopRequestedInDirection_~retValue_acc~23#1; 159849#stopRequestedInDirection_returnLabel#1 timeShift_#t~ret105#1 := stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret73#1, stopRequestedInDirection_#t~ret74#1, stopRequestedInDirection_#t~ret75#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~23#1, stopRequestedInDirection_~tmp~20#1, stopRequestedInDirection_~tmp___0~5#1, stopRequestedInDirection_~__cil_tmp7~6#1, stopRequestedInDirection_~__cil_tmp8~7#1;havoc stopRequestedInDirection_#in~dir#1, stopRequestedInDirection_#in~respectFloorCalls#1, stopRequestedInDirection_#in~respectInLiftCalls#1;assume { :end_inline_stopRequestedInDirection } true;timeShift_~tmp___8~2#1 := timeShift_#t~ret105#1;havoc timeShift_#t~ret105#1; 156871#L2952 assume 0 != timeShift_~tmp___8~2#1;assume { :begin_inline_continueInDirection } true;continueInDirection_#in~dir#1 := ~currentHeading~0;havoc continueInDirection_#t~ret76#1, continueInDirection_~dir#1, continueInDirection_~tmp~21#1;continueInDirection_~dir#1 := continueInDirection_#in~dir#1;havoc continueInDirection_~tmp~21#1;~currentHeading~0 := continueInDirection_~dir#1; 156872#L2612 assume !(1 == ~currentHeading~0); 161331#L2622 assume !(0 == ~currentFloorID~0); 161332#L2622-2 assume !(1 == ~currentHeading~0);~currentFloorID~0 := ~currentFloorID~0 - 1; 161138#L2628-1 havoc continueInDirection_#t~ret76#1, continueInDirection_~dir#1, continueInDirection_~tmp~21#1;havoc continueInDirection_#in~dir#1;assume { :end_inline_continueInDirection } true; 156335#L2961-2 assume { :begin_inline___utac_acc__Specification13_spec__2 } true;havoc __utac_acc__Specification13_spec__2_#t~ret28#1, __utac_acc__Specification13_spec__2_#t~ret29#1, __utac_acc__Specification13_spec__2_#t~ret30#1, __utac_acc__Specification13_spec__2_#t~ret31#1, __utac_acc__Specification13_spec__2_#t~ret32#1, __utac_acc__Specification13_spec__2_#t~ret33#1, __utac_acc__Specification13_spec__2_~tmp~3#1, __utac_acc__Specification13_spec__2_~tmp___0~0#1, __utac_acc__Specification13_spec__2_~tmp___1~0#1, __utac_acc__Specification13_spec__2_~tmp___2~0#1, __utac_acc__Specification13_spec__2_~tmp___3~0#1, __utac_acc__Specification13_spec__2_~tmp___4~0#1, __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1, __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1;havoc __utac_acc__Specification13_spec__2_~tmp~3#1;havoc __utac_acc__Specification13_spec__2_~tmp___0~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___1~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___2~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___3~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___4~0#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1;__utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 := 2 * ~maximumWeight~0;__utac_acc__Specification13_spec__2_~__cil_tmp8~5#1 := (if __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 < 0 && 0 != __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 % 3 then 1 + __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 / 3 else __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 / 3); 156336#L454 assume ~weight~0 > __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1; 158627#L455 assume 1 == ~prevDir~0;assume { :begin_inline_existInLiftCallsInDirection } true;existInLiftCallsInDirection_#in~d#1 := 0;havoc existInLiftCallsInDirection_#res#1;havoc existInLiftCallsInDirection_~d#1, existInLiftCallsInDirection_~retValue_acc~29#1, existInLiftCallsInDirection_~i~1#1, existInLiftCallsInDirection_~i___0~0#1;existInLiftCallsInDirection_~d#1 := existInLiftCallsInDirection_#in~d#1;havoc existInLiftCallsInDirection_~retValue_acc~29#1;havoc existInLiftCallsInDirection_~i~1#1;havoc existInLiftCallsInDirection_~i___0~0#1; 158629#L3156 assume !(1 == existInLiftCallsInDirection_~d#1); 160557#L3222 assume 0 == existInLiftCallsInDirection_~d#1;existInLiftCallsInDirection_~i___0~0#1 := 0;existInLiftCallsInDirection_~i___0~0#1 := ~currentFloorID~0 - 1; 160088#L3226-2 [2024-10-12 00:47:28,983 INFO L747 eck$LassoCheckResult]: Loop: 160088#L3226-2 assume !false; 160888#L3227 assume existInLiftCallsInDirection_~i___0~0#1 >= 0; 160889#L3228 existInLiftCallsInDirection_~i___0~0#1 := 1 + ~currentFloorID~0; 156573#L3235-2 assume !false; 156574#L3236 assume !(existInLiftCallsInDirection_~i___0~0#1 < 5); 159971#L3294 existInLiftCallsInDirection_~i___0~0#1 := existInLiftCallsInDirection_~i___0~0#1 - 1; 160088#L3226-2 [2024-10-12 00:47:28,983 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-12 00:47:28,983 INFO L85 PathProgramCache]: Analyzing trace with hash -122478231, now seen corresponding path program 1 times [2024-10-12 00:47:28,984 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-12 00:47:28,984 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [352671632] [2024-10-12 00:47:28,984 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-12 00:47:28,984 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-12 00:47:29,019 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-12 00:47:29,109 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-10-12 00:47:29,109 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-10-12 00:47:29,110 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [352671632] [2024-10-12 00:47:29,110 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [352671632] provided 1 perfect and 0 imperfect interpolant sequences [2024-10-12 00:47:29,110 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-10-12 00:47:29,110 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2024-10-12 00:47:29,112 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1933270595] [2024-10-12 00:47:29,112 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-10-12 00:47:29,112 INFO L750 eck$LassoCheckResult]: stem already infeasible [2024-10-12 00:47:29,113 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-12 00:47:29,113 INFO L85 PathProgramCache]: Analyzing trace with hash 1717871275, now seen corresponding path program 3 times [2024-10-12 00:47:29,113 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-12 00:47:29,113 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1324043038] [2024-10-12 00:47:29,113 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-12 00:47:29,113 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-12 00:47:29,128 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-12 00:47:29,128 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-10-12 00:47:29,129 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-12 00:47:29,142 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-10-12 00:47:29,166 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-10-12 00:47:29,167 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2024-10-12 00:47:29,167 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2024-10-12 00:47:29,167 INFO L87 Difference]: Start difference. First operand 9729 states and 18078 transitions. cyclomatic complexity: 8384 Second operand has 4 states, 4 states have (on average 15.25) internal successors, (61), 4 states have internal predecessors, (61), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-10-12 00:47:29,503 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-10-12 00:47:29,503 INFO L93 Difference]: Finished difference Result 9733 states and 18081 transitions. [2024-10-12 00:47:29,503 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 9733 states and 18081 transitions. [2024-10-12 00:47:29,562 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 2435 [2024-10-12 00:47:29,608 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 9733 states to 9733 states and 18081 transitions. [2024-10-12 00:47:29,608 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 9695 [2024-10-12 00:47:29,616 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 9695 [2024-10-12 00:47:29,616 INFO L73 IsDeterministic]: Start isDeterministic. Operand 9733 states and 18081 transitions. [2024-10-12 00:47:29,617 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-10-12 00:47:29,617 INFO L218 hiAutomatonCegarLoop]: Abstraction has 9733 states and 18081 transitions. [2024-10-12 00:47:29,631 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 9733 states and 18081 transitions. [2024-10-12 00:47:29,743 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 9733 to 9733. [2024-10-12 00:47:29,759 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9733 states, 9733 states have (on average 1.8577006061851433) internal successors, (18081), 9732 states have internal predecessors, (18081), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-10-12 00:47:29,783 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9733 states to 9733 states and 18081 transitions. [2024-10-12 00:47:29,783 INFO L240 hiAutomatonCegarLoop]: Abstraction has 9733 states and 18081 transitions. [2024-10-12 00:47:29,784 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2024-10-12 00:47:29,785 INFO L425 stractBuchiCegarLoop]: Abstraction has 9733 states and 18081 transitions. [2024-10-12 00:47:29,785 INFO L332 stractBuchiCegarLoop]: ======== Iteration 6 ============ [2024-10-12 00:47:29,785 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 9733 states and 18081 transitions. [2024-10-12 00:47:29,815 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 2435 [2024-10-12 00:47:29,816 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-10-12 00:47:29,816 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-10-12 00:47:29,817 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-10-12 00:47:29,817 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1] [2024-10-12 00:47:29,817 INFO L745 eck$LassoCheckResult]: Stem: 183495#$Ultimate##0 assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int#0(48, 1, 0, 1);call write~init~int#0(0, 1, 1, 1);call #Ultimate.allocInit(32, 2);call #Ultimate.allocInit(12, 3);call #Ultimate.allocInit(30, 4);call #Ultimate.allocInit(9, 5);call #Ultimate.allocInit(21, 6);call #Ultimate.allocInit(30, 7);call #Ultimate.allocInit(9, 8);call #Ultimate.allocInit(21, 9);call #Ultimate.allocInit(30, 10);call #Ultimate.allocInit(9, 11);call #Ultimate.allocInit(25, 12);call #Ultimate.allocInit(30, 13);call #Ultimate.allocInit(9, 14);call #Ultimate.allocInit(25, 15);call #Ultimate.allocInit(10, 16);call #Ultimate.allocInit(4, 17);call write~init~int#5(91, 17, 0, 1);call write~init~int#5(95, 17, 1, 1);call write~init~int#5(93, 17, 2, 1);call write~init~int#5(0, 17, 3, 1);call #Ultimate.allocInit(4, 18);call write~init~int#6(91, 18, 0, 1);call write~init~int#6(93, 18, 1, 1);call write~init~int#6(32, 18, 2, 1);call write~init~int#6(0, 18, 3, 1);call #Ultimate.allocInit(5, 19);call write~init~int#7(32, 19, 0, 1);call write~init~int#7(97, 19, 1, 1);call write~init~int#7(116, 19, 2, 1);call write~init~int#7(32, 19, 3, 1);call write~init~int#7(0, 19, 4, 1);call #Ultimate.allocInit(3, 20);call write~init~int#8(37, 20, 0, 1);call write~init~int#8(105, 20, 1, 1);call write~init~int#8(0, 20, 2, 1);call #Ultimate.allocInit(10, 21);call #Ultimate.allocInit(3, 22);call write~init~int#9(117, 22, 0, 1);call write~init~int#9(112, 22, 1, 1);call write~init~int#9(0, 22, 2, 1);call #Ultimate.allocInit(5, 23);call write~init~int#10(100, 23, 0, 1);call write~init~int#10(111, 23, 1, 1);call write~init~int#10(119, 23, 2, 1);call write~init~int#10(110, 23, 3, 1);call write~init~int#10(0, 23, 4, 1);call #Ultimate.allocInit(7, 24);call write~init~int#11(32, 24, 0, 1);call write~init~int#11(73, 24, 1, 1);call write~init~int#11(76, 24, 2, 1);call write~init~int#11(95, 24, 3, 1);call write~init~int#11(112, 24, 4, 1);call write~init~int#11(58, 24, 5, 1);call write~init~int#11(0, 24, 6, 1);call #Ultimate.allocInit(4, 25);call write~init~int#12(32, 25, 0, 1);call write~init~int#12(37, 25, 1, 1);call write~init~int#12(105, 25, 2, 1);call write~init~int#12(0, 25, 3, 1);call #Ultimate.allocInit(4, 26);call write~init~int#13(32, 26, 0, 1);call write~init~int#13(37, 26, 1, 1);call write~init~int#13(105, 26, 2, 1);call write~init~int#13(0, 26, 3, 1);call #Ultimate.allocInit(4, 27);call write~init~int#14(32, 27, 0, 1);call write~init~int#14(37, 27, 1, 1);call write~init~int#14(105, 27, 2, 1);call write~init~int#14(0, 27, 3, 1);call #Ultimate.allocInit(4, 28);call write~init~int#15(32, 28, 0, 1);call write~init~int#15(37, 28, 1, 1);call write~init~int#15(105, 28, 2, 1);call write~init~int#15(0, 28, 3, 1);call #Ultimate.allocInit(4, 29);call write~init~int#16(32, 29, 0, 1);call write~init~int#16(37, 29, 1, 1);call write~init~int#16(105, 29, 2, 1);call write~init~int#16(0, 29, 3, 1);call #Ultimate.allocInit(6, 30);call write~init~int#17(32, 30, 0, 1);call write~init~int#17(70, 30, 1, 1);call write~init~int#17(95, 30, 2, 1);call write~init~int#17(112, 30, 3, 1);call write~init~int#17(58, 30, 4, 1);call write~init~int#17(0, 30, 5, 1);call #Ultimate.allocInit(4, 31);call write~init~int#18(32, 31, 0, 1);call write~init~int#18(37, 31, 1, 1);call write~init~int#18(105, 31, 2, 1);call write~init~int#18(0, 31, 3, 1);call #Ultimate.allocInit(4, 32);call write~init~int#19(32, 32, 0, 1);call write~init~int#19(37, 32, 1, 1);call write~init~int#19(105, 32, 2, 1);call write~init~int#19(0, 32, 3, 1);call #Ultimate.allocInit(4, 33);call write~init~int#1(32, 33, 0, 1);call write~init~int#1(37, 33, 1, 1);call write~init~int#1(105, 33, 2, 1);call write~init~int#1(0, 33, 3, 1);call #Ultimate.allocInit(4, 34);call write~init~int#2(32, 34, 0, 1);call write~init~int#2(37, 34, 1, 1);call write~init~int#2(105, 34, 2, 1);call write~init~int#2(0, 34, 3, 1);call #Ultimate.allocInit(4, 35);call write~init~int#3(32, 35, 0, 1);call write~init~int#3(37, 35, 1, 1);call write~init~int#3(105, 35, 2, 1);call write~init~int#3(0, 35, 3, 1);call #Ultimate.allocInit(2, 36);call write~init~int#4(10, 36, 0, 1);call write~init~int#4(0, 36, 1, 1);~head~0.base, ~head~0.offset := 0, 0;~weight~0 := 0;~maximumWeight~0 := 100;~executiveFloor~0 := 4;~prevDir~0 := 0;~calls_0~0 := 0;~calls_1~0 := 0;~calls_2~0 := 0;~calls_3~0 := 0;~calls_4~0 := 0;~personOnFloor_0_0~0 := 0;~personOnFloor_0_1~0 := 0;~personOnFloor_0_2~0 := 0;~personOnFloor_0_3~0 := 0;~personOnFloor_0_4~0 := 0;~personOnFloor_1_0~0 := 0;~personOnFloor_1_1~0 := 0;~personOnFloor_1_2~0 := 0;~personOnFloor_1_3~0 := 0;~personOnFloor_1_4~0 := 0;~personOnFloor_2_0~0 := 0;~personOnFloor_2_1~0 := 0;~personOnFloor_2_2~0 := 0;~personOnFloor_2_3~0 := 0;~personOnFloor_2_4~0 := 0;~personOnFloor_3_0~0 := 0;~personOnFloor_3_1~0 := 0;~personOnFloor_3_2~0 := 0;~personOnFloor_3_3~0 := 0;~personOnFloor_3_4~0 := 0;~personOnFloor_4_0~0 := 0;~personOnFloor_4_1~0 := 0;~personOnFloor_4_2~0 := 0;~personOnFloor_4_3~0 := 0;~personOnFloor_4_4~0 := 0;~personOnFloor_5_0~0 := 0;~personOnFloor_5_1~0 := 0;~personOnFloor_5_2~0 := 0;~personOnFloor_5_3~0 := 0;~personOnFloor_5_4~0 := 0;~cleanupTimeShifts~0 := 12;~currentHeading~0 := 1;~currentFloorID~0 := 0;~persons_0~0 := 0;~persons_1~0 := 0;~persons_2~0 := 0;~persons_3~0 := 0;~persons_4~0 := 0;~persons_5~0 := 0;~doorState~0 := 1;~floorButtons_0~0 := 0;~floorButtons_1~0 := 0;~floorButtons_2~0 := 0;~floorButtons_3~0 := 0;~floorButtons_4~0 := 0; 183239#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret47#1, main_~retValue_acc~10#1, main_~tmp~12#1;havoc main_~retValue_acc~10#1;havoc main_~tmp~12#1;assume { :begin_inline_select_helpers } true; 183240#select_helpers_returnLabel#1 assume { :end_inline_select_helpers } true;assume { :begin_inline_select_features } true; 185194#select_features_returnLabel#1 assume { :end_inline_select_features } true;assume { :begin_inline_valid_product } true;havoc valid_product_#res#1;havoc valid_product_~retValue_acc~12#1;havoc valid_product_~retValue_acc~12#1;valid_product_~retValue_acc~12#1 := 1;valid_product_#res#1 := valid_product_~retValue_acc~12#1; 177346#valid_product_returnLabel#1 main_#t~ret47#1 := valid_product_#res#1;havoc valid_product_~retValue_acc~12#1;assume { :end_inline_valid_product } true;main_~tmp~12#1 := main_#t~ret47#1;havoc main_#t~ret47#1; 177347#L1651 assume 0 != main_~tmp~12#1;assume { :begin_inline_setup } true; 179108#setup_returnLabel#1 assume { :end_inline_setup } true;assume { :begin_inline_runTest } true;assume { :begin_inline_test } true;assume { :begin_inline_aliceCall } true;havoc aliceCall_#t~ret36#1, aliceCall_~tmp~5#1;havoc aliceCall_~tmp~5#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 1;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~4#1; 179109#L564 assume !(0 == getOrigin_~person#1); 177736#L568 assume 1 == getOrigin_~person#1;getOrigin_~retValue_acc~4#1 := 3;getOrigin_#res#1 := getOrigin_~retValue_acc~4#1; 177737#getOrigin_returnLabel#1 aliceCall_#t~ret36#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;aliceCall_~tmp~5#1 := aliceCall_#t~ret36#1;havoc aliceCall_#t~ret36#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 1, aliceCall_~tmp~5#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 178351#L999 assume !(0 == initPersonOnFloor_~floor#1); 178352#L1026 assume !(1 == initPersonOnFloor_~floor#1); 184255#L1053 assume !(2 == initPersonOnFloor_~floor#1); 184750#L1080 assume 3 == initPersonOnFloor_~floor#1; 181925#L1081 assume !(0 == initPersonOnFloor_~person#1); 181926#L1084 assume 1 == initPersonOnFloor_~person#1;~personOnFloor_1_3~0 := 1; 179725#L1107-1 assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 176597#L791 assume !(0 == callOnFloor_~floorID#1); 176446#L794 assume 1 == callOnFloor_~floorID#1;~calls_1~0 := 1; 176399#L803-2 havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true; 177992#initPersonOnFloor_returnLabel#1 havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true; 177993#aliceCall_returnLabel#1 havoc aliceCall_#t~ret36#1, aliceCall_~tmp~5#1;assume { :end_inline_aliceCall } true;assume { :begin_inline_angelinaCall } true;havoc angelinaCall_#t~ret37#1, angelinaCall_~tmp~6#1;havoc angelinaCall_~tmp~6#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 2;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~4#1; 183540#L564-1 assume !(0 == getOrigin_~person#1); 178853#L568-1 assume !(1 == getOrigin_~person#1); 178854#L572-1 assume 2 == getOrigin_~person#1;getOrigin_~retValue_acc~4#1 := 2;getOrigin_#res#1 := getOrigin_~retValue_acc~4#1; 181075#getOrigin_returnLabel#2 angelinaCall_#t~ret37#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;angelinaCall_~tmp~6#1 := angelinaCall_#t~ret37#1;havoc angelinaCall_#t~ret37#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 2, angelinaCall_~tmp~6#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 185500#L999-1 assume 0 == initPersonOnFloor_~floor#1; 185488#L1000-2 assume !(0 == initPersonOnFloor_~person#1); 176706#L1003-2 assume 1 == initPersonOnFloor_~person#1;~personOnFloor_1_0~0 := 1; 175937#L1107-3 assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 185501#L791-2 assume 0 == callOnFloor_~floorID#1;~calls_0~0 := 1; 177971#L803-5 havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true; 181856#initPersonOnFloor_returnLabel#2 havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true; 181857#angelinaCall_returnLabel#1 havoc angelinaCall_#t~ret37#1, angelinaCall_~tmp~6#1;assume { :end_inline_angelinaCall } true;assume { :begin_inline_threeTS } true;assume { :begin_inline_timeShift } true;havoc timeShift_#t~ret98#1, timeShift_#t~ret99#1, timeShift_#t~ret100#1, timeShift_#t~ret101#1, timeShift_#t~ret102#1, timeShift_#t~ret103#1, timeShift_#t~ret104#1, timeShift_#t~ret105#1, timeShift_#t~ret106#1, timeShift_#t~ret107#1, timeShift_#t~ret108#1, timeShift_~tmp~26#1, timeShift_~tmp___0~10#1, timeShift_~tmp___1~5#1, timeShift_~tmp___2~5#1, timeShift_~tmp___3~4#1, timeShift_~tmp___4~3#1, timeShift_~tmp___5~2#1, timeShift_~tmp___6~2#1, timeShift_~tmp___7~2#1, timeShift_~tmp___8~2#1, timeShift_~tmp___9~2#1;havoc timeShift_~tmp~26#1;havoc timeShift_~tmp___0~10#1;havoc timeShift_~tmp___1~5#1;havoc timeShift_~tmp___2~5#1;havoc timeShift_~tmp___3~4#1;havoc timeShift_~tmp___4~3#1;havoc timeShift_~tmp___5~2#1;havoc timeShift_~tmp___6~2#1;havoc timeShift_~tmp___7~2#1;havoc timeShift_~tmp___8~2#1;havoc timeShift_~tmp___9~2#1;assume { :begin_inline___utac_acc__Specification13_spec__1 } true;havoc __utac_acc__Specification13_spec__1_#t~ret27#1;assume { :begin_inline_getCurrentHeading } true;havoc getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~17#1;havoc getCurrentHeading_~retValue_acc~17#1;getCurrentHeading_~retValue_acc~17#1 := ~currentHeading~0;getCurrentHeading_#res#1 := getCurrentHeading_~retValue_acc~17#1; 185013#getCurrentHeading_returnLabel#1 __utac_acc__Specification13_spec__1_#t~ret27#1 := getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~17#1;assume { :end_inline_getCurrentHeading } true;~prevDir~0 := __utac_acc__Specification13_spec__1_#t~ret27#1;havoc __utac_acc__Specification13_spec__1_#t~ret27#1; 182184#__utac_acc__Specification13_spec__1_returnLabel#1 havoc __utac_acc__Specification13_spec__1_#t~ret27#1;assume { :end_inline___utac_acc__Specification13_spec__1 } true;assume { :begin_inline_stopRequestedAtCurrentFloor } true;havoc stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1, stopRequestedAtCurrentFloor_#t~ret83#1, stopRequestedAtCurrentFloor_#t~ret84#1, stopRequestedAtCurrentFloor_#t~ret85#1, stopRequestedAtCurrentFloor_~retValue_acc~27#1, stopRequestedAtCurrentFloor_~tmp~24#1, stopRequestedAtCurrentFloor_~tmp___0~8#1;havoc stopRequestedAtCurrentFloor_~retValue_acc~27#1;havoc stopRequestedAtCurrentFloor_~tmp~24#1;havoc stopRequestedAtCurrentFloor_~tmp___0~8#1;assume { :begin_inline_isExecutiveFloorCalling } true;havoc isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;havoc isExecutiveFloorCalling_~retValue_acc~30#1;assume { :begin_inline_isFloorCalling } true;isFloorCalling_#in~floorID#1 := ~executiveFloor~0;havoc isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;isFloorCalling_~floorID#1 := isFloorCalling_#in~floorID#1;havoc isFloorCalling_~retValue_acc~6#1; 182185#L728 assume 0 == isFloorCalling_~floorID#1;isFloorCalling_~retValue_acc~6#1 := ~calls_0~0;isFloorCalling_#res#1 := isFloorCalling_~retValue_acc~6#1; 183642#isFloorCalling_returnLabel#1 isExecutiveFloorCalling_#t~ret135#1 := isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;havoc isFloorCalling_#in~floorID#1;assume { :end_inline_isFloorCalling } true;isExecutiveFloorCalling_~retValue_acc~30#1 := isExecutiveFloorCalling_#t~ret135#1;havoc isExecutiveFloorCalling_#t~ret135#1;isExecutiveFloorCalling_#res#1 := isExecutiveFloorCalling_~retValue_acc~30#1; 185011#isExecutiveFloorCalling_returnLabel#1 stopRequestedAtCurrentFloor_#t~ret82#1 := isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;assume { :end_inline_isExecutiveFloorCalling } true;stopRequestedAtCurrentFloor_~tmp~24#1 := stopRequestedAtCurrentFloor_#t~ret82#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1; 183410#L2700 assume 0 != stopRequestedAtCurrentFloor_~tmp~24#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;havoc getCurrentFloorID_~retValue_acc~14#1;getCurrentFloorID_~retValue_acc~14#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~14#1; 181933#getCurrentFloorID_returnLabel#1 stopRequestedAtCurrentFloor_#t~ret83#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedAtCurrentFloor_~tmp___0~8#1 := stopRequestedAtCurrentFloor_#t~ret83#1;havoc stopRequestedAtCurrentFloor_#t~ret83#1; 180891#L2704 assume !(~executiveFloor~0 == stopRequestedAtCurrentFloor_~tmp___0~8#1);stopRequestedAtCurrentFloor_~retValue_acc~27#1 := 0;stopRequestedAtCurrentFloor_#res#1 := stopRequestedAtCurrentFloor_~retValue_acc~27#1; 176454#stopRequestedAtCurrentFloor_returnLabel#1 timeShift_#t~ret98#1 := stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1, stopRequestedAtCurrentFloor_#t~ret83#1, stopRequestedAtCurrentFloor_#t~ret84#1, stopRequestedAtCurrentFloor_#t~ret85#1, stopRequestedAtCurrentFloor_~retValue_acc~27#1, stopRequestedAtCurrentFloor_~tmp~24#1, stopRequestedAtCurrentFloor_~tmp___0~8#1;assume { :end_inline_stopRequestedAtCurrentFloor } true;timeShift_~tmp___9~2#1 := timeShift_#t~ret98#1;havoc timeShift_#t~ret98#1; 176455#L2853 assume !(0 != timeShift_~tmp___9~2#1); 177148#L2944 assume 1 == ~doorState~0;~doorState~0 := 0; 177783#L2944-2 assume { :begin_inline_stopRequestedInDirection } true;stopRequestedInDirection_#in~dir#1, stopRequestedInDirection_#in~respectFloorCalls#1, stopRequestedInDirection_#in~respectInLiftCalls#1 := ~currentHeading~0, 1, 1;havoc stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret73#1, stopRequestedInDirection_#t~ret74#1, stopRequestedInDirection_#t~ret75#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~23#1, stopRequestedInDirection_~tmp~20#1, stopRequestedInDirection_~tmp___0~5#1, stopRequestedInDirection_~__cil_tmp7~6#1, stopRequestedInDirection_~__cil_tmp8~7#1;stopRequestedInDirection_~dir#1 := stopRequestedInDirection_#in~dir#1;stopRequestedInDirection_~respectFloorCalls#1 := stopRequestedInDirection_#in~respectFloorCalls#1;stopRequestedInDirection_~respectInLiftCalls#1 := stopRequestedInDirection_#in~respectInLiftCalls#1;havoc stopRequestedInDirection_~retValue_acc~23#1;havoc stopRequestedInDirection_~tmp~20#1;havoc stopRequestedInDirection_~tmp___0~5#1;havoc stopRequestedInDirection_~__cil_tmp7~6#1;havoc stopRequestedInDirection_~__cil_tmp8~7#1;assume { :begin_inline_isExecutiveFloorCalling } true;havoc isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;havoc isExecutiveFloorCalling_~retValue_acc~30#1;assume { :begin_inline_isFloorCalling } true;isFloorCalling_#in~floorID#1 := ~executiveFloor~0;havoc isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;isFloorCalling_~floorID#1 := isFloorCalling_#in~floorID#1;havoc isFloorCalling_~retValue_acc~6#1; 177784#L728-3 assume 0 == isFloorCalling_~floorID#1;isFloorCalling_~retValue_acc~6#1 := ~calls_0~0;isFloorCalling_#res#1 := isFloorCalling_~retValue_acc~6#1; 178101#isFloorCalling_returnLabel#4 isExecutiveFloorCalling_#t~ret135#1 := isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;havoc isFloorCalling_#in~floorID#1;assume { :end_inline_isFloorCalling } true;isExecutiveFloorCalling_~retValue_acc~30#1 := isExecutiveFloorCalling_#t~ret135#1;havoc isExecutiveFloorCalling_#t~ret135#1;isExecutiveFloorCalling_#res#1 := isExecutiveFloorCalling_~retValue_acc~30#1; 181024#isExecutiveFloorCalling_returnLabel#2 stopRequestedInDirection_#t~ret73#1 := isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;assume { :end_inline_isExecutiveFloorCalling } true;stopRequestedInDirection_~tmp___0~5#1 := stopRequestedInDirection_#t~ret73#1;havoc stopRequestedInDirection_#t~ret73#1; 176770#L2555 assume 0 != stopRequestedInDirection_~tmp___0~5#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;havoc getCurrentFloorID_~retValue_acc~14#1;getCurrentFloorID_~retValue_acc~14#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~14#1; 176771#getCurrentFloorID_returnLabel#4 stopRequestedInDirection_#t~ret74#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedInDirection_~tmp~20#1 := stopRequestedInDirection_#t~ret74#1;havoc stopRequestedInDirection_#t~ret74#1;stopRequestedInDirection_~__cil_tmp7~6#1 := (if 1 == stopRequestedInDirection_~dir#1 then 1 else 0);stopRequestedInDirection_~__cil_tmp8~7#1 := (if stopRequestedInDirection_~tmp~20#1 < ~executiveFloor~0 then 1 else 0);stopRequestedInDirection_~retValue_acc~23#1 := (if stopRequestedInDirection_~__cil_tmp8~7#1 == stopRequestedInDirection_~__cil_tmp7~6#1 then 1 else 0);stopRequestedInDirection_#res#1 := stopRequestedInDirection_~retValue_acc~23#1; 179317#stopRequestedInDirection_returnLabel#1 timeShift_#t~ret105#1 := stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret73#1, stopRequestedInDirection_#t~ret74#1, stopRequestedInDirection_#t~ret75#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~23#1, stopRequestedInDirection_~tmp~20#1, stopRequestedInDirection_~tmp___0~5#1, stopRequestedInDirection_~__cil_tmp7~6#1, stopRequestedInDirection_~__cil_tmp8~7#1;havoc stopRequestedInDirection_#in~dir#1, stopRequestedInDirection_#in~respectFloorCalls#1, stopRequestedInDirection_#in~respectInLiftCalls#1;assume { :end_inline_stopRequestedInDirection } true;timeShift_~tmp___8~2#1 := timeShift_#t~ret105#1;havoc timeShift_#t~ret105#1; 176334#L2952 assume 0 != timeShift_~tmp___8~2#1;assume { :begin_inline_continueInDirection } true;continueInDirection_#in~dir#1 := ~currentHeading~0;havoc continueInDirection_#t~ret76#1, continueInDirection_~dir#1, continueInDirection_~tmp~21#1;continueInDirection_~dir#1 := continueInDirection_#in~dir#1;havoc continueInDirection_~tmp~21#1;~currentHeading~0 := continueInDirection_~dir#1; 176335#L2612 assume !(1 == ~currentHeading~0); 180802#L2622 assume !(0 == ~currentFloorID~0); 180803#L2622-2 assume !(1 == ~currentHeading~0);~currentFloorID~0 := ~currentFloorID~0 - 1; 180609#L2628-1 havoc continueInDirection_#t~ret76#1, continueInDirection_~dir#1, continueInDirection_~tmp~21#1;havoc continueInDirection_#in~dir#1;assume { :end_inline_continueInDirection } true; 175804#L2961-2 assume { :begin_inline___utac_acc__Specification13_spec__2 } true;havoc __utac_acc__Specification13_spec__2_#t~ret28#1, __utac_acc__Specification13_spec__2_#t~ret29#1, __utac_acc__Specification13_spec__2_#t~ret30#1, __utac_acc__Specification13_spec__2_#t~ret31#1, __utac_acc__Specification13_spec__2_#t~ret32#1, __utac_acc__Specification13_spec__2_#t~ret33#1, __utac_acc__Specification13_spec__2_~tmp~3#1, __utac_acc__Specification13_spec__2_~tmp___0~0#1, __utac_acc__Specification13_spec__2_~tmp___1~0#1, __utac_acc__Specification13_spec__2_~tmp___2~0#1, __utac_acc__Specification13_spec__2_~tmp___3~0#1, __utac_acc__Specification13_spec__2_~tmp___4~0#1, __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1, __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1;havoc __utac_acc__Specification13_spec__2_~tmp~3#1;havoc __utac_acc__Specification13_spec__2_~tmp___0~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___1~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___2~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___3~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___4~0#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1;__utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 := 2 * ~maximumWeight~0;__utac_acc__Specification13_spec__2_~__cil_tmp8~5#1 := (if __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 < 0 && 0 != __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 % 3 then 1 + __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 / 3 else __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 / 3); 175805#L454 assume ~weight~0 > __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1; 178096#L455 assume 1 == ~prevDir~0;assume { :begin_inline_existInLiftCallsInDirection } true;existInLiftCallsInDirection_#in~d#1 := 0;havoc existInLiftCallsInDirection_#res#1;havoc existInLiftCallsInDirection_~d#1, existInLiftCallsInDirection_~retValue_acc~29#1, existInLiftCallsInDirection_~i~1#1, existInLiftCallsInDirection_~i___0~0#1;existInLiftCallsInDirection_~d#1 := existInLiftCallsInDirection_#in~d#1;havoc existInLiftCallsInDirection_~retValue_acc~29#1;havoc existInLiftCallsInDirection_~i~1#1;havoc existInLiftCallsInDirection_~i___0~0#1; 178098#L3156 assume !(1 == existInLiftCallsInDirection_~d#1); 180026#L3222 assume 0 == existInLiftCallsInDirection_~d#1;existInLiftCallsInDirection_~i___0~0#1 := 0;existInLiftCallsInDirection_~i___0~0#1 := ~currentFloorID~0 - 1; 179558#L3226-2 [2024-10-12 00:47:29,817 INFO L747 eck$LassoCheckResult]: Loop: 179558#L3226-2 assume !false; 180357#L3227 assume existInLiftCallsInDirection_~i___0~0#1 >= 0; 180358#L3228 existInLiftCallsInDirection_~i___0~0#1 := 1 + ~currentFloorID~0; 176042#L3235-2 assume !false; 176043#L3236 assume !(existInLiftCallsInDirection_~i___0~0#1 < 5); 179441#L3294 existInLiftCallsInDirection_~i___0~0#1 := existInLiftCallsInDirection_~i___0~0#1 - 1; 179558#L3226-2 [2024-10-12 00:47:29,818 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-12 00:47:29,818 INFO L85 PathProgramCache]: Analyzing trace with hash -940719868, now seen corresponding path program 1 times [2024-10-12 00:47:29,818 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-12 00:47:29,818 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1302192648] [2024-10-12 00:47:29,818 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-12 00:47:29,819 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-12 00:47:29,841 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-12 00:47:29,907 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-10-12 00:47:29,907 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-10-12 00:47:29,907 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1302192648] [2024-10-12 00:47:29,908 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1302192648] provided 1 perfect and 0 imperfect interpolant sequences [2024-10-12 00:47:29,908 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-10-12 00:47:29,909 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2024-10-12 00:47:29,909 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [27214895] [2024-10-12 00:47:29,909 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-10-12 00:47:29,909 INFO L750 eck$LassoCheckResult]: stem already infeasible [2024-10-12 00:47:29,910 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-12 00:47:29,910 INFO L85 PathProgramCache]: Analyzing trace with hash 1717871275, now seen corresponding path program 4 times [2024-10-12 00:47:29,910 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-12 00:47:29,910 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1267912102] [2024-10-12 00:47:29,910 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-12 00:47:29,910 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-12 00:47:29,920 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-12 00:47:29,920 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-10-12 00:47:29,922 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-12 00:47:29,931 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-10-12 00:47:29,955 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-10-12 00:47:29,956 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2024-10-12 00:47:29,956 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2024-10-12 00:47:29,956 INFO L87 Difference]: Start difference. First operand 9733 states and 18081 transitions. cyclomatic complexity: 8383 Second operand has 4 states, 4 states have (on average 15.5) internal successors, (62), 4 states have internal predecessors, (62), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-10-12 00:47:30,189 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-10-12 00:47:30,190 INFO L93 Difference]: Finished difference Result 9739 states and 18086 transitions. [2024-10-12 00:47:30,190 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 9739 states and 18086 transitions. [2024-10-12 00:47:30,233 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 2435 [2024-10-12 00:47:30,268 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 9739 states to 9739 states and 18086 transitions. [2024-10-12 00:47:30,269 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 9701 [2024-10-12 00:47:30,276 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 9701 [2024-10-12 00:47:30,277 INFO L73 IsDeterministic]: Start isDeterministic. Operand 9739 states and 18086 transitions. [2024-10-12 00:47:30,278 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-10-12 00:47:30,278 INFO L218 hiAutomatonCegarLoop]: Abstraction has 9739 states and 18086 transitions. [2024-10-12 00:47:30,290 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 9739 states and 18086 transitions. [2024-10-12 00:47:30,379 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 9739 to 9739. [2024-10-12 00:47:30,394 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9739 states, 9739 states have (on average 1.8570695143238525) internal successors, (18086), 9738 states have internal predecessors, (18086), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-10-12 00:47:30,416 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9739 states to 9739 states and 18086 transitions. [2024-10-12 00:47:30,416 INFO L240 hiAutomatonCegarLoop]: Abstraction has 9739 states and 18086 transitions. [2024-10-12 00:47:30,417 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2024-10-12 00:47:30,419 INFO L425 stractBuchiCegarLoop]: Abstraction has 9739 states and 18086 transitions. [2024-10-12 00:47:30,419 INFO L332 stractBuchiCegarLoop]: ======== Iteration 7 ============ [2024-10-12 00:47:30,419 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 9739 states and 18086 transitions. [2024-10-12 00:47:30,451 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 2435 [2024-10-12 00:47:30,451 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-10-12 00:47:30,452 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-10-12 00:47:30,455 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-10-12 00:47:30,455 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1] [2024-10-12 00:47:30,455 INFO L745 eck$LassoCheckResult]: Stem: 202976#$Ultimate##0 assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int#0(48, 1, 0, 1);call write~init~int#0(0, 1, 1, 1);call #Ultimate.allocInit(32, 2);call #Ultimate.allocInit(12, 3);call #Ultimate.allocInit(30, 4);call #Ultimate.allocInit(9, 5);call #Ultimate.allocInit(21, 6);call #Ultimate.allocInit(30, 7);call #Ultimate.allocInit(9, 8);call #Ultimate.allocInit(21, 9);call #Ultimate.allocInit(30, 10);call #Ultimate.allocInit(9, 11);call #Ultimate.allocInit(25, 12);call #Ultimate.allocInit(30, 13);call #Ultimate.allocInit(9, 14);call #Ultimate.allocInit(25, 15);call #Ultimate.allocInit(10, 16);call #Ultimate.allocInit(4, 17);call write~init~int#5(91, 17, 0, 1);call write~init~int#5(95, 17, 1, 1);call write~init~int#5(93, 17, 2, 1);call write~init~int#5(0, 17, 3, 1);call #Ultimate.allocInit(4, 18);call write~init~int#6(91, 18, 0, 1);call write~init~int#6(93, 18, 1, 1);call write~init~int#6(32, 18, 2, 1);call write~init~int#6(0, 18, 3, 1);call #Ultimate.allocInit(5, 19);call write~init~int#7(32, 19, 0, 1);call write~init~int#7(97, 19, 1, 1);call write~init~int#7(116, 19, 2, 1);call write~init~int#7(32, 19, 3, 1);call write~init~int#7(0, 19, 4, 1);call #Ultimate.allocInit(3, 20);call write~init~int#8(37, 20, 0, 1);call write~init~int#8(105, 20, 1, 1);call write~init~int#8(0, 20, 2, 1);call #Ultimate.allocInit(10, 21);call #Ultimate.allocInit(3, 22);call write~init~int#9(117, 22, 0, 1);call write~init~int#9(112, 22, 1, 1);call write~init~int#9(0, 22, 2, 1);call #Ultimate.allocInit(5, 23);call write~init~int#10(100, 23, 0, 1);call write~init~int#10(111, 23, 1, 1);call write~init~int#10(119, 23, 2, 1);call write~init~int#10(110, 23, 3, 1);call write~init~int#10(0, 23, 4, 1);call #Ultimate.allocInit(7, 24);call write~init~int#11(32, 24, 0, 1);call write~init~int#11(73, 24, 1, 1);call write~init~int#11(76, 24, 2, 1);call write~init~int#11(95, 24, 3, 1);call write~init~int#11(112, 24, 4, 1);call write~init~int#11(58, 24, 5, 1);call write~init~int#11(0, 24, 6, 1);call #Ultimate.allocInit(4, 25);call write~init~int#12(32, 25, 0, 1);call write~init~int#12(37, 25, 1, 1);call write~init~int#12(105, 25, 2, 1);call write~init~int#12(0, 25, 3, 1);call #Ultimate.allocInit(4, 26);call write~init~int#13(32, 26, 0, 1);call write~init~int#13(37, 26, 1, 1);call write~init~int#13(105, 26, 2, 1);call write~init~int#13(0, 26, 3, 1);call #Ultimate.allocInit(4, 27);call write~init~int#14(32, 27, 0, 1);call write~init~int#14(37, 27, 1, 1);call write~init~int#14(105, 27, 2, 1);call write~init~int#14(0, 27, 3, 1);call #Ultimate.allocInit(4, 28);call write~init~int#15(32, 28, 0, 1);call write~init~int#15(37, 28, 1, 1);call write~init~int#15(105, 28, 2, 1);call write~init~int#15(0, 28, 3, 1);call #Ultimate.allocInit(4, 29);call write~init~int#16(32, 29, 0, 1);call write~init~int#16(37, 29, 1, 1);call write~init~int#16(105, 29, 2, 1);call write~init~int#16(0, 29, 3, 1);call #Ultimate.allocInit(6, 30);call write~init~int#17(32, 30, 0, 1);call write~init~int#17(70, 30, 1, 1);call write~init~int#17(95, 30, 2, 1);call write~init~int#17(112, 30, 3, 1);call write~init~int#17(58, 30, 4, 1);call write~init~int#17(0, 30, 5, 1);call #Ultimate.allocInit(4, 31);call write~init~int#18(32, 31, 0, 1);call write~init~int#18(37, 31, 1, 1);call write~init~int#18(105, 31, 2, 1);call write~init~int#18(0, 31, 3, 1);call #Ultimate.allocInit(4, 32);call write~init~int#19(32, 32, 0, 1);call write~init~int#19(37, 32, 1, 1);call write~init~int#19(105, 32, 2, 1);call write~init~int#19(0, 32, 3, 1);call #Ultimate.allocInit(4, 33);call write~init~int#1(32, 33, 0, 1);call write~init~int#1(37, 33, 1, 1);call write~init~int#1(105, 33, 2, 1);call write~init~int#1(0, 33, 3, 1);call #Ultimate.allocInit(4, 34);call write~init~int#2(32, 34, 0, 1);call write~init~int#2(37, 34, 1, 1);call write~init~int#2(105, 34, 2, 1);call write~init~int#2(0, 34, 3, 1);call #Ultimate.allocInit(4, 35);call write~init~int#3(32, 35, 0, 1);call write~init~int#3(37, 35, 1, 1);call write~init~int#3(105, 35, 2, 1);call write~init~int#3(0, 35, 3, 1);call #Ultimate.allocInit(2, 36);call write~init~int#4(10, 36, 0, 1);call write~init~int#4(0, 36, 1, 1);~head~0.base, ~head~0.offset := 0, 0;~weight~0 := 0;~maximumWeight~0 := 100;~executiveFloor~0 := 4;~prevDir~0 := 0;~calls_0~0 := 0;~calls_1~0 := 0;~calls_2~0 := 0;~calls_3~0 := 0;~calls_4~0 := 0;~personOnFloor_0_0~0 := 0;~personOnFloor_0_1~0 := 0;~personOnFloor_0_2~0 := 0;~personOnFloor_0_3~0 := 0;~personOnFloor_0_4~0 := 0;~personOnFloor_1_0~0 := 0;~personOnFloor_1_1~0 := 0;~personOnFloor_1_2~0 := 0;~personOnFloor_1_3~0 := 0;~personOnFloor_1_4~0 := 0;~personOnFloor_2_0~0 := 0;~personOnFloor_2_1~0 := 0;~personOnFloor_2_2~0 := 0;~personOnFloor_2_3~0 := 0;~personOnFloor_2_4~0 := 0;~personOnFloor_3_0~0 := 0;~personOnFloor_3_1~0 := 0;~personOnFloor_3_2~0 := 0;~personOnFloor_3_3~0 := 0;~personOnFloor_3_4~0 := 0;~personOnFloor_4_0~0 := 0;~personOnFloor_4_1~0 := 0;~personOnFloor_4_2~0 := 0;~personOnFloor_4_3~0 := 0;~personOnFloor_4_4~0 := 0;~personOnFloor_5_0~0 := 0;~personOnFloor_5_1~0 := 0;~personOnFloor_5_2~0 := 0;~personOnFloor_5_3~0 := 0;~personOnFloor_5_4~0 := 0;~cleanupTimeShifts~0 := 12;~currentHeading~0 := 1;~currentFloorID~0 := 0;~persons_0~0 := 0;~persons_1~0 := 0;~persons_2~0 := 0;~persons_3~0 := 0;~persons_4~0 := 0;~persons_5~0 := 0;~doorState~0 := 1;~floorButtons_0~0 := 0;~floorButtons_1~0 := 0;~floorButtons_2~0 := 0;~floorButtons_3~0 := 0;~floorButtons_4~0 := 0; 202720#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret47#1, main_~retValue_acc~10#1, main_~tmp~12#1;havoc main_~retValue_acc~10#1;havoc main_~tmp~12#1;assume { :begin_inline_select_helpers } true; 202721#select_helpers_returnLabel#1 assume { :end_inline_select_helpers } true;assume { :begin_inline_select_features } true; 204675#select_features_returnLabel#1 assume { :end_inline_select_features } true;assume { :begin_inline_valid_product } true;havoc valid_product_#res#1;havoc valid_product_~retValue_acc~12#1;havoc valid_product_~retValue_acc~12#1;valid_product_~retValue_acc~12#1 := 1;valid_product_#res#1 := valid_product_~retValue_acc~12#1; 196826#valid_product_returnLabel#1 main_#t~ret47#1 := valid_product_#res#1;havoc valid_product_~retValue_acc~12#1;assume { :end_inline_valid_product } true;main_~tmp~12#1 := main_#t~ret47#1;havoc main_#t~ret47#1; 196827#L1651 assume 0 != main_~tmp~12#1;assume { :begin_inline_setup } true; 198588#setup_returnLabel#1 assume { :end_inline_setup } true;assume { :begin_inline_runTest } true;assume { :begin_inline_test } true;assume { :begin_inline_aliceCall } true;havoc aliceCall_#t~ret36#1, aliceCall_~tmp~5#1;havoc aliceCall_~tmp~5#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 1;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~4#1; 198589#L564 assume !(0 == getOrigin_~person#1); 197216#L568 assume 1 == getOrigin_~person#1;getOrigin_~retValue_acc~4#1 := 3;getOrigin_#res#1 := getOrigin_~retValue_acc~4#1; 197217#getOrigin_returnLabel#1 aliceCall_#t~ret36#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;aliceCall_~tmp~5#1 := aliceCall_#t~ret36#1;havoc aliceCall_#t~ret36#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 1, aliceCall_~tmp~5#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 197831#L999 assume !(0 == initPersonOnFloor_~floor#1); 197832#L1026 assume !(1 == initPersonOnFloor_~floor#1); 203736#L1053 assume !(2 == initPersonOnFloor_~floor#1); 204231#L1080 assume 3 == initPersonOnFloor_~floor#1; 201406#L1081 assume !(0 == initPersonOnFloor_~person#1); 201407#L1084 assume 1 == initPersonOnFloor_~person#1;~personOnFloor_1_3~0 := 1; 199206#L1107-1 assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 196076#L791 assume !(0 == callOnFloor_~floorID#1); 195925#L794 assume !(1 == callOnFloor_~floorID#1); 195877#L797 assume 2 == callOnFloor_~floorID#1;~calls_2~0 := 1; 195878#L803-2 havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true; 197472#initPersonOnFloor_returnLabel#1 havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true; 197473#aliceCall_returnLabel#1 havoc aliceCall_#t~ret36#1, aliceCall_~tmp~5#1;assume { :end_inline_aliceCall } true;assume { :begin_inline_angelinaCall } true;havoc angelinaCall_#t~ret37#1, angelinaCall_~tmp~6#1;havoc angelinaCall_~tmp~6#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 2;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~4#1; 203021#L564-1 assume !(0 == getOrigin_~person#1); 198333#L568-1 assume !(1 == getOrigin_~person#1); 198334#L572-1 assume 2 == getOrigin_~person#1;getOrigin_~retValue_acc~4#1 := 2;getOrigin_#res#1 := getOrigin_~retValue_acc~4#1; 200556#getOrigin_returnLabel#2 angelinaCall_#t~ret37#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;angelinaCall_~tmp~6#1 := angelinaCall_#t~ret37#1;havoc angelinaCall_#t~ret37#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 2, angelinaCall_~tmp~6#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 204981#L999-1 assume 0 == initPersonOnFloor_~floor#1; 204969#L1000-2 assume !(0 == initPersonOnFloor_~person#1); 196186#L1003-2 assume 1 == initPersonOnFloor_~person#1;~personOnFloor_1_0~0 := 1; 195416#L1107-3 assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 204983#L791-2 assume 0 == callOnFloor_~floorID#1;~calls_0~0 := 1; 197451#L803-5 havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true; 201337#initPersonOnFloor_returnLabel#2 havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true; 201338#angelinaCall_returnLabel#1 havoc angelinaCall_#t~ret37#1, angelinaCall_~tmp~6#1;assume { :end_inline_angelinaCall } true;assume { :begin_inline_threeTS } true;assume { :begin_inline_timeShift } true;havoc timeShift_#t~ret98#1, timeShift_#t~ret99#1, timeShift_#t~ret100#1, timeShift_#t~ret101#1, timeShift_#t~ret102#1, timeShift_#t~ret103#1, timeShift_#t~ret104#1, timeShift_#t~ret105#1, timeShift_#t~ret106#1, timeShift_#t~ret107#1, timeShift_#t~ret108#1, timeShift_~tmp~26#1, timeShift_~tmp___0~10#1, timeShift_~tmp___1~5#1, timeShift_~tmp___2~5#1, timeShift_~tmp___3~4#1, timeShift_~tmp___4~3#1, timeShift_~tmp___5~2#1, timeShift_~tmp___6~2#1, timeShift_~tmp___7~2#1, timeShift_~tmp___8~2#1, timeShift_~tmp___9~2#1;havoc timeShift_~tmp~26#1;havoc timeShift_~tmp___0~10#1;havoc timeShift_~tmp___1~5#1;havoc timeShift_~tmp___2~5#1;havoc timeShift_~tmp___3~4#1;havoc timeShift_~tmp___4~3#1;havoc timeShift_~tmp___5~2#1;havoc timeShift_~tmp___6~2#1;havoc timeShift_~tmp___7~2#1;havoc timeShift_~tmp___8~2#1;havoc timeShift_~tmp___9~2#1;assume { :begin_inline___utac_acc__Specification13_spec__1 } true;havoc __utac_acc__Specification13_spec__1_#t~ret27#1;assume { :begin_inline_getCurrentHeading } true;havoc getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~17#1;havoc getCurrentHeading_~retValue_acc~17#1;getCurrentHeading_~retValue_acc~17#1 := ~currentHeading~0;getCurrentHeading_#res#1 := getCurrentHeading_~retValue_acc~17#1; 204494#getCurrentHeading_returnLabel#1 __utac_acc__Specification13_spec__1_#t~ret27#1 := getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~17#1;assume { :end_inline_getCurrentHeading } true;~prevDir~0 := __utac_acc__Specification13_spec__1_#t~ret27#1;havoc __utac_acc__Specification13_spec__1_#t~ret27#1; 201665#__utac_acc__Specification13_spec__1_returnLabel#1 havoc __utac_acc__Specification13_spec__1_#t~ret27#1;assume { :end_inline___utac_acc__Specification13_spec__1 } true;assume { :begin_inline_stopRequestedAtCurrentFloor } true;havoc stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1, stopRequestedAtCurrentFloor_#t~ret83#1, stopRequestedAtCurrentFloor_#t~ret84#1, stopRequestedAtCurrentFloor_#t~ret85#1, stopRequestedAtCurrentFloor_~retValue_acc~27#1, stopRequestedAtCurrentFloor_~tmp~24#1, stopRequestedAtCurrentFloor_~tmp___0~8#1;havoc stopRequestedAtCurrentFloor_~retValue_acc~27#1;havoc stopRequestedAtCurrentFloor_~tmp~24#1;havoc stopRequestedAtCurrentFloor_~tmp___0~8#1;assume { :begin_inline_isExecutiveFloorCalling } true;havoc isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;havoc isExecutiveFloorCalling_~retValue_acc~30#1;assume { :begin_inline_isFloorCalling } true;isFloorCalling_#in~floorID#1 := ~executiveFloor~0;havoc isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;isFloorCalling_~floorID#1 := isFloorCalling_#in~floorID#1;havoc isFloorCalling_~retValue_acc~6#1; 201666#L728 assume 0 == isFloorCalling_~floorID#1;isFloorCalling_~retValue_acc~6#1 := ~calls_0~0;isFloorCalling_#res#1 := isFloorCalling_~retValue_acc~6#1; 203123#isFloorCalling_returnLabel#1 isExecutiveFloorCalling_#t~ret135#1 := isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;havoc isFloorCalling_#in~floorID#1;assume { :end_inline_isFloorCalling } true;isExecutiveFloorCalling_~retValue_acc~30#1 := isExecutiveFloorCalling_#t~ret135#1;havoc isExecutiveFloorCalling_#t~ret135#1;isExecutiveFloorCalling_#res#1 := isExecutiveFloorCalling_~retValue_acc~30#1; 204492#isExecutiveFloorCalling_returnLabel#1 stopRequestedAtCurrentFloor_#t~ret82#1 := isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;assume { :end_inline_isExecutiveFloorCalling } true;stopRequestedAtCurrentFloor_~tmp~24#1 := stopRequestedAtCurrentFloor_#t~ret82#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1; 202891#L2700 assume 0 != stopRequestedAtCurrentFloor_~tmp~24#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;havoc getCurrentFloorID_~retValue_acc~14#1;getCurrentFloorID_~retValue_acc~14#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~14#1; 201414#getCurrentFloorID_returnLabel#1 stopRequestedAtCurrentFloor_#t~ret83#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedAtCurrentFloor_~tmp___0~8#1 := stopRequestedAtCurrentFloor_#t~ret83#1;havoc stopRequestedAtCurrentFloor_#t~ret83#1; 200372#L2704 assume !(~executiveFloor~0 == stopRequestedAtCurrentFloor_~tmp___0~8#1);stopRequestedAtCurrentFloor_~retValue_acc~27#1 := 0;stopRequestedAtCurrentFloor_#res#1 := stopRequestedAtCurrentFloor_~retValue_acc~27#1; 195933#stopRequestedAtCurrentFloor_returnLabel#1 timeShift_#t~ret98#1 := stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1, stopRequestedAtCurrentFloor_#t~ret83#1, stopRequestedAtCurrentFloor_#t~ret84#1, stopRequestedAtCurrentFloor_#t~ret85#1, stopRequestedAtCurrentFloor_~retValue_acc~27#1, stopRequestedAtCurrentFloor_~tmp~24#1, stopRequestedAtCurrentFloor_~tmp___0~8#1;assume { :end_inline_stopRequestedAtCurrentFloor } true;timeShift_~tmp___9~2#1 := timeShift_#t~ret98#1;havoc timeShift_#t~ret98#1; 195934#L2853 assume !(0 != timeShift_~tmp___9~2#1); 196628#L2944 assume 1 == ~doorState~0;~doorState~0 := 0; 197263#L2944-2 assume { :begin_inline_stopRequestedInDirection } true;stopRequestedInDirection_#in~dir#1, stopRequestedInDirection_#in~respectFloorCalls#1, stopRequestedInDirection_#in~respectInLiftCalls#1 := ~currentHeading~0, 1, 1;havoc stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret73#1, stopRequestedInDirection_#t~ret74#1, stopRequestedInDirection_#t~ret75#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~23#1, stopRequestedInDirection_~tmp~20#1, stopRequestedInDirection_~tmp___0~5#1, stopRequestedInDirection_~__cil_tmp7~6#1, stopRequestedInDirection_~__cil_tmp8~7#1;stopRequestedInDirection_~dir#1 := stopRequestedInDirection_#in~dir#1;stopRequestedInDirection_~respectFloorCalls#1 := stopRequestedInDirection_#in~respectFloorCalls#1;stopRequestedInDirection_~respectInLiftCalls#1 := stopRequestedInDirection_#in~respectInLiftCalls#1;havoc stopRequestedInDirection_~retValue_acc~23#1;havoc stopRequestedInDirection_~tmp~20#1;havoc stopRequestedInDirection_~tmp___0~5#1;havoc stopRequestedInDirection_~__cil_tmp7~6#1;havoc stopRequestedInDirection_~__cil_tmp8~7#1;assume { :begin_inline_isExecutiveFloorCalling } true;havoc isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;havoc isExecutiveFloorCalling_~retValue_acc~30#1;assume { :begin_inline_isFloorCalling } true;isFloorCalling_#in~floorID#1 := ~executiveFloor~0;havoc isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;isFloorCalling_~floorID#1 := isFloorCalling_#in~floorID#1;havoc isFloorCalling_~retValue_acc~6#1; 197264#L728-3 assume 0 == isFloorCalling_~floorID#1;isFloorCalling_~retValue_acc~6#1 := ~calls_0~0;isFloorCalling_#res#1 := isFloorCalling_~retValue_acc~6#1; 197581#isFloorCalling_returnLabel#4 isExecutiveFloorCalling_#t~ret135#1 := isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;havoc isFloorCalling_#in~floorID#1;assume { :end_inline_isFloorCalling } true;isExecutiveFloorCalling_~retValue_acc~30#1 := isExecutiveFloorCalling_#t~ret135#1;havoc isExecutiveFloorCalling_#t~ret135#1;isExecutiveFloorCalling_#res#1 := isExecutiveFloorCalling_~retValue_acc~30#1; 200505#isExecutiveFloorCalling_returnLabel#2 stopRequestedInDirection_#t~ret73#1 := isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;assume { :end_inline_isExecutiveFloorCalling } true;stopRequestedInDirection_~tmp___0~5#1 := stopRequestedInDirection_#t~ret73#1;havoc stopRequestedInDirection_#t~ret73#1; 196250#L2555 assume 0 != stopRequestedInDirection_~tmp___0~5#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;havoc getCurrentFloorID_~retValue_acc~14#1;getCurrentFloorID_~retValue_acc~14#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~14#1; 196251#getCurrentFloorID_returnLabel#4 stopRequestedInDirection_#t~ret74#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedInDirection_~tmp~20#1 := stopRequestedInDirection_#t~ret74#1;havoc stopRequestedInDirection_#t~ret74#1;stopRequestedInDirection_~__cil_tmp7~6#1 := (if 1 == stopRequestedInDirection_~dir#1 then 1 else 0);stopRequestedInDirection_~__cil_tmp8~7#1 := (if stopRequestedInDirection_~tmp~20#1 < ~executiveFloor~0 then 1 else 0);stopRequestedInDirection_~retValue_acc~23#1 := (if stopRequestedInDirection_~__cil_tmp8~7#1 == stopRequestedInDirection_~__cil_tmp7~6#1 then 1 else 0);stopRequestedInDirection_#res#1 := stopRequestedInDirection_~retValue_acc~23#1; 198798#stopRequestedInDirection_returnLabel#1 timeShift_#t~ret105#1 := stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret73#1, stopRequestedInDirection_#t~ret74#1, stopRequestedInDirection_#t~ret75#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~23#1, stopRequestedInDirection_~tmp~20#1, stopRequestedInDirection_~tmp___0~5#1, stopRequestedInDirection_~__cil_tmp7~6#1, stopRequestedInDirection_~__cil_tmp8~7#1;havoc stopRequestedInDirection_#in~dir#1, stopRequestedInDirection_#in~respectFloorCalls#1, stopRequestedInDirection_#in~respectInLiftCalls#1;assume { :end_inline_stopRequestedInDirection } true;timeShift_~tmp___8~2#1 := timeShift_#t~ret105#1;havoc timeShift_#t~ret105#1; 195813#L2952 assume 0 != timeShift_~tmp___8~2#1;assume { :begin_inline_continueInDirection } true;continueInDirection_#in~dir#1 := ~currentHeading~0;havoc continueInDirection_#t~ret76#1, continueInDirection_~dir#1, continueInDirection_~tmp~21#1;continueInDirection_~dir#1 := continueInDirection_#in~dir#1;havoc continueInDirection_~tmp~21#1;~currentHeading~0 := continueInDirection_~dir#1; 195814#L2612 assume !(1 == ~currentHeading~0); 200283#L2622 assume !(0 == ~currentFloorID~0); 200284#L2622-2 assume !(1 == ~currentHeading~0);~currentFloorID~0 := ~currentFloorID~0 - 1; 200090#L2628-1 havoc continueInDirection_#t~ret76#1, continueInDirection_~dir#1, continueInDirection_~tmp~21#1;havoc continueInDirection_#in~dir#1;assume { :end_inline_continueInDirection } true; 195283#L2961-2 assume { :begin_inline___utac_acc__Specification13_spec__2 } true;havoc __utac_acc__Specification13_spec__2_#t~ret28#1, __utac_acc__Specification13_spec__2_#t~ret29#1, __utac_acc__Specification13_spec__2_#t~ret30#1, __utac_acc__Specification13_spec__2_#t~ret31#1, __utac_acc__Specification13_spec__2_#t~ret32#1, __utac_acc__Specification13_spec__2_#t~ret33#1, __utac_acc__Specification13_spec__2_~tmp~3#1, __utac_acc__Specification13_spec__2_~tmp___0~0#1, __utac_acc__Specification13_spec__2_~tmp___1~0#1, __utac_acc__Specification13_spec__2_~tmp___2~0#1, __utac_acc__Specification13_spec__2_~tmp___3~0#1, __utac_acc__Specification13_spec__2_~tmp___4~0#1, __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1, __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1;havoc __utac_acc__Specification13_spec__2_~tmp~3#1;havoc __utac_acc__Specification13_spec__2_~tmp___0~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___1~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___2~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___3~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___4~0#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1;__utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 := 2 * ~maximumWeight~0;__utac_acc__Specification13_spec__2_~__cil_tmp8~5#1 := (if __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 < 0 && 0 != __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 % 3 then 1 + __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 / 3 else __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 / 3); 195284#L454 assume ~weight~0 > __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1; 197576#L455 assume 1 == ~prevDir~0;assume { :begin_inline_existInLiftCallsInDirection } true;existInLiftCallsInDirection_#in~d#1 := 0;havoc existInLiftCallsInDirection_#res#1;havoc existInLiftCallsInDirection_~d#1, existInLiftCallsInDirection_~retValue_acc~29#1, existInLiftCallsInDirection_~i~1#1, existInLiftCallsInDirection_~i___0~0#1;existInLiftCallsInDirection_~d#1 := existInLiftCallsInDirection_#in~d#1;havoc existInLiftCallsInDirection_~retValue_acc~29#1;havoc existInLiftCallsInDirection_~i~1#1;havoc existInLiftCallsInDirection_~i___0~0#1; 197578#L3156 assume !(1 == existInLiftCallsInDirection_~d#1); 199507#L3222 assume 0 == existInLiftCallsInDirection_~d#1;existInLiftCallsInDirection_~i___0~0#1 := 0;existInLiftCallsInDirection_~i___0~0#1 := ~currentFloorID~0 - 1; 199039#L3226-2 [2024-10-12 00:47:30,457 INFO L747 eck$LassoCheckResult]: Loop: 199039#L3226-2 assume !false; 199838#L3227 assume existInLiftCallsInDirection_~i___0~0#1 >= 0; 199839#L3228 existInLiftCallsInDirection_~i___0~0#1 := 1 + ~currentFloorID~0; 195521#L3235-2 assume !false; 195522#L3236 assume !(existInLiftCallsInDirection_~i___0~0#1 < 5); 198922#L3294 existInLiftCallsInDirection_~i___0~0#1 := existInLiftCallsInDirection_~i___0~0#1 - 1; 199039#L3226-2 [2024-10-12 00:47:30,458 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-12 00:47:30,458 INFO L85 PathProgramCache]: Analyzing trace with hash -1364909148, now seen corresponding path program 1 times [2024-10-12 00:47:30,458 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-12 00:47:30,458 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [753265492] [2024-10-12 00:47:30,458 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-12 00:47:30,458 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-12 00:47:30,481 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-12 00:47:30,546 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-10-12 00:47:30,547 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-10-12 00:47:30,547 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [753265492] [2024-10-12 00:47:30,547 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [753265492] provided 1 perfect and 0 imperfect interpolant sequences [2024-10-12 00:47:30,547 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-10-12 00:47:30,547 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2024-10-12 00:47:30,548 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1776154982] [2024-10-12 00:47:30,548 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-10-12 00:47:30,548 INFO L750 eck$LassoCheckResult]: stem already infeasible [2024-10-12 00:47:30,548 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-12 00:47:30,548 INFO L85 PathProgramCache]: Analyzing trace with hash 1717871275, now seen corresponding path program 5 times [2024-10-12 00:47:30,548 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-12 00:47:30,549 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1754548941] [2024-10-12 00:47:30,549 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-12 00:47:30,549 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-12 00:47:30,561 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-12 00:47:30,562 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-10-12 00:47:30,563 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-12 00:47:30,570 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-10-12 00:47:30,589 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-10-12 00:47:30,590 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2024-10-12 00:47:30,590 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2024-10-12 00:47:30,590 INFO L87 Difference]: Start difference. First operand 9739 states and 18086 transitions. cyclomatic complexity: 8382 Second operand has 4 states, 4 states have (on average 15.75) internal successors, (63), 4 states have internal predecessors, (63), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-10-12 00:47:30,867 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-10-12 00:47:30,868 INFO L93 Difference]: Finished difference Result 9747 states and 18093 transitions. [2024-10-12 00:47:30,868 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 9747 states and 18093 transitions. [2024-10-12 00:47:30,906 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 2435 [2024-10-12 00:47:30,933 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 9747 states to 9747 states and 18093 transitions. [2024-10-12 00:47:30,933 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 9709 [2024-10-12 00:47:30,940 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 9709 [2024-10-12 00:47:30,940 INFO L73 IsDeterministic]: Start isDeterministic. Operand 9747 states and 18093 transitions. [2024-10-12 00:47:30,944 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-10-12 00:47:30,944 INFO L218 hiAutomatonCegarLoop]: Abstraction has 9747 states and 18093 transitions. [2024-10-12 00:47:30,958 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 9747 states and 18093 transitions. [2024-10-12 00:47:31,043 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 9747 to 9747. [2024-10-12 00:47:31,057 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9747 states, 9747 states have (on average 1.8562634656817483) internal successors, (18093), 9746 states have internal predecessors, (18093), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-10-12 00:47:31,079 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9747 states to 9747 states and 18093 transitions. [2024-10-12 00:47:31,079 INFO L240 hiAutomatonCegarLoop]: Abstraction has 9747 states and 18093 transitions. [2024-10-12 00:47:31,080 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2024-10-12 00:47:31,080 INFO L425 stractBuchiCegarLoop]: Abstraction has 9747 states and 18093 transitions. [2024-10-12 00:47:31,080 INFO L332 stractBuchiCegarLoop]: ======== Iteration 8 ============ [2024-10-12 00:47:31,081 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 9747 states and 18093 transitions. [2024-10-12 00:47:31,110 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 2435 [2024-10-12 00:47:31,110 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-10-12 00:47:31,110 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-10-12 00:47:31,111 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-10-12 00:47:31,111 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1] [2024-10-12 00:47:31,111 INFO L745 eck$LassoCheckResult]: Stem: 222472#$Ultimate##0 assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int#0(48, 1, 0, 1);call write~init~int#0(0, 1, 1, 1);call #Ultimate.allocInit(32, 2);call #Ultimate.allocInit(12, 3);call #Ultimate.allocInit(30, 4);call #Ultimate.allocInit(9, 5);call #Ultimate.allocInit(21, 6);call #Ultimate.allocInit(30, 7);call #Ultimate.allocInit(9, 8);call #Ultimate.allocInit(21, 9);call #Ultimate.allocInit(30, 10);call #Ultimate.allocInit(9, 11);call #Ultimate.allocInit(25, 12);call #Ultimate.allocInit(30, 13);call #Ultimate.allocInit(9, 14);call #Ultimate.allocInit(25, 15);call #Ultimate.allocInit(10, 16);call #Ultimate.allocInit(4, 17);call write~init~int#5(91, 17, 0, 1);call write~init~int#5(95, 17, 1, 1);call write~init~int#5(93, 17, 2, 1);call write~init~int#5(0, 17, 3, 1);call #Ultimate.allocInit(4, 18);call write~init~int#6(91, 18, 0, 1);call write~init~int#6(93, 18, 1, 1);call write~init~int#6(32, 18, 2, 1);call write~init~int#6(0, 18, 3, 1);call #Ultimate.allocInit(5, 19);call write~init~int#7(32, 19, 0, 1);call write~init~int#7(97, 19, 1, 1);call write~init~int#7(116, 19, 2, 1);call write~init~int#7(32, 19, 3, 1);call write~init~int#7(0, 19, 4, 1);call #Ultimate.allocInit(3, 20);call write~init~int#8(37, 20, 0, 1);call write~init~int#8(105, 20, 1, 1);call write~init~int#8(0, 20, 2, 1);call #Ultimate.allocInit(10, 21);call #Ultimate.allocInit(3, 22);call write~init~int#9(117, 22, 0, 1);call write~init~int#9(112, 22, 1, 1);call write~init~int#9(0, 22, 2, 1);call #Ultimate.allocInit(5, 23);call write~init~int#10(100, 23, 0, 1);call write~init~int#10(111, 23, 1, 1);call write~init~int#10(119, 23, 2, 1);call write~init~int#10(110, 23, 3, 1);call write~init~int#10(0, 23, 4, 1);call #Ultimate.allocInit(7, 24);call write~init~int#11(32, 24, 0, 1);call write~init~int#11(73, 24, 1, 1);call write~init~int#11(76, 24, 2, 1);call write~init~int#11(95, 24, 3, 1);call write~init~int#11(112, 24, 4, 1);call write~init~int#11(58, 24, 5, 1);call write~init~int#11(0, 24, 6, 1);call #Ultimate.allocInit(4, 25);call write~init~int#12(32, 25, 0, 1);call write~init~int#12(37, 25, 1, 1);call write~init~int#12(105, 25, 2, 1);call write~init~int#12(0, 25, 3, 1);call #Ultimate.allocInit(4, 26);call write~init~int#13(32, 26, 0, 1);call write~init~int#13(37, 26, 1, 1);call write~init~int#13(105, 26, 2, 1);call write~init~int#13(0, 26, 3, 1);call #Ultimate.allocInit(4, 27);call write~init~int#14(32, 27, 0, 1);call write~init~int#14(37, 27, 1, 1);call write~init~int#14(105, 27, 2, 1);call write~init~int#14(0, 27, 3, 1);call #Ultimate.allocInit(4, 28);call write~init~int#15(32, 28, 0, 1);call write~init~int#15(37, 28, 1, 1);call write~init~int#15(105, 28, 2, 1);call write~init~int#15(0, 28, 3, 1);call #Ultimate.allocInit(4, 29);call write~init~int#16(32, 29, 0, 1);call write~init~int#16(37, 29, 1, 1);call write~init~int#16(105, 29, 2, 1);call write~init~int#16(0, 29, 3, 1);call #Ultimate.allocInit(6, 30);call write~init~int#17(32, 30, 0, 1);call write~init~int#17(70, 30, 1, 1);call write~init~int#17(95, 30, 2, 1);call write~init~int#17(112, 30, 3, 1);call write~init~int#17(58, 30, 4, 1);call write~init~int#17(0, 30, 5, 1);call #Ultimate.allocInit(4, 31);call write~init~int#18(32, 31, 0, 1);call write~init~int#18(37, 31, 1, 1);call write~init~int#18(105, 31, 2, 1);call write~init~int#18(0, 31, 3, 1);call #Ultimate.allocInit(4, 32);call write~init~int#19(32, 32, 0, 1);call write~init~int#19(37, 32, 1, 1);call write~init~int#19(105, 32, 2, 1);call write~init~int#19(0, 32, 3, 1);call #Ultimate.allocInit(4, 33);call write~init~int#1(32, 33, 0, 1);call write~init~int#1(37, 33, 1, 1);call write~init~int#1(105, 33, 2, 1);call write~init~int#1(0, 33, 3, 1);call #Ultimate.allocInit(4, 34);call write~init~int#2(32, 34, 0, 1);call write~init~int#2(37, 34, 1, 1);call write~init~int#2(105, 34, 2, 1);call write~init~int#2(0, 34, 3, 1);call #Ultimate.allocInit(4, 35);call write~init~int#3(32, 35, 0, 1);call write~init~int#3(37, 35, 1, 1);call write~init~int#3(105, 35, 2, 1);call write~init~int#3(0, 35, 3, 1);call #Ultimate.allocInit(2, 36);call write~init~int#4(10, 36, 0, 1);call write~init~int#4(0, 36, 1, 1);~head~0.base, ~head~0.offset := 0, 0;~weight~0 := 0;~maximumWeight~0 := 100;~executiveFloor~0 := 4;~prevDir~0 := 0;~calls_0~0 := 0;~calls_1~0 := 0;~calls_2~0 := 0;~calls_3~0 := 0;~calls_4~0 := 0;~personOnFloor_0_0~0 := 0;~personOnFloor_0_1~0 := 0;~personOnFloor_0_2~0 := 0;~personOnFloor_0_3~0 := 0;~personOnFloor_0_4~0 := 0;~personOnFloor_1_0~0 := 0;~personOnFloor_1_1~0 := 0;~personOnFloor_1_2~0 := 0;~personOnFloor_1_3~0 := 0;~personOnFloor_1_4~0 := 0;~personOnFloor_2_0~0 := 0;~personOnFloor_2_1~0 := 0;~personOnFloor_2_2~0 := 0;~personOnFloor_2_3~0 := 0;~personOnFloor_2_4~0 := 0;~personOnFloor_3_0~0 := 0;~personOnFloor_3_1~0 := 0;~personOnFloor_3_2~0 := 0;~personOnFloor_3_3~0 := 0;~personOnFloor_3_4~0 := 0;~personOnFloor_4_0~0 := 0;~personOnFloor_4_1~0 := 0;~personOnFloor_4_2~0 := 0;~personOnFloor_4_3~0 := 0;~personOnFloor_4_4~0 := 0;~personOnFloor_5_0~0 := 0;~personOnFloor_5_1~0 := 0;~personOnFloor_5_2~0 := 0;~personOnFloor_5_3~0 := 0;~personOnFloor_5_4~0 := 0;~cleanupTimeShifts~0 := 12;~currentHeading~0 := 1;~currentFloorID~0 := 0;~persons_0~0 := 0;~persons_1~0 := 0;~persons_2~0 := 0;~persons_3~0 := 0;~persons_4~0 := 0;~persons_5~0 := 0;~doorState~0 := 1;~floorButtons_0~0 := 0;~floorButtons_1~0 := 0;~floorButtons_2~0 := 0;~floorButtons_3~0 := 0;~floorButtons_4~0 := 0; 222215#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret47#1, main_~retValue_acc~10#1, main_~tmp~12#1;havoc main_~retValue_acc~10#1;havoc main_~tmp~12#1;assume { :begin_inline_select_helpers } true; 222216#select_helpers_returnLabel#1 assume { :end_inline_select_helpers } true;assume { :begin_inline_select_features } true; 224170#select_features_returnLabel#1 assume { :end_inline_select_features } true;assume { :begin_inline_valid_product } true;havoc valid_product_#res#1;havoc valid_product_~retValue_acc~12#1;havoc valid_product_~retValue_acc~12#1;valid_product_~retValue_acc~12#1 := 1;valid_product_#res#1 := valid_product_~retValue_acc~12#1; 216318#valid_product_returnLabel#1 main_#t~ret47#1 := valid_product_#res#1;havoc valid_product_~retValue_acc~12#1;assume { :end_inline_valid_product } true;main_~tmp~12#1 := main_#t~ret47#1;havoc main_#t~ret47#1; 216319#L1651 assume 0 != main_~tmp~12#1;assume { :begin_inline_setup } true; 218083#setup_returnLabel#1 assume { :end_inline_setup } true;assume { :begin_inline_runTest } true;assume { :begin_inline_test } true;assume { :begin_inline_aliceCall } true;havoc aliceCall_#t~ret36#1, aliceCall_~tmp~5#1;havoc aliceCall_~tmp~5#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 1;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~4#1; 218084#L564 assume !(0 == getOrigin_~person#1); 216708#L568 assume 1 == getOrigin_~person#1;getOrigin_~retValue_acc~4#1 := 3;getOrigin_#res#1 := getOrigin_~retValue_acc~4#1; 216709#getOrigin_returnLabel#1 aliceCall_#t~ret36#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;aliceCall_~tmp~5#1 := aliceCall_#t~ret36#1;havoc aliceCall_#t~ret36#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 1, aliceCall_~tmp~5#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 217323#L999 assume !(0 == initPersonOnFloor_~floor#1); 217324#L1026 assume !(1 == initPersonOnFloor_~floor#1); 223231#L1053 assume !(2 == initPersonOnFloor_~floor#1); 223726#L1080 assume 3 == initPersonOnFloor_~floor#1; 220900#L1081 assume !(0 == initPersonOnFloor_~person#1); 220901#L1084 assume 1 == initPersonOnFloor_~person#1;~personOnFloor_1_3~0 := 1; 218699#L1107-1 assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 215568#L791 assume !(0 == callOnFloor_~floorID#1); 215417#L794 assume !(1 == callOnFloor_~floorID#1); 215370#L797 assume !(2 == callOnFloor_~floorID#1); 215371#L800 assume 3 == callOnFloor_~floorID#1;~calls_3~0 := 1; 217361#L803-2 havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true; 216964#initPersonOnFloor_returnLabel#1 havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true; 216965#aliceCall_returnLabel#1 havoc aliceCall_#t~ret36#1, aliceCall_~tmp~5#1;assume { :end_inline_aliceCall } true;assume { :begin_inline_angelinaCall } true;havoc angelinaCall_#t~ret37#1, angelinaCall_~tmp~6#1;havoc angelinaCall_~tmp~6#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 2;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~4#1; 222516#L564-1 assume !(0 == getOrigin_~person#1); 217828#L568-1 assume !(1 == getOrigin_~person#1); 217829#L572-1 assume 2 == getOrigin_~person#1;getOrigin_~retValue_acc~4#1 := 2;getOrigin_#res#1 := getOrigin_~retValue_acc~4#1; 220050#getOrigin_returnLabel#2 angelinaCall_#t~ret37#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;angelinaCall_~tmp~6#1 := angelinaCall_#t~ret37#1;havoc angelinaCall_#t~ret37#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 2, angelinaCall_~tmp~6#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 224476#L999-1 assume 0 == initPersonOnFloor_~floor#1; 224464#L1000-2 assume !(0 == initPersonOnFloor_~person#1); 215680#L1003-2 assume 1 == initPersonOnFloor_~person#1;~personOnFloor_1_0~0 := 1; 214909#L1107-3 assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 224479#L791-2 assume 0 == callOnFloor_~floorID#1;~calls_0~0 := 1; 216943#L803-5 havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true; 220831#initPersonOnFloor_returnLabel#2 havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true; 220832#angelinaCall_returnLabel#1 havoc angelinaCall_#t~ret37#1, angelinaCall_~tmp~6#1;assume { :end_inline_angelinaCall } true;assume { :begin_inline_threeTS } true;assume { :begin_inline_timeShift } true;havoc timeShift_#t~ret98#1, timeShift_#t~ret99#1, timeShift_#t~ret100#1, timeShift_#t~ret101#1, timeShift_#t~ret102#1, timeShift_#t~ret103#1, timeShift_#t~ret104#1, timeShift_#t~ret105#1, timeShift_#t~ret106#1, timeShift_#t~ret107#1, timeShift_#t~ret108#1, timeShift_~tmp~26#1, timeShift_~tmp___0~10#1, timeShift_~tmp___1~5#1, timeShift_~tmp___2~5#1, timeShift_~tmp___3~4#1, timeShift_~tmp___4~3#1, timeShift_~tmp___5~2#1, timeShift_~tmp___6~2#1, timeShift_~tmp___7~2#1, timeShift_~tmp___8~2#1, timeShift_~tmp___9~2#1;havoc timeShift_~tmp~26#1;havoc timeShift_~tmp___0~10#1;havoc timeShift_~tmp___1~5#1;havoc timeShift_~tmp___2~5#1;havoc timeShift_~tmp___3~4#1;havoc timeShift_~tmp___4~3#1;havoc timeShift_~tmp___5~2#1;havoc timeShift_~tmp___6~2#1;havoc timeShift_~tmp___7~2#1;havoc timeShift_~tmp___8~2#1;havoc timeShift_~tmp___9~2#1;assume { :begin_inline___utac_acc__Specification13_spec__1 } true;havoc __utac_acc__Specification13_spec__1_#t~ret27#1;assume { :begin_inline_getCurrentHeading } true;havoc getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~17#1;havoc getCurrentHeading_~retValue_acc~17#1;getCurrentHeading_~retValue_acc~17#1 := ~currentHeading~0;getCurrentHeading_#res#1 := getCurrentHeading_~retValue_acc~17#1; 223989#getCurrentHeading_returnLabel#1 __utac_acc__Specification13_spec__1_#t~ret27#1 := getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~17#1;assume { :end_inline_getCurrentHeading } true;~prevDir~0 := __utac_acc__Specification13_spec__1_#t~ret27#1;havoc __utac_acc__Specification13_spec__1_#t~ret27#1; 221159#__utac_acc__Specification13_spec__1_returnLabel#1 havoc __utac_acc__Specification13_spec__1_#t~ret27#1;assume { :end_inline___utac_acc__Specification13_spec__1 } true;assume { :begin_inline_stopRequestedAtCurrentFloor } true;havoc stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1, stopRequestedAtCurrentFloor_#t~ret83#1, stopRequestedAtCurrentFloor_#t~ret84#1, stopRequestedAtCurrentFloor_#t~ret85#1, stopRequestedAtCurrentFloor_~retValue_acc~27#1, stopRequestedAtCurrentFloor_~tmp~24#1, stopRequestedAtCurrentFloor_~tmp___0~8#1;havoc stopRequestedAtCurrentFloor_~retValue_acc~27#1;havoc stopRequestedAtCurrentFloor_~tmp~24#1;havoc stopRequestedAtCurrentFloor_~tmp___0~8#1;assume { :begin_inline_isExecutiveFloorCalling } true;havoc isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;havoc isExecutiveFloorCalling_~retValue_acc~30#1;assume { :begin_inline_isFloorCalling } true;isFloorCalling_#in~floorID#1 := ~executiveFloor~0;havoc isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;isFloorCalling_~floorID#1 := isFloorCalling_#in~floorID#1;havoc isFloorCalling_~retValue_acc~6#1; 221160#L728 assume 0 == isFloorCalling_~floorID#1;isFloorCalling_~retValue_acc~6#1 := ~calls_0~0;isFloorCalling_#res#1 := isFloorCalling_~retValue_acc~6#1; 222618#isFloorCalling_returnLabel#1 isExecutiveFloorCalling_#t~ret135#1 := isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;havoc isFloorCalling_#in~floorID#1;assume { :end_inline_isFloorCalling } true;isExecutiveFloorCalling_~retValue_acc~30#1 := isExecutiveFloorCalling_#t~ret135#1;havoc isExecutiveFloorCalling_#t~ret135#1;isExecutiveFloorCalling_#res#1 := isExecutiveFloorCalling_~retValue_acc~30#1; 223987#isExecutiveFloorCalling_returnLabel#1 stopRequestedAtCurrentFloor_#t~ret82#1 := isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;assume { :end_inline_isExecutiveFloorCalling } true;stopRequestedAtCurrentFloor_~tmp~24#1 := stopRequestedAtCurrentFloor_#t~ret82#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1; 222386#L2700 assume 0 != stopRequestedAtCurrentFloor_~tmp~24#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;havoc getCurrentFloorID_~retValue_acc~14#1;getCurrentFloorID_~retValue_acc~14#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~14#1; 220908#getCurrentFloorID_returnLabel#1 stopRequestedAtCurrentFloor_#t~ret83#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedAtCurrentFloor_~tmp___0~8#1 := stopRequestedAtCurrentFloor_#t~ret83#1;havoc stopRequestedAtCurrentFloor_#t~ret83#1; 219865#L2704 assume !(~executiveFloor~0 == stopRequestedAtCurrentFloor_~tmp___0~8#1);stopRequestedAtCurrentFloor_~retValue_acc~27#1 := 0;stopRequestedAtCurrentFloor_#res#1 := stopRequestedAtCurrentFloor_~retValue_acc~27#1; 215428#stopRequestedAtCurrentFloor_returnLabel#1 timeShift_#t~ret98#1 := stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1, stopRequestedAtCurrentFloor_#t~ret83#1, stopRequestedAtCurrentFloor_#t~ret84#1, stopRequestedAtCurrentFloor_#t~ret85#1, stopRequestedAtCurrentFloor_~retValue_acc~27#1, stopRequestedAtCurrentFloor_~tmp~24#1, stopRequestedAtCurrentFloor_~tmp___0~8#1;assume { :end_inline_stopRequestedAtCurrentFloor } true;timeShift_~tmp___9~2#1 := timeShift_#t~ret98#1;havoc timeShift_#t~ret98#1; 215429#L2853 assume !(0 != timeShift_~tmp___9~2#1); 216121#L2944 assume 1 == ~doorState~0;~doorState~0 := 0; 216755#L2944-2 assume { :begin_inline_stopRequestedInDirection } true;stopRequestedInDirection_#in~dir#1, stopRequestedInDirection_#in~respectFloorCalls#1, stopRequestedInDirection_#in~respectInLiftCalls#1 := ~currentHeading~0, 1, 1;havoc stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret73#1, stopRequestedInDirection_#t~ret74#1, stopRequestedInDirection_#t~ret75#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~23#1, stopRequestedInDirection_~tmp~20#1, stopRequestedInDirection_~tmp___0~5#1, stopRequestedInDirection_~__cil_tmp7~6#1, stopRequestedInDirection_~__cil_tmp8~7#1;stopRequestedInDirection_~dir#1 := stopRequestedInDirection_#in~dir#1;stopRequestedInDirection_~respectFloorCalls#1 := stopRequestedInDirection_#in~respectFloorCalls#1;stopRequestedInDirection_~respectInLiftCalls#1 := stopRequestedInDirection_#in~respectInLiftCalls#1;havoc stopRequestedInDirection_~retValue_acc~23#1;havoc stopRequestedInDirection_~tmp~20#1;havoc stopRequestedInDirection_~tmp___0~5#1;havoc stopRequestedInDirection_~__cil_tmp7~6#1;havoc stopRequestedInDirection_~__cil_tmp8~7#1;assume { :begin_inline_isExecutiveFloorCalling } true;havoc isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;havoc isExecutiveFloorCalling_~retValue_acc~30#1;assume { :begin_inline_isFloorCalling } true;isFloorCalling_#in~floorID#1 := ~executiveFloor~0;havoc isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;isFloorCalling_~floorID#1 := isFloorCalling_#in~floorID#1;havoc isFloorCalling_~retValue_acc~6#1; 216756#L728-3 assume 0 == isFloorCalling_~floorID#1;isFloorCalling_~retValue_acc~6#1 := ~calls_0~0;isFloorCalling_#res#1 := isFloorCalling_~retValue_acc~6#1; 217075#isFloorCalling_returnLabel#4 isExecutiveFloorCalling_#t~ret135#1 := isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;havoc isFloorCalling_#in~floorID#1;assume { :end_inline_isFloorCalling } true;isExecutiveFloorCalling_~retValue_acc~30#1 := isExecutiveFloorCalling_#t~ret135#1;havoc isExecutiveFloorCalling_#t~ret135#1;isExecutiveFloorCalling_#res#1 := isExecutiveFloorCalling_~retValue_acc~30#1; 219999#isExecutiveFloorCalling_returnLabel#2 stopRequestedInDirection_#t~ret73#1 := isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;assume { :end_inline_isExecutiveFloorCalling } true;stopRequestedInDirection_~tmp___0~5#1 := stopRequestedInDirection_#t~ret73#1;havoc stopRequestedInDirection_#t~ret73#1; 215742#L2555 assume 0 != stopRequestedInDirection_~tmp___0~5#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;havoc getCurrentFloorID_~retValue_acc~14#1;getCurrentFloorID_~retValue_acc~14#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~14#1; 215743#getCurrentFloorID_returnLabel#4 stopRequestedInDirection_#t~ret74#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedInDirection_~tmp~20#1 := stopRequestedInDirection_#t~ret74#1;havoc stopRequestedInDirection_#t~ret74#1;stopRequestedInDirection_~__cil_tmp7~6#1 := (if 1 == stopRequestedInDirection_~dir#1 then 1 else 0);stopRequestedInDirection_~__cil_tmp8~7#1 := (if stopRequestedInDirection_~tmp~20#1 < ~executiveFloor~0 then 1 else 0);stopRequestedInDirection_~retValue_acc~23#1 := (if stopRequestedInDirection_~__cil_tmp8~7#1 == stopRequestedInDirection_~__cil_tmp7~6#1 then 1 else 0);stopRequestedInDirection_#res#1 := stopRequestedInDirection_~retValue_acc~23#1; 218291#stopRequestedInDirection_returnLabel#1 timeShift_#t~ret105#1 := stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret73#1, stopRequestedInDirection_#t~ret74#1, stopRequestedInDirection_#t~ret75#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~23#1, stopRequestedInDirection_~tmp~20#1, stopRequestedInDirection_~tmp___0~5#1, stopRequestedInDirection_~__cil_tmp7~6#1, stopRequestedInDirection_~__cil_tmp8~7#1;havoc stopRequestedInDirection_#in~dir#1, stopRequestedInDirection_#in~respectFloorCalls#1, stopRequestedInDirection_#in~respectInLiftCalls#1;assume { :end_inline_stopRequestedInDirection } true;timeShift_~tmp___8~2#1 := timeShift_#t~ret105#1;havoc timeShift_#t~ret105#1; 215306#L2952 assume 0 != timeShift_~tmp___8~2#1;assume { :begin_inline_continueInDirection } true;continueInDirection_#in~dir#1 := ~currentHeading~0;havoc continueInDirection_#t~ret76#1, continueInDirection_~dir#1, continueInDirection_~tmp~21#1;continueInDirection_~dir#1 := continueInDirection_#in~dir#1;havoc continueInDirection_~tmp~21#1;~currentHeading~0 := continueInDirection_~dir#1; 215307#L2612 assume !(1 == ~currentHeading~0); 219776#L2622 assume !(0 == ~currentFloorID~0); 219777#L2622-2 assume !(1 == ~currentHeading~0);~currentFloorID~0 := ~currentFloorID~0 - 1; 219583#L2628-1 havoc continueInDirection_#t~ret76#1, continueInDirection_~dir#1, continueInDirection_~tmp~21#1;havoc continueInDirection_#in~dir#1;assume { :end_inline_continueInDirection } true; 214776#L2961-2 assume { :begin_inline___utac_acc__Specification13_spec__2 } true;havoc __utac_acc__Specification13_spec__2_#t~ret28#1, __utac_acc__Specification13_spec__2_#t~ret29#1, __utac_acc__Specification13_spec__2_#t~ret30#1, __utac_acc__Specification13_spec__2_#t~ret31#1, __utac_acc__Specification13_spec__2_#t~ret32#1, __utac_acc__Specification13_spec__2_#t~ret33#1, __utac_acc__Specification13_spec__2_~tmp~3#1, __utac_acc__Specification13_spec__2_~tmp___0~0#1, __utac_acc__Specification13_spec__2_~tmp___1~0#1, __utac_acc__Specification13_spec__2_~tmp___2~0#1, __utac_acc__Specification13_spec__2_~tmp___3~0#1, __utac_acc__Specification13_spec__2_~tmp___4~0#1, __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1, __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1;havoc __utac_acc__Specification13_spec__2_~tmp~3#1;havoc __utac_acc__Specification13_spec__2_~tmp___0~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___1~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___2~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___3~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___4~0#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1;__utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 := 2 * ~maximumWeight~0;__utac_acc__Specification13_spec__2_~__cil_tmp8~5#1 := (if __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 < 0 && 0 != __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 % 3 then 1 + __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 / 3 else __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 / 3); 214777#L454 assume ~weight~0 > __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1; 217069#L455 assume 1 == ~prevDir~0;assume { :begin_inline_existInLiftCallsInDirection } true;existInLiftCallsInDirection_#in~d#1 := 0;havoc existInLiftCallsInDirection_#res#1;havoc existInLiftCallsInDirection_~d#1, existInLiftCallsInDirection_~retValue_acc~29#1, existInLiftCallsInDirection_~i~1#1, existInLiftCallsInDirection_~i___0~0#1;existInLiftCallsInDirection_~d#1 := existInLiftCallsInDirection_#in~d#1;havoc existInLiftCallsInDirection_~retValue_acc~29#1;havoc existInLiftCallsInDirection_~i~1#1;havoc existInLiftCallsInDirection_~i___0~0#1; 217071#L3156 assume !(1 == existInLiftCallsInDirection_~d#1); 219000#L3222 assume 0 == existInLiftCallsInDirection_~d#1;existInLiftCallsInDirection_~i___0~0#1 := 0;existInLiftCallsInDirection_~i___0~0#1 := ~currentFloorID~0 - 1; 218532#L3226-2 [2024-10-12 00:47:31,111 INFO L747 eck$LassoCheckResult]: Loop: 218532#L3226-2 assume !false; 219333#L3227 assume existInLiftCallsInDirection_~i___0~0#1 >= 0; 219334#L3228 existInLiftCallsInDirection_~i___0~0#1 := 1 + ~currentFloorID~0; 215014#L3235-2 assume !false; 215015#L3236 assume !(existInLiftCallsInDirection_~i___0~0#1 < 5); 218415#L3294 existInLiftCallsInDirection_~i___0~0#1 := existInLiftCallsInDirection_~i___0~0#1 - 1; 218532#L3226-2 [2024-10-12 00:47:31,112 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-12 00:47:31,112 INFO L85 PathProgramCache]: Analyzing trace with hash 1836590047, now seen corresponding path program 1 times [2024-10-12 00:47:31,112 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-12 00:47:31,112 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1882131713] [2024-10-12 00:47:31,112 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-12 00:47:31,112 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-12 00:47:31,132 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-12 00:47:31,216 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-10-12 00:47:31,217 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-10-12 00:47:31,217 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1882131713] [2024-10-12 00:47:31,217 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1882131713] provided 1 perfect and 0 imperfect interpolant sequences [2024-10-12 00:47:31,217 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-10-12 00:47:31,217 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2024-10-12 00:47:31,217 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1576634736] [2024-10-12 00:47:31,218 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-10-12 00:47:31,218 INFO L750 eck$LassoCheckResult]: stem already infeasible [2024-10-12 00:47:31,218 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-12 00:47:31,218 INFO L85 PathProgramCache]: Analyzing trace with hash 1717871275, now seen corresponding path program 6 times [2024-10-12 00:47:31,218 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-12 00:47:31,219 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2108005051] [2024-10-12 00:47:31,219 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-12 00:47:31,219 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-12 00:47:31,228 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-12 00:47:31,228 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-10-12 00:47:31,229 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-12 00:47:31,235 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-10-12 00:47:31,254 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-10-12 00:47:31,255 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2024-10-12 00:47:31,255 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2024-10-12 00:47:31,255 INFO L87 Difference]: Start difference. First operand 9747 states and 18093 transitions. cyclomatic complexity: 8381 Second operand has 5 states, 5 states have (on average 12.8) internal successors, (64), 5 states have internal predecessors, (64), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-10-12 00:47:31,515 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-10-12 00:47:31,516 INFO L93 Difference]: Finished difference Result 9733 states and 18067 transitions. [2024-10-12 00:47:31,516 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 9733 states and 18067 transitions. [2024-10-12 00:47:31,550 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 2435 [2024-10-12 00:47:31,569 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 9733 states to 9733 states and 18067 transitions. [2024-10-12 00:47:31,570 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 9695 [2024-10-12 00:47:31,575 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 9695 [2024-10-12 00:47:31,575 INFO L73 IsDeterministic]: Start isDeterministic. Operand 9733 states and 18067 transitions. [2024-10-12 00:47:31,585 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-10-12 00:47:31,586 INFO L218 hiAutomatonCegarLoop]: Abstraction has 9733 states and 18067 transitions. [2024-10-12 00:47:31,599 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 9733 states and 18067 transitions. [2024-10-12 00:47:31,693 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 9733 to 9733. [2024-10-12 00:47:31,707 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9733 states, 9733 states have (on average 1.8562622007603) internal successors, (18067), 9732 states have internal predecessors, (18067), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-10-12 00:47:31,730 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9733 states to 9733 states and 18067 transitions. [2024-10-12 00:47:31,730 INFO L240 hiAutomatonCegarLoop]: Abstraction has 9733 states and 18067 transitions. [2024-10-12 00:47:31,730 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2024-10-12 00:47:31,731 INFO L425 stractBuchiCegarLoop]: Abstraction has 9733 states and 18067 transitions. [2024-10-12 00:47:31,731 INFO L332 stractBuchiCegarLoop]: ======== Iteration 9 ============ [2024-10-12 00:47:31,732 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 9733 states and 18067 transitions. [2024-10-12 00:47:31,764 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 2435 [2024-10-12 00:47:31,764 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-10-12 00:47:31,764 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-10-12 00:47:31,765 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-10-12 00:47:31,767 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1] [2024-10-12 00:47:31,767 INFO L745 eck$LassoCheckResult]: Stem: 241953#$Ultimate##0 assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int#0(48, 1, 0, 1);call write~init~int#0(0, 1, 1, 1);call #Ultimate.allocInit(32, 2);call #Ultimate.allocInit(12, 3);call #Ultimate.allocInit(30, 4);call #Ultimate.allocInit(9, 5);call #Ultimate.allocInit(21, 6);call #Ultimate.allocInit(30, 7);call #Ultimate.allocInit(9, 8);call #Ultimate.allocInit(21, 9);call #Ultimate.allocInit(30, 10);call #Ultimate.allocInit(9, 11);call #Ultimate.allocInit(25, 12);call #Ultimate.allocInit(30, 13);call #Ultimate.allocInit(9, 14);call #Ultimate.allocInit(25, 15);call #Ultimate.allocInit(10, 16);call #Ultimate.allocInit(4, 17);call write~init~int#5(91, 17, 0, 1);call write~init~int#5(95, 17, 1, 1);call write~init~int#5(93, 17, 2, 1);call write~init~int#5(0, 17, 3, 1);call #Ultimate.allocInit(4, 18);call write~init~int#6(91, 18, 0, 1);call write~init~int#6(93, 18, 1, 1);call write~init~int#6(32, 18, 2, 1);call write~init~int#6(0, 18, 3, 1);call #Ultimate.allocInit(5, 19);call write~init~int#7(32, 19, 0, 1);call write~init~int#7(97, 19, 1, 1);call write~init~int#7(116, 19, 2, 1);call write~init~int#7(32, 19, 3, 1);call write~init~int#7(0, 19, 4, 1);call #Ultimate.allocInit(3, 20);call write~init~int#8(37, 20, 0, 1);call write~init~int#8(105, 20, 1, 1);call write~init~int#8(0, 20, 2, 1);call #Ultimate.allocInit(10, 21);call #Ultimate.allocInit(3, 22);call write~init~int#9(117, 22, 0, 1);call write~init~int#9(112, 22, 1, 1);call write~init~int#9(0, 22, 2, 1);call #Ultimate.allocInit(5, 23);call write~init~int#10(100, 23, 0, 1);call write~init~int#10(111, 23, 1, 1);call write~init~int#10(119, 23, 2, 1);call write~init~int#10(110, 23, 3, 1);call write~init~int#10(0, 23, 4, 1);call #Ultimate.allocInit(7, 24);call write~init~int#11(32, 24, 0, 1);call write~init~int#11(73, 24, 1, 1);call write~init~int#11(76, 24, 2, 1);call write~init~int#11(95, 24, 3, 1);call write~init~int#11(112, 24, 4, 1);call write~init~int#11(58, 24, 5, 1);call write~init~int#11(0, 24, 6, 1);call #Ultimate.allocInit(4, 25);call write~init~int#12(32, 25, 0, 1);call write~init~int#12(37, 25, 1, 1);call write~init~int#12(105, 25, 2, 1);call write~init~int#12(0, 25, 3, 1);call #Ultimate.allocInit(4, 26);call write~init~int#13(32, 26, 0, 1);call write~init~int#13(37, 26, 1, 1);call write~init~int#13(105, 26, 2, 1);call write~init~int#13(0, 26, 3, 1);call #Ultimate.allocInit(4, 27);call write~init~int#14(32, 27, 0, 1);call write~init~int#14(37, 27, 1, 1);call write~init~int#14(105, 27, 2, 1);call write~init~int#14(0, 27, 3, 1);call #Ultimate.allocInit(4, 28);call write~init~int#15(32, 28, 0, 1);call write~init~int#15(37, 28, 1, 1);call write~init~int#15(105, 28, 2, 1);call write~init~int#15(0, 28, 3, 1);call #Ultimate.allocInit(4, 29);call write~init~int#16(32, 29, 0, 1);call write~init~int#16(37, 29, 1, 1);call write~init~int#16(105, 29, 2, 1);call write~init~int#16(0, 29, 3, 1);call #Ultimate.allocInit(6, 30);call write~init~int#17(32, 30, 0, 1);call write~init~int#17(70, 30, 1, 1);call write~init~int#17(95, 30, 2, 1);call write~init~int#17(112, 30, 3, 1);call write~init~int#17(58, 30, 4, 1);call write~init~int#17(0, 30, 5, 1);call #Ultimate.allocInit(4, 31);call write~init~int#18(32, 31, 0, 1);call write~init~int#18(37, 31, 1, 1);call write~init~int#18(105, 31, 2, 1);call write~init~int#18(0, 31, 3, 1);call #Ultimate.allocInit(4, 32);call write~init~int#19(32, 32, 0, 1);call write~init~int#19(37, 32, 1, 1);call write~init~int#19(105, 32, 2, 1);call write~init~int#19(0, 32, 3, 1);call #Ultimate.allocInit(4, 33);call write~init~int#1(32, 33, 0, 1);call write~init~int#1(37, 33, 1, 1);call write~init~int#1(105, 33, 2, 1);call write~init~int#1(0, 33, 3, 1);call #Ultimate.allocInit(4, 34);call write~init~int#2(32, 34, 0, 1);call write~init~int#2(37, 34, 1, 1);call write~init~int#2(105, 34, 2, 1);call write~init~int#2(0, 34, 3, 1);call #Ultimate.allocInit(4, 35);call write~init~int#3(32, 35, 0, 1);call write~init~int#3(37, 35, 1, 1);call write~init~int#3(105, 35, 2, 1);call write~init~int#3(0, 35, 3, 1);call #Ultimate.allocInit(2, 36);call write~init~int#4(10, 36, 0, 1);call write~init~int#4(0, 36, 1, 1);~head~0.base, ~head~0.offset := 0, 0;~weight~0 := 0;~maximumWeight~0 := 100;~executiveFloor~0 := 4;~prevDir~0 := 0;~calls_0~0 := 0;~calls_1~0 := 0;~calls_2~0 := 0;~calls_3~0 := 0;~calls_4~0 := 0;~personOnFloor_0_0~0 := 0;~personOnFloor_0_1~0 := 0;~personOnFloor_0_2~0 := 0;~personOnFloor_0_3~0 := 0;~personOnFloor_0_4~0 := 0;~personOnFloor_1_0~0 := 0;~personOnFloor_1_1~0 := 0;~personOnFloor_1_2~0 := 0;~personOnFloor_1_3~0 := 0;~personOnFloor_1_4~0 := 0;~personOnFloor_2_0~0 := 0;~personOnFloor_2_1~0 := 0;~personOnFloor_2_2~0 := 0;~personOnFloor_2_3~0 := 0;~personOnFloor_2_4~0 := 0;~personOnFloor_3_0~0 := 0;~personOnFloor_3_1~0 := 0;~personOnFloor_3_2~0 := 0;~personOnFloor_3_3~0 := 0;~personOnFloor_3_4~0 := 0;~personOnFloor_4_0~0 := 0;~personOnFloor_4_1~0 := 0;~personOnFloor_4_2~0 := 0;~personOnFloor_4_3~0 := 0;~personOnFloor_4_4~0 := 0;~personOnFloor_5_0~0 := 0;~personOnFloor_5_1~0 := 0;~personOnFloor_5_2~0 := 0;~personOnFloor_5_3~0 := 0;~personOnFloor_5_4~0 := 0;~cleanupTimeShifts~0 := 12;~currentHeading~0 := 1;~currentFloorID~0 := 0;~persons_0~0 := 0;~persons_1~0 := 0;~persons_2~0 := 0;~persons_3~0 := 0;~persons_4~0 := 0;~persons_5~0 := 0;~doorState~0 := 1;~floorButtons_0~0 := 0;~floorButtons_1~0 := 0;~floorButtons_2~0 := 0;~floorButtons_3~0 := 0;~floorButtons_4~0 := 0; 241696#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret47#1, main_~retValue_acc~10#1, main_~tmp~12#1;havoc main_~retValue_acc~10#1;havoc main_~tmp~12#1;assume { :begin_inline_select_helpers } true; 241697#select_helpers_returnLabel#1 assume { :end_inline_select_helpers } true;assume { :begin_inline_select_features } true; 243651#select_features_returnLabel#1 assume { :end_inline_select_features } true;assume { :begin_inline_valid_product } true;havoc valid_product_#res#1;havoc valid_product_~retValue_acc~12#1;havoc valid_product_~retValue_acc~12#1;valid_product_~retValue_acc~12#1 := 1;valid_product_#res#1 := valid_product_~retValue_acc~12#1; 235803#valid_product_returnLabel#1 main_#t~ret47#1 := valid_product_#res#1;havoc valid_product_~retValue_acc~12#1;assume { :end_inline_valid_product } true;main_~tmp~12#1 := main_#t~ret47#1;havoc main_#t~ret47#1; 235804#L1651 assume 0 != main_~tmp~12#1;assume { :begin_inline_setup } true; 237567#setup_returnLabel#1 assume { :end_inline_setup } true;assume { :begin_inline_runTest } true;assume { :begin_inline_test } true;assume { :begin_inline_aliceCall } true;havoc aliceCall_#t~ret36#1, aliceCall_~tmp~5#1;havoc aliceCall_~tmp~5#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 1;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~4#1; 237568#L564 assume !(0 == getOrigin_~person#1); 236193#L568 assume 1 == getOrigin_~person#1;getOrigin_~retValue_acc~4#1 := 3;getOrigin_#res#1 := getOrigin_~retValue_acc~4#1; 236194#getOrigin_returnLabel#1 aliceCall_#t~ret36#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;aliceCall_~tmp~5#1 := aliceCall_#t~ret36#1;havoc aliceCall_#t~ret36#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 1, aliceCall_~tmp~5#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 236807#L999 assume !(0 == initPersonOnFloor_~floor#1); 236808#L1026 assume !(1 == initPersonOnFloor_~floor#1); 242713#L1053 assume !(2 == initPersonOnFloor_~floor#1); 243208#L1080 assume 3 == initPersonOnFloor_~floor#1; 240381#L1081 assume !(0 == initPersonOnFloor_~person#1); 240382#L1084 assume 1 == initPersonOnFloor_~person#1;~personOnFloor_1_3~0 := 1; 238186#L1107-1 assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 235054#L791 assume !(0 == callOnFloor_~floorID#1); 234903#L794 assume !(1 == callOnFloor_~floorID#1); 234856#L797 assume !(2 == callOnFloor_~floorID#1); 234857#L800 assume 3 == callOnFloor_~floorID#1;~calls_3~0 := 1; 236845#L803-2 havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true; 236449#initPersonOnFloor_returnLabel#1 havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true; 236450#aliceCall_returnLabel#1 havoc aliceCall_#t~ret36#1, aliceCall_~tmp~5#1;assume { :end_inline_aliceCall } true;assume { :begin_inline_angelinaCall } true;havoc angelinaCall_#t~ret37#1, angelinaCall_~tmp~6#1;havoc angelinaCall_~tmp~6#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 2;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~4#1; 241997#L564-1 assume !(0 == getOrigin_~person#1); 237312#L568-1 assume !(1 == getOrigin_~person#1); 237313#L572-1 assume 2 == getOrigin_~person#1;getOrigin_~retValue_acc~4#1 := 2;getOrigin_#res#1 := getOrigin_~retValue_acc~4#1; 235181#getOrigin_returnLabel#2 angelinaCall_#t~ret37#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;angelinaCall_~tmp~6#1 := angelinaCall_#t~ret37#1;havoc angelinaCall_#t~ret37#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 2, angelinaCall_~tmp~6#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 235182#L999-1 assume !(0 == initPersonOnFloor_~floor#1); 240816#L1026-1 assume 1 == initPersonOnFloor_~floor#1; 242971#L1027-2 assume !(0 == initPersonOnFloor_~person#1); 236398#L1030-2 assume 1 == initPersonOnFloor_~person#1;~personOnFloor_1_1~0 := 1; 235365#L1107-3 assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 243955#L791-2 assume !(0 == callOnFloor_~floorID#1); 243952#L794-2 assume 1 == callOnFloor_~floorID#1;~calls_1~0 := 1; 236428#L803-5 havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true; 240312#initPersonOnFloor_returnLabel#2 havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true; 240313#angelinaCall_returnLabel#1 havoc angelinaCall_#t~ret37#1, angelinaCall_~tmp~6#1;assume { :end_inline_angelinaCall } true;assume { :begin_inline_threeTS } true;assume { :begin_inline_timeShift } true;havoc timeShift_#t~ret98#1, timeShift_#t~ret99#1, timeShift_#t~ret100#1, timeShift_#t~ret101#1, timeShift_#t~ret102#1, timeShift_#t~ret103#1, timeShift_#t~ret104#1, timeShift_#t~ret105#1, timeShift_#t~ret106#1, timeShift_#t~ret107#1, timeShift_#t~ret108#1, timeShift_~tmp~26#1, timeShift_~tmp___0~10#1, timeShift_~tmp___1~5#1, timeShift_~tmp___2~5#1, timeShift_~tmp___3~4#1, timeShift_~tmp___4~3#1, timeShift_~tmp___5~2#1, timeShift_~tmp___6~2#1, timeShift_~tmp___7~2#1, timeShift_~tmp___8~2#1, timeShift_~tmp___9~2#1;havoc timeShift_~tmp~26#1;havoc timeShift_~tmp___0~10#1;havoc timeShift_~tmp___1~5#1;havoc timeShift_~tmp___2~5#1;havoc timeShift_~tmp___3~4#1;havoc timeShift_~tmp___4~3#1;havoc timeShift_~tmp___5~2#1;havoc timeShift_~tmp___6~2#1;havoc timeShift_~tmp___7~2#1;havoc timeShift_~tmp___8~2#1;havoc timeShift_~tmp___9~2#1;assume { :begin_inline___utac_acc__Specification13_spec__1 } true;havoc __utac_acc__Specification13_spec__1_#t~ret27#1;assume { :begin_inline_getCurrentHeading } true;havoc getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~17#1;havoc getCurrentHeading_~retValue_acc~17#1;getCurrentHeading_~retValue_acc~17#1 := ~currentHeading~0;getCurrentHeading_#res#1 := getCurrentHeading_~retValue_acc~17#1; 243470#getCurrentHeading_returnLabel#1 __utac_acc__Specification13_spec__1_#t~ret27#1 := getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~17#1;assume { :end_inline_getCurrentHeading } true;~prevDir~0 := __utac_acc__Specification13_spec__1_#t~ret27#1;havoc __utac_acc__Specification13_spec__1_#t~ret27#1; 240641#__utac_acc__Specification13_spec__1_returnLabel#1 havoc __utac_acc__Specification13_spec__1_#t~ret27#1;assume { :end_inline___utac_acc__Specification13_spec__1 } true;assume { :begin_inline_stopRequestedAtCurrentFloor } true;havoc stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1, stopRequestedAtCurrentFloor_#t~ret83#1, stopRequestedAtCurrentFloor_#t~ret84#1, stopRequestedAtCurrentFloor_#t~ret85#1, stopRequestedAtCurrentFloor_~retValue_acc~27#1, stopRequestedAtCurrentFloor_~tmp~24#1, stopRequestedAtCurrentFloor_~tmp___0~8#1;havoc stopRequestedAtCurrentFloor_~retValue_acc~27#1;havoc stopRequestedAtCurrentFloor_~tmp~24#1;havoc stopRequestedAtCurrentFloor_~tmp___0~8#1;assume { :begin_inline_isExecutiveFloorCalling } true;havoc isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;havoc isExecutiveFloorCalling_~retValue_acc~30#1;assume { :begin_inline_isFloorCalling } true;isFloorCalling_#in~floorID#1 := ~executiveFloor~0;havoc isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;isFloorCalling_~floorID#1 := isFloorCalling_#in~floorID#1;havoc isFloorCalling_~retValue_acc~6#1; 240642#L728 assume 0 == isFloorCalling_~floorID#1;isFloorCalling_~retValue_acc~6#1 := ~calls_0~0;isFloorCalling_#res#1 := isFloorCalling_~retValue_acc~6#1; 242100#isFloorCalling_returnLabel#1 isExecutiveFloorCalling_#t~ret135#1 := isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;havoc isFloorCalling_#in~floorID#1;assume { :end_inline_isFloorCalling } true;isExecutiveFloorCalling_~retValue_acc~30#1 := isExecutiveFloorCalling_#t~ret135#1;havoc isExecutiveFloorCalling_#t~ret135#1;isExecutiveFloorCalling_#res#1 := isExecutiveFloorCalling_~retValue_acc~30#1; 243468#isExecutiveFloorCalling_returnLabel#1 stopRequestedAtCurrentFloor_#t~ret82#1 := isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;assume { :end_inline_isExecutiveFloorCalling } true;stopRequestedAtCurrentFloor_~tmp~24#1 := stopRequestedAtCurrentFloor_#t~ret82#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1; 241867#L2700 assume 0 != stopRequestedAtCurrentFloor_~tmp~24#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;havoc getCurrentFloorID_~retValue_acc~14#1;getCurrentFloorID_~retValue_acc~14#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~14#1; 240389#getCurrentFloorID_returnLabel#1 stopRequestedAtCurrentFloor_#t~ret83#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedAtCurrentFloor_~tmp___0~8#1 := stopRequestedAtCurrentFloor_#t~ret83#1;havoc stopRequestedAtCurrentFloor_#t~ret83#1; 239349#L2704 assume !(~executiveFloor~0 == stopRequestedAtCurrentFloor_~tmp___0~8#1);stopRequestedAtCurrentFloor_~retValue_acc~27#1 := 0;stopRequestedAtCurrentFloor_#res#1 := stopRequestedAtCurrentFloor_~retValue_acc~27#1; 234916#stopRequestedAtCurrentFloor_returnLabel#1 timeShift_#t~ret98#1 := stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1, stopRequestedAtCurrentFloor_#t~ret83#1, stopRequestedAtCurrentFloor_#t~ret84#1, stopRequestedAtCurrentFloor_#t~ret85#1, stopRequestedAtCurrentFloor_~retValue_acc~27#1, stopRequestedAtCurrentFloor_~tmp~24#1, stopRequestedAtCurrentFloor_~tmp___0~8#1;assume { :end_inline_stopRequestedAtCurrentFloor } true;timeShift_~tmp___9~2#1 := timeShift_#t~ret98#1;havoc timeShift_#t~ret98#1; 234917#L2853 assume !(0 != timeShift_~tmp___9~2#1); 235606#L2944 assume 1 == ~doorState~0;~doorState~0 := 0; 236240#L2944-2 assume { :begin_inline_stopRequestedInDirection } true;stopRequestedInDirection_#in~dir#1, stopRequestedInDirection_#in~respectFloorCalls#1, stopRequestedInDirection_#in~respectInLiftCalls#1 := ~currentHeading~0, 1, 1;havoc stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret73#1, stopRequestedInDirection_#t~ret74#1, stopRequestedInDirection_#t~ret75#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~23#1, stopRequestedInDirection_~tmp~20#1, stopRequestedInDirection_~tmp___0~5#1, stopRequestedInDirection_~__cil_tmp7~6#1, stopRequestedInDirection_~__cil_tmp8~7#1;stopRequestedInDirection_~dir#1 := stopRequestedInDirection_#in~dir#1;stopRequestedInDirection_~respectFloorCalls#1 := stopRequestedInDirection_#in~respectFloorCalls#1;stopRequestedInDirection_~respectInLiftCalls#1 := stopRequestedInDirection_#in~respectInLiftCalls#1;havoc stopRequestedInDirection_~retValue_acc~23#1;havoc stopRequestedInDirection_~tmp~20#1;havoc stopRequestedInDirection_~tmp___0~5#1;havoc stopRequestedInDirection_~__cil_tmp7~6#1;havoc stopRequestedInDirection_~__cil_tmp8~7#1;assume { :begin_inline_isExecutiveFloorCalling } true;havoc isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;havoc isExecutiveFloorCalling_~retValue_acc~30#1;assume { :begin_inline_isFloorCalling } true;isFloorCalling_#in~floorID#1 := ~executiveFloor~0;havoc isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;isFloorCalling_~floorID#1 := isFloorCalling_#in~floorID#1;havoc isFloorCalling_~retValue_acc~6#1; 236241#L728-3 assume 0 == isFloorCalling_~floorID#1;isFloorCalling_~retValue_acc~6#1 := ~calls_0~0;isFloorCalling_#res#1 := isFloorCalling_~retValue_acc~6#1; 236563#isFloorCalling_returnLabel#4 isExecutiveFloorCalling_#t~ret135#1 := isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;havoc isFloorCalling_#in~floorID#1;assume { :end_inline_isFloorCalling } true;isExecutiveFloorCalling_~retValue_acc~30#1 := isExecutiveFloorCalling_#t~ret135#1;havoc isExecutiveFloorCalling_#t~ret135#1;isExecutiveFloorCalling_#res#1 := isExecutiveFloorCalling_~retValue_acc~30#1; 239483#isExecutiveFloorCalling_returnLabel#2 stopRequestedInDirection_#t~ret73#1 := isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;assume { :end_inline_isExecutiveFloorCalling } true;stopRequestedInDirection_~tmp___0~5#1 := stopRequestedInDirection_#t~ret73#1;havoc stopRequestedInDirection_#t~ret73#1; 235227#L2555 assume 0 != stopRequestedInDirection_~tmp___0~5#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;havoc getCurrentFloorID_~retValue_acc~14#1;getCurrentFloorID_~retValue_acc~14#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~14#1; 235228#getCurrentFloorID_returnLabel#4 stopRequestedInDirection_#t~ret74#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedInDirection_~tmp~20#1 := stopRequestedInDirection_#t~ret74#1;havoc stopRequestedInDirection_#t~ret74#1;stopRequestedInDirection_~__cil_tmp7~6#1 := (if 1 == stopRequestedInDirection_~dir#1 then 1 else 0);stopRequestedInDirection_~__cil_tmp8~7#1 := (if stopRequestedInDirection_~tmp~20#1 < ~executiveFloor~0 then 1 else 0);stopRequestedInDirection_~retValue_acc~23#1 := (if stopRequestedInDirection_~__cil_tmp8~7#1 == stopRequestedInDirection_~__cil_tmp7~6#1 then 1 else 0);stopRequestedInDirection_#res#1 := stopRequestedInDirection_~retValue_acc~23#1; 237777#stopRequestedInDirection_returnLabel#1 timeShift_#t~ret105#1 := stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret73#1, stopRequestedInDirection_#t~ret74#1, stopRequestedInDirection_#t~ret75#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~23#1, stopRequestedInDirection_~tmp~20#1, stopRequestedInDirection_~tmp___0~5#1, stopRequestedInDirection_~__cil_tmp7~6#1, stopRequestedInDirection_~__cil_tmp8~7#1;havoc stopRequestedInDirection_#in~dir#1, stopRequestedInDirection_#in~respectFloorCalls#1, stopRequestedInDirection_#in~respectInLiftCalls#1;assume { :end_inline_stopRequestedInDirection } true;timeShift_~tmp___8~2#1 := timeShift_#t~ret105#1;havoc timeShift_#t~ret105#1; 234792#L2952 assume 0 != timeShift_~tmp___8~2#1;assume { :begin_inline_continueInDirection } true;continueInDirection_#in~dir#1 := ~currentHeading~0;havoc continueInDirection_#t~ret76#1, continueInDirection_~dir#1, continueInDirection_~tmp~21#1;continueInDirection_~dir#1 := continueInDirection_#in~dir#1;havoc continueInDirection_~tmp~21#1;~currentHeading~0 := continueInDirection_~dir#1; 234793#L2612 assume !(1 == ~currentHeading~0); 239260#L2622 assume !(0 == ~currentFloorID~0); 239261#L2622-2 assume !(1 == ~currentHeading~0);~currentFloorID~0 := ~currentFloorID~0 - 1; 239067#L2628-1 havoc continueInDirection_#t~ret76#1, continueInDirection_~dir#1, continueInDirection_~tmp~21#1;havoc continueInDirection_#in~dir#1;assume { :end_inline_continueInDirection } true; 234264#L2961-2 assume { :begin_inline___utac_acc__Specification13_spec__2 } true;havoc __utac_acc__Specification13_spec__2_#t~ret28#1, __utac_acc__Specification13_spec__2_#t~ret29#1, __utac_acc__Specification13_spec__2_#t~ret30#1, __utac_acc__Specification13_spec__2_#t~ret31#1, __utac_acc__Specification13_spec__2_#t~ret32#1, __utac_acc__Specification13_spec__2_#t~ret33#1, __utac_acc__Specification13_spec__2_~tmp~3#1, __utac_acc__Specification13_spec__2_~tmp___0~0#1, __utac_acc__Specification13_spec__2_~tmp___1~0#1, __utac_acc__Specification13_spec__2_~tmp___2~0#1, __utac_acc__Specification13_spec__2_~tmp___3~0#1, __utac_acc__Specification13_spec__2_~tmp___4~0#1, __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1, __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1;havoc __utac_acc__Specification13_spec__2_~tmp~3#1;havoc __utac_acc__Specification13_spec__2_~tmp___0~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___1~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___2~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___3~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___4~0#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1;__utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 := 2 * ~maximumWeight~0;__utac_acc__Specification13_spec__2_~__cil_tmp8~5#1 := (if __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 < 0 && 0 != __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 % 3 then 1 + __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 / 3 else __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 / 3); 234265#L454 assume ~weight~0 > __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1; 236554#L455 assume 1 == ~prevDir~0;assume { :begin_inline_existInLiftCallsInDirection } true;existInLiftCallsInDirection_#in~d#1 := 0;havoc existInLiftCallsInDirection_#res#1;havoc existInLiftCallsInDirection_~d#1, existInLiftCallsInDirection_~retValue_acc~29#1, existInLiftCallsInDirection_~i~1#1, existInLiftCallsInDirection_~i___0~0#1;existInLiftCallsInDirection_~d#1 := existInLiftCallsInDirection_#in~d#1;havoc existInLiftCallsInDirection_~retValue_acc~29#1;havoc existInLiftCallsInDirection_~i~1#1;havoc existInLiftCallsInDirection_~i___0~0#1; 236556#L3156 assume !(1 == existInLiftCallsInDirection_~d#1); 238484#L3222 assume 0 == existInLiftCallsInDirection_~d#1;existInLiftCallsInDirection_~i___0~0#1 := 0;existInLiftCallsInDirection_~i___0~0#1 := ~currentFloorID~0 - 1; 238016#L3226-2 [2024-10-12 00:47:31,768 INFO L747 eck$LassoCheckResult]: Loop: 238016#L3226-2 assume !false; 238817#L3227 assume existInLiftCallsInDirection_~i___0~0#1 >= 0; 238818#L3228 existInLiftCallsInDirection_~i___0~0#1 := 1 + ~currentFloorID~0; 234499#L3235-2 assume !false; 234500#L3236 assume !(existInLiftCallsInDirection_~i___0~0#1 < 5); 237899#L3294 existInLiftCallsInDirection_~i___0~0#1 := existInLiftCallsInDirection_~i___0~0#1 - 1; 238016#L3226-2 [2024-10-12 00:47:31,768 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-12 00:47:31,768 INFO L85 PathProgramCache]: Analyzing trace with hash -852779595, now seen corresponding path program 1 times [2024-10-12 00:47:31,769 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-12 00:47:31,769 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [699404711] [2024-10-12 00:47:31,769 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-12 00:47:31,769 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-12 00:47:31,792 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-12 00:47:31,875 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-10-12 00:47:31,876 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-10-12 00:47:31,876 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [699404711] [2024-10-12 00:47:31,876 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [699404711] provided 1 perfect and 0 imperfect interpolant sequences [2024-10-12 00:47:31,876 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-10-12 00:47:31,876 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2024-10-12 00:47:31,876 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [940284746] [2024-10-12 00:47:31,877 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-10-12 00:47:31,877 INFO L750 eck$LassoCheckResult]: stem already infeasible [2024-10-12 00:47:31,877 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-12 00:47:31,877 INFO L85 PathProgramCache]: Analyzing trace with hash 1717871275, now seen corresponding path program 7 times [2024-10-12 00:47:31,878 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-12 00:47:31,878 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [656678751] [2024-10-12 00:47:31,878 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-12 00:47:31,878 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-12 00:47:31,887 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-12 00:47:31,888 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-10-12 00:47:31,889 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-12 00:47:31,894 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-10-12 00:47:31,913 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-10-12 00:47:31,914 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2024-10-12 00:47:31,914 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2024-10-12 00:47:31,914 INFO L87 Difference]: Start difference. First operand 9733 states and 18067 transitions. cyclomatic complexity: 8369 Second operand has 5 states, 5 states have (on average 13.2) internal successors, (66), 5 states have internal predecessors, (66), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-10-12 00:47:32,133 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-10-12 00:47:32,133 INFO L93 Difference]: Finished difference Result 9727 states and 18054 transitions. [2024-10-12 00:47:32,133 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 9727 states and 18054 transitions. [2024-10-12 00:47:32,161 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 2435 [2024-10-12 00:47:32,181 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 9727 states to 9727 states and 18054 transitions. [2024-10-12 00:47:32,181 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 9689 [2024-10-12 00:47:32,189 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 9689 [2024-10-12 00:47:32,189 INFO L73 IsDeterministic]: Start isDeterministic. Operand 9727 states and 18054 transitions. [2024-10-12 00:47:32,204 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-10-12 00:47:32,205 INFO L218 hiAutomatonCegarLoop]: Abstraction has 9727 states and 18054 transitions. [2024-10-12 00:47:32,219 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 9727 states and 18054 transitions. [2024-10-12 00:47:32,320 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 9727 to 9727. [2024-10-12 00:47:32,336 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9727 states, 9727 states have (on average 1.8560707309550735) internal successors, (18054), 9726 states have internal predecessors, (18054), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-10-12 00:47:32,356 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9727 states to 9727 states and 18054 transitions. [2024-10-12 00:47:32,357 INFO L240 hiAutomatonCegarLoop]: Abstraction has 9727 states and 18054 transitions. [2024-10-12 00:47:32,357 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2024-10-12 00:47:32,358 INFO L425 stractBuchiCegarLoop]: Abstraction has 9727 states and 18054 transitions. [2024-10-12 00:47:32,358 INFO L332 stractBuchiCegarLoop]: ======== Iteration 10 ============ [2024-10-12 00:47:32,358 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 9727 states and 18054 transitions. [2024-10-12 00:47:32,385 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 2435 [2024-10-12 00:47:32,385 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-10-12 00:47:32,385 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-10-12 00:47:32,386 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-10-12 00:47:32,386 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1] [2024-10-12 00:47:32,386 INFO L745 eck$LassoCheckResult]: Stem: 261415#$Ultimate##0 assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int#0(48, 1, 0, 1);call write~init~int#0(0, 1, 1, 1);call #Ultimate.allocInit(32, 2);call #Ultimate.allocInit(12, 3);call #Ultimate.allocInit(30, 4);call #Ultimate.allocInit(9, 5);call #Ultimate.allocInit(21, 6);call #Ultimate.allocInit(30, 7);call #Ultimate.allocInit(9, 8);call #Ultimate.allocInit(21, 9);call #Ultimate.allocInit(30, 10);call #Ultimate.allocInit(9, 11);call #Ultimate.allocInit(25, 12);call #Ultimate.allocInit(30, 13);call #Ultimate.allocInit(9, 14);call #Ultimate.allocInit(25, 15);call #Ultimate.allocInit(10, 16);call #Ultimate.allocInit(4, 17);call write~init~int#5(91, 17, 0, 1);call write~init~int#5(95, 17, 1, 1);call write~init~int#5(93, 17, 2, 1);call write~init~int#5(0, 17, 3, 1);call #Ultimate.allocInit(4, 18);call write~init~int#6(91, 18, 0, 1);call write~init~int#6(93, 18, 1, 1);call write~init~int#6(32, 18, 2, 1);call write~init~int#6(0, 18, 3, 1);call #Ultimate.allocInit(5, 19);call write~init~int#7(32, 19, 0, 1);call write~init~int#7(97, 19, 1, 1);call write~init~int#7(116, 19, 2, 1);call write~init~int#7(32, 19, 3, 1);call write~init~int#7(0, 19, 4, 1);call #Ultimate.allocInit(3, 20);call write~init~int#8(37, 20, 0, 1);call write~init~int#8(105, 20, 1, 1);call write~init~int#8(0, 20, 2, 1);call #Ultimate.allocInit(10, 21);call #Ultimate.allocInit(3, 22);call write~init~int#9(117, 22, 0, 1);call write~init~int#9(112, 22, 1, 1);call write~init~int#9(0, 22, 2, 1);call #Ultimate.allocInit(5, 23);call write~init~int#10(100, 23, 0, 1);call write~init~int#10(111, 23, 1, 1);call write~init~int#10(119, 23, 2, 1);call write~init~int#10(110, 23, 3, 1);call write~init~int#10(0, 23, 4, 1);call #Ultimate.allocInit(7, 24);call write~init~int#11(32, 24, 0, 1);call write~init~int#11(73, 24, 1, 1);call write~init~int#11(76, 24, 2, 1);call write~init~int#11(95, 24, 3, 1);call write~init~int#11(112, 24, 4, 1);call write~init~int#11(58, 24, 5, 1);call write~init~int#11(0, 24, 6, 1);call #Ultimate.allocInit(4, 25);call write~init~int#12(32, 25, 0, 1);call write~init~int#12(37, 25, 1, 1);call write~init~int#12(105, 25, 2, 1);call write~init~int#12(0, 25, 3, 1);call #Ultimate.allocInit(4, 26);call write~init~int#13(32, 26, 0, 1);call write~init~int#13(37, 26, 1, 1);call write~init~int#13(105, 26, 2, 1);call write~init~int#13(0, 26, 3, 1);call #Ultimate.allocInit(4, 27);call write~init~int#14(32, 27, 0, 1);call write~init~int#14(37, 27, 1, 1);call write~init~int#14(105, 27, 2, 1);call write~init~int#14(0, 27, 3, 1);call #Ultimate.allocInit(4, 28);call write~init~int#15(32, 28, 0, 1);call write~init~int#15(37, 28, 1, 1);call write~init~int#15(105, 28, 2, 1);call write~init~int#15(0, 28, 3, 1);call #Ultimate.allocInit(4, 29);call write~init~int#16(32, 29, 0, 1);call write~init~int#16(37, 29, 1, 1);call write~init~int#16(105, 29, 2, 1);call write~init~int#16(0, 29, 3, 1);call #Ultimate.allocInit(6, 30);call write~init~int#17(32, 30, 0, 1);call write~init~int#17(70, 30, 1, 1);call write~init~int#17(95, 30, 2, 1);call write~init~int#17(112, 30, 3, 1);call write~init~int#17(58, 30, 4, 1);call write~init~int#17(0, 30, 5, 1);call #Ultimate.allocInit(4, 31);call write~init~int#18(32, 31, 0, 1);call write~init~int#18(37, 31, 1, 1);call write~init~int#18(105, 31, 2, 1);call write~init~int#18(0, 31, 3, 1);call #Ultimate.allocInit(4, 32);call write~init~int#19(32, 32, 0, 1);call write~init~int#19(37, 32, 1, 1);call write~init~int#19(105, 32, 2, 1);call write~init~int#19(0, 32, 3, 1);call #Ultimate.allocInit(4, 33);call write~init~int#1(32, 33, 0, 1);call write~init~int#1(37, 33, 1, 1);call write~init~int#1(105, 33, 2, 1);call write~init~int#1(0, 33, 3, 1);call #Ultimate.allocInit(4, 34);call write~init~int#2(32, 34, 0, 1);call write~init~int#2(37, 34, 1, 1);call write~init~int#2(105, 34, 2, 1);call write~init~int#2(0, 34, 3, 1);call #Ultimate.allocInit(4, 35);call write~init~int#3(32, 35, 0, 1);call write~init~int#3(37, 35, 1, 1);call write~init~int#3(105, 35, 2, 1);call write~init~int#3(0, 35, 3, 1);call #Ultimate.allocInit(2, 36);call write~init~int#4(10, 36, 0, 1);call write~init~int#4(0, 36, 1, 1);~head~0.base, ~head~0.offset := 0, 0;~weight~0 := 0;~maximumWeight~0 := 100;~executiveFloor~0 := 4;~prevDir~0 := 0;~calls_0~0 := 0;~calls_1~0 := 0;~calls_2~0 := 0;~calls_3~0 := 0;~calls_4~0 := 0;~personOnFloor_0_0~0 := 0;~personOnFloor_0_1~0 := 0;~personOnFloor_0_2~0 := 0;~personOnFloor_0_3~0 := 0;~personOnFloor_0_4~0 := 0;~personOnFloor_1_0~0 := 0;~personOnFloor_1_1~0 := 0;~personOnFloor_1_2~0 := 0;~personOnFloor_1_3~0 := 0;~personOnFloor_1_4~0 := 0;~personOnFloor_2_0~0 := 0;~personOnFloor_2_1~0 := 0;~personOnFloor_2_2~0 := 0;~personOnFloor_2_3~0 := 0;~personOnFloor_2_4~0 := 0;~personOnFloor_3_0~0 := 0;~personOnFloor_3_1~0 := 0;~personOnFloor_3_2~0 := 0;~personOnFloor_3_3~0 := 0;~personOnFloor_3_4~0 := 0;~personOnFloor_4_0~0 := 0;~personOnFloor_4_1~0 := 0;~personOnFloor_4_2~0 := 0;~personOnFloor_4_3~0 := 0;~personOnFloor_4_4~0 := 0;~personOnFloor_5_0~0 := 0;~personOnFloor_5_1~0 := 0;~personOnFloor_5_2~0 := 0;~personOnFloor_5_3~0 := 0;~personOnFloor_5_4~0 := 0;~cleanupTimeShifts~0 := 12;~currentHeading~0 := 1;~currentFloorID~0 := 0;~persons_0~0 := 0;~persons_1~0 := 0;~persons_2~0 := 0;~persons_3~0 := 0;~persons_4~0 := 0;~persons_5~0 := 0;~doorState~0 := 1;~floorButtons_0~0 := 0;~floorButtons_1~0 := 0;~floorButtons_2~0 := 0;~floorButtons_3~0 := 0;~floorButtons_4~0 := 0; 261158#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret47#1, main_~retValue_acc~10#1, main_~tmp~12#1;havoc main_~retValue_acc~10#1;havoc main_~tmp~12#1;assume { :begin_inline_select_helpers } true; 261159#select_helpers_returnLabel#1 assume { :end_inline_select_helpers } true;assume { :begin_inline_select_features } true; 263113#select_features_returnLabel#1 assume { :end_inline_select_features } true;assume { :begin_inline_valid_product } true;havoc valid_product_#res#1;havoc valid_product_~retValue_acc~12#1;havoc valid_product_~retValue_acc~12#1;valid_product_~retValue_acc~12#1 := 1;valid_product_#res#1 := valid_product_~retValue_acc~12#1; 255269#valid_product_returnLabel#1 main_#t~ret47#1 := valid_product_#res#1;havoc valid_product_~retValue_acc~12#1;assume { :end_inline_valid_product } true;main_~tmp~12#1 := main_#t~ret47#1;havoc main_#t~ret47#1; 255270#L1651 assume 0 != main_~tmp~12#1;assume { :begin_inline_setup } true; 257029#setup_returnLabel#1 assume { :end_inline_setup } true;assume { :begin_inline_runTest } true;assume { :begin_inline_test } true;assume { :begin_inline_aliceCall } true;havoc aliceCall_#t~ret36#1, aliceCall_~tmp~5#1;havoc aliceCall_~tmp~5#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 1;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~4#1; 257030#L564 assume !(0 == getOrigin_~person#1); 255659#L568 assume 1 == getOrigin_~person#1;getOrigin_~retValue_acc~4#1 := 3;getOrigin_#res#1 := getOrigin_~retValue_acc~4#1; 255660#getOrigin_returnLabel#1 aliceCall_#t~ret36#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;aliceCall_~tmp~5#1 := aliceCall_#t~ret36#1;havoc aliceCall_#t~ret36#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 1, aliceCall_~tmp~5#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 256272#L999 assume !(0 == initPersonOnFloor_~floor#1); 256273#L1026 assume !(1 == initPersonOnFloor_~floor#1); 262176#L1053 assume !(2 == initPersonOnFloor_~floor#1); 262670#L1080 assume 3 == initPersonOnFloor_~floor#1; 259843#L1081 assume !(0 == initPersonOnFloor_~person#1); 259844#L1084 assume 1 == initPersonOnFloor_~person#1;~personOnFloor_1_3~0 := 1; 257648#L1107-1 assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 254522#L791 assume !(0 == callOnFloor_~floorID#1); 254371#L794 assume !(1 == callOnFloor_~floorID#1); 254324#L797 assume !(2 == callOnFloor_~floorID#1); 254325#L800 assume 3 == callOnFloor_~floorID#1;~calls_3~0 := 1; 256307#L803-2 havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true; 255911#initPersonOnFloor_returnLabel#1 havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true; 255912#aliceCall_returnLabel#1 havoc aliceCall_#t~ret36#1, aliceCall_~tmp~5#1;assume { :end_inline_aliceCall } true;assume { :begin_inline_angelinaCall } true;havoc angelinaCall_#t~ret37#1, angelinaCall_~tmp~6#1;havoc angelinaCall_~tmp~6#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 2;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~4#1; 261459#L564-1 assume !(0 == getOrigin_~person#1); 256774#L568-1 assume !(1 == getOrigin_~person#1); 256775#L572-1 assume 2 == getOrigin_~person#1;getOrigin_~retValue_acc~4#1 := 2;getOrigin_#res#1 := getOrigin_~retValue_acc~4#1; 254649#getOrigin_returnLabel#2 angelinaCall_#t~ret37#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;angelinaCall_~tmp~6#1 := angelinaCall_#t~ret37#1;havoc angelinaCall_#t~ret37#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 2, angelinaCall_~tmp~6#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 254650#L999-1 assume !(0 == initPersonOnFloor_~floor#1); 260278#L1026-1 assume !(1 == initPersonOnFloor_~floor#1); 261651#L1053-1 assume 2 == initPersonOnFloor_~floor#1; 261652#L1054-2 assume !(0 == initPersonOnFloor_~person#1); 262293#L1057-2 assume 1 == initPersonOnFloor_~person#1;~personOnFloor_1_2~0 := 1; 260544#L1107-3 assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 263416#L791-2 assume !(0 == callOnFloor_~floorID#1); 263415#L794-2 assume !(1 == callOnFloor_~floorID#1); 263414#L797-2 assume 2 == callOnFloor_~floorID#1;~calls_2~0 := 1; 255890#L803-5 havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true; 259774#initPersonOnFloor_returnLabel#2 havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true; 259775#angelinaCall_returnLabel#1 havoc angelinaCall_#t~ret37#1, angelinaCall_~tmp~6#1;assume { :end_inline_angelinaCall } true;assume { :begin_inline_threeTS } true;assume { :begin_inline_timeShift } true;havoc timeShift_#t~ret98#1, timeShift_#t~ret99#1, timeShift_#t~ret100#1, timeShift_#t~ret101#1, timeShift_#t~ret102#1, timeShift_#t~ret103#1, timeShift_#t~ret104#1, timeShift_#t~ret105#1, timeShift_#t~ret106#1, timeShift_#t~ret107#1, timeShift_#t~ret108#1, timeShift_~tmp~26#1, timeShift_~tmp___0~10#1, timeShift_~tmp___1~5#1, timeShift_~tmp___2~5#1, timeShift_~tmp___3~4#1, timeShift_~tmp___4~3#1, timeShift_~tmp___5~2#1, timeShift_~tmp___6~2#1, timeShift_~tmp___7~2#1, timeShift_~tmp___8~2#1, timeShift_~tmp___9~2#1;havoc timeShift_~tmp~26#1;havoc timeShift_~tmp___0~10#1;havoc timeShift_~tmp___1~5#1;havoc timeShift_~tmp___2~5#1;havoc timeShift_~tmp___3~4#1;havoc timeShift_~tmp___4~3#1;havoc timeShift_~tmp___5~2#1;havoc timeShift_~tmp___6~2#1;havoc timeShift_~tmp___7~2#1;havoc timeShift_~tmp___8~2#1;havoc timeShift_~tmp___9~2#1;assume { :begin_inline___utac_acc__Specification13_spec__1 } true;havoc __utac_acc__Specification13_spec__1_#t~ret27#1;assume { :begin_inline_getCurrentHeading } true;havoc getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~17#1;havoc getCurrentHeading_~retValue_acc~17#1;getCurrentHeading_~retValue_acc~17#1 := ~currentHeading~0;getCurrentHeading_#res#1 := getCurrentHeading_~retValue_acc~17#1; 262932#getCurrentHeading_returnLabel#1 __utac_acc__Specification13_spec__1_#t~ret27#1 := getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~17#1;assume { :end_inline_getCurrentHeading } true;~prevDir~0 := __utac_acc__Specification13_spec__1_#t~ret27#1;havoc __utac_acc__Specification13_spec__1_#t~ret27#1; 260104#__utac_acc__Specification13_spec__1_returnLabel#1 havoc __utac_acc__Specification13_spec__1_#t~ret27#1;assume { :end_inline___utac_acc__Specification13_spec__1 } true;assume { :begin_inline_stopRequestedAtCurrentFloor } true;havoc stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1, stopRequestedAtCurrentFloor_#t~ret83#1, stopRequestedAtCurrentFloor_#t~ret84#1, stopRequestedAtCurrentFloor_#t~ret85#1, stopRequestedAtCurrentFloor_~retValue_acc~27#1, stopRequestedAtCurrentFloor_~tmp~24#1, stopRequestedAtCurrentFloor_~tmp___0~8#1;havoc stopRequestedAtCurrentFloor_~retValue_acc~27#1;havoc stopRequestedAtCurrentFloor_~tmp~24#1;havoc stopRequestedAtCurrentFloor_~tmp___0~8#1;assume { :begin_inline_isExecutiveFloorCalling } true;havoc isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;havoc isExecutiveFloorCalling_~retValue_acc~30#1;assume { :begin_inline_isFloorCalling } true;isFloorCalling_#in~floorID#1 := ~executiveFloor~0;havoc isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;isFloorCalling_~floorID#1 := isFloorCalling_#in~floorID#1;havoc isFloorCalling_~retValue_acc~6#1; 260105#L728 assume 0 == isFloorCalling_~floorID#1;isFloorCalling_~retValue_acc~6#1 := ~calls_0~0;isFloorCalling_#res#1 := isFloorCalling_~retValue_acc~6#1; 261563#isFloorCalling_returnLabel#1 isExecutiveFloorCalling_#t~ret135#1 := isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;havoc isFloorCalling_#in~floorID#1;assume { :end_inline_isFloorCalling } true;isExecutiveFloorCalling_~retValue_acc~30#1 := isExecutiveFloorCalling_#t~ret135#1;havoc isExecutiveFloorCalling_#t~ret135#1;isExecutiveFloorCalling_#res#1 := isExecutiveFloorCalling_~retValue_acc~30#1; 262930#isExecutiveFloorCalling_returnLabel#1 stopRequestedAtCurrentFloor_#t~ret82#1 := isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;assume { :end_inline_isExecutiveFloorCalling } true;stopRequestedAtCurrentFloor_~tmp~24#1 := stopRequestedAtCurrentFloor_#t~ret82#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1; 261329#L2700 assume 0 != stopRequestedAtCurrentFloor_~tmp~24#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;havoc getCurrentFloorID_~retValue_acc~14#1;getCurrentFloorID_~retValue_acc~14#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~14#1; 259851#getCurrentFloorID_returnLabel#1 stopRequestedAtCurrentFloor_#t~ret83#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedAtCurrentFloor_~tmp___0~8#1 := stopRequestedAtCurrentFloor_#t~ret83#1;havoc stopRequestedAtCurrentFloor_#t~ret83#1; 258811#L2704 assume !(~executiveFloor~0 == stopRequestedAtCurrentFloor_~tmp___0~8#1);stopRequestedAtCurrentFloor_~retValue_acc~27#1 := 0;stopRequestedAtCurrentFloor_#res#1 := stopRequestedAtCurrentFloor_~retValue_acc~27#1; 254387#stopRequestedAtCurrentFloor_returnLabel#1 timeShift_#t~ret98#1 := stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1, stopRequestedAtCurrentFloor_#t~ret83#1, stopRequestedAtCurrentFloor_#t~ret84#1, stopRequestedAtCurrentFloor_#t~ret85#1, stopRequestedAtCurrentFloor_~retValue_acc~27#1, stopRequestedAtCurrentFloor_~tmp~24#1, stopRequestedAtCurrentFloor_~tmp___0~8#1;assume { :end_inline_stopRequestedAtCurrentFloor } true;timeShift_~tmp___9~2#1 := timeShift_#t~ret98#1;havoc timeShift_#t~ret98#1; 254388#L2853 assume !(0 != timeShift_~tmp___9~2#1); 255074#L2944 assume 1 == ~doorState~0;~doorState~0 := 0; 255704#L2944-2 assume { :begin_inline_stopRequestedInDirection } true;stopRequestedInDirection_#in~dir#1, stopRequestedInDirection_#in~respectFloorCalls#1, stopRequestedInDirection_#in~respectInLiftCalls#1 := ~currentHeading~0, 1, 1;havoc stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret73#1, stopRequestedInDirection_#t~ret74#1, stopRequestedInDirection_#t~ret75#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~23#1, stopRequestedInDirection_~tmp~20#1, stopRequestedInDirection_~tmp___0~5#1, stopRequestedInDirection_~__cil_tmp7~6#1, stopRequestedInDirection_~__cil_tmp8~7#1;stopRequestedInDirection_~dir#1 := stopRequestedInDirection_#in~dir#1;stopRequestedInDirection_~respectFloorCalls#1 := stopRequestedInDirection_#in~respectFloorCalls#1;stopRequestedInDirection_~respectInLiftCalls#1 := stopRequestedInDirection_#in~respectInLiftCalls#1;havoc stopRequestedInDirection_~retValue_acc~23#1;havoc stopRequestedInDirection_~tmp~20#1;havoc stopRequestedInDirection_~tmp___0~5#1;havoc stopRequestedInDirection_~__cil_tmp7~6#1;havoc stopRequestedInDirection_~__cil_tmp8~7#1;assume { :begin_inline_isExecutiveFloorCalling } true;havoc isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;havoc isExecutiveFloorCalling_~retValue_acc~30#1;assume { :begin_inline_isFloorCalling } true;isFloorCalling_#in~floorID#1 := ~executiveFloor~0;havoc isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;isFloorCalling_~floorID#1 := isFloorCalling_#in~floorID#1;havoc isFloorCalling_~retValue_acc~6#1; 255705#L728-3 assume 0 == isFloorCalling_~floorID#1;isFloorCalling_~retValue_acc~6#1 := ~calls_0~0;isFloorCalling_#res#1 := isFloorCalling_~retValue_acc~6#1; 256028#isFloorCalling_returnLabel#4 isExecutiveFloorCalling_#t~ret135#1 := isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;havoc isFloorCalling_#in~floorID#1;assume { :end_inline_isFloorCalling } true;isExecutiveFloorCalling_~retValue_acc~30#1 := isExecutiveFloorCalling_#t~ret135#1;havoc isExecutiveFloorCalling_#t~ret135#1;isExecutiveFloorCalling_#res#1 := isExecutiveFloorCalling_~retValue_acc~30#1; 258945#isExecutiveFloorCalling_returnLabel#2 stopRequestedInDirection_#t~ret73#1 := isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;assume { :end_inline_isExecutiveFloorCalling } true;stopRequestedInDirection_~tmp___0~5#1 := stopRequestedInDirection_#t~ret73#1;havoc stopRequestedInDirection_#t~ret73#1; 254695#L2555 assume 0 != stopRequestedInDirection_~tmp___0~5#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;havoc getCurrentFloorID_~retValue_acc~14#1;getCurrentFloorID_~retValue_acc~14#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~14#1; 254696#getCurrentFloorID_returnLabel#4 stopRequestedInDirection_#t~ret74#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedInDirection_~tmp~20#1 := stopRequestedInDirection_#t~ret74#1;havoc stopRequestedInDirection_#t~ret74#1;stopRequestedInDirection_~__cil_tmp7~6#1 := (if 1 == stopRequestedInDirection_~dir#1 then 1 else 0);stopRequestedInDirection_~__cil_tmp8~7#1 := (if stopRequestedInDirection_~tmp~20#1 < ~executiveFloor~0 then 1 else 0);stopRequestedInDirection_~retValue_acc~23#1 := (if stopRequestedInDirection_~__cil_tmp8~7#1 == stopRequestedInDirection_~__cil_tmp7~6#1 then 1 else 0);stopRequestedInDirection_#res#1 := stopRequestedInDirection_~retValue_acc~23#1; 257239#stopRequestedInDirection_returnLabel#1 timeShift_#t~ret105#1 := stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret73#1, stopRequestedInDirection_#t~ret74#1, stopRequestedInDirection_#t~ret75#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~23#1, stopRequestedInDirection_~tmp~20#1, stopRequestedInDirection_~tmp___0~5#1, stopRequestedInDirection_~__cil_tmp7~6#1, stopRequestedInDirection_~__cil_tmp8~7#1;havoc stopRequestedInDirection_#in~dir#1, stopRequestedInDirection_#in~respectFloorCalls#1, stopRequestedInDirection_#in~respectInLiftCalls#1;assume { :end_inline_stopRequestedInDirection } true;timeShift_~tmp___8~2#1 := timeShift_#t~ret105#1;havoc timeShift_#t~ret105#1; 254266#L2952 assume 0 != timeShift_~tmp___8~2#1;assume { :begin_inline_continueInDirection } true;continueInDirection_#in~dir#1 := ~currentHeading~0;havoc continueInDirection_#t~ret76#1, continueInDirection_~dir#1, continueInDirection_~tmp~21#1;continueInDirection_~dir#1 := continueInDirection_#in~dir#1;havoc continueInDirection_~tmp~21#1;~currentHeading~0 := continueInDirection_~dir#1; 254267#L2612 assume !(1 == ~currentHeading~0); 258722#L2622 assume !(0 == ~currentFloorID~0); 258723#L2622-2 assume !(1 == ~currentHeading~0);~currentFloorID~0 := ~currentFloorID~0 - 1; 258529#L2628-1 havoc continueInDirection_#t~ret76#1, continueInDirection_~dir#1, continueInDirection_~tmp~21#1;havoc continueInDirection_#in~dir#1;assume { :end_inline_continueInDirection } true; 253732#L2961-2 assume { :begin_inline___utac_acc__Specification13_spec__2 } true;havoc __utac_acc__Specification13_spec__2_#t~ret28#1, __utac_acc__Specification13_spec__2_#t~ret29#1, __utac_acc__Specification13_spec__2_#t~ret30#1, __utac_acc__Specification13_spec__2_#t~ret31#1, __utac_acc__Specification13_spec__2_#t~ret32#1, __utac_acc__Specification13_spec__2_#t~ret33#1, __utac_acc__Specification13_spec__2_~tmp~3#1, __utac_acc__Specification13_spec__2_~tmp___0~0#1, __utac_acc__Specification13_spec__2_~tmp___1~0#1, __utac_acc__Specification13_spec__2_~tmp___2~0#1, __utac_acc__Specification13_spec__2_~tmp___3~0#1, __utac_acc__Specification13_spec__2_~tmp___4~0#1, __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1, __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1;havoc __utac_acc__Specification13_spec__2_~tmp~3#1;havoc __utac_acc__Specification13_spec__2_~tmp___0~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___1~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___2~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___3~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___4~0#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1;__utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 := 2 * ~maximumWeight~0;__utac_acc__Specification13_spec__2_~__cil_tmp8~5#1 := (if __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 < 0 && 0 != __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 % 3 then 1 + __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 / 3 else __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 / 3); 253733#L454 assume ~weight~0 > __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1; 256016#L455 assume 1 == ~prevDir~0;assume { :begin_inline_existInLiftCallsInDirection } true;existInLiftCallsInDirection_#in~d#1 := 0;havoc existInLiftCallsInDirection_#res#1;havoc existInLiftCallsInDirection_~d#1, existInLiftCallsInDirection_~retValue_acc~29#1, existInLiftCallsInDirection_~i~1#1, existInLiftCallsInDirection_~i___0~0#1;existInLiftCallsInDirection_~d#1 := existInLiftCallsInDirection_#in~d#1;havoc existInLiftCallsInDirection_~retValue_acc~29#1;havoc existInLiftCallsInDirection_~i~1#1;havoc existInLiftCallsInDirection_~i___0~0#1; 256018#L3156 assume !(1 == existInLiftCallsInDirection_~d#1); 257946#L3222 assume 0 == existInLiftCallsInDirection_~d#1;existInLiftCallsInDirection_~i___0~0#1 := 0;existInLiftCallsInDirection_~i___0~0#1 := ~currentFloorID~0 - 1; 257478#L3226-2 [2024-10-12 00:47:32,387 INFO L747 eck$LassoCheckResult]: Loop: 257478#L3226-2 assume !false; 258279#L3227 assume existInLiftCallsInDirection_~i___0~0#1 >= 0; 258280#L3228 existInLiftCallsInDirection_~i___0~0#1 := 1 + ~currentFloorID~0; 253967#L3235-2 assume !false; 253968#L3236 assume !(existInLiftCallsInDirection_~i___0~0#1 < 5); 257361#L3294 existInLiftCallsInDirection_~i___0~0#1 := existInLiftCallsInDirection_~i___0~0#1 - 1; 257478#L3226-2 [2024-10-12 00:47:32,387 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-12 00:47:32,387 INFO L85 PathProgramCache]: Analyzing trace with hash -1018003050, now seen corresponding path program 1 times [2024-10-12 00:47:32,387 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-12 00:47:32,387 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [348769738] [2024-10-12 00:47:32,388 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-12 00:47:32,388 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-12 00:47:32,409 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-12 00:47:32,471 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-10-12 00:47:32,471 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-10-12 00:47:32,471 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [348769738] [2024-10-12 00:47:32,472 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [348769738] provided 1 perfect and 0 imperfect interpolant sequences [2024-10-12 00:47:32,472 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-10-12 00:47:32,472 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2024-10-12 00:47:32,472 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [704062616] [2024-10-12 00:47:32,472 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-10-12 00:47:32,473 INFO L750 eck$LassoCheckResult]: stem already infeasible [2024-10-12 00:47:32,473 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-12 00:47:32,474 INFO L85 PathProgramCache]: Analyzing trace with hash 1717871275, now seen corresponding path program 8 times [2024-10-12 00:47:32,474 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-12 00:47:32,474 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1002117157] [2024-10-12 00:47:32,474 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-12 00:47:32,474 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-12 00:47:32,483 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-12 00:47:32,483 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-10-12 00:47:32,484 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-12 00:47:32,489 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-10-12 00:47:32,509 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-10-12 00:47:32,509 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2024-10-12 00:47:32,509 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2024-10-12 00:47:32,510 INFO L87 Difference]: Start difference. First operand 9727 states and 18054 transitions. cyclomatic complexity: 8362 Second operand has 4 states, 4 states have (on average 17.0) internal successors, (68), 4 states have internal predecessors, (68), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-10-12 00:47:32,810 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-10-12 00:47:32,810 INFO L93 Difference]: Finished difference Result 9743 states and 18066 transitions. [2024-10-12 00:47:32,811 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 9743 states and 18066 transitions. [2024-10-12 00:47:32,839 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 2435 [2024-10-12 00:47:32,857 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 9743 states to 9743 states and 18066 transitions. [2024-10-12 00:47:32,858 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 9705 [2024-10-12 00:47:32,863 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 9705 [2024-10-12 00:47:32,863 INFO L73 IsDeterministic]: Start isDeterministic. Operand 9743 states and 18066 transitions. [2024-10-12 00:47:32,864 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-10-12 00:47:32,864 INFO L218 hiAutomatonCegarLoop]: Abstraction has 9743 states and 18066 transitions. [2024-10-12 00:47:32,875 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 9743 states and 18066 transitions. [2024-10-12 00:47:32,966 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 9743 to 9727. [2024-10-12 00:47:32,980 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9727 states, 9727 states have (on average 1.8552482779891024) internal successors, (18046), 9726 states have internal predecessors, (18046), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-10-12 00:47:33,002 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9727 states to 9727 states and 18046 transitions. [2024-10-12 00:47:33,003 INFO L240 hiAutomatonCegarLoop]: Abstraction has 9727 states and 18046 transitions. [2024-10-12 00:47:33,003 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2024-10-12 00:47:33,005 INFO L425 stractBuchiCegarLoop]: Abstraction has 9727 states and 18046 transitions. [2024-10-12 00:47:33,006 INFO L332 stractBuchiCegarLoop]: ======== Iteration 11 ============ [2024-10-12 00:47:33,006 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 9727 states and 18046 transitions. [2024-10-12 00:47:33,038 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 2435 [2024-10-12 00:47:33,038 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-10-12 00:47:33,038 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-10-12 00:47:33,039 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-10-12 00:47:33,039 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1] [2024-10-12 00:47:33,039 INFO L745 eck$LassoCheckResult]: Stem: 280891#$Ultimate##0 assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int#0(48, 1, 0, 1);call write~init~int#0(0, 1, 1, 1);call #Ultimate.allocInit(32, 2);call #Ultimate.allocInit(12, 3);call #Ultimate.allocInit(30, 4);call #Ultimate.allocInit(9, 5);call #Ultimate.allocInit(21, 6);call #Ultimate.allocInit(30, 7);call #Ultimate.allocInit(9, 8);call #Ultimate.allocInit(21, 9);call #Ultimate.allocInit(30, 10);call #Ultimate.allocInit(9, 11);call #Ultimate.allocInit(25, 12);call #Ultimate.allocInit(30, 13);call #Ultimate.allocInit(9, 14);call #Ultimate.allocInit(25, 15);call #Ultimate.allocInit(10, 16);call #Ultimate.allocInit(4, 17);call write~init~int#5(91, 17, 0, 1);call write~init~int#5(95, 17, 1, 1);call write~init~int#5(93, 17, 2, 1);call write~init~int#5(0, 17, 3, 1);call #Ultimate.allocInit(4, 18);call write~init~int#6(91, 18, 0, 1);call write~init~int#6(93, 18, 1, 1);call write~init~int#6(32, 18, 2, 1);call write~init~int#6(0, 18, 3, 1);call #Ultimate.allocInit(5, 19);call write~init~int#7(32, 19, 0, 1);call write~init~int#7(97, 19, 1, 1);call write~init~int#7(116, 19, 2, 1);call write~init~int#7(32, 19, 3, 1);call write~init~int#7(0, 19, 4, 1);call #Ultimate.allocInit(3, 20);call write~init~int#8(37, 20, 0, 1);call write~init~int#8(105, 20, 1, 1);call write~init~int#8(0, 20, 2, 1);call #Ultimate.allocInit(10, 21);call #Ultimate.allocInit(3, 22);call write~init~int#9(117, 22, 0, 1);call write~init~int#9(112, 22, 1, 1);call write~init~int#9(0, 22, 2, 1);call #Ultimate.allocInit(5, 23);call write~init~int#10(100, 23, 0, 1);call write~init~int#10(111, 23, 1, 1);call write~init~int#10(119, 23, 2, 1);call write~init~int#10(110, 23, 3, 1);call write~init~int#10(0, 23, 4, 1);call #Ultimate.allocInit(7, 24);call write~init~int#11(32, 24, 0, 1);call write~init~int#11(73, 24, 1, 1);call write~init~int#11(76, 24, 2, 1);call write~init~int#11(95, 24, 3, 1);call write~init~int#11(112, 24, 4, 1);call write~init~int#11(58, 24, 5, 1);call write~init~int#11(0, 24, 6, 1);call #Ultimate.allocInit(4, 25);call write~init~int#12(32, 25, 0, 1);call write~init~int#12(37, 25, 1, 1);call write~init~int#12(105, 25, 2, 1);call write~init~int#12(0, 25, 3, 1);call #Ultimate.allocInit(4, 26);call write~init~int#13(32, 26, 0, 1);call write~init~int#13(37, 26, 1, 1);call write~init~int#13(105, 26, 2, 1);call write~init~int#13(0, 26, 3, 1);call #Ultimate.allocInit(4, 27);call write~init~int#14(32, 27, 0, 1);call write~init~int#14(37, 27, 1, 1);call write~init~int#14(105, 27, 2, 1);call write~init~int#14(0, 27, 3, 1);call #Ultimate.allocInit(4, 28);call write~init~int#15(32, 28, 0, 1);call write~init~int#15(37, 28, 1, 1);call write~init~int#15(105, 28, 2, 1);call write~init~int#15(0, 28, 3, 1);call #Ultimate.allocInit(4, 29);call write~init~int#16(32, 29, 0, 1);call write~init~int#16(37, 29, 1, 1);call write~init~int#16(105, 29, 2, 1);call write~init~int#16(0, 29, 3, 1);call #Ultimate.allocInit(6, 30);call write~init~int#17(32, 30, 0, 1);call write~init~int#17(70, 30, 1, 1);call write~init~int#17(95, 30, 2, 1);call write~init~int#17(112, 30, 3, 1);call write~init~int#17(58, 30, 4, 1);call write~init~int#17(0, 30, 5, 1);call #Ultimate.allocInit(4, 31);call write~init~int#18(32, 31, 0, 1);call write~init~int#18(37, 31, 1, 1);call write~init~int#18(105, 31, 2, 1);call write~init~int#18(0, 31, 3, 1);call #Ultimate.allocInit(4, 32);call write~init~int#19(32, 32, 0, 1);call write~init~int#19(37, 32, 1, 1);call write~init~int#19(105, 32, 2, 1);call write~init~int#19(0, 32, 3, 1);call #Ultimate.allocInit(4, 33);call write~init~int#1(32, 33, 0, 1);call write~init~int#1(37, 33, 1, 1);call write~init~int#1(105, 33, 2, 1);call write~init~int#1(0, 33, 3, 1);call #Ultimate.allocInit(4, 34);call write~init~int#2(32, 34, 0, 1);call write~init~int#2(37, 34, 1, 1);call write~init~int#2(105, 34, 2, 1);call write~init~int#2(0, 34, 3, 1);call #Ultimate.allocInit(4, 35);call write~init~int#3(32, 35, 0, 1);call write~init~int#3(37, 35, 1, 1);call write~init~int#3(105, 35, 2, 1);call write~init~int#3(0, 35, 3, 1);call #Ultimate.allocInit(2, 36);call write~init~int#4(10, 36, 0, 1);call write~init~int#4(0, 36, 1, 1);~head~0.base, ~head~0.offset := 0, 0;~weight~0 := 0;~maximumWeight~0 := 100;~executiveFloor~0 := 4;~prevDir~0 := 0;~calls_0~0 := 0;~calls_1~0 := 0;~calls_2~0 := 0;~calls_3~0 := 0;~calls_4~0 := 0;~personOnFloor_0_0~0 := 0;~personOnFloor_0_1~0 := 0;~personOnFloor_0_2~0 := 0;~personOnFloor_0_3~0 := 0;~personOnFloor_0_4~0 := 0;~personOnFloor_1_0~0 := 0;~personOnFloor_1_1~0 := 0;~personOnFloor_1_2~0 := 0;~personOnFloor_1_3~0 := 0;~personOnFloor_1_4~0 := 0;~personOnFloor_2_0~0 := 0;~personOnFloor_2_1~0 := 0;~personOnFloor_2_2~0 := 0;~personOnFloor_2_3~0 := 0;~personOnFloor_2_4~0 := 0;~personOnFloor_3_0~0 := 0;~personOnFloor_3_1~0 := 0;~personOnFloor_3_2~0 := 0;~personOnFloor_3_3~0 := 0;~personOnFloor_3_4~0 := 0;~personOnFloor_4_0~0 := 0;~personOnFloor_4_1~0 := 0;~personOnFloor_4_2~0 := 0;~personOnFloor_4_3~0 := 0;~personOnFloor_4_4~0 := 0;~personOnFloor_5_0~0 := 0;~personOnFloor_5_1~0 := 0;~personOnFloor_5_2~0 := 0;~personOnFloor_5_3~0 := 0;~personOnFloor_5_4~0 := 0;~cleanupTimeShifts~0 := 12;~currentHeading~0 := 1;~currentFloorID~0 := 0;~persons_0~0 := 0;~persons_1~0 := 0;~persons_2~0 := 0;~persons_3~0 := 0;~persons_4~0 := 0;~persons_5~0 := 0;~doorState~0 := 1;~floorButtons_0~0 := 0;~floorButtons_1~0 := 0;~floorButtons_2~0 := 0;~floorButtons_3~0 := 0;~floorButtons_4~0 := 0; 280635#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret47#1, main_~retValue_acc~10#1, main_~tmp~12#1;havoc main_~retValue_acc~10#1;havoc main_~tmp~12#1;assume { :begin_inline_select_helpers } true; 280636#select_helpers_returnLabel#1 assume { :end_inline_select_helpers } true;assume { :begin_inline_select_features } true; 282590#select_features_returnLabel#1 assume { :end_inline_select_features } true;assume { :begin_inline_valid_product } true;havoc valid_product_#res#1;havoc valid_product_~retValue_acc~12#1;havoc valid_product_~retValue_acc~12#1;valid_product_~retValue_acc~12#1 := 1;valid_product_#res#1 := valid_product_~retValue_acc~12#1; 274744#valid_product_returnLabel#1 main_#t~ret47#1 := valid_product_#res#1;havoc valid_product_~retValue_acc~12#1;assume { :end_inline_valid_product } true;main_~tmp~12#1 := main_#t~ret47#1;havoc main_#t~ret47#1; 274745#L1651 assume 0 != main_~tmp~12#1;assume { :begin_inline_setup } true; 276504#setup_returnLabel#1 assume { :end_inline_setup } true;assume { :begin_inline_runTest } true;assume { :begin_inline_test } true;assume { :begin_inline_aliceCall } true;havoc aliceCall_#t~ret36#1, aliceCall_~tmp~5#1;havoc aliceCall_~tmp~5#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 1;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~4#1; 276505#L564 assume !(0 == getOrigin_~person#1); 275134#L568 assume 1 == getOrigin_~person#1;getOrigin_~retValue_acc~4#1 := 3;getOrigin_#res#1 := getOrigin_~retValue_acc~4#1; 275135#getOrigin_returnLabel#1 aliceCall_#t~ret36#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;aliceCall_~tmp~5#1 := aliceCall_#t~ret36#1;havoc aliceCall_#t~ret36#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 1, aliceCall_~tmp~5#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 275746#L999 assume !(0 == initPersonOnFloor_~floor#1); 275747#L1026 assume !(1 == initPersonOnFloor_~floor#1); 281653#L1053 assume !(2 == initPersonOnFloor_~floor#1); 282146#L1080 assume 3 == initPersonOnFloor_~floor#1; 279320#L1081 assume !(0 == initPersonOnFloor_~person#1); 279321#L1084 assume 1 == initPersonOnFloor_~person#1;~personOnFloor_1_3~0 := 1; 277121#L1107-1 assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 273998#L791 assume !(0 == callOnFloor_~floorID#1); 273847#L794 assume !(1 == callOnFloor_~floorID#1); 273800#L797 assume !(2 == callOnFloor_~floorID#1); 273801#L800 assume 3 == callOnFloor_~floorID#1;~calls_3~0 := 1; 275784#L803-2 havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true; 275387#initPersonOnFloor_returnLabel#1 havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true; 275388#aliceCall_returnLabel#1 havoc aliceCall_#t~ret36#1, aliceCall_~tmp~5#1;assume { :end_inline_aliceCall } true;assume { :begin_inline_angelinaCall } true;havoc angelinaCall_#t~ret37#1, angelinaCall_~tmp~6#1;havoc angelinaCall_~tmp~6#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 2;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~4#1; 280936#L564-1 assume !(0 == getOrigin_~person#1); 276249#L568-1 assume !(1 == getOrigin_~person#1); 276250#L572-1 assume 2 == getOrigin_~person#1;getOrigin_~retValue_acc~4#1 := 2;getOrigin_#res#1 := getOrigin_~retValue_acc~4#1; 274123#getOrigin_returnLabel#2 angelinaCall_#t~ret37#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;angelinaCall_~tmp~6#1 := angelinaCall_#t~ret37#1;havoc angelinaCall_#t~ret37#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 2, angelinaCall_~tmp~6#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 274124#L999-1 assume !(0 == initPersonOnFloor_~floor#1); 279755#L1026-1 assume !(1 == initPersonOnFloor_~floor#1); 281128#L1053-1 assume 2 == initPersonOnFloor_~floor#1; 281129#L1054-2 assume !(0 == initPersonOnFloor_~person#1); 281770#L1057-2 assume !(1 == initPersonOnFloor_~person#1); 280020#L1060-2 assume 2 == initPersonOnFloor_~person#1;~personOnFloor_2_2~0 := 1; 280021#L1107-3 assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 282915#L791-2 assume !(0 == callOnFloor_~floorID#1); 282914#L794-2 assume !(1 == callOnFloor_~floorID#1); 282913#L797-2 assume 2 == callOnFloor_~floorID#1;~calls_2~0 := 1; 275366#L803-5 havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true; 279251#initPersonOnFloor_returnLabel#2 havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true; 279252#angelinaCall_returnLabel#1 havoc angelinaCall_#t~ret37#1, angelinaCall_~tmp~6#1;assume { :end_inline_angelinaCall } true;assume { :begin_inline_threeTS } true;assume { :begin_inline_timeShift } true;havoc timeShift_#t~ret98#1, timeShift_#t~ret99#1, timeShift_#t~ret100#1, timeShift_#t~ret101#1, timeShift_#t~ret102#1, timeShift_#t~ret103#1, timeShift_#t~ret104#1, timeShift_#t~ret105#1, timeShift_#t~ret106#1, timeShift_#t~ret107#1, timeShift_#t~ret108#1, timeShift_~tmp~26#1, timeShift_~tmp___0~10#1, timeShift_~tmp___1~5#1, timeShift_~tmp___2~5#1, timeShift_~tmp___3~4#1, timeShift_~tmp___4~3#1, timeShift_~tmp___5~2#1, timeShift_~tmp___6~2#1, timeShift_~tmp___7~2#1, timeShift_~tmp___8~2#1, timeShift_~tmp___9~2#1;havoc timeShift_~tmp~26#1;havoc timeShift_~tmp___0~10#1;havoc timeShift_~tmp___1~5#1;havoc timeShift_~tmp___2~5#1;havoc timeShift_~tmp___3~4#1;havoc timeShift_~tmp___4~3#1;havoc timeShift_~tmp___5~2#1;havoc timeShift_~tmp___6~2#1;havoc timeShift_~tmp___7~2#1;havoc timeShift_~tmp___8~2#1;havoc timeShift_~tmp___9~2#1;assume { :begin_inline___utac_acc__Specification13_spec__1 } true;havoc __utac_acc__Specification13_spec__1_#t~ret27#1;assume { :begin_inline_getCurrentHeading } true;havoc getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~17#1;havoc getCurrentHeading_~retValue_acc~17#1;getCurrentHeading_~retValue_acc~17#1 := ~currentHeading~0;getCurrentHeading_#res#1 := getCurrentHeading_~retValue_acc~17#1; 282409#getCurrentHeading_returnLabel#1 __utac_acc__Specification13_spec__1_#t~ret27#1 := getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~17#1;assume { :end_inline_getCurrentHeading } true;~prevDir~0 := __utac_acc__Specification13_spec__1_#t~ret27#1;havoc __utac_acc__Specification13_spec__1_#t~ret27#1; 279580#__utac_acc__Specification13_spec__1_returnLabel#1 havoc __utac_acc__Specification13_spec__1_#t~ret27#1;assume { :end_inline___utac_acc__Specification13_spec__1 } true;assume { :begin_inline_stopRequestedAtCurrentFloor } true;havoc stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1, stopRequestedAtCurrentFloor_#t~ret83#1, stopRequestedAtCurrentFloor_#t~ret84#1, stopRequestedAtCurrentFloor_#t~ret85#1, stopRequestedAtCurrentFloor_~retValue_acc~27#1, stopRequestedAtCurrentFloor_~tmp~24#1, stopRequestedAtCurrentFloor_~tmp___0~8#1;havoc stopRequestedAtCurrentFloor_~retValue_acc~27#1;havoc stopRequestedAtCurrentFloor_~tmp~24#1;havoc stopRequestedAtCurrentFloor_~tmp___0~8#1;assume { :begin_inline_isExecutiveFloorCalling } true;havoc isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;havoc isExecutiveFloorCalling_~retValue_acc~30#1;assume { :begin_inline_isFloorCalling } true;isFloorCalling_#in~floorID#1 := ~executiveFloor~0;havoc isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;isFloorCalling_~floorID#1 := isFloorCalling_#in~floorID#1;havoc isFloorCalling_~retValue_acc~6#1; 279581#L728 assume 0 == isFloorCalling_~floorID#1;isFloorCalling_~retValue_acc~6#1 := ~calls_0~0;isFloorCalling_#res#1 := isFloorCalling_~retValue_acc~6#1; 281038#isFloorCalling_returnLabel#1 isExecutiveFloorCalling_#t~ret135#1 := isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;havoc isFloorCalling_#in~floorID#1;assume { :end_inline_isFloorCalling } true;isExecutiveFloorCalling_~retValue_acc~30#1 := isExecutiveFloorCalling_#t~ret135#1;havoc isExecutiveFloorCalling_#t~ret135#1;isExecutiveFloorCalling_#res#1 := isExecutiveFloorCalling_~retValue_acc~30#1; 282407#isExecutiveFloorCalling_returnLabel#1 stopRequestedAtCurrentFloor_#t~ret82#1 := isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;assume { :end_inline_isExecutiveFloorCalling } true;stopRequestedAtCurrentFloor_~tmp~24#1 := stopRequestedAtCurrentFloor_#t~ret82#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1; 280806#L2700 assume 0 != stopRequestedAtCurrentFloor_~tmp~24#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;havoc getCurrentFloorID_~retValue_acc~14#1;getCurrentFloorID_~retValue_acc~14#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~14#1; 279328#getCurrentFloorID_returnLabel#1 stopRequestedAtCurrentFloor_#t~ret83#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedAtCurrentFloor_~tmp___0~8#1 := stopRequestedAtCurrentFloor_#t~ret83#1;havoc stopRequestedAtCurrentFloor_#t~ret83#1; 278288#L2704 assume !(~executiveFloor~0 == stopRequestedAtCurrentFloor_~tmp___0~8#1);stopRequestedAtCurrentFloor_~retValue_acc~27#1 := 0;stopRequestedAtCurrentFloor_#res#1 := stopRequestedAtCurrentFloor_~retValue_acc~27#1; 273855#stopRequestedAtCurrentFloor_returnLabel#1 timeShift_#t~ret98#1 := stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1, stopRequestedAtCurrentFloor_#t~ret83#1, stopRequestedAtCurrentFloor_#t~ret84#1, stopRequestedAtCurrentFloor_#t~ret85#1, stopRequestedAtCurrentFloor_~retValue_acc~27#1, stopRequestedAtCurrentFloor_~tmp~24#1, stopRequestedAtCurrentFloor_~tmp___0~8#1;assume { :end_inline_stopRequestedAtCurrentFloor } true;timeShift_~tmp___9~2#1 := timeShift_#t~ret98#1;havoc timeShift_#t~ret98#1; 273856#L2853 assume !(0 != timeShift_~tmp___9~2#1); 274546#L2944 assume 1 == ~doorState~0;~doorState~0 := 0; 275180#L2944-2 assume { :begin_inline_stopRequestedInDirection } true;stopRequestedInDirection_#in~dir#1, stopRequestedInDirection_#in~respectFloorCalls#1, stopRequestedInDirection_#in~respectInLiftCalls#1 := ~currentHeading~0, 1, 1;havoc stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret73#1, stopRequestedInDirection_#t~ret74#1, stopRequestedInDirection_#t~ret75#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~23#1, stopRequestedInDirection_~tmp~20#1, stopRequestedInDirection_~tmp___0~5#1, stopRequestedInDirection_~__cil_tmp7~6#1, stopRequestedInDirection_~__cil_tmp8~7#1;stopRequestedInDirection_~dir#1 := stopRequestedInDirection_#in~dir#1;stopRequestedInDirection_~respectFloorCalls#1 := stopRequestedInDirection_#in~respectFloorCalls#1;stopRequestedInDirection_~respectInLiftCalls#1 := stopRequestedInDirection_#in~respectInLiftCalls#1;havoc stopRequestedInDirection_~retValue_acc~23#1;havoc stopRequestedInDirection_~tmp~20#1;havoc stopRequestedInDirection_~tmp___0~5#1;havoc stopRequestedInDirection_~__cil_tmp7~6#1;havoc stopRequestedInDirection_~__cil_tmp8~7#1;assume { :begin_inline_isExecutiveFloorCalling } true;havoc isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;havoc isExecutiveFloorCalling_~retValue_acc~30#1;assume { :begin_inline_isFloorCalling } true;isFloorCalling_#in~floorID#1 := ~executiveFloor~0;havoc isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;isFloorCalling_~floorID#1 := isFloorCalling_#in~floorID#1;havoc isFloorCalling_~retValue_acc~6#1; 275181#L728-3 assume 0 == isFloorCalling_~floorID#1;isFloorCalling_~retValue_acc~6#1 := ~calls_0~0;isFloorCalling_#res#1 := isFloorCalling_~retValue_acc~6#1; 275496#isFloorCalling_returnLabel#4 isExecutiveFloorCalling_#t~ret135#1 := isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;havoc isFloorCalling_#in~floorID#1;assume { :end_inline_isFloorCalling } true;isExecutiveFloorCalling_~retValue_acc~30#1 := isExecutiveFloorCalling_#t~ret135#1;havoc isExecutiveFloorCalling_#t~ret135#1;isExecutiveFloorCalling_#res#1 := isExecutiveFloorCalling_~retValue_acc~30#1; 278422#isExecutiveFloorCalling_returnLabel#2 stopRequestedInDirection_#t~ret73#1 := isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;assume { :end_inline_isExecutiveFloorCalling } true;stopRequestedInDirection_~tmp___0~5#1 := stopRequestedInDirection_#t~ret73#1;havoc stopRequestedInDirection_#t~ret73#1; 274170#L2555 assume 0 != stopRequestedInDirection_~tmp___0~5#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;havoc getCurrentFloorID_~retValue_acc~14#1;getCurrentFloorID_~retValue_acc~14#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~14#1; 274171#getCurrentFloorID_returnLabel#4 stopRequestedInDirection_#t~ret74#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedInDirection_~tmp~20#1 := stopRequestedInDirection_#t~ret74#1;havoc stopRequestedInDirection_#t~ret74#1;stopRequestedInDirection_~__cil_tmp7~6#1 := (if 1 == stopRequestedInDirection_~dir#1 then 1 else 0);stopRequestedInDirection_~__cil_tmp8~7#1 := (if stopRequestedInDirection_~tmp~20#1 < ~executiveFloor~0 then 1 else 0);stopRequestedInDirection_~retValue_acc~23#1 := (if stopRequestedInDirection_~__cil_tmp8~7#1 == stopRequestedInDirection_~__cil_tmp7~6#1 then 1 else 0);stopRequestedInDirection_#res#1 := stopRequestedInDirection_~retValue_acc~23#1; 276713#stopRequestedInDirection_returnLabel#1 timeShift_#t~ret105#1 := stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret73#1, stopRequestedInDirection_#t~ret74#1, stopRequestedInDirection_#t~ret75#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~23#1, stopRequestedInDirection_~tmp~20#1, stopRequestedInDirection_~tmp___0~5#1, stopRequestedInDirection_~__cil_tmp7~6#1, stopRequestedInDirection_~__cil_tmp8~7#1;havoc stopRequestedInDirection_#in~dir#1, stopRequestedInDirection_#in~respectFloorCalls#1, stopRequestedInDirection_#in~respectInLiftCalls#1;assume { :end_inline_stopRequestedInDirection } true;timeShift_~tmp___8~2#1 := timeShift_#t~ret105#1;havoc timeShift_#t~ret105#1; 273736#L2952 assume 0 != timeShift_~tmp___8~2#1;assume { :begin_inline_continueInDirection } true;continueInDirection_#in~dir#1 := ~currentHeading~0;havoc continueInDirection_#t~ret76#1, continueInDirection_~dir#1, continueInDirection_~tmp~21#1;continueInDirection_~dir#1 := continueInDirection_#in~dir#1;havoc continueInDirection_~tmp~21#1;~currentHeading~0 := continueInDirection_~dir#1; 273737#L2612 assume !(1 == ~currentHeading~0); 278199#L2622 assume !(0 == ~currentFloorID~0); 278200#L2622-2 assume !(1 == ~currentHeading~0);~currentFloorID~0 := ~currentFloorID~0 - 1; 278006#L2628-1 havoc continueInDirection_#t~ret76#1, continueInDirection_~dir#1, continueInDirection_~tmp~21#1;havoc continueInDirection_#in~dir#1;assume { :end_inline_continueInDirection } true; 273209#L2961-2 assume { :begin_inline___utac_acc__Specification13_spec__2 } true;havoc __utac_acc__Specification13_spec__2_#t~ret28#1, __utac_acc__Specification13_spec__2_#t~ret29#1, __utac_acc__Specification13_spec__2_#t~ret30#1, __utac_acc__Specification13_spec__2_#t~ret31#1, __utac_acc__Specification13_spec__2_#t~ret32#1, __utac_acc__Specification13_spec__2_#t~ret33#1, __utac_acc__Specification13_spec__2_~tmp~3#1, __utac_acc__Specification13_spec__2_~tmp___0~0#1, __utac_acc__Specification13_spec__2_~tmp___1~0#1, __utac_acc__Specification13_spec__2_~tmp___2~0#1, __utac_acc__Specification13_spec__2_~tmp___3~0#1, __utac_acc__Specification13_spec__2_~tmp___4~0#1, __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1, __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1;havoc __utac_acc__Specification13_spec__2_~tmp~3#1;havoc __utac_acc__Specification13_spec__2_~tmp___0~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___1~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___2~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___3~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___4~0#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1;__utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 := 2 * ~maximumWeight~0;__utac_acc__Specification13_spec__2_~__cil_tmp8~5#1 := (if __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 < 0 && 0 != __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 % 3 then 1 + __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 / 3 else __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 / 3); 273210#L454 assume ~weight~0 > __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1; 275491#L455 assume 1 == ~prevDir~0;assume { :begin_inline_existInLiftCallsInDirection } true;existInLiftCallsInDirection_#in~d#1 := 0;havoc existInLiftCallsInDirection_#res#1;havoc existInLiftCallsInDirection_~d#1, existInLiftCallsInDirection_~retValue_acc~29#1, existInLiftCallsInDirection_~i~1#1, existInLiftCallsInDirection_~i___0~0#1;existInLiftCallsInDirection_~d#1 := existInLiftCallsInDirection_#in~d#1;havoc existInLiftCallsInDirection_~retValue_acc~29#1;havoc existInLiftCallsInDirection_~i~1#1;havoc existInLiftCallsInDirection_~i___0~0#1; 275493#L3156 assume !(1 == existInLiftCallsInDirection_~d#1); 277423#L3222 assume 0 == existInLiftCallsInDirection_~d#1;existInLiftCallsInDirection_~i___0~0#1 := 0;existInLiftCallsInDirection_~i___0~0#1 := ~currentFloorID~0 - 1; 276954#L3226-2 [2024-10-12 00:47:33,040 INFO L747 eck$LassoCheckResult]: Loop: 276954#L3226-2 assume !false; 277754#L3227 assume existInLiftCallsInDirection_~i___0~0#1 >= 0; 277755#L3228 existInLiftCallsInDirection_~i___0~0#1 := 1 + ~currentFloorID~0; 273443#L3235-2 assume !false; 273444#L3236 assume !(existInLiftCallsInDirection_~i___0~0#1 < 5); 276837#L3294 existInLiftCallsInDirection_~i___0~0#1 := existInLiftCallsInDirection_~i___0~0#1 - 1; 276954#L3226-2 [2024-10-12 00:47:33,040 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-12 00:47:33,040 INFO L85 PathProgramCache]: Analyzing trace with hash 1437608285, now seen corresponding path program 1 times [2024-10-12 00:47:33,042 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-12 00:47:33,042 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [100887301] [2024-10-12 00:47:33,042 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-12 00:47:33,042 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-12 00:47:33,065 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-12 00:47:33,143 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-10-12 00:47:33,143 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-10-12 00:47:33,144 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [100887301] [2024-10-12 00:47:33,144 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [100887301] provided 1 perfect and 0 imperfect interpolant sequences [2024-10-12 00:47:33,144 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-10-12 00:47:33,144 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2024-10-12 00:47:33,144 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1516349863] [2024-10-12 00:47:33,144 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-10-12 00:47:33,145 INFO L750 eck$LassoCheckResult]: stem already infeasible [2024-10-12 00:47:33,145 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-12 00:47:33,145 INFO L85 PathProgramCache]: Analyzing trace with hash 1717871275, now seen corresponding path program 9 times [2024-10-12 00:47:33,145 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-12 00:47:33,145 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [423086520] [2024-10-12 00:47:33,145 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-12 00:47:33,145 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-12 00:47:33,157 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-12 00:47:33,158 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-10-12 00:47:33,159 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-12 00:47:33,164 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-10-12 00:47:33,184 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-10-12 00:47:33,185 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2024-10-12 00:47:33,186 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2024-10-12 00:47:33,186 INFO L87 Difference]: Start difference. First operand 9727 states and 18046 transitions. cyclomatic complexity: 8354 Second operand has 4 states, 4 states have (on average 17.25) internal successors, (69), 3 states have internal predecessors, (69), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-10-12 00:47:36,552 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-10-12 00:47:36,552 INFO L93 Difference]: Finished difference Result 9727 states and 17666 transitions. [2024-10-12 00:47:36,552 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 9727 states and 17666 transitions. [2024-10-12 00:47:36,585 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 2435 [2024-10-12 00:47:36,603 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 9727 states to 9727 states and 17666 transitions. [2024-10-12 00:47:36,604 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 9689 [2024-10-12 00:47:36,607 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 9689 [2024-10-12 00:47:36,608 INFO L73 IsDeterministic]: Start isDeterministic. Operand 9727 states and 17666 transitions. [2024-10-12 00:47:36,609 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-10-12 00:47:36,609 INFO L218 hiAutomatonCegarLoop]: Abstraction has 9727 states and 17666 transitions. [2024-10-12 00:47:36,619 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 9727 states and 17666 transitions. [2024-10-12 00:47:36,720 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 9727 to 9727. [2024-10-12 00:47:36,733 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9727 states, 9727 states have (on average 1.8161817621054797) internal successors, (17666), 9726 states have internal predecessors, (17666), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-10-12 00:47:36,757 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9727 states to 9727 states and 17666 transitions. [2024-10-12 00:47:36,758 INFO L240 hiAutomatonCegarLoop]: Abstraction has 9727 states and 17666 transitions. [2024-10-12 00:47:36,758 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2024-10-12 00:47:36,759 INFO L425 stractBuchiCegarLoop]: Abstraction has 9727 states and 17666 transitions. [2024-10-12 00:47:36,759 INFO L332 stractBuchiCegarLoop]: ======== Iteration 12 ============ [2024-10-12 00:47:36,759 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 9727 states and 17666 transitions. [2024-10-12 00:47:36,798 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 2435 [2024-10-12 00:47:36,798 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-10-12 00:47:36,798 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-10-12 00:47:36,799 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-10-12 00:47:36,799 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1] [2024-10-12 00:47:36,800 INFO L745 eck$LassoCheckResult]: Stem: 300342#$Ultimate##0 assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int#0(48, 1, 0, 1);call write~init~int#0(0, 1, 1, 1);call #Ultimate.allocInit(32, 2);call #Ultimate.allocInit(12, 3);call #Ultimate.allocInit(30, 4);call #Ultimate.allocInit(9, 5);call #Ultimate.allocInit(21, 6);call #Ultimate.allocInit(30, 7);call #Ultimate.allocInit(9, 8);call #Ultimate.allocInit(21, 9);call #Ultimate.allocInit(30, 10);call #Ultimate.allocInit(9, 11);call #Ultimate.allocInit(25, 12);call #Ultimate.allocInit(30, 13);call #Ultimate.allocInit(9, 14);call #Ultimate.allocInit(25, 15);call #Ultimate.allocInit(10, 16);call #Ultimate.allocInit(4, 17);call write~init~int#5(91, 17, 0, 1);call write~init~int#5(95, 17, 1, 1);call write~init~int#5(93, 17, 2, 1);call write~init~int#5(0, 17, 3, 1);call #Ultimate.allocInit(4, 18);call write~init~int#6(91, 18, 0, 1);call write~init~int#6(93, 18, 1, 1);call write~init~int#6(32, 18, 2, 1);call write~init~int#6(0, 18, 3, 1);call #Ultimate.allocInit(5, 19);call write~init~int#7(32, 19, 0, 1);call write~init~int#7(97, 19, 1, 1);call write~init~int#7(116, 19, 2, 1);call write~init~int#7(32, 19, 3, 1);call write~init~int#7(0, 19, 4, 1);call #Ultimate.allocInit(3, 20);call write~init~int#8(37, 20, 0, 1);call write~init~int#8(105, 20, 1, 1);call write~init~int#8(0, 20, 2, 1);call #Ultimate.allocInit(10, 21);call #Ultimate.allocInit(3, 22);call write~init~int#9(117, 22, 0, 1);call write~init~int#9(112, 22, 1, 1);call write~init~int#9(0, 22, 2, 1);call #Ultimate.allocInit(5, 23);call write~init~int#10(100, 23, 0, 1);call write~init~int#10(111, 23, 1, 1);call write~init~int#10(119, 23, 2, 1);call write~init~int#10(110, 23, 3, 1);call write~init~int#10(0, 23, 4, 1);call #Ultimate.allocInit(7, 24);call write~init~int#11(32, 24, 0, 1);call write~init~int#11(73, 24, 1, 1);call write~init~int#11(76, 24, 2, 1);call write~init~int#11(95, 24, 3, 1);call write~init~int#11(112, 24, 4, 1);call write~init~int#11(58, 24, 5, 1);call write~init~int#11(0, 24, 6, 1);call #Ultimate.allocInit(4, 25);call write~init~int#12(32, 25, 0, 1);call write~init~int#12(37, 25, 1, 1);call write~init~int#12(105, 25, 2, 1);call write~init~int#12(0, 25, 3, 1);call #Ultimate.allocInit(4, 26);call write~init~int#13(32, 26, 0, 1);call write~init~int#13(37, 26, 1, 1);call write~init~int#13(105, 26, 2, 1);call write~init~int#13(0, 26, 3, 1);call #Ultimate.allocInit(4, 27);call write~init~int#14(32, 27, 0, 1);call write~init~int#14(37, 27, 1, 1);call write~init~int#14(105, 27, 2, 1);call write~init~int#14(0, 27, 3, 1);call #Ultimate.allocInit(4, 28);call write~init~int#15(32, 28, 0, 1);call write~init~int#15(37, 28, 1, 1);call write~init~int#15(105, 28, 2, 1);call write~init~int#15(0, 28, 3, 1);call #Ultimate.allocInit(4, 29);call write~init~int#16(32, 29, 0, 1);call write~init~int#16(37, 29, 1, 1);call write~init~int#16(105, 29, 2, 1);call write~init~int#16(0, 29, 3, 1);call #Ultimate.allocInit(6, 30);call write~init~int#17(32, 30, 0, 1);call write~init~int#17(70, 30, 1, 1);call write~init~int#17(95, 30, 2, 1);call write~init~int#17(112, 30, 3, 1);call write~init~int#17(58, 30, 4, 1);call write~init~int#17(0, 30, 5, 1);call #Ultimate.allocInit(4, 31);call write~init~int#18(32, 31, 0, 1);call write~init~int#18(37, 31, 1, 1);call write~init~int#18(105, 31, 2, 1);call write~init~int#18(0, 31, 3, 1);call #Ultimate.allocInit(4, 32);call write~init~int#19(32, 32, 0, 1);call write~init~int#19(37, 32, 1, 1);call write~init~int#19(105, 32, 2, 1);call write~init~int#19(0, 32, 3, 1);call #Ultimate.allocInit(4, 33);call write~init~int#1(32, 33, 0, 1);call write~init~int#1(37, 33, 1, 1);call write~init~int#1(105, 33, 2, 1);call write~init~int#1(0, 33, 3, 1);call #Ultimate.allocInit(4, 34);call write~init~int#2(32, 34, 0, 1);call write~init~int#2(37, 34, 1, 1);call write~init~int#2(105, 34, 2, 1);call write~init~int#2(0, 34, 3, 1);call #Ultimate.allocInit(4, 35);call write~init~int#3(32, 35, 0, 1);call write~init~int#3(37, 35, 1, 1);call write~init~int#3(105, 35, 2, 1);call write~init~int#3(0, 35, 3, 1);call #Ultimate.allocInit(2, 36);call write~init~int#4(10, 36, 0, 1);call write~init~int#4(0, 36, 1, 1);~head~0.base, ~head~0.offset := 0, 0;~weight~0 := 0;~maximumWeight~0 := 100;~executiveFloor~0 := 4;~prevDir~0 := 0;~calls_0~0 := 0;~calls_1~0 := 0;~calls_2~0 := 0;~calls_3~0 := 0;~calls_4~0 := 0;~personOnFloor_0_0~0 := 0;~personOnFloor_0_1~0 := 0;~personOnFloor_0_2~0 := 0;~personOnFloor_0_3~0 := 0;~personOnFloor_0_4~0 := 0;~personOnFloor_1_0~0 := 0;~personOnFloor_1_1~0 := 0;~personOnFloor_1_2~0 := 0;~personOnFloor_1_3~0 := 0;~personOnFloor_1_4~0 := 0;~personOnFloor_2_0~0 := 0;~personOnFloor_2_1~0 := 0;~personOnFloor_2_2~0 := 0;~personOnFloor_2_3~0 := 0;~personOnFloor_2_4~0 := 0;~personOnFloor_3_0~0 := 0;~personOnFloor_3_1~0 := 0;~personOnFloor_3_2~0 := 0;~personOnFloor_3_3~0 := 0;~personOnFloor_3_4~0 := 0;~personOnFloor_4_0~0 := 0;~personOnFloor_4_1~0 := 0;~personOnFloor_4_2~0 := 0;~personOnFloor_4_3~0 := 0;~personOnFloor_4_4~0 := 0;~personOnFloor_5_0~0 := 0;~personOnFloor_5_1~0 := 0;~personOnFloor_5_2~0 := 0;~personOnFloor_5_3~0 := 0;~personOnFloor_5_4~0 := 0;~cleanupTimeShifts~0 := 12;~currentHeading~0 := 1;~currentFloorID~0 := 0;~persons_0~0 := 0;~persons_1~0 := 0;~persons_2~0 := 0;~persons_3~0 := 0;~persons_4~0 := 0;~persons_5~0 := 0;~doorState~0 := 1;~floorButtons_0~0 := 0;~floorButtons_1~0 := 0;~floorButtons_2~0 := 0;~floorButtons_3~0 := 0;~floorButtons_4~0 := 0; 300084#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret47#1, main_~retValue_acc~10#1, main_~tmp~12#1;havoc main_~retValue_acc~10#1;havoc main_~tmp~12#1;assume { :begin_inline_select_helpers } true; 300085#select_helpers_returnLabel#1 assume { :end_inline_select_helpers } true;assume { :begin_inline_select_features } true; 302053#select_features_returnLabel#1 assume { :end_inline_select_features } true;assume { :begin_inline_valid_product } true;havoc valid_product_#res#1;havoc valid_product_~retValue_acc~12#1;havoc valid_product_~retValue_acc~12#1;valid_product_~retValue_acc~12#1 := 1;valid_product_#res#1 := valid_product_~retValue_acc~12#1; 294187#valid_product_returnLabel#1 main_#t~ret47#1 := valid_product_#res#1;havoc valid_product_~retValue_acc~12#1;assume { :end_inline_valid_product } true;main_~tmp~12#1 := main_#t~ret47#1;havoc main_#t~ret47#1; 294188#L1651 assume 0 != main_~tmp~12#1;assume { :begin_inline_setup } true; 295938#setup_returnLabel#1 assume { :end_inline_setup } true;assume { :begin_inline_runTest } true;assume { :begin_inline_test } true;assume { :begin_inline_aliceCall } true;havoc aliceCall_#t~ret36#1, aliceCall_~tmp~5#1;havoc aliceCall_~tmp~5#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 1;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~4#1; 295939#L564 assume !(0 == getOrigin_~person#1); 294577#L568 assume 1 == getOrigin_~person#1;getOrigin_~retValue_acc~4#1 := 3;getOrigin_#res#1 := getOrigin_~retValue_acc~4#1; 294578#getOrigin_returnLabel#1 aliceCall_#t~ret36#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;aliceCall_~tmp~5#1 := aliceCall_#t~ret36#1;havoc aliceCall_#t~ret36#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 1, aliceCall_~tmp~5#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 295182#L999 assume !(0 == initPersonOnFloor_~floor#1); 295183#L1026 assume !(1 == initPersonOnFloor_~floor#1); 301108#L1053 assume !(2 == initPersonOnFloor_~floor#1); 301605#L1080 assume 3 == initPersonOnFloor_~floor#1; 298760#L1081 assume !(0 == initPersonOnFloor_~person#1); 298761#L1084 assume 1 == initPersonOnFloor_~person#1;~personOnFloor_1_3~0 := 1; 296556#L1107-1 assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 293448#L791 assume !(0 == callOnFloor_~floorID#1); 293300#L794 assume !(1 == callOnFloor_~floorID#1); 293253#L797 assume !(2 == callOnFloor_~floorID#1); 293254#L800 assume 3 == callOnFloor_~floorID#1;~calls_3~0 := 1; 295219#L803-2 havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true; 294827#initPersonOnFloor_returnLabel#1 havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true; 294828#aliceCall_returnLabel#1 havoc aliceCall_#t~ret36#1, aliceCall_~tmp~5#1;assume { :end_inline_aliceCall } true;assume { :begin_inline_angelinaCall } true;havoc angelinaCall_#t~ret37#1, angelinaCall_~tmp~6#1;havoc angelinaCall_~tmp~6#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 2;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~4#1; 300387#L564-1 assume !(0 == getOrigin_~person#1); 295684#L568-1 assume !(1 == getOrigin_~person#1); 295685#L572-1 assume 2 == getOrigin_~person#1;getOrigin_~retValue_acc~4#1 := 2;getOrigin_#res#1 := getOrigin_~retValue_acc~4#1; 293573#getOrigin_returnLabel#2 angelinaCall_#t~ret37#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;angelinaCall_~tmp~6#1 := angelinaCall_#t~ret37#1;havoc angelinaCall_#t~ret37#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 2, angelinaCall_~tmp~6#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 293574#L999-1 assume !(0 == initPersonOnFloor_~floor#1); 299198#L1026-1 assume !(1 == initPersonOnFloor_~floor#1); 300580#L1053-1 assume 2 == initPersonOnFloor_~floor#1; 300581#L1054-2 assume !(0 == initPersonOnFloor_~person#1); 301226#L1057-2 assume !(1 == initPersonOnFloor_~person#1); 299465#L1060-2 assume 2 == initPersonOnFloor_~person#1;~personOnFloor_2_2~0 := 1; 299466#L1107-3 assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 302356#L791-2 assume !(0 == callOnFloor_~floorID#1); 302355#L794-2 assume !(1 == callOnFloor_~floorID#1); 302354#L797-2 assume 2 == callOnFloor_~floorID#1;~calls_2~0 := 1; 294806#L803-5 havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true; 298692#initPersonOnFloor_returnLabel#2 havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true; 298693#angelinaCall_returnLabel#1 havoc angelinaCall_#t~ret37#1, angelinaCall_~tmp~6#1;assume { :end_inline_angelinaCall } true;assume { :begin_inline_threeTS } true;assume { :begin_inline_timeShift } true;havoc timeShift_#t~ret98#1, timeShift_#t~ret99#1, timeShift_#t~ret100#1, timeShift_#t~ret101#1, timeShift_#t~ret102#1, timeShift_#t~ret103#1, timeShift_#t~ret104#1, timeShift_#t~ret105#1, timeShift_#t~ret106#1, timeShift_#t~ret107#1, timeShift_#t~ret108#1, timeShift_~tmp~26#1, timeShift_~tmp___0~10#1, timeShift_~tmp___1~5#1, timeShift_~tmp___2~5#1, timeShift_~tmp___3~4#1, timeShift_~tmp___4~3#1, timeShift_~tmp___5~2#1, timeShift_~tmp___6~2#1, timeShift_~tmp___7~2#1, timeShift_~tmp___8~2#1, timeShift_~tmp___9~2#1;havoc timeShift_~tmp~26#1;havoc timeShift_~tmp___0~10#1;havoc timeShift_~tmp___1~5#1;havoc timeShift_~tmp___2~5#1;havoc timeShift_~tmp___3~4#1;havoc timeShift_~tmp___4~3#1;havoc timeShift_~tmp___5~2#1;havoc timeShift_~tmp___6~2#1;havoc timeShift_~tmp___7~2#1;havoc timeShift_~tmp___8~2#1;havoc timeShift_~tmp___9~2#1;assume { :begin_inline___utac_acc__Specification13_spec__1 } true;havoc __utac_acc__Specification13_spec__1_#t~ret27#1;assume { :begin_inline_getCurrentHeading } true;havoc getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~17#1;havoc getCurrentHeading_~retValue_acc~17#1;getCurrentHeading_~retValue_acc~17#1 := ~currentHeading~0;getCurrentHeading_#res#1 := getCurrentHeading_~retValue_acc~17#1; 301869#getCurrentHeading_returnLabel#1 __utac_acc__Specification13_spec__1_#t~ret27#1 := getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~17#1;assume { :end_inline_getCurrentHeading } true;~prevDir~0 := __utac_acc__Specification13_spec__1_#t~ret27#1;havoc __utac_acc__Specification13_spec__1_#t~ret27#1; 299023#__utac_acc__Specification13_spec__1_returnLabel#1 havoc __utac_acc__Specification13_spec__1_#t~ret27#1;assume { :end_inline___utac_acc__Specification13_spec__1 } true;assume { :begin_inline_stopRequestedAtCurrentFloor } true;havoc stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1, stopRequestedAtCurrentFloor_#t~ret83#1, stopRequestedAtCurrentFloor_#t~ret84#1, stopRequestedAtCurrentFloor_#t~ret85#1, stopRequestedAtCurrentFloor_~retValue_acc~27#1, stopRequestedAtCurrentFloor_~tmp~24#1, stopRequestedAtCurrentFloor_~tmp___0~8#1;havoc stopRequestedAtCurrentFloor_~retValue_acc~27#1;havoc stopRequestedAtCurrentFloor_~tmp~24#1;havoc stopRequestedAtCurrentFloor_~tmp___0~8#1;assume { :begin_inline_isExecutiveFloorCalling } true;havoc isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;havoc isExecutiveFloorCalling_~retValue_acc~30#1;assume { :begin_inline_isFloorCalling } true;isFloorCalling_#in~floorID#1 := ~executiveFloor~0;havoc isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;isFloorCalling_~floorID#1 := isFloorCalling_#in~floorID#1;havoc isFloorCalling_~retValue_acc~6#1; 299024#L728 assume !(0 == isFloorCalling_~floorID#1); 301903#L732 assume !(1 == isFloorCalling_~floorID#1); 301904#L736 assume !(2 == isFloorCalling_~floorID#1); 301068#L740 assume !(3 == isFloorCalling_~floorID#1); 300487#L744 assume 4 == isFloorCalling_~floorID#1;isFloorCalling_~retValue_acc~6#1 := ~calls_4~0;isFloorCalling_#res#1 := isFloorCalling_~retValue_acc~6#1; 300488#isFloorCalling_returnLabel#1 isExecutiveFloorCalling_#t~ret135#1 := isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;havoc isFloorCalling_#in~floorID#1;assume { :end_inline_isFloorCalling } true;isExecutiveFloorCalling_~retValue_acc~30#1 := isExecutiveFloorCalling_#t~ret135#1;havoc isExecutiveFloorCalling_#t~ret135#1;isExecutiveFloorCalling_#res#1 := isExecutiveFloorCalling_~retValue_acc~30#1; 301867#isExecutiveFloorCalling_returnLabel#1 stopRequestedAtCurrentFloor_#t~ret82#1 := isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;assume { :end_inline_isExecutiveFloorCalling } true;stopRequestedAtCurrentFloor_~tmp~24#1 := stopRequestedAtCurrentFloor_#t~ret82#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1; 300255#L2700 assume 0 != stopRequestedAtCurrentFloor_~tmp~24#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;havoc getCurrentFloorID_~retValue_acc~14#1;getCurrentFloorID_~retValue_acc~14#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~14#1; 298768#getCurrentFloorID_returnLabel#1 stopRequestedAtCurrentFloor_#t~ret83#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedAtCurrentFloor_~tmp___0~8#1 := stopRequestedAtCurrentFloor_#t~ret83#1;havoc stopRequestedAtCurrentFloor_#t~ret83#1; 297724#L2704 assume !(~executiveFloor~0 == stopRequestedAtCurrentFloor_~tmp___0~8#1);stopRequestedAtCurrentFloor_~retValue_acc~27#1 := 0;stopRequestedAtCurrentFloor_#res#1 := stopRequestedAtCurrentFloor_~retValue_acc~27#1; 293308#stopRequestedAtCurrentFloor_returnLabel#1 timeShift_#t~ret98#1 := stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1, stopRequestedAtCurrentFloor_#t~ret83#1, stopRequestedAtCurrentFloor_#t~ret84#1, stopRequestedAtCurrentFloor_#t~ret85#1, stopRequestedAtCurrentFloor_~retValue_acc~27#1, stopRequestedAtCurrentFloor_~tmp~24#1, stopRequestedAtCurrentFloor_~tmp___0~8#1;assume { :end_inline_stopRequestedAtCurrentFloor } true;timeShift_~tmp___9~2#1 := timeShift_#t~ret98#1;havoc timeShift_#t~ret98#1; 293309#L2853 assume !(0 != timeShift_~tmp___9~2#1); 293991#L2944 assume 1 == ~doorState~0;~doorState~0 := 0; 294622#L2944-2 assume { :begin_inline_stopRequestedInDirection } true;stopRequestedInDirection_#in~dir#1, stopRequestedInDirection_#in~respectFloorCalls#1, stopRequestedInDirection_#in~respectInLiftCalls#1 := ~currentHeading~0, 1, 1;havoc stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret73#1, stopRequestedInDirection_#t~ret74#1, stopRequestedInDirection_#t~ret75#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~23#1, stopRequestedInDirection_~tmp~20#1, stopRequestedInDirection_~tmp___0~5#1, stopRequestedInDirection_~__cil_tmp7~6#1, stopRequestedInDirection_~__cil_tmp8~7#1;stopRequestedInDirection_~dir#1 := stopRequestedInDirection_#in~dir#1;stopRequestedInDirection_~respectFloorCalls#1 := stopRequestedInDirection_#in~respectFloorCalls#1;stopRequestedInDirection_~respectInLiftCalls#1 := stopRequestedInDirection_#in~respectInLiftCalls#1;havoc stopRequestedInDirection_~retValue_acc~23#1;havoc stopRequestedInDirection_~tmp~20#1;havoc stopRequestedInDirection_~tmp___0~5#1;havoc stopRequestedInDirection_~__cil_tmp7~6#1;havoc stopRequestedInDirection_~__cil_tmp8~7#1;assume { :begin_inline_isExecutiveFloorCalling } true;havoc isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;havoc isExecutiveFloorCalling_~retValue_acc~30#1;assume { :begin_inline_isFloorCalling } true;isFloorCalling_#in~floorID#1 := ~executiveFloor~0;havoc isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;isFloorCalling_~floorID#1 := isFloorCalling_#in~floorID#1;havoc isFloorCalling_~retValue_acc~6#1; 294623#L728-3 assume !(0 == isFloorCalling_~floorID#1); 302016#L732-3 assume !(1 == isFloorCalling_~floorID#1); 294932#L736-3 assume !(2 == isFloorCalling_~floorID#1); 294933#L740-3 assume !(3 == isFloorCalling_~floorID#1); 297026#L744-3 assume 4 == isFloorCalling_~floorID#1;isFloorCalling_~retValue_acc~6#1 := ~calls_4~0;isFloorCalling_#res#1 := isFloorCalling_~retValue_acc~6#1; 297027#isFloorCalling_returnLabel#4 isExecutiveFloorCalling_#t~ret135#1 := isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;havoc isFloorCalling_#in~floorID#1;assume { :end_inline_isFloorCalling } true;isExecutiveFloorCalling_~retValue_acc~30#1 := isExecutiveFloorCalling_#t~ret135#1;havoc isExecutiveFloorCalling_#t~ret135#1;isExecutiveFloorCalling_#res#1 := isExecutiveFloorCalling_~retValue_acc~30#1; 297857#isExecutiveFloorCalling_returnLabel#2 stopRequestedInDirection_#t~ret73#1 := isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;assume { :end_inline_isExecutiveFloorCalling } true;stopRequestedInDirection_~tmp___0~5#1 := stopRequestedInDirection_#t~ret73#1;havoc stopRequestedInDirection_#t~ret73#1; 293618#L2555 assume 0 != stopRequestedInDirection_~tmp___0~5#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;havoc getCurrentFloorID_~retValue_acc~14#1;getCurrentFloorID_~retValue_acc~14#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~14#1; 293619#getCurrentFloorID_returnLabel#4 stopRequestedInDirection_#t~ret74#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedInDirection_~tmp~20#1 := stopRequestedInDirection_#t~ret74#1;havoc stopRequestedInDirection_#t~ret74#1;stopRequestedInDirection_~__cil_tmp7~6#1 := (if 1 == stopRequestedInDirection_~dir#1 then 1 else 0);stopRequestedInDirection_~__cil_tmp8~7#1 := (if stopRequestedInDirection_~tmp~20#1 < ~executiveFloor~0 then 1 else 0);stopRequestedInDirection_~retValue_acc~23#1 := (if stopRequestedInDirection_~__cil_tmp8~7#1 == stopRequestedInDirection_~__cil_tmp7~6#1 then 1 else 0);stopRequestedInDirection_#res#1 := stopRequestedInDirection_~retValue_acc~23#1; 296147#stopRequestedInDirection_returnLabel#1 timeShift_#t~ret105#1 := stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret73#1, stopRequestedInDirection_#t~ret74#1, stopRequestedInDirection_#t~ret75#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~23#1, stopRequestedInDirection_~tmp~20#1, stopRequestedInDirection_~tmp___0~5#1, stopRequestedInDirection_~__cil_tmp7~6#1, stopRequestedInDirection_~__cil_tmp8~7#1;havoc stopRequestedInDirection_#in~dir#1, stopRequestedInDirection_#in~respectFloorCalls#1, stopRequestedInDirection_#in~respectInLiftCalls#1;assume { :end_inline_stopRequestedInDirection } true;timeShift_~tmp___8~2#1 := timeShift_#t~ret105#1;havoc timeShift_#t~ret105#1; 293190#L2952 assume 0 != timeShift_~tmp___8~2#1;assume { :begin_inline_continueInDirection } true;continueInDirection_#in~dir#1 := ~currentHeading~0;havoc continueInDirection_#t~ret76#1, continueInDirection_~dir#1, continueInDirection_~tmp~21#1;continueInDirection_~dir#1 := continueInDirection_#in~dir#1;havoc continueInDirection_~tmp~21#1;~currentHeading~0 := continueInDirection_~dir#1; 293191#L2612 assume !(1 == ~currentHeading~0); 297635#L2622 assume !(0 == ~currentFloorID~0); 297636#L2622-2 assume !(1 == ~currentHeading~0);~currentFloorID~0 := ~currentFloorID~0 - 1; 297441#L2628-1 havoc continueInDirection_#t~ret76#1, continueInDirection_~dir#1, continueInDirection_~tmp~21#1;havoc continueInDirection_#in~dir#1;assume { :end_inline_continueInDirection } true; 292672#L2961-2 assume { :begin_inline___utac_acc__Specification13_spec__2 } true;havoc __utac_acc__Specification13_spec__2_#t~ret28#1, __utac_acc__Specification13_spec__2_#t~ret29#1, __utac_acc__Specification13_spec__2_#t~ret30#1, __utac_acc__Specification13_spec__2_#t~ret31#1, __utac_acc__Specification13_spec__2_#t~ret32#1, __utac_acc__Specification13_spec__2_#t~ret33#1, __utac_acc__Specification13_spec__2_~tmp~3#1, __utac_acc__Specification13_spec__2_~tmp___0~0#1, __utac_acc__Specification13_spec__2_~tmp___1~0#1, __utac_acc__Specification13_spec__2_~tmp___2~0#1, __utac_acc__Specification13_spec__2_~tmp___3~0#1, __utac_acc__Specification13_spec__2_~tmp___4~0#1, __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1, __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1;havoc __utac_acc__Specification13_spec__2_~tmp~3#1;havoc __utac_acc__Specification13_spec__2_~tmp___0~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___1~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___2~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___3~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___4~0#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1;__utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 := 2 * ~maximumWeight~0;__utac_acc__Specification13_spec__2_~__cil_tmp8~5#1 := (if __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 < 0 && 0 != __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 % 3 then 1 + __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 / 3 else __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 / 3); 292673#L454 assume ~weight~0 > __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1; 294928#L455 assume 1 == ~prevDir~0;assume { :begin_inline_existInLiftCallsInDirection } true;existInLiftCallsInDirection_#in~d#1 := 0;havoc existInLiftCallsInDirection_#res#1;havoc existInLiftCallsInDirection_~d#1, existInLiftCallsInDirection_~retValue_acc~29#1, existInLiftCallsInDirection_~i~1#1, existInLiftCallsInDirection_~i___0~0#1;existInLiftCallsInDirection_~d#1 := existInLiftCallsInDirection_#in~d#1;havoc existInLiftCallsInDirection_~retValue_acc~29#1;havoc existInLiftCallsInDirection_~i~1#1;havoc existInLiftCallsInDirection_~i___0~0#1; 294930#L3156 assume !(1 == existInLiftCallsInDirection_~d#1); 296858#L3222 assume 0 == existInLiftCallsInDirection_~d#1;existInLiftCallsInDirection_~i___0~0#1 := 0;existInLiftCallsInDirection_~i___0~0#1 := ~currentFloorID~0 - 1; 296389#L3226-2 [2024-10-12 00:47:36,800 INFO L747 eck$LassoCheckResult]: Loop: 296389#L3226-2 assume !false; 297191#L3227 assume existInLiftCallsInDirection_~i___0~0#1 >= 0; 297192#L3228 existInLiftCallsInDirection_~i___0~0#1 := 1 + ~currentFloorID~0; 292902#L3235-2 assume !false; 292903#L3236 assume !(existInLiftCallsInDirection_~i___0~0#1 < 5); 296271#L3294 existInLiftCallsInDirection_~i___0~0#1 := existInLiftCallsInDirection_~i___0~0#1 - 1; 296389#L3226-2 [2024-10-12 00:47:36,801 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-12 00:47:36,801 INFO L85 PathProgramCache]: Analyzing trace with hash 526400329, now seen corresponding path program 1 times [2024-10-12 00:47:36,801 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-12 00:47:36,801 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1645510091] [2024-10-12 00:47:36,801 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-12 00:47:36,801 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-12 00:47:36,834 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-12 00:47:36,937 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-10-12 00:47:36,938 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-10-12 00:47:36,938 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1645510091] [2024-10-12 00:47:36,938 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1645510091] provided 1 perfect and 0 imperfect interpolant sequences [2024-10-12 00:47:36,938 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-10-12 00:47:36,938 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2024-10-12 00:47:36,938 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [137871093] [2024-10-12 00:47:36,939 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-10-12 00:47:36,939 INFO L750 eck$LassoCheckResult]: stem already infeasible [2024-10-12 00:47:36,939 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-12 00:47:36,939 INFO L85 PathProgramCache]: Analyzing trace with hash 1717871275, now seen corresponding path program 10 times [2024-10-12 00:47:36,940 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-12 00:47:36,940 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1967793321] [2024-10-12 00:47:36,940 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-12 00:47:36,940 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-12 00:47:36,954 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-12 00:47:36,955 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-10-12 00:47:36,956 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-12 00:47:36,961 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-10-12 00:47:36,980 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-10-12 00:47:36,980 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2024-10-12 00:47:36,981 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2024-10-12 00:47:36,981 INFO L87 Difference]: Start difference. First operand 9727 states and 17666 transitions. cyclomatic complexity: 7974 Second operand has 6 states, 6 states have (on average 12.833333333333334) internal successors, (77), 5 states have internal predecessors, (77), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-10-12 00:47:42,368 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-10-12 00:47:42,368 INFO L93 Difference]: Finished difference Result 19801 states and 35572 transitions. [2024-10-12 00:47:42,368 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 19801 states and 35572 transitions. [2024-10-12 00:47:42,461 INFO L131 ngComponentsAnalysis]: Automaton has 66 accepting balls. 4951 [2024-10-12 00:47:42,521 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 19801 states to 19801 states and 35572 transitions. [2024-10-12 00:47:42,521 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 19725 [2024-10-12 00:47:42,536 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 19725 [2024-10-12 00:47:42,536 INFO L73 IsDeterministic]: Start isDeterministic. Operand 19801 states and 35572 transitions. [2024-10-12 00:47:42,538 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-10-12 00:47:42,538 INFO L218 hiAutomatonCegarLoop]: Abstraction has 19801 states and 35572 transitions. [2024-10-12 00:47:42,559 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 19801 states and 35572 transitions. [2024-10-12 00:47:42,774 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 19801 to 19298. [2024-10-12 00:47:42,797 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19298 states, 19298 states have (on average 1.8172349466265934) internal successors, (35069), 19297 states have internal predecessors, (35069), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-10-12 00:47:42,837 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19298 states to 19298 states and 35069 transitions. [2024-10-12 00:47:42,837 INFO L240 hiAutomatonCegarLoop]: Abstraction has 19298 states and 35069 transitions. [2024-10-12 00:47:42,838 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2024-10-12 00:47:42,838 INFO L425 stractBuchiCegarLoop]: Abstraction has 19298 states and 35069 transitions. [2024-10-12 00:47:42,838 INFO L332 stractBuchiCegarLoop]: ======== Iteration 13 ============ [2024-10-12 00:47:42,838 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 19298 states and 35069 transitions. [2024-10-12 00:47:42,904 INFO L131 ngComponentsAnalysis]: Automaton has 66 accepting balls. 4844 [2024-10-12 00:47:42,904 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-10-12 00:47:42,905 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-10-12 00:47:42,905 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-10-12 00:47:42,905 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1] [2024-10-12 00:47:42,906 INFO L745 eck$LassoCheckResult]: Stem: 330006#$Ultimate##0 assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int#0(48, 1, 0, 1);call write~init~int#0(0, 1, 1, 1);call #Ultimate.allocInit(32, 2);call #Ultimate.allocInit(12, 3);call #Ultimate.allocInit(30, 4);call #Ultimate.allocInit(9, 5);call #Ultimate.allocInit(21, 6);call #Ultimate.allocInit(30, 7);call #Ultimate.allocInit(9, 8);call #Ultimate.allocInit(21, 9);call #Ultimate.allocInit(30, 10);call #Ultimate.allocInit(9, 11);call #Ultimate.allocInit(25, 12);call #Ultimate.allocInit(30, 13);call #Ultimate.allocInit(9, 14);call #Ultimate.allocInit(25, 15);call #Ultimate.allocInit(10, 16);call #Ultimate.allocInit(4, 17);call write~init~int#5(91, 17, 0, 1);call write~init~int#5(95, 17, 1, 1);call write~init~int#5(93, 17, 2, 1);call write~init~int#5(0, 17, 3, 1);call #Ultimate.allocInit(4, 18);call write~init~int#6(91, 18, 0, 1);call write~init~int#6(93, 18, 1, 1);call write~init~int#6(32, 18, 2, 1);call write~init~int#6(0, 18, 3, 1);call #Ultimate.allocInit(5, 19);call write~init~int#7(32, 19, 0, 1);call write~init~int#7(97, 19, 1, 1);call write~init~int#7(116, 19, 2, 1);call write~init~int#7(32, 19, 3, 1);call write~init~int#7(0, 19, 4, 1);call #Ultimate.allocInit(3, 20);call write~init~int#8(37, 20, 0, 1);call write~init~int#8(105, 20, 1, 1);call write~init~int#8(0, 20, 2, 1);call #Ultimate.allocInit(10, 21);call #Ultimate.allocInit(3, 22);call write~init~int#9(117, 22, 0, 1);call write~init~int#9(112, 22, 1, 1);call write~init~int#9(0, 22, 2, 1);call #Ultimate.allocInit(5, 23);call write~init~int#10(100, 23, 0, 1);call write~init~int#10(111, 23, 1, 1);call write~init~int#10(119, 23, 2, 1);call write~init~int#10(110, 23, 3, 1);call write~init~int#10(0, 23, 4, 1);call #Ultimate.allocInit(7, 24);call write~init~int#11(32, 24, 0, 1);call write~init~int#11(73, 24, 1, 1);call write~init~int#11(76, 24, 2, 1);call write~init~int#11(95, 24, 3, 1);call write~init~int#11(112, 24, 4, 1);call write~init~int#11(58, 24, 5, 1);call write~init~int#11(0, 24, 6, 1);call #Ultimate.allocInit(4, 25);call write~init~int#12(32, 25, 0, 1);call write~init~int#12(37, 25, 1, 1);call write~init~int#12(105, 25, 2, 1);call write~init~int#12(0, 25, 3, 1);call #Ultimate.allocInit(4, 26);call write~init~int#13(32, 26, 0, 1);call write~init~int#13(37, 26, 1, 1);call write~init~int#13(105, 26, 2, 1);call write~init~int#13(0, 26, 3, 1);call #Ultimate.allocInit(4, 27);call write~init~int#14(32, 27, 0, 1);call write~init~int#14(37, 27, 1, 1);call write~init~int#14(105, 27, 2, 1);call write~init~int#14(0, 27, 3, 1);call #Ultimate.allocInit(4, 28);call write~init~int#15(32, 28, 0, 1);call write~init~int#15(37, 28, 1, 1);call write~init~int#15(105, 28, 2, 1);call write~init~int#15(0, 28, 3, 1);call #Ultimate.allocInit(4, 29);call write~init~int#16(32, 29, 0, 1);call write~init~int#16(37, 29, 1, 1);call write~init~int#16(105, 29, 2, 1);call write~init~int#16(0, 29, 3, 1);call #Ultimate.allocInit(6, 30);call write~init~int#17(32, 30, 0, 1);call write~init~int#17(70, 30, 1, 1);call write~init~int#17(95, 30, 2, 1);call write~init~int#17(112, 30, 3, 1);call write~init~int#17(58, 30, 4, 1);call write~init~int#17(0, 30, 5, 1);call #Ultimate.allocInit(4, 31);call write~init~int#18(32, 31, 0, 1);call write~init~int#18(37, 31, 1, 1);call write~init~int#18(105, 31, 2, 1);call write~init~int#18(0, 31, 3, 1);call #Ultimate.allocInit(4, 32);call write~init~int#19(32, 32, 0, 1);call write~init~int#19(37, 32, 1, 1);call write~init~int#19(105, 32, 2, 1);call write~init~int#19(0, 32, 3, 1);call #Ultimate.allocInit(4, 33);call write~init~int#1(32, 33, 0, 1);call write~init~int#1(37, 33, 1, 1);call write~init~int#1(105, 33, 2, 1);call write~init~int#1(0, 33, 3, 1);call #Ultimate.allocInit(4, 34);call write~init~int#2(32, 34, 0, 1);call write~init~int#2(37, 34, 1, 1);call write~init~int#2(105, 34, 2, 1);call write~init~int#2(0, 34, 3, 1);call #Ultimate.allocInit(4, 35);call write~init~int#3(32, 35, 0, 1);call write~init~int#3(37, 35, 1, 1);call write~init~int#3(105, 35, 2, 1);call write~init~int#3(0, 35, 3, 1);call #Ultimate.allocInit(2, 36);call write~init~int#4(10, 36, 0, 1);call write~init~int#4(0, 36, 1, 1);~head~0.base, ~head~0.offset := 0, 0;~weight~0 := 0;~maximumWeight~0 := 100;~executiveFloor~0 := 4;~prevDir~0 := 0;~calls_0~0 := 0;~calls_1~0 := 0;~calls_2~0 := 0;~calls_3~0 := 0;~calls_4~0 := 0;~personOnFloor_0_0~0 := 0;~personOnFloor_0_1~0 := 0;~personOnFloor_0_2~0 := 0;~personOnFloor_0_3~0 := 0;~personOnFloor_0_4~0 := 0;~personOnFloor_1_0~0 := 0;~personOnFloor_1_1~0 := 0;~personOnFloor_1_2~0 := 0;~personOnFloor_1_3~0 := 0;~personOnFloor_1_4~0 := 0;~personOnFloor_2_0~0 := 0;~personOnFloor_2_1~0 := 0;~personOnFloor_2_2~0 := 0;~personOnFloor_2_3~0 := 0;~personOnFloor_2_4~0 := 0;~personOnFloor_3_0~0 := 0;~personOnFloor_3_1~0 := 0;~personOnFloor_3_2~0 := 0;~personOnFloor_3_3~0 := 0;~personOnFloor_3_4~0 := 0;~personOnFloor_4_0~0 := 0;~personOnFloor_4_1~0 := 0;~personOnFloor_4_2~0 := 0;~personOnFloor_4_3~0 := 0;~personOnFloor_4_4~0 := 0;~personOnFloor_5_0~0 := 0;~personOnFloor_5_1~0 := 0;~personOnFloor_5_2~0 := 0;~personOnFloor_5_3~0 := 0;~personOnFloor_5_4~0 := 0;~cleanupTimeShifts~0 := 12;~currentHeading~0 := 1;~currentFloorID~0 := 0;~persons_0~0 := 0;~persons_1~0 := 0;~persons_2~0 := 0;~persons_3~0 := 0;~persons_4~0 := 0;~persons_5~0 := 0;~doorState~0 := 1;~floorButtons_0~0 := 0;~floorButtons_1~0 := 0;~floorButtons_2~0 := 0;~floorButtons_3~0 := 0;~floorButtons_4~0 := 0; 329739#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret47#1, main_~retValue_acc~10#1, main_~tmp~12#1;havoc main_~retValue_acc~10#1;havoc main_~tmp~12#1;assume { :begin_inline_select_helpers } true; 329740#select_helpers_returnLabel#1 assume { :end_inline_select_helpers } true;assume { :begin_inline_select_features } true; 331863#select_features_returnLabel#1 assume { :end_inline_select_features } true;assume { :begin_inline_valid_product } true;havoc valid_product_#res#1;havoc valid_product_~retValue_acc~12#1;havoc valid_product_~retValue_acc~12#1;valid_product_~retValue_acc~12#1 := 1;valid_product_#res#1 := valid_product_~retValue_acc~12#1; 323734#valid_product_returnLabel#1 main_#t~ret47#1 := valid_product_#res#1;havoc valid_product_~retValue_acc~12#1;assume { :end_inline_valid_product } true;main_~tmp~12#1 := main_#t~ret47#1;havoc main_#t~ret47#1; 323735#L1651 assume 0 != main_~tmp~12#1;assume { :begin_inline_setup } true; 325503#setup_returnLabel#1 assume { :end_inline_setup } true;assume { :begin_inline_runTest } true;assume { :begin_inline_test } true;assume { :begin_inline_aliceCall } true;havoc aliceCall_#t~ret36#1, aliceCall_~tmp~5#1;havoc aliceCall_~tmp~5#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 1;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~4#1; 325504#L564 assume !(0 == getOrigin_~person#1); 324124#L568 assume 1 == getOrigin_~person#1;getOrigin_~retValue_acc~4#1 := 3;getOrigin_#res#1 := getOrigin_~retValue_acc~4#1; 324125#getOrigin_returnLabel#1 aliceCall_#t~ret36#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;aliceCall_~tmp~5#1 := aliceCall_#t~ret36#1;havoc aliceCall_#t~ret36#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 1, aliceCall_~tmp~5#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 324738#L999 assume !(0 == initPersonOnFloor_~floor#1); 324739#L1026 assume !(1 == initPersonOnFloor_~floor#1); 330810#L1053 assume !(2 == initPersonOnFloor_~floor#1); 331354#L1080 assume 3 == initPersonOnFloor_~floor#1; 328370#L1081 assume !(0 == initPersonOnFloor_~person#1); 328371#L1084 assume 1 == initPersonOnFloor_~person#1;~personOnFloor_1_3~0 := 1; 326125#L1107-1 assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 322993#L791 assume !(0 == callOnFloor_~floorID#1); 322845#L794 assume !(1 == callOnFloor_~floorID#1); 322798#L797 assume !(2 == callOnFloor_~floorID#1); 322799#L800 assume 3 == callOnFloor_~floorID#1;~calls_3~0 := 1; 324775#L803-2 havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true; 324375#initPersonOnFloor_returnLabel#1 havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true; 324376#aliceCall_returnLabel#1 havoc aliceCall_#t~ret36#1, aliceCall_~tmp~5#1;assume { :end_inline_aliceCall } true;assume { :begin_inline_angelinaCall } true;havoc angelinaCall_#t~ret37#1, angelinaCall_~tmp~6#1;havoc angelinaCall_~tmp~6#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 2;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~4#1; 330052#L564-1 assume !(0 == getOrigin_~person#1); 325247#L568-1 assume !(1 == getOrigin_~person#1); 325248#L572-1 assume 2 == getOrigin_~person#1;getOrigin_~retValue_acc~4#1 := 2;getOrigin_#res#1 := getOrigin_~retValue_acc~4#1; 323119#getOrigin_returnLabel#2 angelinaCall_#t~ret37#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;angelinaCall_~tmp~6#1 := angelinaCall_#t~ret37#1;havoc angelinaCall_#t~ret37#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 2, angelinaCall_~tmp~6#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 323120#L999-1 assume !(0 == initPersonOnFloor_~floor#1); 328823#L1026-1 assume !(1 == initPersonOnFloor_~floor#1); 330251#L1053-1 assume !(2 == initPersonOnFloor_~floor#1); 328517#L1080-1 assume !(3 == initPersonOnFloor_~floor#1); 328519#L1107-2 assume !(4 == initPersonOnFloor_~floor#1); 326136#L1107-3 assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 336089#L791-2 assume !(0 == callOnFloor_~floorID#1); 336088#L794-2 assume !(1 == callOnFloor_~floorID#1); 331763#L797-2 assume !(2 == callOnFloor_~floorID#1); 324353#L800-2 assume !(3 == callOnFloor_~floorID#1); 324355#L803-3 assume 4 == callOnFloor_~floorID#1;~calls_4~0 := 1; 326374#L803-5 havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true; 333284#initPersonOnFloor_returnLabel#2 havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true; 333282#angelinaCall_returnLabel#1 havoc angelinaCall_#t~ret37#1, angelinaCall_~tmp~6#1;assume { :end_inline_angelinaCall } true;assume { :begin_inline_threeTS } true;assume { :begin_inline_timeShift } true;havoc timeShift_#t~ret98#1, timeShift_#t~ret99#1, timeShift_#t~ret100#1, timeShift_#t~ret101#1, timeShift_#t~ret102#1, timeShift_#t~ret103#1, timeShift_#t~ret104#1, timeShift_#t~ret105#1, timeShift_#t~ret106#1, timeShift_#t~ret107#1, timeShift_#t~ret108#1, timeShift_~tmp~26#1, timeShift_~tmp___0~10#1, timeShift_~tmp___1~5#1, timeShift_~tmp___2~5#1, timeShift_~tmp___3~4#1, timeShift_~tmp___4~3#1, timeShift_~tmp___5~2#1, timeShift_~tmp___6~2#1, timeShift_~tmp___7~2#1, timeShift_~tmp___8~2#1, timeShift_~tmp___9~2#1;havoc timeShift_~tmp~26#1;havoc timeShift_~tmp___0~10#1;havoc timeShift_~tmp___1~5#1;havoc timeShift_~tmp___2~5#1;havoc timeShift_~tmp___3~4#1;havoc timeShift_~tmp___4~3#1;havoc timeShift_~tmp___5~2#1;havoc timeShift_~tmp___6~2#1;havoc timeShift_~tmp___7~2#1;havoc timeShift_~tmp___8~2#1;havoc timeShift_~tmp___9~2#1;assume { :begin_inline___utac_acc__Specification13_spec__1 } true;havoc __utac_acc__Specification13_spec__1_#t~ret27#1;assume { :begin_inline_getCurrentHeading } true;havoc getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~17#1;havoc getCurrentHeading_~retValue_acc~17#1;getCurrentHeading_~retValue_acc~17#1 := ~currentHeading~0;getCurrentHeading_#res#1 := getCurrentHeading_~retValue_acc~17#1; 333280#getCurrentHeading_returnLabel#1 __utac_acc__Specification13_spec__1_#t~ret27#1 := getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~17#1;assume { :end_inline_getCurrentHeading } true;~prevDir~0 := __utac_acc__Specification13_spec__1_#t~ret27#1;havoc __utac_acc__Specification13_spec__1_#t~ret27#1; 333278#__utac_acc__Specification13_spec__1_returnLabel#1 havoc __utac_acc__Specification13_spec__1_#t~ret27#1;assume { :end_inline___utac_acc__Specification13_spec__1 } true;assume { :begin_inline_stopRequestedAtCurrentFloor } true;havoc stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1, stopRequestedAtCurrentFloor_#t~ret83#1, stopRequestedAtCurrentFloor_#t~ret84#1, stopRequestedAtCurrentFloor_#t~ret85#1, stopRequestedAtCurrentFloor_~retValue_acc~27#1, stopRequestedAtCurrentFloor_~tmp~24#1, stopRequestedAtCurrentFloor_~tmp___0~8#1;havoc stopRequestedAtCurrentFloor_~retValue_acc~27#1;havoc stopRequestedAtCurrentFloor_~tmp~24#1;havoc stopRequestedAtCurrentFloor_~tmp___0~8#1;assume { :begin_inline_isExecutiveFloorCalling } true;havoc isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;havoc isExecutiveFloorCalling_~retValue_acc~30#1;assume { :begin_inline_isFloorCalling } true;isFloorCalling_#in~floorID#1 := ~executiveFloor~0;havoc isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;isFloorCalling_~floorID#1 := isFloorCalling_#in~floorID#1;havoc isFloorCalling_~retValue_acc~6#1; 333276#L728 assume !(0 == isFloorCalling_~floorID#1); 333274#L732 assume !(1 == isFloorCalling_~floorID#1); 333272#L736 assume !(2 == isFloorCalling_~floorID#1); 333270#L740 assume !(3 == isFloorCalling_~floorID#1); 333268#L744 assume 4 == isFloorCalling_~floorID#1;isFloorCalling_~retValue_acc~6#1 := ~calls_4~0;isFloorCalling_#res#1 := isFloorCalling_~retValue_acc~6#1; 333266#isFloorCalling_returnLabel#1 isExecutiveFloorCalling_#t~ret135#1 := isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;havoc isFloorCalling_#in~floorID#1;assume { :end_inline_isFloorCalling } true;isExecutiveFloorCalling_~retValue_acc~30#1 := isExecutiveFloorCalling_#t~ret135#1;havoc isExecutiveFloorCalling_#t~ret135#1;isExecutiveFloorCalling_#res#1 := isExecutiveFloorCalling_~retValue_acc~30#1; 333264#isExecutiveFloorCalling_returnLabel#1 stopRequestedAtCurrentFloor_#t~ret82#1 := isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;assume { :end_inline_isExecutiveFloorCalling } true;stopRequestedAtCurrentFloor_~tmp~24#1 := stopRequestedAtCurrentFloor_#t~ret82#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1; 333257#L2700 assume 0 != stopRequestedAtCurrentFloor_~tmp~24#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;havoc getCurrentFloorID_~retValue_acc~14#1;getCurrentFloorID_~retValue_acc~14#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~14#1; 328378#getCurrentFloorID_returnLabel#1 stopRequestedAtCurrentFloor_#t~ret83#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedAtCurrentFloor_~tmp___0~8#1 := stopRequestedAtCurrentFloor_#t~ret83#1;havoc stopRequestedAtCurrentFloor_#t~ret83#1; 327305#L2704 assume !(~executiveFloor~0 == stopRequestedAtCurrentFloor_~tmp___0~8#1);stopRequestedAtCurrentFloor_~retValue_acc~27#1 := 0;stopRequestedAtCurrentFloor_#res#1 := stopRequestedAtCurrentFloor_~retValue_acc~27#1; 325930#stopRequestedAtCurrentFloor_returnLabel#1 timeShift_#t~ret98#1 := stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1, stopRequestedAtCurrentFloor_#t~ret83#1, stopRequestedAtCurrentFloor_#t~ret84#1, stopRequestedAtCurrentFloor_#t~ret85#1, stopRequestedAtCurrentFloor_~retValue_acc~27#1, stopRequestedAtCurrentFloor_~tmp~24#1, stopRequestedAtCurrentFloor_~tmp___0~8#1;assume { :end_inline_stopRequestedAtCurrentFloor } true;timeShift_~tmp___9~2#1 := timeShift_#t~ret98#1;havoc timeShift_#t~ret98#1; 337391#L2853 assume !(0 != timeShift_~tmp___9~2#1); 336455#L2944 assume 1 == ~doorState~0;~doorState~0 := 0; 336454#L2944-2 assume { :begin_inline_stopRequestedInDirection } true;stopRequestedInDirection_#in~dir#1, stopRequestedInDirection_#in~respectFloorCalls#1, stopRequestedInDirection_#in~respectInLiftCalls#1 := ~currentHeading~0, 1, 1;havoc stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret73#1, stopRequestedInDirection_#t~ret74#1, stopRequestedInDirection_#t~ret75#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~23#1, stopRequestedInDirection_~tmp~20#1, stopRequestedInDirection_~tmp___0~5#1, stopRequestedInDirection_~__cil_tmp7~6#1, stopRequestedInDirection_~__cil_tmp8~7#1;stopRequestedInDirection_~dir#1 := stopRequestedInDirection_#in~dir#1;stopRequestedInDirection_~respectFloorCalls#1 := stopRequestedInDirection_#in~respectFloorCalls#1;stopRequestedInDirection_~respectInLiftCalls#1 := stopRequestedInDirection_#in~respectInLiftCalls#1;havoc stopRequestedInDirection_~retValue_acc~23#1;havoc stopRequestedInDirection_~tmp~20#1;havoc stopRequestedInDirection_~tmp___0~5#1;havoc stopRequestedInDirection_~__cil_tmp7~6#1;havoc stopRequestedInDirection_~__cil_tmp8~7#1;assume { :begin_inline_isExecutiveFloorCalling } true;havoc isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;havoc isExecutiveFloorCalling_~retValue_acc~30#1;assume { :begin_inline_isFloorCalling } true;isFloorCalling_#in~floorID#1 := ~executiveFloor~0;havoc isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;isFloorCalling_~floorID#1 := isFloorCalling_#in~floorID#1;havoc isFloorCalling_~retValue_acc~6#1; 336453#L728-3 assume !(0 == isFloorCalling_~floorID#1); 336452#L732-3 assume !(1 == isFloorCalling_~floorID#1); 336451#L736-3 assume !(2 == isFloorCalling_~floorID#1); 336450#L740-3 assume !(3 == isFloorCalling_~floorID#1); 336449#L744-3 assume 4 == isFloorCalling_~floorID#1;isFloorCalling_~retValue_acc~6#1 := ~calls_4~0;isFloorCalling_#res#1 := isFloorCalling_~retValue_acc~6#1; 336443#isFloorCalling_returnLabel#4 isExecutiveFloorCalling_#t~ret135#1 := isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;havoc isFloorCalling_#in~floorID#1;assume { :end_inline_isFloorCalling } true;isExecutiveFloorCalling_~retValue_acc~30#1 := isExecutiveFloorCalling_#t~ret135#1;havoc isExecutiveFloorCalling_#t~ret135#1;isExecutiveFloorCalling_#res#1 := isExecutiveFloorCalling_~retValue_acc~30#1; 336441#isExecutiveFloorCalling_returnLabel#2 stopRequestedInDirection_#t~ret73#1 := isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;assume { :end_inline_isExecutiveFloorCalling } true;stopRequestedInDirection_~tmp___0~5#1 := stopRequestedInDirection_#t~ret73#1;havoc stopRequestedInDirection_#t~ret73#1; 336396#L2555 assume 0 != stopRequestedInDirection_~tmp___0~5#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;havoc getCurrentFloorID_~retValue_acc~14#1;getCurrentFloorID_~retValue_acc~14#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~14#1; 336391#getCurrentFloorID_returnLabel#4 stopRequestedInDirection_#t~ret74#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedInDirection_~tmp~20#1 := stopRequestedInDirection_#t~ret74#1;havoc stopRequestedInDirection_#t~ret74#1;stopRequestedInDirection_~__cil_tmp7~6#1 := (if 1 == stopRequestedInDirection_~dir#1 then 1 else 0);stopRequestedInDirection_~__cil_tmp8~7#1 := (if stopRequestedInDirection_~tmp~20#1 < ~executiveFloor~0 then 1 else 0);stopRequestedInDirection_~retValue_acc~23#1 := (if stopRequestedInDirection_~__cil_tmp8~7#1 == stopRequestedInDirection_~__cil_tmp7~6#1 then 1 else 0);stopRequestedInDirection_#res#1 := stopRequestedInDirection_~retValue_acc~23#1; 336390#stopRequestedInDirection_returnLabel#1 timeShift_#t~ret105#1 := stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret73#1, stopRequestedInDirection_#t~ret74#1, stopRequestedInDirection_#t~ret75#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~23#1, stopRequestedInDirection_~tmp~20#1, stopRequestedInDirection_~tmp___0~5#1, stopRequestedInDirection_~__cil_tmp7~6#1, stopRequestedInDirection_~__cil_tmp8~7#1;havoc stopRequestedInDirection_#in~dir#1, stopRequestedInDirection_#in~respectFloorCalls#1, stopRequestedInDirection_#in~respectInLiftCalls#1;assume { :end_inline_stopRequestedInDirection } true;timeShift_~tmp___8~2#1 := timeShift_#t~ret105#1;havoc timeShift_#t~ret105#1; 336388#L2952 assume 0 != timeShift_~tmp___8~2#1;assume { :begin_inline_continueInDirection } true;continueInDirection_#in~dir#1 := ~currentHeading~0;havoc continueInDirection_#t~ret76#1, continueInDirection_~dir#1, continueInDirection_~tmp~21#1;continueInDirection_~dir#1 := continueInDirection_#in~dir#1;havoc continueInDirection_~tmp~21#1;~currentHeading~0 := continueInDirection_~dir#1; 336387#L2612 assume !(1 == ~currentHeading~0); 336384#L2622 assume !(0 == ~currentFloorID~0); 336378#L2622-2 assume !(1 == ~currentHeading~0);~currentFloorID~0 := ~currentFloorID~0 - 1; 336377#L2628-1 havoc continueInDirection_#t~ret76#1, continueInDirection_~dir#1, continueInDirection_~tmp~21#1;havoc continueInDirection_#in~dir#1;assume { :end_inline_continueInDirection } true; 336372#L2961-2 assume { :begin_inline___utac_acc__Specification13_spec__2 } true;havoc __utac_acc__Specification13_spec__2_#t~ret28#1, __utac_acc__Specification13_spec__2_#t~ret29#1, __utac_acc__Specification13_spec__2_#t~ret30#1, __utac_acc__Specification13_spec__2_#t~ret31#1, __utac_acc__Specification13_spec__2_#t~ret32#1, __utac_acc__Specification13_spec__2_#t~ret33#1, __utac_acc__Specification13_spec__2_~tmp~3#1, __utac_acc__Specification13_spec__2_~tmp___0~0#1, __utac_acc__Specification13_spec__2_~tmp___1~0#1, __utac_acc__Specification13_spec__2_~tmp___2~0#1, __utac_acc__Specification13_spec__2_~tmp___3~0#1, __utac_acc__Specification13_spec__2_~tmp___4~0#1, __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1, __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1;havoc __utac_acc__Specification13_spec__2_~tmp~3#1;havoc __utac_acc__Specification13_spec__2_~tmp___0~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___1~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___2~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___3~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___4~0#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1;__utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 := 2 * ~maximumWeight~0;__utac_acc__Specification13_spec__2_~__cil_tmp8~5#1 := (if __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 < 0 && 0 != __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 % 3 then 1 + __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 / 3 else __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 / 3); 336368#L454 assume ~weight~0 > __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1; 336369#L455 assume 1 == ~prevDir~0;assume { :begin_inline_existInLiftCallsInDirection } true;existInLiftCallsInDirection_#in~d#1 := 0;havoc existInLiftCallsInDirection_#res#1;havoc existInLiftCallsInDirection_~d#1, existInLiftCallsInDirection_~retValue_acc~29#1, existInLiftCallsInDirection_~i~1#1, existInLiftCallsInDirection_~i___0~0#1;existInLiftCallsInDirection_~d#1 := existInLiftCallsInDirection_#in~d#1;havoc existInLiftCallsInDirection_~retValue_acc~29#1;havoc existInLiftCallsInDirection_~i~1#1;havoc existInLiftCallsInDirection_~i___0~0#1; 336373#L3156 assume !(1 == existInLiftCallsInDirection_~d#1); 338130#L3222 assume 0 == existInLiftCallsInDirection_~d#1;existInLiftCallsInDirection_~i___0~0#1 := 0;existInLiftCallsInDirection_~i___0~0#1 := ~currentFloorID~0 - 1; 338131#L3226-2 [2024-10-12 00:47:42,906 INFO L747 eck$LassoCheckResult]: Loop: 338131#L3226-2 assume !false; 338128#L3227 assume existInLiftCallsInDirection_~i___0~0#1 >= 0; 338129#L3228 existInLiftCallsInDirection_~i___0~0#1 := 1 + ~currentFloorID~0; 338151#L3235-2 assume !false; 338147#L3236 assume !(existInLiftCallsInDirection_~i___0~0#1 < 5); 338145#L3294 existInLiftCallsInDirection_~i___0~0#1 := existInLiftCallsInDirection_~i___0~0#1 - 1; 338131#L3226-2 [2024-10-12 00:47:42,906 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-12 00:47:42,906 INFO L85 PathProgramCache]: Analyzing trace with hash 1873642235, now seen corresponding path program 1 times [2024-10-12 00:47:42,907 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-12 00:47:42,907 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [880341391] [2024-10-12 00:47:42,907 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-12 00:47:42,907 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-12 00:47:42,935 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-12 00:47:43,002 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-10-12 00:47:43,003 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-10-12 00:47:43,003 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [880341391] [2024-10-12 00:47:43,003 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [880341391] provided 1 perfect and 0 imperfect interpolant sequences [2024-10-12 00:47:43,003 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-10-12 00:47:43,003 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2024-10-12 00:47:43,004 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2004419557] [2024-10-12 00:47:43,004 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-10-12 00:47:43,004 INFO L750 eck$LassoCheckResult]: stem already infeasible [2024-10-12 00:47:43,004 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-12 00:47:43,004 INFO L85 PathProgramCache]: Analyzing trace with hash 1717871275, now seen corresponding path program 11 times [2024-10-12 00:47:43,004 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-12 00:47:43,005 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [924766627] [2024-10-12 00:47:43,005 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-12 00:47:43,005 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-12 00:47:43,017 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-12 00:47:43,017 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-10-12 00:47:43,018 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-12 00:47:43,023 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-10-12 00:47:43,041 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-10-12 00:47:43,042 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2024-10-12 00:47:43,042 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2024-10-12 00:47:43,042 INFO L87 Difference]: Start difference. First operand 19298 states and 35069 transitions. cyclomatic complexity: 15841 Second operand has 4 states, 4 states have (on average 19.5) internal successors, (78), 4 states have internal predecessors, (78), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-10-12 00:47:43,270 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-10-12 00:47:43,271 INFO L93 Difference]: Finished difference Result 19270 states and 35019 transitions. [2024-10-12 00:47:43,271 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 19270 states and 35019 transitions. [2024-10-12 00:47:43,370 INFO L131 ngComponentsAnalysis]: Automaton has 66 accepting balls. 4844 [2024-10-12 00:47:43,435 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 19270 states to 19270 states and 35019 transitions. [2024-10-12 00:47:43,436 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 19194 [2024-10-12 00:47:43,456 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 19194 [2024-10-12 00:47:43,456 INFO L73 IsDeterministic]: Start isDeterministic. Operand 19270 states and 35019 transitions. [2024-10-12 00:47:43,458 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-10-12 00:47:43,458 INFO L218 hiAutomatonCegarLoop]: Abstraction has 19270 states and 35019 transitions. [2024-10-12 00:47:43,479 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 19270 states and 35019 transitions. [2024-10-12 00:47:43,628 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 19270 to 19270. [2024-10-12 00:47:43,648 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19270 states, 19270 states have (on average 1.8172807472755579) internal successors, (35019), 19269 states have internal predecessors, (35019), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-10-12 00:47:43,678 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19270 states to 19270 states and 35019 transitions. [2024-10-12 00:47:43,679 INFO L240 hiAutomatonCegarLoop]: Abstraction has 19270 states and 35019 transitions. [2024-10-12 00:47:43,679 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2024-10-12 00:47:43,679 INFO L425 stractBuchiCegarLoop]: Abstraction has 19270 states and 35019 transitions. [2024-10-12 00:47:43,679 INFO L332 stractBuchiCegarLoop]: ======== Iteration 14 ============ [2024-10-12 00:47:43,680 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 19270 states and 35019 transitions. [2024-10-12 00:47:43,726 INFO L131 ngComponentsAnalysis]: Automaton has 66 accepting balls. 4844 [2024-10-12 00:47:43,726 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-10-12 00:47:43,726 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-10-12 00:47:43,726 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-10-12 00:47:43,727 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1] [2024-10-12 00:47:43,727 INFO L745 eck$LassoCheckResult]: Stem: 368471#$Ultimate##0 assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int#0(48, 1, 0, 1);call write~init~int#0(0, 1, 1, 1);call #Ultimate.allocInit(32, 2);call #Ultimate.allocInit(12, 3);call #Ultimate.allocInit(30, 4);call #Ultimate.allocInit(9, 5);call #Ultimate.allocInit(21, 6);call #Ultimate.allocInit(30, 7);call #Ultimate.allocInit(9, 8);call #Ultimate.allocInit(21, 9);call #Ultimate.allocInit(30, 10);call #Ultimate.allocInit(9, 11);call #Ultimate.allocInit(25, 12);call #Ultimate.allocInit(30, 13);call #Ultimate.allocInit(9, 14);call #Ultimate.allocInit(25, 15);call #Ultimate.allocInit(10, 16);call #Ultimate.allocInit(4, 17);call write~init~int#5(91, 17, 0, 1);call write~init~int#5(95, 17, 1, 1);call write~init~int#5(93, 17, 2, 1);call write~init~int#5(0, 17, 3, 1);call #Ultimate.allocInit(4, 18);call write~init~int#6(91, 18, 0, 1);call write~init~int#6(93, 18, 1, 1);call write~init~int#6(32, 18, 2, 1);call write~init~int#6(0, 18, 3, 1);call #Ultimate.allocInit(5, 19);call write~init~int#7(32, 19, 0, 1);call write~init~int#7(97, 19, 1, 1);call write~init~int#7(116, 19, 2, 1);call write~init~int#7(32, 19, 3, 1);call write~init~int#7(0, 19, 4, 1);call #Ultimate.allocInit(3, 20);call write~init~int#8(37, 20, 0, 1);call write~init~int#8(105, 20, 1, 1);call write~init~int#8(0, 20, 2, 1);call #Ultimate.allocInit(10, 21);call #Ultimate.allocInit(3, 22);call write~init~int#9(117, 22, 0, 1);call write~init~int#9(112, 22, 1, 1);call write~init~int#9(0, 22, 2, 1);call #Ultimate.allocInit(5, 23);call write~init~int#10(100, 23, 0, 1);call write~init~int#10(111, 23, 1, 1);call write~init~int#10(119, 23, 2, 1);call write~init~int#10(110, 23, 3, 1);call write~init~int#10(0, 23, 4, 1);call #Ultimate.allocInit(7, 24);call write~init~int#11(32, 24, 0, 1);call write~init~int#11(73, 24, 1, 1);call write~init~int#11(76, 24, 2, 1);call write~init~int#11(95, 24, 3, 1);call write~init~int#11(112, 24, 4, 1);call write~init~int#11(58, 24, 5, 1);call write~init~int#11(0, 24, 6, 1);call #Ultimate.allocInit(4, 25);call write~init~int#12(32, 25, 0, 1);call write~init~int#12(37, 25, 1, 1);call write~init~int#12(105, 25, 2, 1);call write~init~int#12(0, 25, 3, 1);call #Ultimate.allocInit(4, 26);call write~init~int#13(32, 26, 0, 1);call write~init~int#13(37, 26, 1, 1);call write~init~int#13(105, 26, 2, 1);call write~init~int#13(0, 26, 3, 1);call #Ultimate.allocInit(4, 27);call write~init~int#14(32, 27, 0, 1);call write~init~int#14(37, 27, 1, 1);call write~init~int#14(105, 27, 2, 1);call write~init~int#14(0, 27, 3, 1);call #Ultimate.allocInit(4, 28);call write~init~int#15(32, 28, 0, 1);call write~init~int#15(37, 28, 1, 1);call write~init~int#15(105, 28, 2, 1);call write~init~int#15(0, 28, 3, 1);call #Ultimate.allocInit(4, 29);call write~init~int#16(32, 29, 0, 1);call write~init~int#16(37, 29, 1, 1);call write~init~int#16(105, 29, 2, 1);call write~init~int#16(0, 29, 3, 1);call #Ultimate.allocInit(6, 30);call write~init~int#17(32, 30, 0, 1);call write~init~int#17(70, 30, 1, 1);call write~init~int#17(95, 30, 2, 1);call write~init~int#17(112, 30, 3, 1);call write~init~int#17(58, 30, 4, 1);call write~init~int#17(0, 30, 5, 1);call #Ultimate.allocInit(4, 31);call write~init~int#18(32, 31, 0, 1);call write~init~int#18(37, 31, 1, 1);call write~init~int#18(105, 31, 2, 1);call write~init~int#18(0, 31, 3, 1);call #Ultimate.allocInit(4, 32);call write~init~int#19(32, 32, 0, 1);call write~init~int#19(37, 32, 1, 1);call write~init~int#19(105, 32, 2, 1);call write~init~int#19(0, 32, 3, 1);call #Ultimate.allocInit(4, 33);call write~init~int#1(32, 33, 0, 1);call write~init~int#1(37, 33, 1, 1);call write~init~int#1(105, 33, 2, 1);call write~init~int#1(0, 33, 3, 1);call #Ultimate.allocInit(4, 34);call write~init~int#2(32, 34, 0, 1);call write~init~int#2(37, 34, 1, 1);call write~init~int#2(105, 34, 2, 1);call write~init~int#2(0, 34, 3, 1);call #Ultimate.allocInit(4, 35);call write~init~int#3(32, 35, 0, 1);call write~init~int#3(37, 35, 1, 1);call write~init~int#3(105, 35, 2, 1);call write~init~int#3(0, 35, 3, 1);call #Ultimate.allocInit(2, 36);call write~init~int#4(10, 36, 0, 1);call write~init~int#4(0, 36, 1, 1);~head~0.base, ~head~0.offset := 0, 0;~weight~0 := 0;~maximumWeight~0 := 100;~executiveFloor~0 := 4;~prevDir~0 := 0;~calls_0~0 := 0;~calls_1~0 := 0;~calls_2~0 := 0;~calls_3~0 := 0;~calls_4~0 := 0;~personOnFloor_0_0~0 := 0;~personOnFloor_0_1~0 := 0;~personOnFloor_0_2~0 := 0;~personOnFloor_0_3~0 := 0;~personOnFloor_0_4~0 := 0;~personOnFloor_1_0~0 := 0;~personOnFloor_1_1~0 := 0;~personOnFloor_1_2~0 := 0;~personOnFloor_1_3~0 := 0;~personOnFloor_1_4~0 := 0;~personOnFloor_2_0~0 := 0;~personOnFloor_2_1~0 := 0;~personOnFloor_2_2~0 := 0;~personOnFloor_2_3~0 := 0;~personOnFloor_2_4~0 := 0;~personOnFloor_3_0~0 := 0;~personOnFloor_3_1~0 := 0;~personOnFloor_3_2~0 := 0;~personOnFloor_3_3~0 := 0;~personOnFloor_3_4~0 := 0;~personOnFloor_4_0~0 := 0;~personOnFloor_4_1~0 := 0;~personOnFloor_4_2~0 := 0;~personOnFloor_4_3~0 := 0;~personOnFloor_4_4~0 := 0;~personOnFloor_5_0~0 := 0;~personOnFloor_5_1~0 := 0;~personOnFloor_5_2~0 := 0;~personOnFloor_5_3~0 := 0;~personOnFloor_5_4~0 := 0;~cleanupTimeShifts~0 := 12;~currentHeading~0 := 1;~currentFloorID~0 := 0;~persons_0~0 := 0;~persons_1~0 := 0;~persons_2~0 := 0;~persons_3~0 := 0;~persons_4~0 := 0;~persons_5~0 := 0;~doorState~0 := 1;~floorButtons_0~0 := 0;~floorButtons_1~0 := 0;~floorButtons_2~0 := 0;~floorButtons_3~0 := 0;~floorButtons_4~0 := 0; 368212#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret47#1, main_~retValue_acc~10#1, main_~tmp~12#1;havoc main_~retValue_acc~10#1;havoc main_~tmp~12#1;assume { :begin_inline_select_helpers } true; 368213#select_helpers_returnLabel#1 assume { :end_inline_select_helpers } true;assume { :begin_inline_select_features } true; 370223#select_features_returnLabel#1 assume { :end_inline_select_features } true;assume { :begin_inline_valid_product } true;havoc valid_product_#res#1;havoc valid_product_~retValue_acc~12#1;havoc valid_product_~retValue_acc~12#1;valid_product_~retValue_acc~12#1 := 1;valid_product_#res#1 := valid_product_~retValue_acc~12#1; 362306#valid_product_returnLabel#1 main_#t~ret47#1 := valid_product_#res#1;havoc valid_product_~retValue_acc~12#1;assume { :end_inline_valid_product } true;main_~tmp~12#1 := main_#t~ret47#1;havoc main_#t~ret47#1; 362307#L1651 assume 0 != main_~tmp~12#1;assume { :begin_inline_setup } true; 364057#setup_returnLabel#1 assume { :end_inline_setup } true;assume { :begin_inline_runTest } true;assume { :begin_inline_test } true;assume { :begin_inline_aliceCall } true;havoc aliceCall_#t~ret36#1, aliceCall_~tmp~5#1;havoc aliceCall_~tmp~5#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 1;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~4#1; 364058#L564 assume !(0 == getOrigin_~person#1); 362695#L568 assume 1 == getOrigin_~person#1;getOrigin_~retValue_acc~4#1 := 3;getOrigin_#res#1 := getOrigin_~retValue_acc~4#1; 362696#getOrigin_returnLabel#1 aliceCall_#t~ret36#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;aliceCall_~tmp~5#1 := aliceCall_#t~ret36#1;havoc aliceCall_#t~ret36#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 1, aliceCall_~tmp~5#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 363301#L999 assume !(0 == initPersonOnFloor_~floor#1); 363302#L1026 assume !(1 == initPersonOnFloor_~floor#1); 369249#L1053 assume !(2 == initPersonOnFloor_~floor#1); 369757#L1080 assume 3 == initPersonOnFloor_~floor#1; 366880#L1081 assume !(0 == initPersonOnFloor_~person#1); 366881#L1084 assume 1 == initPersonOnFloor_~person#1;~personOnFloor_1_3~0 := 1; 364677#L1107-1 assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 361567#L791 assume !(0 == callOnFloor_~floorID#1); 361419#L794 assume !(1 == callOnFloor_~floorID#1); 361372#L797 assume !(2 == callOnFloor_~floorID#1); 361373#L800 assume !(3 == callOnFloor_~floorID#1); 366873#L803 assume 4 == callOnFloor_~floorID#1;~calls_4~0 := 1; 369521#L803-2 havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true; 374274#initPersonOnFloor_returnLabel#1 havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true; 374272#aliceCall_returnLabel#1 havoc aliceCall_#t~ret36#1, aliceCall_~tmp~5#1;assume { :end_inline_aliceCall } true;assume { :begin_inline_angelinaCall } true;havoc angelinaCall_#t~ret37#1, angelinaCall_~tmp~6#1;havoc angelinaCall_~tmp~6#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 2;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~4#1; 374271#L564-1 assume !(0 == getOrigin_~person#1); 374270#L568-1 assume !(1 == getOrigin_~person#1); 374269#L572-1 assume 2 == getOrigin_~person#1;getOrigin_~retValue_acc~4#1 := 2;getOrigin_#res#1 := getOrigin_~retValue_acc~4#1; 374266#getOrigin_returnLabel#2 angelinaCall_#t~ret37#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;angelinaCall_~tmp~6#1 := angelinaCall_#t~ret37#1;havoc angelinaCall_#t~ret37#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 2, angelinaCall_~tmp~6#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 374265#L999-1 assume !(0 == initPersonOnFloor_~floor#1); 374263#L1026-1 assume !(1 == initPersonOnFloor_~floor#1); 374262#L1053-1 assume 2 == initPersonOnFloor_~floor#1; 374261#L1054-2 assume !(0 == initPersonOnFloor_~person#1); 374260#L1057-2 assume !(1 == initPersonOnFloor_~person#1); 374259#L1060-2 assume 2 == initPersonOnFloor_~person#1;~personOnFloor_2_2~0 := 1; 374255#L1107-3 assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 374254#L791-2 assume !(0 == callOnFloor_~floorID#1); 374253#L794-2 assume !(1 == callOnFloor_~floorID#1); 374251#L797-2 assume 2 == callOnFloor_~floorID#1;~calls_2~0 := 1; 364922#L803-5 havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true; 374245#initPersonOnFloor_returnLabel#2 havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true; 374243#angelinaCall_returnLabel#1 havoc angelinaCall_#t~ret37#1, angelinaCall_~tmp~6#1;assume { :end_inline_angelinaCall } true;assume { :begin_inline_threeTS } true;assume { :begin_inline_timeShift } true;havoc timeShift_#t~ret98#1, timeShift_#t~ret99#1, timeShift_#t~ret100#1, timeShift_#t~ret101#1, timeShift_#t~ret102#1, timeShift_#t~ret103#1, timeShift_#t~ret104#1, timeShift_#t~ret105#1, timeShift_#t~ret106#1, timeShift_#t~ret107#1, timeShift_#t~ret108#1, timeShift_~tmp~26#1, timeShift_~tmp___0~10#1, timeShift_~tmp___1~5#1, timeShift_~tmp___2~5#1, timeShift_~tmp___3~4#1, timeShift_~tmp___4~3#1, timeShift_~tmp___5~2#1, timeShift_~tmp___6~2#1, timeShift_~tmp___7~2#1, timeShift_~tmp___8~2#1, timeShift_~tmp___9~2#1;havoc timeShift_~tmp~26#1;havoc timeShift_~tmp___0~10#1;havoc timeShift_~tmp___1~5#1;havoc timeShift_~tmp___2~5#1;havoc timeShift_~tmp___3~4#1;havoc timeShift_~tmp___4~3#1;havoc timeShift_~tmp___5~2#1;havoc timeShift_~tmp___6~2#1;havoc timeShift_~tmp___7~2#1;havoc timeShift_~tmp___8~2#1;havoc timeShift_~tmp___9~2#1;assume { :begin_inline___utac_acc__Specification13_spec__1 } true;havoc __utac_acc__Specification13_spec__1_#t~ret27#1;assume { :begin_inline_getCurrentHeading } true;havoc getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~17#1;havoc getCurrentHeading_~retValue_acc~17#1;getCurrentHeading_~retValue_acc~17#1 := ~currentHeading~0;getCurrentHeading_#res#1 := getCurrentHeading_~retValue_acc~17#1; 374242#getCurrentHeading_returnLabel#1 __utac_acc__Specification13_spec__1_#t~ret27#1 := getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~17#1;assume { :end_inline_getCurrentHeading } true;~prevDir~0 := __utac_acc__Specification13_spec__1_#t~ret27#1;havoc __utac_acc__Specification13_spec__1_#t~ret27#1; 374241#__utac_acc__Specification13_spec__1_returnLabel#1 havoc __utac_acc__Specification13_spec__1_#t~ret27#1;assume { :end_inline___utac_acc__Specification13_spec__1 } true;assume { :begin_inline_stopRequestedAtCurrentFloor } true;havoc stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1, stopRequestedAtCurrentFloor_#t~ret83#1, stopRequestedAtCurrentFloor_#t~ret84#1, stopRequestedAtCurrentFloor_#t~ret85#1, stopRequestedAtCurrentFloor_~retValue_acc~27#1, stopRequestedAtCurrentFloor_~tmp~24#1, stopRequestedAtCurrentFloor_~tmp___0~8#1;havoc stopRequestedAtCurrentFloor_~retValue_acc~27#1;havoc stopRequestedAtCurrentFloor_~tmp~24#1;havoc stopRequestedAtCurrentFloor_~tmp___0~8#1;assume { :begin_inline_isExecutiveFloorCalling } true;havoc isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;havoc isExecutiveFloorCalling_~retValue_acc~30#1;assume { :begin_inline_isFloorCalling } true;isFloorCalling_#in~floorID#1 := ~executiveFloor~0;havoc isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;isFloorCalling_~floorID#1 := isFloorCalling_#in~floorID#1;havoc isFloorCalling_~retValue_acc~6#1; 374240#L728 assume !(0 == isFloorCalling_~floorID#1); 374239#L732 assume !(1 == isFloorCalling_~floorID#1); 374238#L736 assume !(2 == isFloorCalling_~floorID#1); 374237#L740 assume !(3 == isFloorCalling_~floorID#1); 374236#L744 assume 4 == isFloorCalling_~floorID#1;isFloorCalling_~retValue_acc~6#1 := ~calls_4~0;isFloorCalling_#res#1 := isFloorCalling_~retValue_acc~6#1; 374235#isFloorCalling_returnLabel#1 isExecutiveFloorCalling_#t~ret135#1 := isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;havoc isFloorCalling_#in~floorID#1;assume { :end_inline_isFloorCalling } true;isExecutiveFloorCalling_~retValue_acc~30#1 := isExecutiveFloorCalling_#t~ret135#1;havoc isExecutiveFloorCalling_#t~ret135#1;isExecutiveFloorCalling_#res#1 := isExecutiveFloorCalling_~retValue_acc~30#1; 374234#isExecutiveFloorCalling_returnLabel#1 stopRequestedAtCurrentFloor_#t~ret82#1 := isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;assume { :end_inline_isExecutiveFloorCalling } true;stopRequestedAtCurrentFloor_~tmp~24#1 := stopRequestedAtCurrentFloor_#t~ret82#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1; 374233#L2700 assume 0 != stopRequestedAtCurrentFloor_~tmp~24#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;havoc getCurrentFloorID_~retValue_acc~14#1;getCurrentFloorID_~retValue_acc~14#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~14#1; 366888#getCurrentFloorID_returnLabel#1 stopRequestedAtCurrentFloor_#t~ret83#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedAtCurrentFloor_~tmp___0~8#1 := stopRequestedAtCurrentFloor_#t~ret83#1;havoc stopRequestedAtCurrentFloor_#t~ret83#1; 365844#L2704 assume !(~executiveFloor~0 == stopRequestedAtCurrentFloor_~tmp___0~8#1);stopRequestedAtCurrentFloor_~retValue_acc~27#1 := 0;stopRequestedAtCurrentFloor_#res#1 := stopRequestedAtCurrentFloor_~retValue_acc~27#1; 364484#stopRequestedAtCurrentFloor_returnLabel#1 timeShift_#t~ret98#1 := stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1, stopRequestedAtCurrentFloor_#t~ret83#1, stopRequestedAtCurrentFloor_#t~ret84#1, stopRequestedAtCurrentFloor_#t~ret85#1, stopRequestedAtCurrentFloor_~retValue_acc~27#1, stopRequestedAtCurrentFloor_~tmp~24#1, stopRequestedAtCurrentFloor_~tmp___0~8#1;assume { :end_inline_stopRequestedAtCurrentFloor } true;timeShift_~tmp___9~2#1 := timeShift_#t~ret98#1;havoc timeShift_#t~ret98#1; 374207#L2853 assume !(0 != timeShift_~tmp___9~2#1); 374206#L2944 assume 1 == ~doorState~0;~doorState~0 := 0; 374203#L2944-2 assume { :begin_inline_stopRequestedInDirection } true;stopRequestedInDirection_#in~dir#1, stopRequestedInDirection_#in~respectFloorCalls#1, stopRequestedInDirection_#in~respectInLiftCalls#1 := ~currentHeading~0, 1, 1;havoc stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret73#1, stopRequestedInDirection_#t~ret74#1, stopRequestedInDirection_#t~ret75#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~23#1, stopRequestedInDirection_~tmp~20#1, stopRequestedInDirection_~tmp___0~5#1, stopRequestedInDirection_~__cil_tmp7~6#1, stopRequestedInDirection_~__cil_tmp8~7#1;stopRequestedInDirection_~dir#1 := stopRequestedInDirection_#in~dir#1;stopRequestedInDirection_~respectFloorCalls#1 := stopRequestedInDirection_#in~respectFloorCalls#1;stopRequestedInDirection_~respectInLiftCalls#1 := stopRequestedInDirection_#in~respectInLiftCalls#1;havoc stopRequestedInDirection_~retValue_acc~23#1;havoc stopRequestedInDirection_~tmp~20#1;havoc stopRequestedInDirection_~tmp___0~5#1;havoc stopRequestedInDirection_~__cil_tmp7~6#1;havoc stopRequestedInDirection_~__cil_tmp8~7#1;assume { :begin_inline_isExecutiveFloorCalling } true;havoc isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;havoc isExecutiveFloorCalling_~retValue_acc~30#1;assume { :begin_inline_isFloorCalling } true;isFloorCalling_#in~floorID#1 := ~executiveFloor~0;havoc isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;isFloorCalling_~floorID#1 := isFloorCalling_#in~floorID#1;havoc isFloorCalling_~retValue_acc~6#1; 374201#L728-3 assume !(0 == isFloorCalling_~floorID#1); 374198#L732-3 assume !(1 == isFloorCalling_~floorID#1); 374197#L736-3 assume !(2 == isFloorCalling_~floorID#1); 374196#L740-3 assume !(3 == isFloorCalling_~floorID#1); 374195#L744-3 assume 4 == isFloorCalling_~floorID#1;isFloorCalling_~retValue_acc~6#1 := ~calls_4~0;isFloorCalling_#res#1 := isFloorCalling_~retValue_acc~6#1; 374194#isFloorCalling_returnLabel#4 isExecutiveFloorCalling_#t~ret135#1 := isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;havoc isFloorCalling_#in~floorID#1;assume { :end_inline_isFloorCalling } true;isExecutiveFloorCalling_~retValue_acc~30#1 := isExecutiveFloorCalling_#t~ret135#1;havoc isExecutiveFloorCalling_#t~ret135#1;isExecutiveFloorCalling_#res#1 := isExecutiveFloorCalling_~retValue_acc~30#1; 374193#isExecutiveFloorCalling_returnLabel#2 stopRequestedInDirection_#t~ret73#1 := isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;assume { :end_inline_isExecutiveFloorCalling } true;stopRequestedInDirection_~tmp___0~5#1 := stopRequestedInDirection_#t~ret73#1;havoc stopRequestedInDirection_#t~ret73#1; 374190#L2555 assume 0 != stopRequestedInDirection_~tmp___0~5#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;havoc getCurrentFloorID_~retValue_acc~14#1;getCurrentFloorID_~retValue_acc~14#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~14#1; 372313#getCurrentFloorID_returnLabel#4 stopRequestedInDirection_#t~ret74#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedInDirection_~tmp~20#1 := stopRequestedInDirection_#t~ret74#1;havoc stopRequestedInDirection_#t~ret74#1;stopRequestedInDirection_~__cil_tmp7~6#1 := (if 1 == stopRequestedInDirection_~dir#1 then 1 else 0);stopRequestedInDirection_~__cil_tmp8~7#1 := (if stopRequestedInDirection_~tmp~20#1 < ~executiveFloor~0 then 1 else 0);stopRequestedInDirection_~retValue_acc~23#1 := (if stopRequestedInDirection_~__cil_tmp8~7#1 == stopRequestedInDirection_~__cil_tmp7~6#1 then 1 else 0);stopRequestedInDirection_#res#1 := stopRequestedInDirection_~retValue_acc~23#1; 372311#stopRequestedInDirection_returnLabel#1 timeShift_#t~ret105#1 := stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret73#1, stopRequestedInDirection_#t~ret74#1, stopRequestedInDirection_#t~ret75#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~23#1, stopRequestedInDirection_~tmp~20#1, stopRequestedInDirection_~tmp___0~5#1, stopRequestedInDirection_~__cil_tmp7~6#1, stopRequestedInDirection_~__cil_tmp8~7#1;havoc stopRequestedInDirection_#in~dir#1, stopRequestedInDirection_#in~respectFloorCalls#1, stopRequestedInDirection_#in~respectInLiftCalls#1;assume { :end_inline_stopRequestedInDirection } true;timeShift_~tmp___8~2#1 := timeShift_#t~ret105#1;havoc timeShift_#t~ret105#1; 372309#L2952 assume 0 != timeShift_~tmp___8~2#1;assume { :begin_inline_continueInDirection } true;continueInDirection_#in~dir#1 := ~currentHeading~0;havoc continueInDirection_#t~ret76#1, continueInDirection_~dir#1, continueInDirection_~tmp~21#1;continueInDirection_~dir#1 := continueInDirection_#in~dir#1;havoc continueInDirection_~tmp~21#1;~currentHeading~0 := continueInDirection_~dir#1; 372307#L2612 assume !(1 == ~currentHeading~0); 372305#L2622 assume !(0 == ~currentFloorID~0); 372299#L2622-2 assume !(1 == ~currentHeading~0);~currentFloorID~0 := ~currentFloorID~0 - 1; 372298#L2628-1 havoc continueInDirection_#t~ret76#1, continueInDirection_~dir#1, continueInDirection_~tmp~21#1;havoc continueInDirection_#in~dir#1;assume { :end_inline_continueInDirection } true; 372293#L2961-2 assume { :begin_inline___utac_acc__Specification13_spec__2 } true;havoc __utac_acc__Specification13_spec__2_#t~ret28#1, __utac_acc__Specification13_spec__2_#t~ret29#1, __utac_acc__Specification13_spec__2_#t~ret30#1, __utac_acc__Specification13_spec__2_#t~ret31#1, __utac_acc__Specification13_spec__2_#t~ret32#1, __utac_acc__Specification13_spec__2_#t~ret33#1, __utac_acc__Specification13_spec__2_~tmp~3#1, __utac_acc__Specification13_spec__2_~tmp___0~0#1, __utac_acc__Specification13_spec__2_~tmp___1~0#1, __utac_acc__Specification13_spec__2_~tmp___2~0#1, __utac_acc__Specification13_spec__2_~tmp___3~0#1, __utac_acc__Specification13_spec__2_~tmp___4~0#1, __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1, __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1;havoc __utac_acc__Specification13_spec__2_~tmp~3#1;havoc __utac_acc__Specification13_spec__2_~tmp___0~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___1~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___2~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___3~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___4~0#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1;__utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 := 2 * ~maximumWeight~0;__utac_acc__Specification13_spec__2_~__cil_tmp8~5#1 := (if __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 < 0 && 0 != __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 % 3 then 1 + __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 / 3 else __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 / 3); 372289#L454 assume ~weight~0 > __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1; 372290#L455 assume 1 == ~prevDir~0;assume { :begin_inline_existInLiftCallsInDirection } true;existInLiftCallsInDirection_#in~d#1 := 0;havoc existInLiftCallsInDirection_#res#1;havoc existInLiftCallsInDirection_~d#1, existInLiftCallsInDirection_~retValue_acc~29#1, existInLiftCallsInDirection_~i~1#1, existInLiftCallsInDirection_~i___0~0#1;existInLiftCallsInDirection_~d#1 := existInLiftCallsInDirection_#in~d#1;havoc existInLiftCallsInDirection_~retValue_acc~29#1;havoc existInLiftCallsInDirection_~i~1#1;havoc existInLiftCallsInDirection_~i___0~0#1; 372294#L3156 assume !(1 == existInLiftCallsInDirection_~d#1); 374984#L3222 assume 0 == existInLiftCallsInDirection_~d#1;existInLiftCallsInDirection_~i___0~0#1 := 0;existInLiftCallsInDirection_~i___0~0#1 := ~currentFloorID~0 - 1; 374985#L3226-2 [2024-10-12 00:47:43,727 INFO L747 eck$LassoCheckResult]: Loop: 374985#L3226-2 assume !false; 374982#L3227 assume existInLiftCallsInDirection_~i___0~0#1 >= 0; 374983#L3228 existInLiftCallsInDirection_~i___0~0#1 := 1 + ~currentFloorID~0; 374995#L3235-2 assume !false; 374992#L3236 assume !(existInLiftCallsInDirection_~i___0~0#1 < 5); 374991#L3294 existInLiftCallsInDirection_~i___0~0#1 := existInLiftCallsInDirection_~i___0~0#1 - 1; 374985#L3226-2 [2024-10-12 00:47:43,727 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-12 00:47:43,727 INFO L85 PathProgramCache]: Analyzing trace with hash 1651041609, now seen corresponding path program 1 times [2024-10-12 00:47:43,728 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-12 00:47:43,728 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [634093488] [2024-10-12 00:47:43,728 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-12 00:47:43,728 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-12 00:47:43,750 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-12 00:47:43,818 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-10-12 00:47:43,818 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-10-12 00:47:43,818 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [634093488] [2024-10-12 00:47:43,819 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [634093488] provided 1 perfect and 0 imperfect interpolant sequences [2024-10-12 00:47:43,819 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-10-12 00:47:43,819 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2024-10-12 00:47:43,819 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [717165747] [2024-10-12 00:47:43,819 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-10-12 00:47:43,819 INFO L750 eck$LassoCheckResult]: stem already infeasible [2024-10-12 00:47:43,820 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-12 00:47:43,820 INFO L85 PathProgramCache]: Analyzing trace with hash 1717871275, now seen corresponding path program 12 times [2024-10-12 00:47:43,820 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-12 00:47:43,820 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [166881191] [2024-10-12 00:47:43,820 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-12 00:47:43,820 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-12 00:47:43,829 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-12 00:47:43,829 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-10-12 00:47:43,830 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-12 00:47:43,835 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-10-12 00:47:43,854 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-10-12 00:47:43,854 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2024-10-12 00:47:43,855 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2024-10-12 00:47:43,855 INFO L87 Difference]: Start difference. First operand 19270 states and 35019 transitions. cyclomatic complexity: 15819 Second operand has 5 states, 5 states have (on average 15.6) internal successors, (78), 5 states have internal predecessors, (78), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-10-12 00:47:44,150 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-10-12 00:47:44,150 INFO L93 Difference]: Finished difference Result 19257 states and 34997 transitions. [2024-10-12 00:47:44,151 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 19257 states and 34997 transitions. [2024-10-12 00:47:44,218 INFO L131 ngComponentsAnalysis]: Automaton has 66 accepting balls. 4844 [2024-10-12 00:47:44,267 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 19257 states to 19257 states and 34997 transitions. [2024-10-12 00:47:44,267 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 19181 [2024-10-12 00:47:44,284 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 19181 [2024-10-12 00:47:44,284 INFO L73 IsDeterministic]: Start isDeterministic. Operand 19257 states and 34997 transitions. [2024-10-12 00:47:44,292 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-10-12 00:47:44,292 INFO L218 hiAutomatonCegarLoop]: Abstraction has 19257 states and 34997 transitions. [2024-10-12 00:47:44,310 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 19257 states and 34997 transitions. [2024-10-12 00:47:44,434 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 19257 to 19257. [2024-10-12 00:47:44,456 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19257 states, 19257 states have (on average 1.817365113984525) internal successors, (34997), 19256 states have internal predecessors, (34997), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-10-12 00:47:44,488 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19257 states to 19257 states and 34997 transitions. [2024-10-12 00:47:44,489 INFO L240 hiAutomatonCegarLoop]: Abstraction has 19257 states and 34997 transitions. [2024-10-12 00:47:44,489 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2024-10-12 00:47:44,490 INFO L425 stractBuchiCegarLoop]: Abstraction has 19257 states and 34997 transitions. [2024-10-12 00:47:44,490 INFO L332 stractBuchiCegarLoop]: ======== Iteration 15 ============ [2024-10-12 00:47:44,490 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 19257 states and 34997 transitions. [2024-10-12 00:47:44,540 INFO L131 ngComponentsAnalysis]: Automaton has 66 accepting balls. 4844 [2024-10-12 00:47:44,540 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-10-12 00:47:44,540 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-10-12 00:47:44,541 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-10-12 00:47:44,541 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1] [2024-10-12 00:47:44,541 INFO L745 eck$LassoCheckResult]: Stem: 407000#$Ultimate##0 assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int#0(48, 1, 0, 1);call write~init~int#0(0, 1, 1, 1);call #Ultimate.allocInit(32, 2);call #Ultimate.allocInit(12, 3);call #Ultimate.allocInit(30, 4);call #Ultimate.allocInit(9, 5);call #Ultimate.allocInit(21, 6);call #Ultimate.allocInit(30, 7);call #Ultimate.allocInit(9, 8);call #Ultimate.allocInit(21, 9);call #Ultimate.allocInit(30, 10);call #Ultimate.allocInit(9, 11);call #Ultimate.allocInit(25, 12);call #Ultimate.allocInit(30, 13);call #Ultimate.allocInit(9, 14);call #Ultimate.allocInit(25, 15);call #Ultimate.allocInit(10, 16);call #Ultimate.allocInit(4, 17);call write~init~int#5(91, 17, 0, 1);call write~init~int#5(95, 17, 1, 1);call write~init~int#5(93, 17, 2, 1);call write~init~int#5(0, 17, 3, 1);call #Ultimate.allocInit(4, 18);call write~init~int#6(91, 18, 0, 1);call write~init~int#6(93, 18, 1, 1);call write~init~int#6(32, 18, 2, 1);call write~init~int#6(0, 18, 3, 1);call #Ultimate.allocInit(5, 19);call write~init~int#7(32, 19, 0, 1);call write~init~int#7(97, 19, 1, 1);call write~init~int#7(116, 19, 2, 1);call write~init~int#7(32, 19, 3, 1);call write~init~int#7(0, 19, 4, 1);call #Ultimate.allocInit(3, 20);call write~init~int#8(37, 20, 0, 1);call write~init~int#8(105, 20, 1, 1);call write~init~int#8(0, 20, 2, 1);call #Ultimate.allocInit(10, 21);call #Ultimate.allocInit(3, 22);call write~init~int#9(117, 22, 0, 1);call write~init~int#9(112, 22, 1, 1);call write~init~int#9(0, 22, 2, 1);call #Ultimate.allocInit(5, 23);call write~init~int#10(100, 23, 0, 1);call write~init~int#10(111, 23, 1, 1);call write~init~int#10(119, 23, 2, 1);call write~init~int#10(110, 23, 3, 1);call write~init~int#10(0, 23, 4, 1);call #Ultimate.allocInit(7, 24);call write~init~int#11(32, 24, 0, 1);call write~init~int#11(73, 24, 1, 1);call write~init~int#11(76, 24, 2, 1);call write~init~int#11(95, 24, 3, 1);call write~init~int#11(112, 24, 4, 1);call write~init~int#11(58, 24, 5, 1);call write~init~int#11(0, 24, 6, 1);call #Ultimate.allocInit(4, 25);call write~init~int#12(32, 25, 0, 1);call write~init~int#12(37, 25, 1, 1);call write~init~int#12(105, 25, 2, 1);call write~init~int#12(0, 25, 3, 1);call #Ultimate.allocInit(4, 26);call write~init~int#13(32, 26, 0, 1);call write~init~int#13(37, 26, 1, 1);call write~init~int#13(105, 26, 2, 1);call write~init~int#13(0, 26, 3, 1);call #Ultimate.allocInit(4, 27);call write~init~int#14(32, 27, 0, 1);call write~init~int#14(37, 27, 1, 1);call write~init~int#14(105, 27, 2, 1);call write~init~int#14(0, 27, 3, 1);call #Ultimate.allocInit(4, 28);call write~init~int#15(32, 28, 0, 1);call write~init~int#15(37, 28, 1, 1);call write~init~int#15(105, 28, 2, 1);call write~init~int#15(0, 28, 3, 1);call #Ultimate.allocInit(4, 29);call write~init~int#16(32, 29, 0, 1);call write~init~int#16(37, 29, 1, 1);call write~init~int#16(105, 29, 2, 1);call write~init~int#16(0, 29, 3, 1);call #Ultimate.allocInit(6, 30);call write~init~int#17(32, 30, 0, 1);call write~init~int#17(70, 30, 1, 1);call write~init~int#17(95, 30, 2, 1);call write~init~int#17(112, 30, 3, 1);call write~init~int#17(58, 30, 4, 1);call write~init~int#17(0, 30, 5, 1);call #Ultimate.allocInit(4, 31);call write~init~int#18(32, 31, 0, 1);call write~init~int#18(37, 31, 1, 1);call write~init~int#18(105, 31, 2, 1);call write~init~int#18(0, 31, 3, 1);call #Ultimate.allocInit(4, 32);call write~init~int#19(32, 32, 0, 1);call write~init~int#19(37, 32, 1, 1);call write~init~int#19(105, 32, 2, 1);call write~init~int#19(0, 32, 3, 1);call #Ultimate.allocInit(4, 33);call write~init~int#1(32, 33, 0, 1);call write~init~int#1(37, 33, 1, 1);call write~init~int#1(105, 33, 2, 1);call write~init~int#1(0, 33, 3, 1);call #Ultimate.allocInit(4, 34);call write~init~int#2(32, 34, 0, 1);call write~init~int#2(37, 34, 1, 1);call write~init~int#2(105, 34, 2, 1);call write~init~int#2(0, 34, 3, 1);call #Ultimate.allocInit(4, 35);call write~init~int#3(32, 35, 0, 1);call write~init~int#3(37, 35, 1, 1);call write~init~int#3(105, 35, 2, 1);call write~init~int#3(0, 35, 3, 1);call #Ultimate.allocInit(2, 36);call write~init~int#4(10, 36, 0, 1);call write~init~int#4(0, 36, 1, 1);~head~0.base, ~head~0.offset := 0, 0;~weight~0 := 0;~maximumWeight~0 := 100;~executiveFloor~0 := 4;~prevDir~0 := 0;~calls_0~0 := 0;~calls_1~0 := 0;~calls_2~0 := 0;~calls_3~0 := 0;~calls_4~0 := 0;~personOnFloor_0_0~0 := 0;~personOnFloor_0_1~0 := 0;~personOnFloor_0_2~0 := 0;~personOnFloor_0_3~0 := 0;~personOnFloor_0_4~0 := 0;~personOnFloor_1_0~0 := 0;~personOnFloor_1_1~0 := 0;~personOnFloor_1_2~0 := 0;~personOnFloor_1_3~0 := 0;~personOnFloor_1_4~0 := 0;~personOnFloor_2_0~0 := 0;~personOnFloor_2_1~0 := 0;~personOnFloor_2_2~0 := 0;~personOnFloor_2_3~0 := 0;~personOnFloor_2_4~0 := 0;~personOnFloor_3_0~0 := 0;~personOnFloor_3_1~0 := 0;~personOnFloor_3_2~0 := 0;~personOnFloor_3_3~0 := 0;~personOnFloor_3_4~0 := 0;~personOnFloor_4_0~0 := 0;~personOnFloor_4_1~0 := 0;~personOnFloor_4_2~0 := 0;~personOnFloor_4_3~0 := 0;~personOnFloor_4_4~0 := 0;~personOnFloor_5_0~0 := 0;~personOnFloor_5_1~0 := 0;~personOnFloor_5_2~0 := 0;~personOnFloor_5_3~0 := 0;~personOnFloor_5_4~0 := 0;~cleanupTimeShifts~0 := 12;~currentHeading~0 := 1;~currentFloorID~0 := 0;~persons_0~0 := 0;~persons_1~0 := 0;~persons_2~0 := 0;~persons_3~0 := 0;~persons_4~0 := 0;~persons_5~0 := 0;~doorState~0 := 1;~floorButtons_0~0 := 0;~floorButtons_1~0 := 0;~floorButtons_2~0 := 0;~floorButtons_3~0 := 0;~floorButtons_4~0 := 0; 406737#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret47#1, main_~retValue_acc~10#1, main_~tmp~12#1;havoc main_~retValue_acc~10#1;havoc main_~tmp~12#1;assume { :begin_inline_select_helpers } true; 406738#select_helpers_returnLabel#1 assume { :end_inline_select_helpers } true;assume { :begin_inline_select_features } true; 408733#select_features_returnLabel#1 assume { :end_inline_select_features } true;assume { :begin_inline_valid_product } true;havoc valid_product_#res#1;havoc valid_product_~retValue_acc~12#1;havoc valid_product_~retValue_acc~12#1;valid_product_~retValue_acc~12#1 := 1;valid_product_#res#1 := valid_product_~retValue_acc~12#1; 400841#valid_product_returnLabel#1 main_#t~ret47#1 := valid_product_#res#1;havoc valid_product_~retValue_acc~12#1;assume { :end_inline_valid_product } true;main_~tmp~12#1 := main_#t~ret47#1;havoc main_#t~ret47#1; 400842#L1651 assume 0 != main_~tmp~12#1;assume { :begin_inline_setup } true; 402594#setup_returnLabel#1 assume { :end_inline_setup } true;assume { :begin_inline_runTest } true;assume { :begin_inline_test } true;assume { :begin_inline_aliceCall } true;havoc aliceCall_#t~ret36#1, aliceCall_~tmp~5#1;havoc aliceCall_~tmp~5#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 1;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~4#1; 402595#L564 assume !(0 == getOrigin_~person#1); 401230#L568 assume 1 == getOrigin_~person#1;getOrigin_~retValue_acc~4#1 := 3;getOrigin_#res#1 := getOrigin_~retValue_acc~4#1; 401231#getOrigin_returnLabel#1 aliceCall_#t~ret36#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;aliceCall_~tmp~5#1 := aliceCall_#t~ret36#1;havoc aliceCall_#t~ret36#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 1, aliceCall_~tmp~5#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 401836#L999 assume !(0 == initPersonOnFloor_~floor#1); 401837#L1026 assume !(1 == initPersonOnFloor_~floor#1); 407773#L1053 assume !(2 == initPersonOnFloor_~floor#1); 408273#L1080 assume 3 == initPersonOnFloor_~floor#1; 405411#L1081 assume !(0 == initPersonOnFloor_~person#1); 405412#L1084 assume 1 == initPersonOnFloor_~person#1;~personOnFloor_1_3~0 := 1; 403213#L1107-1 assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 400102#L791 assume !(0 == callOnFloor_~floorID#1); 399954#L794 assume !(1 == callOnFloor_~floorID#1); 399907#L797 assume !(2 == callOnFloor_~floorID#1); 399908#L800 assume 3 == callOnFloor_~floorID#1;~calls_3~0 := 1; 401873#L803-2 havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true; 401481#initPersonOnFloor_returnLabel#1 havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true; 401482#aliceCall_returnLabel#1 havoc aliceCall_#t~ret36#1, aliceCall_~tmp~5#1;assume { :end_inline_aliceCall } true;assume { :begin_inline_angelinaCall } true;havoc angelinaCall_#t~ret37#1, angelinaCall_~tmp~6#1;havoc angelinaCall_~tmp~6#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 2;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~4#1; 407044#L564-1 assume !(0 == getOrigin_~person#1); 402340#L568-1 assume !(1 == getOrigin_~person#1); 402341#L572-1 assume 2 == getOrigin_~person#1;getOrigin_~retValue_acc~4#1 := 2;getOrigin_#res#1 := getOrigin_~retValue_acc~4#1; 400228#getOrigin_returnLabel#2 angelinaCall_#t~ret37#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;angelinaCall_~tmp~6#1 := angelinaCall_#t~ret37#1;havoc angelinaCall_#t~ret37#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 2, angelinaCall_~tmp~6#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 400229#L999-1 assume !(0 == initPersonOnFloor_~floor#1); 405851#L1026-1 assume !(1 == initPersonOnFloor_~floor#1); 407238#L1053-1 assume 2 == initPersonOnFloor_~floor#1; 407239#L1054-2 assume !(0 == initPersonOnFloor_~person#1); 407894#L1057-2 assume !(1 == initPersonOnFloor_~person#1); 406118#L1060-2 assume 2 == initPersonOnFloor_~person#1;~personOnFloor_2_2~0 := 1; 405295#L1107-3 assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 405296#L791-2 assume !(0 == callOnFloor_~floorID#1); 408561#L794-2 assume !(1 == callOnFloor_~floorID#1); 408562#L797-2 assume !(2 == callOnFloor_~floorID#1); 401459#L800-2 assume !(3 == callOnFloor_~floorID#1); 401461#L803-3 assume 4 == callOnFloor_~floorID#1;~calls_4~0 := 1; 403455#L803-5 havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true; 413468#initPersonOnFloor_returnLabel#2 havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true; 413467#angelinaCall_returnLabel#1 havoc angelinaCall_#t~ret37#1, angelinaCall_~tmp~6#1;assume { :end_inline_angelinaCall } true;assume { :begin_inline_threeTS } true;assume { :begin_inline_timeShift } true;havoc timeShift_#t~ret98#1, timeShift_#t~ret99#1, timeShift_#t~ret100#1, timeShift_#t~ret101#1, timeShift_#t~ret102#1, timeShift_#t~ret103#1, timeShift_#t~ret104#1, timeShift_#t~ret105#1, timeShift_#t~ret106#1, timeShift_#t~ret107#1, timeShift_#t~ret108#1, timeShift_~tmp~26#1, timeShift_~tmp___0~10#1, timeShift_~tmp___1~5#1, timeShift_~tmp___2~5#1, timeShift_~tmp___3~4#1, timeShift_~tmp___4~3#1, timeShift_~tmp___5~2#1, timeShift_~tmp___6~2#1, timeShift_~tmp___7~2#1, timeShift_~tmp___8~2#1, timeShift_~tmp___9~2#1;havoc timeShift_~tmp~26#1;havoc timeShift_~tmp___0~10#1;havoc timeShift_~tmp___1~5#1;havoc timeShift_~tmp___2~5#1;havoc timeShift_~tmp___3~4#1;havoc timeShift_~tmp___4~3#1;havoc timeShift_~tmp___5~2#1;havoc timeShift_~tmp___6~2#1;havoc timeShift_~tmp___7~2#1;havoc timeShift_~tmp___8~2#1;havoc timeShift_~tmp___9~2#1;assume { :begin_inline___utac_acc__Specification13_spec__1 } true;havoc __utac_acc__Specification13_spec__1_#t~ret27#1;assume { :begin_inline_getCurrentHeading } true;havoc getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~17#1;havoc getCurrentHeading_~retValue_acc~17#1;getCurrentHeading_~retValue_acc~17#1 := ~currentHeading~0;getCurrentHeading_#res#1 := getCurrentHeading_~retValue_acc~17#1; 413466#getCurrentHeading_returnLabel#1 __utac_acc__Specification13_spec__1_#t~ret27#1 := getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~17#1;assume { :end_inline_getCurrentHeading } true;~prevDir~0 := __utac_acc__Specification13_spec__1_#t~ret27#1;havoc __utac_acc__Specification13_spec__1_#t~ret27#1; 413465#__utac_acc__Specification13_spec__1_returnLabel#1 havoc __utac_acc__Specification13_spec__1_#t~ret27#1;assume { :end_inline___utac_acc__Specification13_spec__1 } true;assume { :begin_inline_stopRequestedAtCurrentFloor } true;havoc stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1, stopRequestedAtCurrentFloor_#t~ret83#1, stopRequestedAtCurrentFloor_#t~ret84#1, stopRequestedAtCurrentFloor_#t~ret85#1, stopRequestedAtCurrentFloor_~retValue_acc~27#1, stopRequestedAtCurrentFloor_~tmp~24#1, stopRequestedAtCurrentFloor_~tmp___0~8#1;havoc stopRequestedAtCurrentFloor_~retValue_acc~27#1;havoc stopRequestedAtCurrentFloor_~tmp~24#1;havoc stopRequestedAtCurrentFloor_~tmp___0~8#1;assume { :begin_inline_isExecutiveFloorCalling } true;havoc isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;havoc isExecutiveFloorCalling_~retValue_acc~30#1;assume { :begin_inline_isFloorCalling } true;isFloorCalling_#in~floorID#1 := ~executiveFloor~0;havoc isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;isFloorCalling_~floorID#1 := isFloorCalling_#in~floorID#1;havoc isFloorCalling_~retValue_acc~6#1; 413464#L728 assume !(0 == isFloorCalling_~floorID#1); 413463#L732 assume !(1 == isFloorCalling_~floorID#1); 413462#L736 assume !(2 == isFloorCalling_~floorID#1); 413461#L740 assume !(3 == isFloorCalling_~floorID#1); 413460#L744 assume 4 == isFloorCalling_~floorID#1;isFloorCalling_~retValue_acc~6#1 := ~calls_4~0;isFloorCalling_#res#1 := isFloorCalling_~retValue_acc~6#1; 413459#isFloorCalling_returnLabel#1 isExecutiveFloorCalling_#t~ret135#1 := isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;havoc isFloorCalling_#in~floorID#1;assume { :end_inline_isFloorCalling } true;isExecutiveFloorCalling_~retValue_acc~30#1 := isExecutiveFloorCalling_#t~ret135#1;havoc isExecutiveFloorCalling_#t~ret135#1;isExecutiveFloorCalling_#res#1 := isExecutiveFloorCalling_~retValue_acc~30#1; 413458#isExecutiveFloorCalling_returnLabel#1 stopRequestedAtCurrentFloor_#t~ret82#1 := isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;assume { :end_inline_isExecutiveFloorCalling } true;stopRequestedAtCurrentFloor_~tmp~24#1 := stopRequestedAtCurrentFloor_#t~ret82#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1; 413457#L2700 assume 0 != stopRequestedAtCurrentFloor_~tmp~24#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;havoc getCurrentFloorID_~retValue_acc~14#1;getCurrentFloorID_~retValue_acc~14#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~14#1; 405419#getCurrentFloorID_returnLabel#1 stopRequestedAtCurrentFloor_#t~ret83#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedAtCurrentFloor_~tmp___0~8#1 := stopRequestedAtCurrentFloor_#t~ret83#1;havoc stopRequestedAtCurrentFloor_#t~ret83#1; 404373#L2704 assume !(~executiveFloor~0 == stopRequestedAtCurrentFloor_~tmp___0~8#1);stopRequestedAtCurrentFloor_~retValue_acc~27#1 := 0;stopRequestedAtCurrentFloor_#res#1 := stopRequestedAtCurrentFloor_~retValue_acc~27#1; 403017#stopRequestedAtCurrentFloor_returnLabel#1 timeShift_#t~ret98#1 := stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1, stopRequestedAtCurrentFloor_#t~ret83#1, stopRequestedAtCurrentFloor_#t~ret84#1, stopRequestedAtCurrentFloor_#t~ret85#1, stopRequestedAtCurrentFloor_~retValue_acc~27#1, stopRequestedAtCurrentFloor_~tmp~24#1, stopRequestedAtCurrentFloor_~tmp___0~8#1;assume { :end_inline_stopRequestedAtCurrentFloor } true;timeShift_~tmp___9~2#1 := timeShift_#t~ret98#1;havoc timeShift_#t~ret98#1; 413426#L2853 assume !(0 != timeShift_~tmp___9~2#1); 413427#L2944 assume 1 == ~doorState~0;~doorState~0 := 0; 413878#L2944-2 assume { :begin_inline_stopRequestedInDirection } true;stopRequestedInDirection_#in~dir#1, stopRequestedInDirection_#in~respectFloorCalls#1, stopRequestedInDirection_#in~respectInLiftCalls#1 := ~currentHeading~0, 1, 1;havoc stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret73#1, stopRequestedInDirection_#t~ret74#1, stopRequestedInDirection_#t~ret75#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~23#1, stopRequestedInDirection_~tmp~20#1, stopRequestedInDirection_~tmp___0~5#1, stopRequestedInDirection_~__cil_tmp7~6#1, stopRequestedInDirection_~__cil_tmp8~7#1;stopRequestedInDirection_~dir#1 := stopRequestedInDirection_#in~dir#1;stopRequestedInDirection_~respectFloorCalls#1 := stopRequestedInDirection_#in~respectFloorCalls#1;stopRequestedInDirection_~respectInLiftCalls#1 := stopRequestedInDirection_#in~respectInLiftCalls#1;havoc stopRequestedInDirection_~retValue_acc~23#1;havoc stopRequestedInDirection_~tmp~20#1;havoc stopRequestedInDirection_~tmp___0~5#1;havoc stopRequestedInDirection_~__cil_tmp7~6#1;havoc stopRequestedInDirection_~__cil_tmp8~7#1;assume { :begin_inline_isExecutiveFloorCalling } true;havoc isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;havoc isExecutiveFloorCalling_~retValue_acc~30#1;assume { :begin_inline_isFloorCalling } true;isFloorCalling_#in~floorID#1 := ~executiveFloor~0;havoc isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;isFloorCalling_~floorID#1 := isFloorCalling_#in~floorID#1;havoc isFloorCalling_~retValue_acc~6#1; 413877#L728-3 assume !(0 == isFloorCalling_~floorID#1); 413876#L732-3 assume !(1 == isFloorCalling_~floorID#1); 413875#L736-3 assume !(2 == isFloorCalling_~floorID#1); 413874#L740-3 assume !(3 == isFloorCalling_~floorID#1); 413873#L744-3 assume 4 == isFloorCalling_~floorID#1;isFloorCalling_~retValue_acc~6#1 := ~calls_4~0;isFloorCalling_#res#1 := isFloorCalling_~retValue_acc~6#1; 413872#isFloorCalling_returnLabel#4 isExecutiveFloorCalling_#t~ret135#1 := isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;havoc isFloorCalling_#in~floorID#1;assume { :end_inline_isFloorCalling } true;isExecutiveFloorCalling_~retValue_acc~30#1 := isExecutiveFloorCalling_#t~ret135#1;havoc isExecutiveFloorCalling_#t~ret135#1;isExecutiveFloorCalling_#res#1 := isExecutiveFloorCalling_~retValue_acc~30#1; 413871#isExecutiveFloorCalling_returnLabel#2 stopRequestedInDirection_#t~ret73#1 := isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;assume { :end_inline_isExecutiveFloorCalling } true;stopRequestedInDirection_~tmp___0~5#1 := stopRequestedInDirection_#t~ret73#1;havoc stopRequestedInDirection_#t~ret73#1; 413870#L2555 assume 0 != stopRequestedInDirection_~tmp___0~5#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;havoc getCurrentFloorID_~retValue_acc~14#1;getCurrentFloorID_~retValue_acc~14#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~14#1; 412839#getCurrentFloorID_returnLabel#4 stopRequestedInDirection_#t~ret74#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedInDirection_~tmp~20#1 := stopRequestedInDirection_#t~ret74#1;havoc stopRequestedInDirection_#t~ret74#1;stopRequestedInDirection_~__cil_tmp7~6#1 := (if 1 == stopRequestedInDirection_~dir#1 then 1 else 0);stopRequestedInDirection_~__cil_tmp8~7#1 := (if stopRequestedInDirection_~tmp~20#1 < ~executiveFloor~0 then 1 else 0);stopRequestedInDirection_~retValue_acc~23#1 := (if stopRequestedInDirection_~__cil_tmp8~7#1 == stopRequestedInDirection_~__cil_tmp7~6#1 then 1 else 0);stopRequestedInDirection_#res#1 := stopRequestedInDirection_~retValue_acc~23#1; 412838#stopRequestedInDirection_returnLabel#1 timeShift_#t~ret105#1 := stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret73#1, stopRequestedInDirection_#t~ret74#1, stopRequestedInDirection_#t~ret75#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~23#1, stopRequestedInDirection_~tmp~20#1, stopRequestedInDirection_~tmp___0~5#1, stopRequestedInDirection_~__cil_tmp7~6#1, stopRequestedInDirection_~__cil_tmp8~7#1;havoc stopRequestedInDirection_#in~dir#1, stopRequestedInDirection_#in~respectFloorCalls#1, stopRequestedInDirection_#in~respectInLiftCalls#1;assume { :end_inline_stopRequestedInDirection } true;timeShift_~tmp___8~2#1 := timeShift_#t~ret105#1;havoc timeShift_#t~ret105#1; 412836#L2952 assume 0 != timeShift_~tmp___8~2#1;assume { :begin_inline_continueInDirection } true;continueInDirection_#in~dir#1 := ~currentHeading~0;havoc continueInDirection_#t~ret76#1, continueInDirection_~dir#1, continueInDirection_~tmp~21#1;continueInDirection_~dir#1 := continueInDirection_#in~dir#1;havoc continueInDirection_~tmp~21#1;~currentHeading~0 := continueInDirection_~dir#1; 412835#L2612 assume !(1 == ~currentHeading~0); 412832#L2622 assume !(0 == ~currentFloorID~0); 412826#L2622-2 assume !(1 == ~currentHeading~0);~currentFloorID~0 := ~currentFloorID~0 - 1; 412825#L2628-1 havoc continueInDirection_#t~ret76#1, continueInDirection_~dir#1, continueInDirection_~tmp~21#1;havoc continueInDirection_#in~dir#1;assume { :end_inline_continueInDirection } true; 412820#L2961-2 assume { :begin_inline___utac_acc__Specification13_spec__2 } true;havoc __utac_acc__Specification13_spec__2_#t~ret28#1, __utac_acc__Specification13_spec__2_#t~ret29#1, __utac_acc__Specification13_spec__2_#t~ret30#1, __utac_acc__Specification13_spec__2_#t~ret31#1, __utac_acc__Specification13_spec__2_#t~ret32#1, __utac_acc__Specification13_spec__2_#t~ret33#1, __utac_acc__Specification13_spec__2_~tmp~3#1, __utac_acc__Specification13_spec__2_~tmp___0~0#1, __utac_acc__Specification13_spec__2_~tmp___1~0#1, __utac_acc__Specification13_spec__2_~tmp___2~0#1, __utac_acc__Specification13_spec__2_~tmp___3~0#1, __utac_acc__Specification13_spec__2_~tmp___4~0#1, __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1, __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1;havoc __utac_acc__Specification13_spec__2_~tmp~3#1;havoc __utac_acc__Specification13_spec__2_~tmp___0~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___1~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___2~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___3~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___4~0#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1;__utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 := 2 * ~maximumWeight~0;__utac_acc__Specification13_spec__2_~__cil_tmp8~5#1 := (if __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 < 0 && 0 != __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 % 3 then 1 + __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 / 3 else __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 / 3); 412816#L454 assume ~weight~0 > __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1; 412817#L455 assume 1 == ~prevDir~0;assume { :begin_inline_existInLiftCallsInDirection } true;existInLiftCallsInDirection_#in~d#1 := 0;havoc existInLiftCallsInDirection_#res#1;havoc existInLiftCallsInDirection_~d#1, existInLiftCallsInDirection_~retValue_acc~29#1, existInLiftCallsInDirection_~i~1#1, existInLiftCallsInDirection_~i___0~0#1;existInLiftCallsInDirection_~d#1 := existInLiftCallsInDirection_#in~d#1;havoc existInLiftCallsInDirection_~retValue_acc~29#1;havoc existInLiftCallsInDirection_~i~1#1;havoc existInLiftCallsInDirection_~i___0~0#1; 412821#L3156 assume !(1 == existInLiftCallsInDirection_~d#1); 414599#L3222 assume 0 == existInLiftCallsInDirection_~d#1;existInLiftCallsInDirection_~i___0~0#1 := 0;existInLiftCallsInDirection_~i___0~0#1 := ~currentFloorID~0 - 1; 414600#L3226-2 [2024-10-12 00:47:44,542 INFO L747 eck$LassoCheckResult]: Loop: 414600#L3226-2 assume !false; 414597#L3227 assume existInLiftCallsInDirection_~i___0~0#1 >= 0; 414598#L3228 existInLiftCallsInDirection_~i___0~0#1 := 1 + ~currentFloorID~0; 414610#L3235-2 assume !false; 414607#L3236 assume !(existInLiftCallsInDirection_~i___0~0#1 < 5); 414606#L3294 existInLiftCallsInDirection_~i___0~0#1 := existInLiftCallsInDirection_~i___0~0#1 - 1; 414600#L3226-2 [2024-10-12 00:47:44,542 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-12 00:47:44,542 INFO L85 PathProgramCache]: Analyzing trace with hash 1211647684, now seen corresponding path program 1 times [2024-10-12 00:47:44,543 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-12 00:47:44,543 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1042171675] [2024-10-12 00:47:44,543 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-12 00:47:44,543 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-12 00:47:44,563 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-12 00:47:44,636 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-10-12 00:47:44,636 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-10-12 00:47:44,636 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1042171675] [2024-10-12 00:47:44,636 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1042171675] provided 1 perfect and 0 imperfect interpolant sequences [2024-10-12 00:47:44,636 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-10-12 00:47:44,637 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2024-10-12 00:47:44,637 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [259573699] [2024-10-12 00:47:44,637 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-10-12 00:47:44,637 INFO L750 eck$LassoCheckResult]: stem already infeasible [2024-10-12 00:47:44,637 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-12 00:47:44,637 INFO L85 PathProgramCache]: Analyzing trace with hash 1717871275, now seen corresponding path program 13 times [2024-10-12 00:47:44,637 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-12 00:47:44,637 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1588681272] [2024-10-12 00:47:44,638 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-12 00:47:44,638 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-12 00:47:44,647 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-12 00:47:44,647 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-10-12 00:47:44,648 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-12 00:47:44,653 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-10-12 00:47:44,671 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-10-12 00:47:44,672 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2024-10-12 00:47:44,672 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2024-10-12 00:47:44,673 INFO L87 Difference]: Start difference. First operand 19257 states and 34997 transitions. cyclomatic complexity: 15810 Second operand has 5 states, 5 states have (on average 15.8) internal successors, (79), 5 states have internal predecessors, (79), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-10-12 00:47:45,066 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-10-12 00:47:45,066 INFO L93 Difference]: Finished difference Result 13433 states and 24411 transitions. [2024-10-12 00:47:45,067 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 13433 states and 24411 transitions. [2024-10-12 00:47:45,116 INFO L131 ngComponentsAnalysis]: Automaton has 42 accepting balls. 4476 [2024-10-12 00:47:45,147 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 13433 states to 13433 states and 24411 transitions. [2024-10-12 00:47:45,148 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 13395 [2024-10-12 00:47:45,155 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 13395 [2024-10-12 00:47:45,155 INFO L73 IsDeterministic]: Start isDeterministic. Operand 13433 states and 24411 transitions. [2024-10-12 00:47:45,161 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-10-12 00:47:45,161 INFO L218 hiAutomatonCegarLoop]: Abstraction has 13433 states and 24411 transitions. [2024-10-12 00:47:45,174 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 13433 states and 24411 transitions. [2024-10-12 00:47:45,264 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 13433 to 13433. [2024-10-12 00:47:45,279 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13433 states, 13433 states have (on average 1.8172411226085015) internal successors, (24411), 13432 states have internal predecessors, (24411), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-10-12 00:47:45,300 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13433 states to 13433 states and 24411 transitions. [2024-10-12 00:47:45,301 INFO L240 hiAutomatonCegarLoop]: Abstraction has 13433 states and 24411 transitions. [2024-10-12 00:47:45,301 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2024-10-12 00:47:45,301 INFO L425 stractBuchiCegarLoop]: Abstraction has 13433 states and 24411 transitions. [2024-10-12 00:47:45,302 INFO L332 stractBuchiCegarLoop]: ======== Iteration 16 ============ [2024-10-12 00:47:45,302 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 13433 states and 24411 transitions. [2024-10-12 00:47:45,332 INFO L131 ngComponentsAnalysis]: Automaton has 42 accepting balls. 4476 [2024-10-12 00:47:45,332 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-10-12 00:47:45,332 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-10-12 00:47:45,333 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-10-12 00:47:45,333 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1] [2024-10-12 00:47:45,333 INFO L745 eck$LassoCheckResult]: Stem: 439621#$Ultimate##0 assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int#0(48, 1, 0, 1);call write~init~int#0(0, 1, 1, 1);call #Ultimate.allocInit(32, 2);call #Ultimate.allocInit(12, 3);call #Ultimate.allocInit(30, 4);call #Ultimate.allocInit(9, 5);call #Ultimate.allocInit(21, 6);call #Ultimate.allocInit(30, 7);call #Ultimate.allocInit(9, 8);call #Ultimate.allocInit(21, 9);call #Ultimate.allocInit(30, 10);call #Ultimate.allocInit(9, 11);call #Ultimate.allocInit(25, 12);call #Ultimate.allocInit(30, 13);call #Ultimate.allocInit(9, 14);call #Ultimate.allocInit(25, 15);call #Ultimate.allocInit(10, 16);call #Ultimate.allocInit(4, 17);call write~init~int#5(91, 17, 0, 1);call write~init~int#5(95, 17, 1, 1);call write~init~int#5(93, 17, 2, 1);call write~init~int#5(0, 17, 3, 1);call #Ultimate.allocInit(4, 18);call write~init~int#6(91, 18, 0, 1);call write~init~int#6(93, 18, 1, 1);call write~init~int#6(32, 18, 2, 1);call write~init~int#6(0, 18, 3, 1);call #Ultimate.allocInit(5, 19);call write~init~int#7(32, 19, 0, 1);call write~init~int#7(97, 19, 1, 1);call write~init~int#7(116, 19, 2, 1);call write~init~int#7(32, 19, 3, 1);call write~init~int#7(0, 19, 4, 1);call #Ultimate.allocInit(3, 20);call write~init~int#8(37, 20, 0, 1);call write~init~int#8(105, 20, 1, 1);call write~init~int#8(0, 20, 2, 1);call #Ultimate.allocInit(10, 21);call #Ultimate.allocInit(3, 22);call write~init~int#9(117, 22, 0, 1);call write~init~int#9(112, 22, 1, 1);call write~init~int#9(0, 22, 2, 1);call #Ultimate.allocInit(5, 23);call write~init~int#10(100, 23, 0, 1);call write~init~int#10(111, 23, 1, 1);call write~init~int#10(119, 23, 2, 1);call write~init~int#10(110, 23, 3, 1);call write~init~int#10(0, 23, 4, 1);call #Ultimate.allocInit(7, 24);call write~init~int#11(32, 24, 0, 1);call write~init~int#11(73, 24, 1, 1);call write~init~int#11(76, 24, 2, 1);call write~init~int#11(95, 24, 3, 1);call write~init~int#11(112, 24, 4, 1);call write~init~int#11(58, 24, 5, 1);call write~init~int#11(0, 24, 6, 1);call #Ultimate.allocInit(4, 25);call write~init~int#12(32, 25, 0, 1);call write~init~int#12(37, 25, 1, 1);call write~init~int#12(105, 25, 2, 1);call write~init~int#12(0, 25, 3, 1);call #Ultimate.allocInit(4, 26);call write~init~int#13(32, 26, 0, 1);call write~init~int#13(37, 26, 1, 1);call write~init~int#13(105, 26, 2, 1);call write~init~int#13(0, 26, 3, 1);call #Ultimate.allocInit(4, 27);call write~init~int#14(32, 27, 0, 1);call write~init~int#14(37, 27, 1, 1);call write~init~int#14(105, 27, 2, 1);call write~init~int#14(0, 27, 3, 1);call #Ultimate.allocInit(4, 28);call write~init~int#15(32, 28, 0, 1);call write~init~int#15(37, 28, 1, 1);call write~init~int#15(105, 28, 2, 1);call write~init~int#15(0, 28, 3, 1);call #Ultimate.allocInit(4, 29);call write~init~int#16(32, 29, 0, 1);call write~init~int#16(37, 29, 1, 1);call write~init~int#16(105, 29, 2, 1);call write~init~int#16(0, 29, 3, 1);call #Ultimate.allocInit(6, 30);call write~init~int#17(32, 30, 0, 1);call write~init~int#17(70, 30, 1, 1);call write~init~int#17(95, 30, 2, 1);call write~init~int#17(112, 30, 3, 1);call write~init~int#17(58, 30, 4, 1);call write~init~int#17(0, 30, 5, 1);call #Ultimate.allocInit(4, 31);call write~init~int#18(32, 31, 0, 1);call write~init~int#18(37, 31, 1, 1);call write~init~int#18(105, 31, 2, 1);call write~init~int#18(0, 31, 3, 1);call #Ultimate.allocInit(4, 32);call write~init~int#19(32, 32, 0, 1);call write~init~int#19(37, 32, 1, 1);call write~init~int#19(105, 32, 2, 1);call write~init~int#19(0, 32, 3, 1);call #Ultimate.allocInit(4, 33);call write~init~int#1(32, 33, 0, 1);call write~init~int#1(37, 33, 1, 1);call write~init~int#1(105, 33, 2, 1);call write~init~int#1(0, 33, 3, 1);call #Ultimate.allocInit(4, 34);call write~init~int#2(32, 34, 0, 1);call write~init~int#2(37, 34, 1, 1);call write~init~int#2(105, 34, 2, 1);call write~init~int#2(0, 34, 3, 1);call #Ultimate.allocInit(4, 35);call write~init~int#3(32, 35, 0, 1);call write~init~int#3(37, 35, 1, 1);call write~init~int#3(105, 35, 2, 1);call write~init~int#3(0, 35, 3, 1);call #Ultimate.allocInit(2, 36);call write~init~int#4(10, 36, 0, 1);call write~init~int#4(0, 36, 1, 1);~head~0.base, ~head~0.offset := 0, 0;~weight~0 := 0;~maximumWeight~0 := 100;~executiveFloor~0 := 4;~prevDir~0 := 0;~calls_0~0 := 0;~calls_1~0 := 0;~calls_2~0 := 0;~calls_3~0 := 0;~calls_4~0 := 0;~personOnFloor_0_0~0 := 0;~personOnFloor_0_1~0 := 0;~personOnFloor_0_2~0 := 0;~personOnFloor_0_3~0 := 0;~personOnFloor_0_4~0 := 0;~personOnFloor_1_0~0 := 0;~personOnFloor_1_1~0 := 0;~personOnFloor_1_2~0 := 0;~personOnFloor_1_3~0 := 0;~personOnFloor_1_4~0 := 0;~personOnFloor_2_0~0 := 0;~personOnFloor_2_1~0 := 0;~personOnFloor_2_2~0 := 0;~personOnFloor_2_3~0 := 0;~personOnFloor_2_4~0 := 0;~personOnFloor_3_0~0 := 0;~personOnFloor_3_1~0 := 0;~personOnFloor_3_2~0 := 0;~personOnFloor_3_3~0 := 0;~personOnFloor_3_4~0 := 0;~personOnFloor_4_0~0 := 0;~personOnFloor_4_1~0 := 0;~personOnFloor_4_2~0 := 0;~personOnFloor_4_3~0 := 0;~personOnFloor_4_4~0 := 0;~personOnFloor_5_0~0 := 0;~personOnFloor_5_1~0 := 0;~personOnFloor_5_2~0 := 0;~personOnFloor_5_3~0 := 0;~personOnFloor_5_4~0 := 0;~cleanupTimeShifts~0 := 12;~currentHeading~0 := 1;~currentFloorID~0 := 0;~persons_0~0 := 0;~persons_1~0 := 0;~persons_2~0 := 0;~persons_3~0 := 0;~persons_4~0 := 0;~persons_5~0 := 0;~doorState~0 := 1;~floorButtons_0~0 := 0;~floorButtons_1~0 := 0;~floorButtons_2~0 := 0;~floorButtons_3~0 := 0;~floorButtons_4~0 := 0; 439363#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret47#1, main_~retValue_acc~10#1, main_~tmp~12#1;havoc main_~retValue_acc~10#1;havoc main_~tmp~12#1;assume { :begin_inline_select_helpers } true; 439364#select_helpers_returnLabel#1 assume { :end_inline_select_helpers } true;assume { :begin_inline_select_features } true; 441319#select_features_returnLabel#1 assume { :end_inline_select_features } true;assume { :begin_inline_valid_product } true;havoc valid_product_#res#1;havoc valid_product_~retValue_acc~12#1;havoc valid_product_~retValue_acc~12#1;valid_product_~retValue_acc~12#1 := 1;valid_product_#res#1 := valid_product_~retValue_acc~12#1; 433529#valid_product_returnLabel#1 main_#t~ret47#1 := valid_product_#res#1;havoc valid_product_~retValue_acc~12#1;assume { :end_inline_valid_product } true;main_~tmp~12#1 := main_#t~ret47#1;havoc main_#t~ret47#1; 433530#L1651 assume 0 != main_~tmp~12#1;assume { :begin_inline_setup } true; 435259#setup_returnLabel#1 assume { :end_inline_setup } true;assume { :begin_inline_runTest } true;assume { :begin_inline_test } true;assume { :begin_inline_aliceCall } true;havoc aliceCall_#t~ret36#1, aliceCall_~tmp~5#1;havoc aliceCall_~tmp~5#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 1;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~4#1; 435260#L564 assume !(0 == getOrigin_~person#1); 433913#L568 assume 1 == getOrigin_~person#1;getOrigin_~retValue_acc~4#1 := 3;getOrigin_#res#1 := getOrigin_~retValue_acc~4#1; 433914#getOrigin_returnLabel#1 aliceCall_#t~ret36#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;aliceCall_~tmp~5#1 := aliceCall_#t~ret36#1;havoc aliceCall_#t~ret36#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 1, aliceCall_~tmp~5#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 434509#L999 assume !(0 == initPersonOnFloor_~floor#1); 434510#L1026 assume !(1 == initPersonOnFloor_~floor#1); 440382#L1053 assume !(2 == initPersonOnFloor_~floor#1); 440872#L1080 assume 3 == initPersonOnFloor_~floor#1; 438049#L1081 assume !(0 == initPersonOnFloor_~person#1); 438050#L1084 assume 1 == initPersonOnFloor_~person#1;~personOnFloor_1_3~0 := 1; 435869#L1107-1 assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 432797#L791 assume !(0 == callOnFloor_~floorID#1); 432649#L794 assume !(1 == callOnFloor_~floorID#1); 432602#L797 assume !(2 == callOnFloor_~floorID#1); 432603#L800 assume 3 == callOnFloor_~floorID#1;~calls_3~0 := 1; 434546#L803-2 havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true; 434154#initPersonOnFloor_returnLabel#1 havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true; 434155#aliceCall_returnLabel#1 havoc aliceCall_#t~ret36#1, aliceCall_~tmp~5#1;assume { :end_inline_aliceCall } true;assume { :begin_inline_angelinaCall } true;havoc angelinaCall_#t~ret37#1, angelinaCall_~tmp~6#1;havoc angelinaCall_~tmp~6#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 2;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~4#1; 439665#L564-1 assume !(0 == getOrigin_~person#1); 435008#L568-1 assume !(1 == getOrigin_~person#1); 435009#L572-1 assume 2 == getOrigin_~person#1;getOrigin_~retValue_acc~4#1 := 2;getOrigin_#res#1 := getOrigin_~retValue_acc~4#1; 432919#getOrigin_returnLabel#2 angelinaCall_#t~ret37#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;angelinaCall_~tmp~6#1 := angelinaCall_#t~ret37#1;havoc angelinaCall_#t~ret37#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 2, angelinaCall_~tmp~6#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 432920#L999-1 assume !(0 == initPersonOnFloor_~floor#1); 438480#L1026-1 assume !(1 == initPersonOnFloor_~floor#1); 439858#L1053-1 assume 2 == initPersonOnFloor_~floor#1; 439859#L1054-2 assume !(0 == initPersonOnFloor_~person#1); 440499#L1057-2 assume !(1 == initPersonOnFloor_~person#1); 438745#L1060-2 assume 2 == initPersonOnFloor_~person#1;~personOnFloor_2_2~0 := 1; 437933#L1107-3 assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 437934#L791-2 assume !(0 == callOnFloor_~floorID#1); 441150#L794-2 assume !(1 == callOnFloor_~floorID#1); 441151#L797-2 assume 2 == callOnFloor_~floorID#1;~calls_2~0 := 1; 441238#L803-5 havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true; 437983#initPersonOnFloor_returnLabel#2 havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true; 437984#angelinaCall_returnLabel#1 havoc angelinaCall_#t~ret37#1, angelinaCall_~tmp~6#1;assume { :end_inline_angelinaCall } true;assume { :begin_inline_threeTS } true;assume { :begin_inline_timeShift } true;havoc timeShift_#t~ret98#1, timeShift_#t~ret99#1, timeShift_#t~ret100#1, timeShift_#t~ret101#1, timeShift_#t~ret102#1, timeShift_#t~ret103#1, timeShift_#t~ret104#1, timeShift_#t~ret105#1, timeShift_#t~ret106#1, timeShift_#t~ret107#1, timeShift_#t~ret108#1, timeShift_~tmp~26#1, timeShift_~tmp___0~10#1, timeShift_~tmp___1~5#1, timeShift_~tmp___2~5#1, timeShift_~tmp___3~4#1, timeShift_~tmp___4~3#1, timeShift_~tmp___5~2#1, timeShift_~tmp___6~2#1, timeShift_~tmp___7~2#1, timeShift_~tmp___8~2#1, timeShift_~tmp___9~2#1;havoc timeShift_~tmp~26#1;havoc timeShift_~tmp___0~10#1;havoc timeShift_~tmp___1~5#1;havoc timeShift_~tmp___2~5#1;havoc timeShift_~tmp___3~4#1;havoc timeShift_~tmp___4~3#1;havoc timeShift_~tmp___5~2#1;havoc timeShift_~tmp___6~2#1;havoc timeShift_~tmp___7~2#1;havoc timeShift_~tmp___8~2#1;havoc timeShift_~tmp___9~2#1;assume { :begin_inline___utac_acc__Specification13_spec__1 } true;havoc __utac_acc__Specification13_spec__1_#t~ret27#1;assume { :begin_inline_getCurrentHeading } true;havoc getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~17#1;havoc getCurrentHeading_~retValue_acc~17#1;getCurrentHeading_~retValue_acc~17#1 := ~currentHeading~0;getCurrentHeading_#res#1 := getCurrentHeading_~retValue_acc~17#1; 441134#getCurrentHeading_returnLabel#1 __utac_acc__Specification13_spec__1_#t~ret27#1 := getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~17#1;assume { :end_inline_getCurrentHeading } true;~prevDir~0 := __utac_acc__Specification13_spec__1_#t~ret27#1;havoc __utac_acc__Specification13_spec__1_#t~ret27#1; 438308#__utac_acc__Specification13_spec__1_returnLabel#1 havoc __utac_acc__Specification13_spec__1_#t~ret27#1;assume { :end_inline___utac_acc__Specification13_spec__1 } true;assume { :begin_inline_stopRequestedAtCurrentFloor } true;havoc stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1, stopRequestedAtCurrentFloor_#t~ret83#1, stopRequestedAtCurrentFloor_#t~ret84#1, stopRequestedAtCurrentFloor_#t~ret85#1, stopRequestedAtCurrentFloor_~retValue_acc~27#1, stopRequestedAtCurrentFloor_~tmp~24#1, stopRequestedAtCurrentFloor_~tmp___0~8#1;havoc stopRequestedAtCurrentFloor_~retValue_acc~27#1;havoc stopRequestedAtCurrentFloor_~tmp~24#1;havoc stopRequestedAtCurrentFloor_~tmp___0~8#1;assume { :begin_inline_isExecutiveFloorCalling } true;havoc isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;havoc isExecutiveFloorCalling_~retValue_acc~30#1;assume { :begin_inline_isFloorCalling } true;isFloorCalling_#in~floorID#1 := ~executiveFloor~0;havoc isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;isFloorCalling_~floorID#1 := isFloorCalling_#in~floorID#1;havoc isFloorCalling_~retValue_acc~6#1; 438309#L728 assume !(0 == isFloorCalling_~floorID#1); 441168#L732 assume !(1 == isFloorCalling_~floorID#1); 441169#L736 assume !(2 == isFloorCalling_~floorID#1); 440343#L740 assume !(3 == isFloorCalling_~floorID#1); 439766#L744 assume 4 == isFloorCalling_~floorID#1;isFloorCalling_~retValue_acc~6#1 := ~calls_4~0;isFloorCalling_#res#1 := isFloorCalling_~retValue_acc~6#1; 439767#isFloorCalling_returnLabel#1 isExecutiveFloorCalling_#t~ret135#1 := isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;havoc isFloorCalling_#in~floorID#1;assume { :end_inline_isFloorCalling } true;isExecutiveFloorCalling_~retValue_acc~30#1 := isExecutiveFloorCalling_#t~ret135#1;havoc isExecutiveFloorCalling_#t~ret135#1;isExecutiveFloorCalling_#res#1 := isExecutiveFloorCalling_~retValue_acc~30#1; 441132#isExecutiveFloorCalling_returnLabel#1 stopRequestedAtCurrentFloor_#t~ret82#1 := isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;assume { :end_inline_isExecutiveFloorCalling } true;stopRequestedAtCurrentFloor_~tmp~24#1 := stopRequestedAtCurrentFloor_#t~ret82#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1; 439534#L2700 assume !(0 != stopRequestedAtCurrentFloor_~tmp~24#1);assume { :begin_inline_stopRequestedAtCurrentFloor__wrappee__twothirdsfull } true;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#res#1;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret79#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret80#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret81#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~retValue_acc~26#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp~23#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp___0~7#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp4~3#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp5~4#1;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~retValue_acc~26#1;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp~23#1;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp___0~7#1;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp4~3#1;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp5~4#1;stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp4~3#1 := 2 * ~maximumWeight~0;stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp5~4#1 := (if stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp4~3#1 < 0 && 0 != stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp4~3#1 % 3 then 1 + stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp4~3#1 / 3 else stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp4~3#1 / 3); 439535#L2674-1 assume ~weight~0 > stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp5~4#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;havoc getCurrentFloorID_~retValue_acc~14#1;getCurrentFloorID_~retValue_acc~14#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~14#1; 439206#getCurrentFloorID_returnLabel#3 stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret79#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp~23#1 := stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret79#1;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret79#1;assume { :begin_inline_buttonForFloorIsPressed } true;buttonForFloorIsPressed_#in~floorID#1 := stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp~23#1;havoc buttonForFloorIsPressed_#res#1;havoc buttonForFloorIsPressed_~floorID#1, buttonForFloorIsPressed_~retValue_acc~16#1;buttonForFloorIsPressed_~floorID#1 := buttonForFloorIsPressed_#in~floorID#1;havoc buttonForFloorIsPressed_~retValue_acc~16#1; 439207#L1980-2 assume 0 == buttonForFloorIsPressed_~floorID#1;buttonForFloorIsPressed_~retValue_acc~16#1 := ~floorButtons_0~0;buttonForFloorIsPressed_#res#1 := buttonForFloorIsPressed_~retValue_acc~16#1; 438852#buttonForFloorIsPressed_returnLabel#3 stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret80#1 := buttonForFloorIsPressed_#res#1;havoc buttonForFloorIsPressed_~floorID#1, buttonForFloorIsPressed_~retValue_acc~16#1;havoc buttonForFloorIsPressed_#in~floorID#1;assume { :end_inline_buttonForFloorIsPressed } true;stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp___0~7#1 := stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret80#1;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret80#1;stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~retValue_acc~26#1 := (if 1 == stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp___0~7#1 then 1 else 0);stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#res#1 := stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~retValue_acc~26#1; 434856#stopRequestedAtCurrentFloor__wrappee__twothirdsfull_returnLabel#2 stopRequestedAtCurrentFloor_#t~ret85#1 := stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#res#1;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret79#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret80#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret81#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~retValue_acc~26#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp~23#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp___0~7#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp4~3#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp5~4#1;assume { :end_inline_stopRequestedAtCurrentFloor__wrappee__twothirdsfull } true;stopRequestedAtCurrentFloor_~retValue_acc~27#1 := stopRequestedAtCurrentFloor_#t~ret85#1;havoc stopRequestedAtCurrentFloor_#t~ret85#1;stopRequestedAtCurrentFloor_#res#1 := stopRequestedAtCurrentFloor_~retValue_acc~27#1; 432660#stopRequestedAtCurrentFloor_returnLabel#1 timeShift_#t~ret98#1 := stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1, stopRequestedAtCurrentFloor_#t~ret83#1, stopRequestedAtCurrentFloor_#t~ret84#1, stopRequestedAtCurrentFloor_#t~ret85#1, stopRequestedAtCurrentFloor_~retValue_acc~27#1, stopRequestedAtCurrentFloor_~tmp~24#1, stopRequestedAtCurrentFloor_~tmp___0~8#1;assume { :end_inline_stopRequestedAtCurrentFloor } true;timeShift_~tmp___9~2#1 := timeShift_#t~ret98#1;havoc timeShift_#t~ret98#1; 432661#L2853 assume !(0 != timeShift_~tmp___9~2#1); 433337#L2944 assume 1 == ~doorState~0;~doorState~0 := 0; 433958#L2944-2 assume { :begin_inline_stopRequestedInDirection } true;stopRequestedInDirection_#in~dir#1, stopRequestedInDirection_#in~respectFloorCalls#1, stopRequestedInDirection_#in~respectInLiftCalls#1 := ~currentHeading~0, 1, 1;havoc stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret73#1, stopRequestedInDirection_#t~ret74#1, stopRequestedInDirection_#t~ret75#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~23#1, stopRequestedInDirection_~tmp~20#1, stopRequestedInDirection_~tmp___0~5#1, stopRequestedInDirection_~__cil_tmp7~6#1, stopRequestedInDirection_~__cil_tmp8~7#1;stopRequestedInDirection_~dir#1 := stopRequestedInDirection_#in~dir#1;stopRequestedInDirection_~respectFloorCalls#1 := stopRequestedInDirection_#in~respectFloorCalls#1;stopRequestedInDirection_~respectInLiftCalls#1 := stopRequestedInDirection_#in~respectInLiftCalls#1;havoc stopRequestedInDirection_~retValue_acc~23#1;havoc stopRequestedInDirection_~tmp~20#1;havoc stopRequestedInDirection_~tmp___0~5#1;havoc stopRequestedInDirection_~__cil_tmp7~6#1;havoc stopRequestedInDirection_~__cil_tmp8~7#1;assume { :begin_inline_isExecutiveFloorCalling } true;havoc isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;havoc isExecutiveFloorCalling_~retValue_acc~30#1;assume { :begin_inline_isFloorCalling } true;isFloorCalling_#in~floorID#1 := ~executiveFloor~0;havoc isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;isFloorCalling_~floorID#1 := isFloorCalling_#in~floorID#1;havoc isFloorCalling_~retValue_acc~6#1; 433959#L728-3 assume !(0 == isFloorCalling_~floorID#1); 441282#L732-3 assume !(1 == isFloorCalling_~floorID#1); 434264#L736-3 assume !(2 == isFloorCalling_~floorID#1); 434265#L740-3 assume !(3 == isFloorCalling_~floorID#1); 436331#L744-3 assume 4 == isFloorCalling_~floorID#1;isFloorCalling_~retValue_acc~6#1 := ~calls_4~0;isFloorCalling_#res#1 := isFloorCalling_~retValue_acc~6#1; 436332#isFloorCalling_returnLabel#4 isExecutiveFloorCalling_#t~ret135#1 := isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;havoc isFloorCalling_#in~floorID#1;assume { :end_inline_isFloorCalling } true;isExecutiveFloorCalling_~retValue_acc~30#1 := isExecutiveFloorCalling_#t~ret135#1;havoc isExecutiveFloorCalling_#t~ret135#1;isExecutiveFloorCalling_#res#1 := isExecutiveFloorCalling_~retValue_acc~30#1; 437154#isExecutiveFloorCalling_returnLabel#2 stopRequestedInDirection_#t~ret73#1 := isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;assume { :end_inline_isExecutiveFloorCalling } true;stopRequestedInDirection_~tmp___0~5#1 := stopRequestedInDirection_#t~ret73#1;havoc stopRequestedInDirection_#t~ret73#1; 432963#L2555 assume 0 != stopRequestedInDirection_~tmp___0~5#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;havoc getCurrentFloorID_~retValue_acc~14#1;getCurrentFloorID_~retValue_acc~14#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~14#1; 432964#getCurrentFloorID_returnLabel#4 stopRequestedInDirection_#t~ret74#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedInDirection_~tmp~20#1 := stopRequestedInDirection_#t~ret74#1;havoc stopRequestedInDirection_#t~ret74#1;stopRequestedInDirection_~__cil_tmp7~6#1 := (if 1 == stopRequestedInDirection_~dir#1 then 1 else 0);stopRequestedInDirection_~__cil_tmp8~7#1 := (if stopRequestedInDirection_~tmp~20#1 < ~executiveFloor~0 then 1 else 0);stopRequestedInDirection_~retValue_acc~23#1 := (if stopRequestedInDirection_~__cil_tmp8~7#1 == stopRequestedInDirection_~__cil_tmp7~6#1 then 1 else 0);stopRequestedInDirection_#res#1 := stopRequestedInDirection_~retValue_acc~23#1; 435458#stopRequestedInDirection_returnLabel#1 timeShift_#t~ret105#1 := stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret73#1, stopRequestedInDirection_#t~ret74#1, stopRequestedInDirection_#t~ret75#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~23#1, stopRequestedInDirection_~tmp~20#1, stopRequestedInDirection_~tmp___0~5#1, stopRequestedInDirection_~__cil_tmp7~6#1, stopRequestedInDirection_~__cil_tmp8~7#1;havoc stopRequestedInDirection_#in~dir#1, stopRequestedInDirection_#in~respectFloorCalls#1, stopRequestedInDirection_#in~respectInLiftCalls#1;assume { :end_inline_stopRequestedInDirection } true;timeShift_~tmp___8~2#1 := timeShift_#t~ret105#1;havoc timeShift_#t~ret105#1; 432539#L2952 assume 0 != timeShift_~tmp___8~2#1;assume { :begin_inline_continueInDirection } true;continueInDirection_#in~dir#1 := ~currentHeading~0;havoc continueInDirection_#t~ret76#1, continueInDirection_~dir#1, continueInDirection_~tmp~21#1;continueInDirection_~dir#1 := continueInDirection_#in~dir#1;havoc continueInDirection_~tmp~21#1;~currentHeading~0 := continueInDirection_~dir#1; 432540#L2612 assume !(1 == ~currentHeading~0); 436935#L2622 assume !(0 == ~currentFloorID~0); 436936#L2622-2 assume !(1 == ~currentHeading~0);~currentFloorID~0 := ~currentFloorID~0 - 1; 436741#L2628-1 havoc continueInDirection_#t~ret76#1, continueInDirection_~dir#1, continueInDirection_~tmp~21#1;havoc continueInDirection_#in~dir#1;assume { :end_inline_continueInDirection } true; 432023#L2961-2 assume { :begin_inline___utac_acc__Specification13_spec__2 } true;havoc __utac_acc__Specification13_spec__2_#t~ret28#1, __utac_acc__Specification13_spec__2_#t~ret29#1, __utac_acc__Specification13_spec__2_#t~ret30#1, __utac_acc__Specification13_spec__2_#t~ret31#1, __utac_acc__Specification13_spec__2_#t~ret32#1, __utac_acc__Specification13_spec__2_#t~ret33#1, __utac_acc__Specification13_spec__2_~tmp~3#1, __utac_acc__Specification13_spec__2_~tmp___0~0#1, __utac_acc__Specification13_spec__2_~tmp___1~0#1, __utac_acc__Specification13_spec__2_~tmp___2~0#1, __utac_acc__Specification13_spec__2_~tmp___3~0#1, __utac_acc__Specification13_spec__2_~tmp___4~0#1, __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1, __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1;havoc __utac_acc__Specification13_spec__2_~tmp~3#1;havoc __utac_acc__Specification13_spec__2_~tmp___0~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___1~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___2~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___3~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___4~0#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1;__utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 := 2 * ~maximumWeight~0;__utac_acc__Specification13_spec__2_~__cil_tmp8~5#1 := (if __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 < 0 && 0 != __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 % 3 then 1 + __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 / 3 else __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 / 3); 432024#L454 assume ~weight~0 > __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1; 434256#L455 assume 1 == ~prevDir~0;assume { :begin_inline_existInLiftCallsInDirection } true;existInLiftCallsInDirection_#in~d#1 := 0;havoc existInLiftCallsInDirection_#res#1;havoc existInLiftCallsInDirection_~d#1, existInLiftCallsInDirection_~retValue_acc~29#1, existInLiftCallsInDirection_~i~1#1, existInLiftCallsInDirection_~i___0~0#1;existInLiftCallsInDirection_~d#1 := existInLiftCallsInDirection_#in~d#1;havoc existInLiftCallsInDirection_~retValue_acc~29#1;havoc existInLiftCallsInDirection_~i~1#1;havoc existInLiftCallsInDirection_~i___0~0#1; 434258#L3156 assume !(1 == existInLiftCallsInDirection_~d#1); 436163#L3222 assume 0 == existInLiftCallsInDirection_~d#1;existInLiftCallsInDirection_~i___0~0#1 := 0;existInLiftCallsInDirection_~i___0~0#1 := ~currentFloorID~0 - 1; 435699#L3226-2 [2024-10-12 00:47:45,334 INFO L747 eck$LassoCheckResult]: Loop: 435699#L3226-2 assume !false; 436493#L3227 assume existInLiftCallsInDirection_~i___0~0#1 >= 0; 436494#L3228 existInLiftCallsInDirection_~i___0~0#1 := 1 + ~currentFloorID~0; 432253#L3235-2 assume !false; 432254#L3236 assume !(existInLiftCallsInDirection_~i___0~0#1 < 5); 435582#L3294 existInLiftCallsInDirection_~i___0~0#1 := existInLiftCallsInDirection_~i___0~0#1 - 1; 435699#L3226-2 [2024-10-12 00:47:45,334 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-12 00:47:45,334 INFO L85 PathProgramCache]: Analyzing trace with hash 463883413, now seen corresponding path program 1 times [2024-10-12 00:47:45,334 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-12 00:47:45,334 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [438153296] [2024-10-12 00:47:45,334 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-12 00:47:45,334 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-12 00:47:45,357 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-12 00:47:45,441 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-10-12 00:47:45,441 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-10-12 00:47:45,442 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [438153296] [2024-10-12 00:47:45,442 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [438153296] provided 1 perfect and 0 imperfect interpolant sequences [2024-10-12 00:47:45,442 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-10-12 00:47:45,442 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2024-10-12 00:47:45,442 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1748216261] [2024-10-12 00:47:45,442 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-10-12 00:47:45,443 INFO L750 eck$LassoCheckResult]: stem already infeasible [2024-10-12 00:47:45,443 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-12 00:47:45,443 INFO L85 PathProgramCache]: Analyzing trace with hash 1717871275, now seen corresponding path program 14 times [2024-10-12 00:47:45,443 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-12 00:47:45,443 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1413796295] [2024-10-12 00:47:45,443 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-12 00:47:45,444 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-12 00:47:45,453 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-12 00:47:45,453 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-10-12 00:47:45,454 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-12 00:47:45,459 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-10-12 00:47:45,479 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-10-12 00:47:45,480 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2024-10-12 00:47:45,480 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2024-10-12 00:47:45,480 INFO L87 Difference]: Start difference. First operand 13433 states and 24411 transitions. cyclomatic complexity: 11022 Second operand has 6 states, 6 states have (on average 13.333333333333334) internal successors, (80), 5 states have internal predecessors, (80), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-10-12 00:47:48,859 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-10-12 00:47:48,859 INFO L93 Difference]: Finished difference Result 13776 states and 24744 transitions. [2024-10-12 00:47:48,859 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 13776 states and 24744 transitions. [2024-10-12 00:47:48,910 INFO L131 ngComponentsAnalysis]: Automaton has 42 accepting balls. 4581 [2024-10-12 00:47:48,945 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 13776 states to 13776 states and 24744 transitions. [2024-10-12 00:47:48,945 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 13738 [2024-10-12 00:47:48,957 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 13738 [2024-10-12 00:47:48,957 INFO L73 IsDeterministic]: Start isDeterministic. Operand 13776 states and 24744 transitions. [2024-10-12 00:47:48,959 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-10-12 00:47:48,959 INFO L218 hiAutomatonCegarLoop]: Abstraction has 13776 states and 24744 transitions. [2024-10-12 00:47:48,977 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 13776 states and 24744 transitions. [2024-10-12 00:47:49,080 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 13776 to 13423. [2024-10-12 00:47:49,094 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13423 states, 13423 states have (on average 1.8171049690829173) internal successors, (24391), 13422 states have internal predecessors, (24391), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-10-12 00:47:49,114 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13423 states to 13423 states and 24391 transitions. [2024-10-12 00:47:49,114 INFO L240 hiAutomatonCegarLoop]: Abstraction has 13423 states and 24391 transitions. [2024-10-12 00:47:49,115 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2024-10-12 00:47:49,115 INFO L425 stractBuchiCegarLoop]: Abstraction has 13423 states and 24391 transitions. [2024-10-12 00:47:49,115 INFO L332 stractBuchiCegarLoop]: ======== Iteration 17 ============ [2024-10-12 00:47:49,115 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 13423 states and 24391 transitions. [2024-10-12 00:47:49,147 INFO L131 ngComponentsAnalysis]: Automaton has 42 accepting balls. 4474 [2024-10-12 00:47:49,147 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-10-12 00:47:49,147 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-10-12 00:47:49,148 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-10-12 00:47:49,148 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1] [2024-10-12 00:47:49,148 INFO L745 eck$LassoCheckResult]: Stem: 466931#$Ultimate##0 assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int#0(48, 1, 0, 1);call write~init~int#0(0, 1, 1, 1);call #Ultimate.allocInit(32, 2);call #Ultimate.allocInit(12, 3);call #Ultimate.allocInit(30, 4);call #Ultimate.allocInit(9, 5);call #Ultimate.allocInit(21, 6);call #Ultimate.allocInit(30, 7);call #Ultimate.allocInit(9, 8);call #Ultimate.allocInit(21, 9);call #Ultimate.allocInit(30, 10);call #Ultimate.allocInit(9, 11);call #Ultimate.allocInit(25, 12);call #Ultimate.allocInit(30, 13);call #Ultimate.allocInit(9, 14);call #Ultimate.allocInit(25, 15);call #Ultimate.allocInit(10, 16);call #Ultimate.allocInit(4, 17);call write~init~int#5(91, 17, 0, 1);call write~init~int#5(95, 17, 1, 1);call write~init~int#5(93, 17, 2, 1);call write~init~int#5(0, 17, 3, 1);call #Ultimate.allocInit(4, 18);call write~init~int#6(91, 18, 0, 1);call write~init~int#6(93, 18, 1, 1);call write~init~int#6(32, 18, 2, 1);call write~init~int#6(0, 18, 3, 1);call #Ultimate.allocInit(5, 19);call write~init~int#7(32, 19, 0, 1);call write~init~int#7(97, 19, 1, 1);call write~init~int#7(116, 19, 2, 1);call write~init~int#7(32, 19, 3, 1);call write~init~int#7(0, 19, 4, 1);call #Ultimate.allocInit(3, 20);call write~init~int#8(37, 20, 0, 1);call write~init~int#8(105, 20, 1, 1);call write~init~int#8(0, 20, 2, 1);call #Ultimate.allocInit(10, 21);call #Ultimate.allocInit(3, 22);call write~init~int#9(117, 22, 0, 1);call write~init~int#9(112, 22, 1, 1);call write~init~int#9(0, 22, 2, 1);call #Ultimate.allocInit(5, 23);call write~init~int#10(100, 23, 0, 1);call write~init~int#10(111, 23, 1, 1);call write~init~int#10(119, 23, 2, 1);call write~init~int#10(110, 23, 3, 1);call write~init~int#10(0, 23, 4, 1);call #Ultimate.allocInit(7, 24);call write~init~int#11(32, 24, 0, 1);call write~init~int#11(73, 24, 1, 1);call write~init~int#11(76, 24, 2, 1);call write~init~int#11(95, 24, 3, 1);call write~init~int#11(112, 24, 4, 1);call write~init~int#11(58, 24, 5, 1);call write~init~int#11(0, 24, 6, 1);call #Ultimate.allocInit(4, 25);call write~init~int#12(32, 25, 0, 1);call write~init~int#12(37, 25, 1, 1);call write~init~int#12(105, 25, 2, 1);call write~init~int#12(0, 25, 3, 1);call #Ultimate.allocInit(4, 26);call write~init~int#13(32, 26, 0, 1);call write~init~int#13(37, 26, 1, 1);call write~init~int#13(105, 26, 2, 1);call write~init~int#13(0, 26, 3, 1);call #Ultimate.allocInit(4, 27);call write~init~int#14(32, 27, 0, 1);call write~init~int#14(37, 27, 1, 1);call write~init~int#14(105, 27, 2, 1);call write~init~int#14(0, 27, 3, 1);call #Ultimate.allocInit(4, 28);call write~init~int#15(32, 28, 0, 1);call write~init~int#15(37, 28, 1, 1);call write~init~int#15(105, 28, 2, 1);call write~init~int#15(0, 28, 3, 1);call #Ultimate.allocInit(4, 29);call write~init~int#16(32, 29, 0, 1);call write~init~int#16(37, 29, 1, 1);call write~init~int#16(105, 29, 2, 1);call write~init~int#16(0, 29, 3, 1);call #Ultimate.allocInit(6, 30);call write~init~int#17(32, 30, 0, 1);call write~init~int#17(70, 30, 1, 1);call write~init~int#17(95, 30, 2, 1);call write~init~int#17(112, 30, 3, 1);call write~init~int#17(58, 30, 4, 1);call write~init~int#17(0, 30, 5, 1);call #Ultimate.allocInit(4, 31);call write~init~int#18(32, 31, 0, 1);call write~init~int#18(37, 31, 1, 1);call write~init~int#18(105, 31, 2, 1);call write~init~int#18(0, 31, 3, 1);call #Ultimate.allocInit(4, 32);call write~init~int#19(32, 32, 0, 1);call write~init~int#19(37, 32, 1, 1);call write~init~int#19(105, 32, 2, 1);call write~init~int#19(0, 32, 3, 1);call #Ultimate.allocInit(4, 33);call write~init~int#1(32, 33, 0, 1);call write~init~int#1(37, 33, 1, 1);call write~init~int#1(105, 33, 2, 1);call write~init~int#1(0, 33, 3, 1);call #Ultimate.allocInit(4, 34);call write~init~int#2(32, 34, 0, 1);call write~init~int#2(37, 34, 1, 1);call write~init~int#2(105, 34, 2, 1);call write~init~int#2(0, 34, 3, 1);call #Ultimate.allocInit(4, 35);call write~init~int#3(32, 35, 0, 1);call write~init~int#3(37, 35, 1, 1);call write~init~int#3(105, 35, 2, 1);call write~init~int#3(0, 35, 3, 1);call #Ultimate.allocInit(2, 36);call write~init~int#4(10, 36, 0, 1);call write~init~int#4(0, 36, 1, 1);~head~0.base, ~head~0.offset := 0, 0;~weight~0 := 0;~maximumWeight~0 := 100;~executiveFloor~0 := 4;~prevDir~0 := 0;~calls_0~0 := 0;~calls_1~0 := 0;~calls_2~0 := 0;~calls_3~0 := 0;~calls_4~0 := 0;~personOnFloor_0_0~0 := 0;~personOnFloor_0_1~0 := 0;~personOnFloor_0_2~0 := 0;~personOnFloor_0_3~0 := 0;~personOnFloor_0_4~0 := 0;~personOnFloor_1_0~0 := 0;~personOnFloor_1_1~0 := 0;~personOnFloor_1_2~0 := 0;~personOnFloor_1_3~0 := 0;~personOnFloor_1_4~0 := 0;~personOnFloor_2_0~0 := 0;~personOnFloor_2_1~0 := 0;~personOnFloor_2_2~0 := 0;~personOnFloor_2_3~0 := 0;~personOnFloor_2_4~0 := 0;~personOnFloor_3_0~0 := 0;~personOnFloor_3_1~0 := 0;~personOnFloor_3_2~0 := 0;~personOnFloor_3_3~0 := 0;~personOnFloor_3_4~0 := 0;~personOnFloor_4_0~0 := 0;~personOnFloor_4_1~0 := 0;~personOnFloor_4_2~0 := 0;~personOnFloor_4_3~0 := 0;~personOnFloor_4_4~0 := 0;~personOnFloor_5_0~0 := 0;~personOnFloor_5_1~0 := 0;~personOnFloor_5_2~0 := 0;~personOnFloor_5_3~0 := 0;~personOnFloor_5_4~0 := 0;~cleanupTimeShifts~0 := 12;~currentHeading~0 := 1;~currentFloorID~0 := 0;~persons_0~0 := 0;~persons_1~0 := 0;~persons_2~0 := 0;~persons_3~0 := 0;~persons_4~0 := 0;~persons_5~0 := 0;~doorState~0 := 1;~floorButtons_0~0 := 0;~floorButtons_1~0 := 0;~floorButtons_2~0 := 0;~floorButtons_3~0 := 0;~floorButtons_4~0 := 0; 466669#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret47#1, main_~retValue_acc~10#1, main_~tmp~12#1;havoc main_~retValue_acc~10#1;havoc main_~tmp~12#1;assume { :begin_inline_select_helpers } true; 466670#select_helpers_returnLabel#1 assume { :end_inline_select_helpers } true;assume { :begin_inline_select_features } true; 468750#select_features_returnLabel#1 assume { :end_inline_select_features } true;assume { :begin_inline_valid_product } true;havoc valid_product_#res#1;havoc valid_product_~retValue_acc~12#1;havoc valid_product_~retValue_acc~12#1;valid_product_~retValue_acc~12#1 := 1;valid_product_#res#1 := valid_product_~retValue_acc~12#1; 460754#valid_product_returnLabel#1 main_#t~ret47#1 := valid_product_#res#1;havoc valid_product_~retValue_acc~12#1;assume { :end_inline_valid_product } true;main_~tmp~12#1 := main_#t~ret47#1;havoc main_#t~ret47#1; 460755#L1651 assume 0 != main_~tmp~12#1;assume { :begin_inline_setup } true; 462489#setup_returnLabel#1 assume { :end_inline_setup } true;assume { :begin_inline_runTest } true;assume { :begin_inline_test } true;assume { :begin_inline_aliceCall } true;havoc aliceCall_#t~ret36#1, aliceCall_~tmp~5#1;havoc aliceCall_~tmp~5#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 1;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~4#1; 462490#L564 assume !(0 == getOrigin_~person#1); 461139#L568 assume 1 == getOrigin_~person#1;getOrigin_~retValue_acc~4#1 := 3;getOrigin_#res#1 := getOrigin_~retValue_acc~4#1; 461140#getOrigin_returnLabel#1 aliceCall_#t~ret36#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;aliceCall_~tmp~5#1 := aliceCall_#t~ret36#1;havoc aliceCall_#t~ret36#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 1, aliceCall_~tmp~5#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 461736#L999 assume !(0 == initPersonOnFloor_~floor#1); 461737#L1026 assume !(1 == initPersonOnFloor_~floor#1); 467731#L1053 assume !(2 == initPersonOnFloor_~floor#1); 468257#L1080 assume 3 == initPersonOnFloor_~floor#1; 465326#L1081 assume !(0 == initPersonOnFloor_~person#1); 465327#L1084 assume 1 == initPersonOnFloor_~person#1;~personOnFloor_1_3~0 := 1; 463105#L1107-1 assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 460019#L791 assume !(0 == callOnFloor_~floorID#1); 459871#L794 assume !(1 == callOnFloor_~floorID#1); 459824#L797 assume !(2 == callOnFloor_~floorID#1); 459825#L800 assume 3 == callOnFloor_~floorID#1;~calls_3~0 := 1; 461773#L803-2 havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true; 461381#initPersonOnFloor_returnLabel#1 havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true; 461382#aliceCall_returnLabel#1 havoc aliceCall_#t~ret36#1, aliceCall_~tmp~5#1;assume { :end_inline_aliceCall } true;assume { :begin_inline_angelinaCall } true;havoc angelinaCall_#t~ret37#1, angelinaCall_~tmp~6#1;havoc angelinaCall_~tmp~6#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 2;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~4#1; 466980#L564-1 assume !(0 == getOrigin_~person#1); 462236#L568-1 assume !(1 == getOrigin_~person#1); 462237#L572-1 assume 2 == getOrigin_~person#1;getOrigin_~retValue_acc~4#1 := 2;getOrigin_#res#1 := getOrigin_~retValue_acc~4#1; 460143#getOrigin_returnLabel#2 angelinaCall_#t~ret37#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;angelinaCall_~tmp~6#1 := angelinaCall_#t~ret37#1;havoc angelinaCall_#t~ret37#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 2, angelinaCall_~tmp~6#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 460144#L999-1 assume !(0 == initPersonOnFloor_~floor#1); 465776#L1026-1 assume !(1 == initPersonOnFloor_~floor#1); 467183#L1053-1 assume 2 == initPersonOnFloor_~floor#1; 467184#L1054-2 assume !(0 == initPersonOnFloor_~person#1); 467858#L1057-2 assume !(1 == initPersonOnFloor_~person#1); 466044#L1060-2 assume 2 == initPersonOnFloor_~person#1;~personOnFloor_2_2~0 := 1; 465209#L1107-3 assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 465210#L791-2 assume !(0 == callOnFloor_~floorID#1); 468555#L794-2 assume !(1 == callOnFloor_~floorID#1); 468556#L797-2 assume 2 == callOnFloor_~floorID#1;~calls_2~0 := 1; 468655#L803-5 havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true; 465260#initPersonOnFloor_returnLabel#2 havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true; 465261#angelinaCall_returnLabel#1 havoc angelinaCall_#t~ret37#1, angelinaCall_~tmp~6#1;assume { :end_inline_angelinaCall } true;assume { :begin_inline_threeTS } true;assume { :begin_inline_timeShift } true;havoc timeShift_#t~ret98#1, timeShift_#t~ret99#1, timeShift_#t~ret100#1, timeShift_#t~ret101#1, timeShift_#t~ret102#1, timeShift_#t~ret103#1, timeShift_#t~ret104#1, timeShift_#t~ret105#1, timeShift_#t~ret106#1, timeShift_#t~ret107#1, timeShift_#t~ret108#1, timeShift_~tmp~26#1, timeShift_~tmp___0~10#1, timeShift_~tmp___1~5#1, timeShift_~tmp___2~5#1, timeShift_~tmp___3~4#1, timeShift_~tmp___4~3#1, timeShift_~tmp___5~2#1, timeShift_~tmp___6~2#1, timeShift_~tmp___7~2#1, timeShift_~tmp___8~2#1, timeShift_~tmp___9~2#1;havoc timeShift_~tmp~26#1;havoc timeShift_~tmp___0~10#1;havoc timeShift_~tmp___1~5#1;havoc timeShift_~tmp___2~5#1;havoc timeShift_~tmp___3~4#1;havoc timeShift_~tmp___4~3#1;havoc timeShift_~tmp___5~2#1;havoc timeShift_~tmp___6~2#1;havoc timeShift_~tmp___7~2#1;havoc timeShift_~tmp___8~2#1;havoc timeShift_~tmp___9~2#1;assume { :begin_inline___utac_acc__Specification13_spec__1 } true;havoc __utac_acc__Specification13_spec__1_#t~ret27#1;assume { :begin_inline_getCurrentHeading } true;havoc getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~17#1;havoc getCurrentHeading_~retValue_acc~17#1;getCurrentHeading_~retValue_acc~17#1 := ~currentHeading~0;getCurrentHeading_#res#1 := getCurrentHeading_~retValue_acc~17#1; 468539#getCurrentHeading_returnLabel#1 __utac_acc__Specification13_spec__1_#t~ret27#1 := getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~17#1;assume { :end_inline_getCurrentHeading } true;~prevDir~0 := __utac_acc__Specification13_spec__1_#t~ret27#1;havoc __utac_acc__Specification13_spec__1_#t~ret27#1; 465600#__utac_acc__Specification13_spec__1_returnLabel#1 havoc __utac_acc__Specification13_spec__1_#t~ret27#1;assume { :end_inline___utac_acc__Specification13_spec__1 } true;assume { :begin_inline_stopRequestedAtCurrentFloor } true;havoc stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1, stopRequestedAtCurrentFloor_#t~ret83#1, stopRequestedAtCurrentFloor_#t~ret84#1, stopRequestedAtCurrentFloor_#t~ret85#1, stopRequestedAtCurrentFloor_~retValue_acc~27#1, stopRequestedAtCurrentFloor_~tmp~24#1, stopRequestedAtCurrentFloor_~tmp___0~8#1;havoc stopRequestedAtCurrentFloor_~retValue_acc~27#1;havoc stopRequestedAtCurrentFloor_~tmp~24#1;havoc stopRequestedAtCurrentFloor_~tmp___0~8#1;assume { :begin_inline_isExecutiveFloorCalling } true;havoc isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;havoc isExecutiveFloorCalling_~retValue_acc~30#1;assume { :begin_inline_isFloorCalling } true;isFloorCalling_#in~floorID#1 := ~executiveFloor~0;havoc isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;isFloorCalling_~floorID#1 := isFloorCalling_#in~floorID#1;havoc isFloorCalling_~retValue_acc~6#1; 465601#L728 assume !(0 == isFloorCalling_~floorID#1); 468575#L732 assume !(1 == isFloorCalling_~floorID#1); 468576#L736 assume !(2 == isFloorCalling_~floorID#1); 467690#L740 assume !(3 == isFloorCalling_~floorID#1); 467084#L744 assume 4 == isFloorCalling_~floorID#1;isFloorCalling_~retValue_acc~6#1 := ~calls_4~0;isFloorCalling_#res#1 := isFloorCalling_~retValue_acc~6#1; 467085#isFloorCalling_returnLabel#1 isExecutiveFloorCalling_#t~ret135#1 := isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;havoc isFloorCalling_#in~floorID#1;assume { :end_inline_isFloorCalling } true;isExecutiveFloorCalling_~retValue_acc~30#1 := isExecutiveFloorCalling_#t~ret135#1;havoc isExecutiveFloorCalling_#t~ret135#1;isExecutiveFloorCalling_#res#1 := isExecutiveFloorCalling_~retValue_acc~30#1; 468536#isExecutiveFloorCalling_returnLabel#1 stopRequestedAtCurrentFloor_#t~ret82#1 := isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;assume { :end_inline_isExecutiveFloorCalling } true;stopRequestedAtCurrentFloor_~tmp~24#1 := stopRequestedAtCurrentFloor_#t~ret82#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1; 466843#L2700 assume !(0 != stopRequestedAtCurrentFloor_~tmp~24#1);assume { :begin_inline_stopRequestedAtCurrentFloor__wrappee__twothirdsfull } true;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#res#1;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret79#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret80#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret81#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~retValue_acc~26#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp~23#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp___0~7#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp4~3#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp5~4#1;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~retValue_acc~26#1;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp~23#1;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp___0~7#1;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp4~3#1;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp5~4#1;stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp4~3#1 := 2 * ~maximumWeight~0;stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp5~4#1 := (if stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp4~3#1 < 0 && 0 != stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp4~3#1 % 3 then 1 + stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp4~3#1 / 3 else stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp4~3#1 / 3); 466844#L2674-1 assume ~weight~0 > stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp5~4#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;havoc getCurrentFloorID_~retValue_acc~14#1;getCurrentFloorID_~retValue_acc~14#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~14#1; 466509#getCurrentFloorID_returnLabel#3 stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret79#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp~23#1 := stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret79#1;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret79#1;assume { :begin_inline_buttonForFloorIsPressed } true;buttonForFloorIsPressed_#in~floorID#1 := stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp~23#1;havoc buttonForFloorIsPressed_#res#1;havoc buttonForFloorIsPressed_~floorID#1, buttonForFloorIsPressed_~retValue_acc~16#1;buttonForFloorIsPressed_~floorID#1 := buttonForFloorIsPressed_#in~floorID#1;havoc buttonForFloorIsPressed_~retValue_acc~16#1; 466510#L1980-2 assume 0 == buttonForFloorIsPressed_~floorID#1;buttonForFloorIsPressed_~retValue_acc~16#1 := ~floorButtons_0~0;buttonForFloorIsPressed_#res#1 := buttonForFloorIsPressed_~retValue_acc~16#1; 466151#buttonForFloorIsPressed_returnLabel#3 stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret80#1 := buttonForFloorIsPressed_#res#1;havoc buttonForFloorIsPressed_~floorID#1, buttonForFloorIsPressed_~retValue_acc~16#1;havoc buttonForFloorIsPressed_#in~floorID#1;assume { :end_inline_buttonForFloorIsPressed } true;stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp___0~7#1 := stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret80#1;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret80#1;stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~retValue_acc~26#1 := (if 1 == stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp___0~7#1 then 1 else 0);stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#res#1 := stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~retValue_acc~26#1; 462083#stopRequestedAtCurrentFloor__wrappee__twothirdsfull_returnLabel#2 stopRequestedAtCurrentFloor_#t~ret85#1 := stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#res#1;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret79#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret80#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret81#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~retValue_acc~26#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp~23#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp___0~7#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp4~3#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp5~4#1;assume { :end_inline_stopRequestedAtCurrentFloor__wrappee__twothirdsfull } true;stopRequestedAtCurrentFloor_~retValue_acc~27#1 := stopRequestedAtCurrentFloor_#t~ret85#1;havoc stopRequestedAtCurrentFloor_#t~ret85#1;stopRequestedAtCurrentFloor_#res#1 := stopRequestedAtCurrentFloor_~retValue_acc~27#1; 459882#stopRequestedAtCurrentFloor_returnLabel#1 timeShift_#t~ret98#1 := stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1, stopRequestedAtCurrentFloor_#t~ret83#1, stopRequestedAtCurrentFloor_#t~ret84#1, stopRequestedAtCurrentFloor_#t~ret85#1, stopRequestedAtCurrentFloor_~retValue_acc~27#1, stopRequestedAtCurrentFloor_~tmp~24#1, stopRequestedAtCurrentFloor_~tmp___0~8#1;assume { :end_inline_stopRequestedAtCurrentFloor } true;timeShift_~tmp___9~2#1 := timeShift_#t~ret98#1;havoc timeShift_#t~ret98#1; 459883#L2853 assume !(0 != timeShift_~tmp___9~2#1); 460561#L2944 assume 1 == ~doorState~0;~doorState~0 := 0; 461184#L2944-2 assume { :begin_inline_stopRequestedInDirection } true;stopRequestedInDirection_#in~dir#1, stopRequestedInDirection_#in~respectFloorCalls#1, stopRequestedInDirection_#in~respectInLiftCalls#1 := ~currentHeading~0, 1, 1;havoc stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret73#1, stopRequestedInDirection_#t~ret74#1, stopRequestedInDirection_#t~ret75#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~23#1, stopRequestedInDirection_~tmp~20#1, stopRequestedInDirection_~tmp___0~5#1, stopRequestedInDirection_~__cil_tmp7~6#1, stopRequestedInDirection_~__cil_tmp8~7#1;stopRequestedInDirection_~dir#1 := stopRequestedInDirection_#in~dir#1;stopRequestedInDirection_~respectFloorCalls#1 := stopRequestedInDirection_#in~respectFloorCalls#1;stopRequestedInDirection_~respectInLiftCalls#1 := stopRequestedInDirection_#in~respectInLiftCalls#1;havoc stopRequestedInDirection_~retValue_acc~23#1;havoc stopRequestedInDirection_~tmp~20#1;havoc stopRequestedInDirection_~tmp___0~5#1;havoc stopRequestedInDirection_~__cil_tmp7~6#1;havoc stopRequestedInDirection_~__cil_tmp8~7#1;assume { :begin_inline_isExecutiveFloorCalling } true;havoc isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;havoc isExecutiveFloorCalling_~retValue_acc~30#1;assume { :begin_inline_isFloorCalling } true;isFloorCalling_#in~floorID#1 := ~executiveFloor~0;havoc isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;isFloorCalling_~floorID#1 := isFloorCalling_#in~floorID#1;havoc isFloorCalling_~retValue_acc~6#1; 461185#L728-3 assume !(0 == isFloorCalling_~floorID#1); 468706#L732-3 assume !(1 == isFloorCalling_~floorID#1); 461486#L736-3 assume !(2 == isFloorCalling_~floorID#1); 461487#L740-3 assume !(3 == isFloorCalling_~floorID#1); 463573#L744-3 assume 4 == isFloorCalling_~floorID#1;isFloorCalling_~retValue_acc~6#1 := ~calls_4~0;isFloorCalling_#res#1 := isFloorCalling_~retValue_acc~6#1; 463574#isFloorCalling_returnLabel#4 isExecutiveFloorCalling_#t~ret135#1 := isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;havoc isFloorCalling_#in~floorID#1;assume { :end_inline_isFloorCalling } true;isExecutiveFloorCalling_~retValue_acc~30#1 := isExecutiveFloorCalling_#t~ret135#1;havoc isExecutiveFloorCalling_#t~ret135#1;isExecutiveFloorCalling_#res#1 := isExecutiveFloorCalling_~retValue_acc~30#1; 464409#isExecutiveFloorCalling_returnLabel#2 stopRequestedInDirection_#t~ret73#1 := isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;assume { :end_inline_isExecutiveFloorCalling } true;stopRequestedInDirection_~tmp___0~5#1 := stopRequestedInDirection_#t~ret73#1;havoc stopRequestedInDirection_#t~ret73#1; 460187#L2555 assume !(0 != stopRequestedInDirection_~tmp___0~5#1);assume { :begin_inline_stopRequestedInDirection__wrappee__twothirdsfull } true;stopRequestedInDirection__wrappee__twothirdsfull_#in~dir#1, stopRequestedInDirection__wrappee__twothirdsfull_#in~respectFloorCalls#1, stopRequestedInDirection__wrappee__twothirdsfull_#in~respectInLiftCalls#1 := stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_#res#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_#t~ret69#1, stopRequestedInDirection__wrappee__twothirdsfull_#t~ret70#1, stopRequestedInDirection__wrappee__twothirdsfull_#t~ret71#1, stopRequestedInDirection__wrappee__twothirdsfull_#t~ret72#1, stopRequestedInDirection__wrappee__twothirdsfull_~dir#1, stopRequestedInDirection__wrappee__twothirdsfull_~respectFloorCalls#1, stopRequestedInDirection__wrappee__twothirdsfull_~respectInLiftCalls#1, stopRequestedInDirection__wrappee__twothirdsfull_~retValue_acc~22#1, stopRequestedInDirection__wrappee__twothirdsfull_~overload~0#1, stopRequestedInDirection__wrappee__twothirdsfull_~buttonPressed~0#1, stopRequestedInDirection__wrappee__twothirdsfull_~tmp~19#1, stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp8~6#1, stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp9~5#1;stopRequestedInDirection__wrappee__twothirdsfull_~dir#1 := stopRequestedInDirection__wrappee__twothirdsfull_#in~dir#1;stopRequestedInDirection__wrappee__twothirdsfull_~respectFloorCalls#1 := stopRequestedInDirection__wrappee__twothirdsfull_#in~respectFloorCalls#1;stopRequestedInDirection__wrappee__twothirdsfull_~respectInLiftCalls#1 := stopRequestedInDirection__wrappee__twothirdsfull_#in~respectInLiftCalls#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_~retValue_acc~22#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_~overload~0#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_~buttonPressed~0#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_~tmp~19#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp8~6#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp9~5#1;stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp8~6#1 := 2 * ~maximumWeight~0;stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp9~5#1 := (if stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp8~6#1 < 0 && 0 != stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp8~6#1 % 3 then 1 + stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp8~6#1 / 3 else stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp8~6#1 / 3);stopRequestedInDirection__wrappee__twothirdsfull_~overload~0#1 := (if ~weight~0 > stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp9~5#1 then 1 else 0);assume { :begin_inline_isAnyLiftButtonPressed } true;havoc isAnyLiftButtonPressed_#res#1;havoc isAnyLiftButtonPressed_~retValue_acc~24#1;havoc isAnyLiftButtonPressed_~retValue_acc~24#1; 460188#L2577 assume 0 != ~floorButtons_0~0;isAnyLiftButtonPressed_~retValue_acc~24#1 := 1;isAnyLiftButtonPressed_#res#1 := isAnyLiftButtonPressed_~retValue_acc~24#1; 460326#isAnyLiftButtonPressed_returnLabel#1 stopRequestedInDirection__wrappee__twothirdsfull_#t~ret69#1 := isAnyLiftButtonPressed_#res#1;havoc isAnyLiftButtonPressed_~retValue_acc~24#1;assume { :end_inline_isAnyLiftButtonPressed } true;stopRequestedInDirection__wrappee__twothirdsfull_~tmp~19#1 := stopRequestedInDirection__wrappee__twothirdsfull_#t~ret69#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_#t~ret69#1;stopRequestedInDirection__wrappee__twothirdsfull_~buttonPressed~0#1 := stopRequestedInDirection__wrappee__twothirdsfull_~tmp~19#1; 467453#L2521 assume !(0 != stopRequestedInDirection__wrappee__twothirdsfull_~overload~0#1);assume { :begin_inline_stopRequestedInDirection__wrappee__empty } true;stopRequestedInDirection__wrappee__empty_#in~dir#1, stopRequestedInDirection__wrappee__empty_#in~respectFloorCalls#1, stopRequestedInDirection__wrappee__empty_#in~respectInLiftCalls#1 := stopRequestedInDirection__wrappee__twothirdsfull_~dir#1, stopRequestedInDirection__wrappee__twothirdsfull_~respectFloorCalls#1, stopRequestedInDirection__wrappee__twothirdsfull_~respectInLiftCalls#1;havoc stopRequestedInDirection__wrappee__empty_#res#1;havoc stopRequestedInDirection__wrappee__empty_#t~ret58#1, stopRequestedInDirection__wrappee__empty_#t~ret59#1, stopRequestedInDirection__wrappee__empty_#t~ret60#1, stopRequestedInDirection__wrappee__empty_#t~ret61#1, stopRequestedInDirection__wrappee__empty_#t~ret62#1, stopRequestedInDirection__wrappee__empty_#t~ret63#1, stopRequestedInDirection__wrappee__empty_#t~ret64#1, stopRequestedInDirection__wrappee__empty_#t~ret65#1, stopRequestedInDirection__wrappee__empty_#t~ret66#1, stopRequestedInDirection__wrappee__empty_#t~ret67#1, stopRequestedInDirection__wrappee__empty_#t~ret68#1, stopRequestedInDirection__wrappee__empty_~dir#1, stopRequestedInDirection__wrappee__empty_~respectFloorCalls#1, stopRequestedInDirection__wrappee__empty_~respectInLiftCalls#1, stopRequestedInDirection__wrappee__empty_~retValue_acc~21#1, stopRequestedInDirection__wrappee__empty_~tmp~18#1, stopRequestedInDirection__wrappee__empty_~tmp___0~4#1, stopRequestedInDirection__wrappee__empty_~tmp___1~3#1, stopRequestedInDirection__wrappee__empty_~tmp___2~3#1, stopRequestedInDirection__wrappee__empty_~tmp___3~2#1, stopRequestedInDirection__wrappee__empty_~tmp___4~1#1, stopRequestedInDirection__wrappee__empty_~tmp___5~0#1, stopRequestedInDirection__wrappee__empty_~tmp___6~0#1, stopRequestedInDirection__wrappee__empty_~tmp___7~0#1, stopRequestedInDirection__wrappee__empty_~tmp___8~0#1, stopRequestedInDirection__wrappee__empty_~tmp___9~0#1;stopRequestedInDirection__wrappee__empty_~dir#1 := stopRequestedInDirection__wrappee__empty_#in~dir#1;stopRequestedInDirection__wrappee__empty_~respectFloorCalls#1 := stopRequestedInDirection__wrappee__empty_#in~respectFloorCalls#1;stopRequestedInDirection__wrappee__empty_~respectInLiftCalls#1 := stopRequestedInDirection__wrappee__empty_#in~respectInLiftCalls#1;havoc stopRequestedInDirection__wrappee__empty_~retValue_acc~21#1;havoc stopRequestedInDirection__wrappee__empty_~tmp~18#1;havoc stopRequestedInDirection__wrappee__empty_~tmp___0~4#1;havoc stopRequestedInDirection__wrappee__empty_~tmp___1~3#1;havoc stopRequestedInDirection__wrappee__empty_~tmp___2~3#1;havoc stopRequestedInDirection__wrappee__empty_~tmp___3~2#1;havoc stopRequestedInDirection__wrappee__empty_~tmp___4~1#1;havoc stopRequestedInDirection__wrappee__empty_~tmp___5~0#1;havoc stopRequestedInDirection__wrappee__empty_~tmp___6~0#1;havoc stopRequestedInDirection__wrappee__empty_~tmp___7~0#1;havoc stopRequestedInDirection__wrappee__empty_~tmp___8~0#1;havoc stopRequestedInDirection__wrappee__empty_~tmp___9~0#1; 468075#L2167-2 assume !(1 == stopRequestedInDirection__wrappee__empty_~dir#1); 462557#L2336-2 assume 0 == ~currentFloorID~0;stopRequestedInDirection__wrappee__empty_~retValue_acc~21#1 := 0;stopRequestedInDirection__wrappee__empty_#res#1 := stopRequestedInDirection__wrappee__empty_~retValue_acc~21#1; 459457#stopRequestedInDirection__wrappee__empty_returnLabel#3 stopRequestedInDirection__wrappee__twothirdsfull_#t~ret72#1 := stopRequestedInDirection__wrappee__empty_#res#1;havoc stopRequestedInDirection__wrappee__empty_#t~ret58#1, stopRequestedInDirection__wrappee__empty_#t~ret59#1, stopRequestedInDirection__wrappee__empty_#t~ret60#1, stopRequestedInDirection__wrappee__empty_#t~ret61#1, stopRequestedInDirection__wrappee__empty_#t~ret62#1, stopRequestedInDirection__wrappee__empty_#t~ret63#1, stopRequestedInDirection__wrappee__empty_#t~ret64#1, stopRequestedInDirection__wrappee__empty_#t~ret65#1, stopRequestedInDirection__wrappee__empty_#t~ret66#1, stopRequestedInDirection__wrappee__empty_#t~ret67#1, stopRequestedInDirection__wrappee__empty_#t~ret68#1, stopRequestedInDirection__wrappee__empty_~dir#1, stopRequestedInDirection__wrappee__empty_~respectFloorCalls#1, stopRequestedInDirection__wrappee__empty_~respectInLiftCalls#1, stopRequestedInDirection__wrappee__empty_~retValue_acc~21#1, stopRequestedInDirection__wrappee__empty_~tmp~18#1, stopRequestedInDirection__wrappee__empty_~tmp___0~4#1, stopRequestedInDirection__wrappee__empty_~tmp___1~3#1, stopRequestedInDirection__wrappee__empty_~tmp___2~3#1, stopRequestedInDirection__wrappee__empty_~tmp___3~2#1, stopRequestedInDirection__wrappee__empty_~tmp___4~1#1, stopRequestedInDirection__wrappee__empty_~tmp___5~0#1, stopRequestedInDirection__wrappee__empty_~tmp___6~0#1, stopRequestedInDirection__wrappee__empty_~tmp___7~0#1, stopRequestedInDirection__wrappee__empty_~tmp___8~0#1, stopRequestedInDirection__wrappee__empty_~tmp___9~0#1;havoc stopRequestedInDirection__wrappee__empty_#in~dir#1, stopRequestedInDirection__wrappee__empty_#in~respectFloorCalls#1, stopRequestedInDirection__wrappee__empty_#in~respectInLiftCalls#1;assume { :end_inline_stopRequestedInDirection__wrappee__empty } true;stopRequestedInDirection__wrappee__twothirdsfull_~retValue_acc~22#1 := stopRequestedInDirection__wrappee__twothirdsfull_#t~ret72#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_#t~ret72#1;stopRequestedInDirection__wrappee__twothirdsfull_#res#1 := stopRequestedInDirection__wrappee__twothirdsfull_~retValue_acc~22#1; 460393#stopRequestedInDirection__wrappee__twothirdsfull_returnLabel#1 stopRequestedInDirection_#t~ret75#1 := stopRequestedInDirection__wrappee__twothirdsfull_#res#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_#t~ret69#1, stopRequestedInDirection__wrappee__twothirdsfull_#t~ret70#1, stopRequestedInDirection__wrappee__twothirdsfull_#t~ret71#1, stopRequestedInDirection__wrappee__twothirdsfull_#t~ret72#1, stopRequestedInDirection__wrappee__twothirdsfull_~dir#1, stopRequestedInDirection__wrappee__twothirdsfull_~respectFloorCalls#1, stopRequestedInDirection__wrappee__twothirdsfull_~respectInLiftCalls#1, stopRequestedInDirection__wrappee__twothirdsfull_~retValue_acc~22#1, stopRequestedInDirection__wrappee__twothirdsfull_~overload~0#1, stopRequestedInDirection__wrappee__twothirdsfull_~buttonPressed~0#1, stopRequestedInDirection__wrappee__twothirdsfull_~tmp~19#1, stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp8~6#1, stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp9~5#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_#in~dir#1, stopRequestedInDirection__wrappee__twothirdsfull_#in~respectFloorCalls#1, stopRequestedInDirection__wrappee__twothirdsfull_#in~respectInLiftCalls#1;assume { :end_inline_stopRequestedInDirection__wrappee__twothirdsfull } true;stopRequestedInDirection_~retValue_acc~23#1 := stopRequestedInDirection_#t~ret75#1;havoc stopRequestedInDirection_#t~ret75#1;stopRequestedInDirection_#res#1 := stopRequestedInDirection_~retValue_acc~23#1; 462692#stopRequestedInDirection_returnLabel#1 timeShift_#t~ret105#1 := stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret73#1, stopRequestedInDirection_#t~ret74#1, stopRequestedInDirection_#t~ret75#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~23#1, stopRequestedInDirection_~tmp~20#1, stopRequestedInDirection_~tmp___0~5#1, stopRequestedInDirection_~__cil_tmp7~6#1, stopRequestedInDirection_~__cil_tmp8~7#1;havoc stopRequestedInDirection_#in~dir#1, stopRequestedInDirection_#in~respectFloorCalls#1, stopRequestedInDirection_#in~respectInLiftCalls#1;assume { :end_inline_stopRequestedInDirection } true;timeShift_~tmp___8~2#1 := timeShift_#t~ret105#1;havoc timeShift_#t~ret105#1; 459761#L2952 assume 0 != timeShift_~tmp___8~2#1;assume { :begin_inline_continueInDirection } true;continueInDirection_#in~dir#1 := ~currentHeading~0;havoc continueInDirection_#t~ret76#1, continueInDirection_~dir#1, continueInDirection_~tmp~21#1;continueInDirection_~dir#1 := continueInDirection_#in~dir#1;havoc continueInDirection_~tmp~21#1;~currentHeading~0 := continueInDirection_~dir#1; 459762#L2612 assume !(1 == ~currentHeading~0); 464186#L2622 assume !(0 == ~currentFloorID~0); 464187#L2622-2 assume !(1 == ~currentHeading~0);~currentFloorID~0 := ~currentFloorID~0 - 1; 463988#L2628-1 havoc continueInDirection_#t~ret76#1, continueInDirection_~dir#1, continueInDirection_~tmp~21#1;havoc continueInDirection_#in~dir#1;assume { :end_inline_continueInDirection } true; 459247#L2961-2 assume { :begin_inline___utac_acc__Specification13_spec__2 } true;havoc __utac_acc__Specification13_spec__2_#t~ret28#1, __utac_acc__Specification13_spec__2_#t~ret29#1, __utac_acc__Specification13_spec__2_#t~ret30#1, __utac_acc__Specification13_spec__2_#t~ret31#1, __utac_acc__Specification13_spec__2_#t~ret32#1, __utac_acc__Specification13_spec__2_#t~ret33#1, __utac_acc__Specification13_spec__2_~tmp~3#1, __utac_acc__Specification13_spec__2_~tmp___0~0#1, __utac_acc__Specification13_spec__2_~tmp___1~0#1, __utac_acc__Specification13_spec__2_~tmp___2~0#1, __utac_acc__Specification13_spec__2_~tmp___3~0#1, __utac_acc__Specification13_spec__2_~tmp___4~0#1, __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1, __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1;havoc __utac_acc__Specification13_spec__2_~tmp~3#1;havoc __utac_acc__Specification13_spec__2_~tmp___0~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___1~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___2~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___3~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___4~0#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1;__utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 := 2 * ~maximumWeight~0;__utac_acc__Specification13_spec__2_~__cil_tmp8~5#1 := (if __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 < 0 && 0 != __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 % 3 then 1 + __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 / 3 else __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 / 3); 459248#L454 assume ~weight~0 > __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1; 461482#L455 assume 1 == ~prevDir~0;assume { :begin_inline_existInLiftCallsInDirection } true;existInLiftCallsInDirection_#in~d#1 := 0;havoc existInLiftCallsInDirection_#res#1;havoc existInLiftCallsInDirection_~d#1, existInLiftCallsInDirection_~retValue_acc~29#1, existInLiftCallsInDirection_~i~1#1, existInLiftCallsInDirection_~i___0~0#1;existInLiftCallsInDirection_~d#1 := existInLiftCallsInDirection_#in~d#1;havoc existInLiftCallsInDirection_~retValue_acc~29#1;havoc existInLiftCallsInDirection_~i~1#1;havoc existInLiftCallsInDirection_~i___0~0#1; 461484#L3156 assume !(1 == existInLiftCallsInDirection_~d#1); 463406#L3222 assume 0 == existInLiftCallsInDirection_~d#1;existInLiftCallsInDirection_~i___0~0#1 := 0;existInLiftCallsInDirection_~i___0~0#1 := ~currentFloorID~0 - 1; 462935#L3226-2 [2024-10-12 00:47:49,149 INFO L747 eck$LassoCheckResult]: Loop: 462935#L3226-2 assume !false; 463737#L3227 assume existInLiftCallsInDirection_~i___0~0#1 >= 0; 463738#L3228 existInLiftCallsInDirection_~i___0~0#1 := 1 + ~currentFloorID~0; 459476#L3235-2 assume !false; 459477#L3236 assume !(existInLiftCallsInDirection_~i___0~0#1 < 5); 462816#L3294 existInLiftCallsInDirection_~i___0~0#1 := existInLiftCallsInDirection_~i___0~0#1 - 1; 462935#L3226-2 [2024-10-12 00:47:49,149 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-12 00:47:49,149 INFO L85 PathProgramCache]: Analyzing trace with hash 816407335, now seen corresponding path program 1 times [2024-10-12 00:47:49,149 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-12 00:47:49,149 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1772340056] [2024-10-12 00:47:49,150 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-12 00:47:49,150 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-12 00:47:49,177 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-12 00:47:49,209 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-10-12 00:47:49,209 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-10-12 00:47:49,209 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1772340056] [2024-10-12 00:47:49,210 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1772340056] provided 1 perfect and 0 imperfect interpolant sequences [2024-10-12 00:47:49,210 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-10-12 00:47:49,210 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2024-10-12 00:47:49,210 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [171649862] [2024-10-12 00:47:49,210 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-10-12 00:47:49,210 INFO L750 eck$LassoCheckResult]: stem already infeasible [2024-10-12 00:47:49,211 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-12 00:47:49,211 INFO L85 PathProgramCache]: Analyzing trace with hash 1717871275, now seen corresponding path program 15 times [2024-10-12 00:47:49,211 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-12 00:47:49,211 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1971366245] [2024-10-12 00:47:49,211 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-12 00:47:49,211 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-12 00:47:49,219 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-12 00:47:49,220 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-10-12 00:47:49,221 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-12 00:47:49,225 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-10-12 00:47:49,243 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-10-12 00:47:49,244 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2024-10-12 00:47:49,244 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2024-10-12 00:47:49,244 INFO L87 Difference]: Start difference. First operand 13423 states and 24391 transitions. cyclomatic complexity: 11012 Second operand has 3 states, 3 states have (on average 28.666666666666668) internal successors, (86), 2 states have internal predecessors, (86), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-10-12 00:47:49,961 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-10-12 00:47:49,962 INFO L93 Difference]: Finished difference Result 25542 states and 46298 transitions. [2024-10-12 00:47:49,962 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 25542 states and 46298 transitions. [2024-10-12 00:47:50,071 INFO L131 ngComponentsAnalysis]: Automaton has 82 accepting balls. 8826 [2024-10-12 00:47:50,134 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 25542 states to 25542 states and 46298 transitions. [2024-10-12 00:47:50,135 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 25468 [2024-10-12 00:47:50,151 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 25468 [2024-10-12 00:47:50,151 INFO L73 IsDeterministic]: Start isDeterministic. Operand 25542 states and 46298 transitions. [2024-10-12 00:47:50,152 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-10-12 00:47:50,152 INFO L218 hiAutomatonCegarLoop]: Abstraction has 25542 states and 46298 transitions. [2024-10-12 00:47:50,171 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 25542 states and 46298 transitions. [2024-10-12 00:47:50,346 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 25542 to 25540. [2024-10-12 00:47:50,374 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 25540 states, 25540 states have (on average 1.8126859827721222) internal successors, (46296), 25539 states have internal predecessors, (46296), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-10-12 00:47:50,416 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25540 states to 25540 states and 46296 transitions. [2024-10-12 00:47:50,416 INFO L240 hiAutomatonCegarLoop]: Abstraction has 25540 states and 46296 transitions. [2024-10-12 00:47:50,417 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2024-10-12 00:47:50,417 INFO L425 stractBuchiCegarLoop]: Abstraction has 25540 states and 46296 transitions. [2024-10-12 00:47:50,417 INFO L332 stractBuchiCegarLoop]: ======== Iteration 18 ============ [2024-10-12 00:47:50,417 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 25540 states and 46296 transitions. [2024-10-12 00:47:50,484 INFO L131 ngComponentsAnalysis]: Automaton has 82 accepting balls. 8826 [2024-10-12 00:47:50,484 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-10-12 00:47:50,484 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-10-12 00:47:50,485 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-10-12 00:47:50,485 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1] [2024-10-12 00:47:50,485 INFO L745 eck$LassoCheckResult]: Stem: 505915#$Ultimate##0 assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int#0(48, 1, 0, 1);call write~init~int#0(0, 1, 1, 1);call #Ultimate.allocInit(32, 2);call #Ultimate.allocInit(12, 3);call #Ultimate.allocInit(30, 4);call #Ultimate.allocInit(9, 5);call #Ultimate.allocInit(21, 6);call #Ultimate.allocInit(30, 7);call #Ultimate.allocInit(9, 8);call #Ultimate.allocInit(21, 9);call #Ultimate.allocInit(30, 10);call #Ultimate.allocInit(9, 11);call #Ultimate.allocInit(25, 12);call #Ultimate.allocInit(30, 13);call #Ultimate.allocInit(9, 14);call #Ultimate.allocInit(25, 15);call #Ultimate.allocInit(10, 16);call #Ultimate.allocInit(4, 17);call write~init~int#5(91, 17, 0, 1);call write~init~int#5(95, 17, 1, 1);call write~init~int#5(93, 17, 2, 1);call write~init~int#5(0, 17, 3, 1);call #Ultimate.allocInit(4, 18);call write~init~int#6(91, 18, 0, 1);call write~init~int#6(93, 18, 1, 1);call write~init~int#6(32, 18, 2, 1);call write~init~int#6(0, 18, 3, 1);call #Ultimate.allocInit(5, 19);call write~init~int#7(32, 19, 0, 1);call write~init~int#7(97, 19, 1, 1);call write~init~int#7(116, 19, 2, 1);call write~init~int#7(32, 19, 3, 1);call write~init~int#7(0, 19, 4, 1);call #Ultimate.allocInit(3, 20);call write~init~int#8(37, 20, 0, 1);call write~init~int#8(105, 20, 1, 1);call write~init~int#8(0, 20, 2, 1);call #Ultimate.allocInit(10, 21);call #Ultimate.allocInit(3, 22);call write~init~int#9(117, 22, 0, 1);call write~init~int#9(112, 22, 1, 1);call write~init~int#9(0, 22, 2, 1);call #Ultimate.allocInit(5, 23);call write~init~int#10(100, 23, 0, 1);call write~init~int#10(111, 23, 1, 1);call write~init~int#10(119, 23, 2, 1);call write~init~int#10(110, 23, 3, 1);call write~init~int#10(0, 23, 4, 1);call #Ultimate.allocInit(7, 24);call write~init~int#11(32, 24, 0, 1);call write~init~int#11(73, 24, 1, 1);call write~init~int#11(76, 24, 2, 1);call write~init~int#11(95, 24, 3, 1);call write~init~int#11(112, 24, 4, 1);call write~init~int#11(58, 24, 5, 1);call write~init~int#11(0, 24, 6, 1);call #Ultimate.allocInit(4, 25);call write~init~int#12(32, 25, 0, 1);call write~init~int#12(37, 25, 1, 1);call write~init~int#12(105, 25, 2, 1);call write~init~int#12(0, 25, 3, 1);call #Ultimate.allocInit(4, 26);call write~init~int#13(32, 26, 0, 1);call write~init~int#13(37, 26, 1, 1);call write~init~int#13(105, 26, 2, 1);call write~init~int#13(0, 26, 3, 1);call #Ultimate.allocInit(4, 27);call write~init~int#14(32, 27, 0, 1);call write~init~int#14(37, 27, 1, 1);call write~init~int#14(105, 27, 2, 1);call write~init~int#14(0, 27, 3, 1);call #Ultimate.allocInit(4, 28);call write~init~int#15(32, 28, 0, 1);call write~init~int#15(37, 28, 1, 1);call write~init~int#15(105, 28, 2, 1);call write~init~int#15(0, 28, 3, 1);call #Ultimate.allocInit(4, 29);call write~init~int#16(32, 29, 0, 1);call write~init~int#16(37, 29, 1, 1);call write~init~int#16(105, 29, 2, 1);call write~init~int#16(0, 29, 3, 1);call #Ultimate.allocInit(6, 30);call write~init~int#17(32, 30, 0, 1);call write~init~int#17(70, 30, 1, 1);call write~init~int#17(95, 30, 2, 1);call write~init~int#17(112, 30, 3, 1);call write~init~int#17(58, 30, 4, 1);call write~init~int#17(0, 30, 5, 1);call #Ultimate.allocInit(4, 31);call write~init~int#18(32, 31, 0, 1);call write~init~int#18(37, 31, 1, 1);call write~init~int#18(105, 31, 2, 1);call write~init~int#18(0, 31, 3, 1);call #Ultimate.allocInit(4, 32);call write~init~int#19(32, 32, 0, 1);call write~init~int#19(37, 32, 1, 1);call write~init~int#19(105, 32, 2, 1);call write~init~int#19(0, 32, 3, 1);call #Ultimate.allocInit(4, 33);call write~init~int#1(32, 33, 0, 1);call write~init~int#1(37, 33, 1, 1);call write~init~int#1(105, 33, 2, 1);call write~init~int#1(0, 33, 3, 1);call #Ultimate.allocInit(4, 34);call write~init~int#2(32, 34, 0, 1);call write~init~int#2(37, 34, 1, 1);call write~init~int#2(105, 34, 2, 1);call write~init~int#2(0, 34, 3, 1);call #Ultimate.allocInit(4, 35);call write~init~int#3(32, 35, 0, 1);call write~init~int#3(37, 35, 1, 1);call write~init~int#3(105, 35, 2, 1);call write~init~int#3(0, 35, 3, 1);call #Ultimate.allocInit(2, 36);call write~init~int#4(10, 36, 0, 1);call write~init~int#4(0, 36, 1, 1);~head~0.base, ~head~0.offset := 0, 0;~weight~0 := 0;~maximumWeight~0 := 100;~executiveFloor~0 := 4;~prevDir~0 := 0;~calls_0~0 := 0;~calls_1~0 := 0;~calls_2~0 := 0;~calls_3~0 := 0;~calls_4~0 := 0;~personOnFloor_0_0~0 := 0;~personOnFloor_0_1~0 := 0;~personOnFloor_0_2~0 := 0;~personOnFloor_0_3~0 := 0;~personOnFloor_0_4~0 := 0;~personOnFloor_1_0~0 := 0;~personOnFloor_1_1~0 := 0;~personOnFloor_1_2~0 := 0;~personOnFloor_1_3~0 := 0;~personOnFloor_1_4~0 := 0;~personOnFloor_2_0~0 := 0;~personOnFloor_2_1~0 := 0;~personOnFloor_2_2~0 := 0;~personOnFloor_2_3~0 := 0;~personOnFloor_2_4~0 := 0;~personOnFloor_3_0~0 := 0;~personOnFloor_3_1~0 := 0;~personOnFloor_3_2~0 := 0;~personOnFloor_3_3~0 := 0;~personOnFloor_3_4~0 := 0;~personOnFloor_4_0~0 := 0;~personOnFloor_4_1~0 := 0;~personOnFloor_4_2~0 := 0;~personOnFloor_4_3~0 := 0;~personOnFloor_4_4~0 := 0;~personOnFloor_5_0~0 := 0;~personOnFloor_5_1~0 := 0;~personOnFloor_5_2~0 := 0;~personOnFloor_5_3~0 := 0;~personOnFloor_5_4~0 := 0;~cleanupTimeShifts~0 := 12;~currentHeading~0 := 1;~currentFloorID~0 := 0;~persons_0~0 := 0;~persons_1~0 := 0;~persons_2~0 := 0;~persons_3~0 := 0;~persons_4~0 := 0;~persons_5~0 := 0;~doorState~0 := 1;~floorButtons_0~0 := 0;~floorButtons_1~0 := 0;~floorButtons_2~0 := 0;~floorButtons_3~0 := 0;~floorButtons_4~0 := 0; 505651#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret47#1, main_~retValue_acc~10#1, main_~tmp~12#1;havoc main_~retValue_acc~10#1;havoc main_~tmp~12#1;assume { :begin_inline_select_helpers } true; 505652#select_helpers_returnLabel#1 assume { :end_inline_select_helpers } true;assume { :begin_inline_select_features } true; 507724#select_features_returnLabel#1 assume { :end_inline_select_features } true;assume { :begin_inline_valid_product } true;havoc valid_product_#res#1;havoc valid_product_~retValue_acc~12#1;havoc valid_product_~retValue_acc~12#1;valid_product_~retValue_acc~12#1 := 1;valid_product_#res#1 := valid_product_~retValue_acc~12#1; 499723#valid_product_returnLabel#1 main_#t~ret47#1 := valid_product_#res#1;havoc valid_product_~retValue_acc~12#1;assume { :end_inline_valid_product } true;main_~tmp~12#1 := main_#t~ret47#1;havoc main_#t~ret47#1; 499724#L1651 assume 0 != main_~tmp~12#1;assume { :begin_inline_setup } true; 501466#setup_returnLabel#1 assume { :end_inline_setup } true;assume { :begin_inline_runTest } true;assume { :begin_inline_test } true;assume { :begin_inline_aliceCall } true;havoc aliceCall_#t~ret36#1, aliceCall_~tmp~5#1;havoc aliceCall_~tmp~5#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 1;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~4#1; 501467#L564 assume !(0 == getOrigin_~person#1); 500111#L568 assume 1 == getOrigin_~person#1;getOrigin_~retValue_acc~4#1 := 3;getOrigin_#res#1 := getOrigin_~retValue_acc~4#1; 500112#getOrigin_returnLabel#1 aliceCall_#t~ret36#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;aliceCall_~tmp~5#1 := aliceCall_#t~ret36#1;havoc aliceCall_#t~ret36#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 1, aliceCall_~tmp~5#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 500712#L999 assume !(0 == initPersonOnFloor_~floor#1); 500713#L1026 assume !(1 == initPersonOnFloor_~floor#1); 506708#L1053 assume !(2 == initPersonOnFloor_~floor#1); 507238#L1080 assume 3 == initPersonOnFloor_~floor#1; 504298#L1081 assume !(0 == initPersonOnFloor_~person#1); 504299#L1084 assume 1 == initPersonOnFloor_~person#1;~personOnFloor_1_3~0 := 1; 502079#L1107-1 assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 498989#L791 assume !(0 == callOnFloor_~floorID#1); 498841#L794 assume !(1 == callOnFloor_~floorID#1); 498794#L797 assume !(2 == callOnFloor_~floorID#1); 498795#L800 assume 3 == callOnFloor_~floorID#1;~calls_3~0 := 1; 500749#L803-2 havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true; 500356#initPersonOnFloor_returnLabel#1 havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true; 500357#aliceCall_returnLabel#1 havoc aliceCall_#t~ret36#1, aliceCall_~tmp~5#1;assume { :end_inline_aliceCall } true;assume { :begin_inline_angelinaCall } true;havoc angelinaCall_#t~ret37#1, angelinaCall_~tmp~6#1;havoc angelinaCall_~tmp~6#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 2;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~4#1; 505962#L564-1 assume !(0 == getOrigin_~person#1); 501214#L568-1 assume !(1 == getOrigin_~person#1); 501215#L572-1 assume 2 == getOrigin_~person#1;getOrigin_~retValue_acc~4#1 := 2;getOrigin_#res#1 := getOrigin_~retValue_acc~4#1; 499110#getOrigin_returnLabel#2 angelinaCall_#t~ret37#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;angelinaCall_~tmp~6#1 := angelinaCall_#t~ret37#1;havoc angelinaCall_#t~ret37#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 2, angelinaCall_~tmp~6#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 499111#L999-1 assume !(0 == initPersonOnFloor_~floor#1); 504736#L1026-1 assume !(1 == initPersonOnFloor_~floor#1); 506166#L1053-1 assume 2 == initPersonOnFloor_~floor#1; 506167#L1054-2 assume !(0 == initPersonOnFloor_~person#1); 506839#L1057-2 assume !(1 == initPersonOnFloor_~person#1); 505010#L1060-2 assume 2 == initPersonOnFloor_~person#1;~personOnFloor_2_2~0 := 1; 504179#L1107-3 assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 504180#L791-2 assume !(0 == callOnFloor_~floorID#1); 507537#L794-2 assume !(1 == callOnFloor_~floorID#1); 507538#L797-2 assume 2 == callOnFloor_~floorID#1;~calls_2~0 := 1; 507634#L803-5 havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true; 504232#initPersonOnFloor_returnLabel#2 havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true; 504233#angelinaCall_returnLabel#1 havoc angelinaCall_#t~ret37#1, angelinaCall_~tmp~6#1;assume { :end_inline_angelinaCall } true;assume { :begin_inline_threeTS } true;assume { :begin_inline_timeShift } true;havoc timeShift_#t~ret98#1, timeShift_#t~ret99#1, timeShift_#t~ret100#1, timeShift_#t~ret101#1, timeShift_#t~ret102#1, timeShift_#t~ret103#1, timeShift_#t~ret104#1, timeShift_#t~ret105#1, timeShift_#t~ret106#1, timeShift_#t~ret107#1, timeShift_#t~ret108#1, timeShift_~tmp~26#1, timeShift_~tmp___0~10#1, timeShift_~tmp___1~5#1, timeShift_~tmp___2~5#1, timeShift_~tmp___3~4#1, timeShift_~tmp___4~3#1, timeShift_~tmp___5~2#1, timeShift_~tmp___6~2#1, timeShift_~tmp___7~2#1, timeShift_~tmp___8~2#1, timeShift_~tmp___9~2#1;havoc timeShift_~tmp~26#1;havoc timeShift_~tmp___0~10#1;havoc timeShift_~tmp___1~5#1;havoc timeShift_~tmp___2~5#1;havoc timeShift_~tmp___3~4#1;havoc timeShift_~tmp___4~3#1;havoc timeShift_~tmp___5~2#1;havoc timeShift_~tmp___6~2#1;havoc timeShift_~tmp___7~2#1;havoc timeShift_~tmp___8~2#1;havoc timeShift_~tmp___9~2#1;assume { :begin_inline___utac_acc__Specification13_spec__1 } true;havoc __utac_acc__Specification13_spec__1_#t~ret27#1;assume { :begin_inline_getCurrentHeading } true;havoc getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~17#1;havoc getCurrentHeading_~retValue_acc~17#1;getCurrentHeading_~retValue_acc~17#1 := ~currentHeading~0;getCurrentHeading_#res#1 := getCurrentHeading_~retValue_acc~17#1; 507520#getCurrentHeading_returnLabel#1 __utac_acc__Specification13_spec__1_#t~ret27#1 := getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~17#1;assume { :end_inline_getCurrentHeading } true;~prevDir~0 := __utac_acc__Specification13_spec__1_#t~ret27#1;havoc __utac_acc__Specification13_spec__1_#t~ret27#1; 504563#__utac_acc__Specification13_spec__1_returnLabel#1 havoc __utac_acc__Specification13_spec__1_#t~ret27#1;assume { :end_inline___utac_acc__Specification13_spec__1 } true;assume { :begin_inline_stopRequestedAtCurrentFloor } true;havoc stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1, stopRequestedAtCurrentFloor_#t~ret83#1, stopRequestedAtCurrentFloor_#t~ret84#1, stopRequestedAtCurrentFloor_#t~ret85#1, stopRequestedAtCurrentFloor_~retValue_acc~27#1, stopRequestedAtCurrentFloor_~tmp~24#1, stopRequestedAtCurrentFloor_~tmp___0~8#1;havoc stopRequestedAtCurrentFloor_~retValue_acc~27#1;havoc stopRequestedAtCurrentFloor_~tmp~24#1;havoc stopRequestedAtCurrentFloor_~tmp___0~8#1;assume { :begin_inline_isExecutiveFloorCalling } true;havoc isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;havoc isExecutiveFloorCalling_~retValue_acc~30#1;assume { :begin_inline_isFloorCalling } true;isFloorCalling_#in~floorID#1 := ~executiveFloor~0;havoc isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;isFloorCalling_~floorID#1 := isFloorCalling_#in~floorID#1;havoc isFloorCalling_~retValue_acc~6#1; 504564#L728 assume !(0 == isFloorCalling_~floorID#1); 507558#L732 assume !(1 == isFloorCalling_~floorID#1); 507559#L736 assume !(2 == isFloorCalling_~floorID#1); 506668#L740 assume !(3 == isFloorCalling_~floorID#1); 506065#L744 assume 4 == isFloorCalling_~floorID#1;isFloorCalling_~retValue_acc~6#1 := ~calls_4~0;isFloorCalling_#res#1 := isFloorCalling_~retValue_acc~6#1; 506066#isFloorCalling_returnLabel#1 isExecutiveFloorCalling_#t~ret135#1 := isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;havoc isFloorCalling_#in~floorID#1;assume { :end_inline_isFloorCalling } true;isExecutiveFloorCalling_~retValue_acc~30#1 := isExecutiveFloorCalling_#t~ret135#1;havoc isExecutiveFloorCalling_#t~ret135#1;isExecutiveFloorCalling_#res#1 := isExecutiveFloorCalling_~retValue_acc~30#1; 507517#isExecutiveFloorCalling_returnLabel#1 stopRequestedAtCurrentFloor_#t~ret82#1 := isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;assume { :end_inline_isExecutiveFloorCalling } true;stopRequestedAtCurrentFloor_~tmp~24#1 := stopRequestedAtCurrentFloor_#t~ret82#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1; 505829#L2700 assume !(0 != stopRequestedAtCurrentFloor_~tmp~24#1);assume { :begin_inline_stopRequestedAtCurrentFloor__wrappee__twothirdsfull } true;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#res#1;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret79#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret80#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret81#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~retValue_acc~26#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp~23#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp___0~7#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp4~3#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp5~4#1;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~retValue_acc~26#1;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp~23#1;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp___0~7#1;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp4~3#1;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp5~4#1;stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp4~3#1 := 2 * ~maximumWeight~0;stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp5~4#1 := (if stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp4~3#1 < 0 && 0 != stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp4~3#1 % 3 then 1 + stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp4~3#1 / 3 else stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp4~3#1 / 3); 505830#L2674-1 assume ~weight~0 > stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp5~4#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;havoc getCurrentFloorID_~retValue_acc~14#1;getCurrentFloorID_~retValue_acc~14#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~14#1; 505490#getCurrentFloorID_returnLabel#3 stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret79#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp~23#1 := stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret79#1;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret79#1;assume { :begin_inline_buttonForFloorIsPressed } true;buttonForFloorIsPressed_#in~floorID#1 := stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp~23#1;havoc buttonForFloorIsPressed_#res#1;havoc buttonForFloorIsPressed_~floorID#1, buttonForFloorIsPressed_~retValue_acc~16#1;buttonForFloorIsPressed_~floorID#1 := buttonForFloorIsPressed_#in~floorID#1;havoc buttonForFloorIsPressed_~retValue_acc~16#1; 505491#L1980-2 assume 0 == buttonForFloorIsPressed_~floorID#1;buttonForFloorIsPressed_~retValue_acc~16#1 := ~floorButtons_0~0;buttonForFloorIsPressed_#res#1 := buttonForFloorIsPressed_~retValue_acc~16#1; 505122#buttonForFloorIsPressed_returnLabel#3 stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret80#1 := buttonForFloorIsPressed_#res#1;havoc buttonForFloorIsPressed_~floorID#1, buttonForFloorIsPressed_~retValue_acc~16#1;havoc buttonForFloorIsPressed_#in~floorID#1;assume { :end_inline_buttonForFloorIsPressed } true;stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp___0~7#1 := stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret80#1;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret80#1;stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~retValue_acc~26#1 := (if 1 == stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp___0~7#1 then 1 else 0);stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#res#1 := stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~retValue_acc~26#1; 501059#stopRequestedAtCurrentFloor__wrappee__twothirdsfull_returnLabel#2 stopRequestedAtCurrentFloor_#t~ret85#1 := stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#res#1;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret79#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret80#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret81#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~retValue_acc~26#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp~23#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp___0~7#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp4~3#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp5~4#1;assume { :end_inline_stopRequestedAtCurrentFloor__wrappee__twothirdsfull } true;stopRequestedAtCurrentFloor_~retValue_acc~27#1 := stopRequestedAtCurrentFloor_#t~ret85#1;havoc stopRequestedAtCurrentFloor_#t~ret85#1;stopRequestedAtCurrentFloor_#res#1 := stopRequestedAtCurrentFloor_~retValue_acc~27#1; 498849#stopRequestedAtCurrentFloor_returnLabel#1 timeShift_#t~ret98#1 := stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1, stopRequestedAtCurrentFloor_#t~ret83#1, stopRequestedAtCurrentFloor_#t~ret84#1, stopRequestedAtCurrentFloor_#t~ret85#1, stopRequestedAtCurrentFloor_~retValue_acc~27#1, stopRequestedAtCurrentFloor_~tmp~24#1, stopRequestedAtCurrentFloor_~tmp___0~8#1;assume { :end_inline_stopRequestedAtCurrentFloor } true;timeShift_~tmp___9~2#1 := timeShift_#t~ret98#1;havoc timeShift_#t~ret98#1; 498850#L2853 assume !(0 != timeShift_~tmp___9~2#1); 499527#L2944 assume 1 == ~doorState~0;~doorState~0 := 0; 500156#L2944-2 assume { :begin_inline_stopRequestedInDirection } true;stopRequestedInDirection_#in~dir#1, stopRequestedInDirection_#in~respectFloorCalls#1, stopRequestedInDirection_#in~respectInLiftCalls#1 := ~currentHeading~0, 1, 1;havoc stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret73#1, stopRequestedInDirection_#t~ret74#1, stopRequestedInDirection_#t~ret75#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~23#1, stopRequestedInDirection_~tmp~20#1, stopRequestedInDirection_~tmp___0~5#1, stopRequestedInDirection_~__cil_tmp7~6#1, stopRequestedInDirection_~__cil_tmp8~7#1;stopRequestedInDirection_~dir#1 := stopRequestedInDirection_#in~dir#1;stopRequestedInDirection_~respectFloorCalls#1 := stopRequestedInDirection_#in~respectFloorCalls#1;stopRequestedInDirection_~respectInLiftCalls#1 := stopRequestedInDirection_#in~respectInLiftCalls#1;havoc stopRequestedInDirection_~retValue_acc~23#1;havoc stopRequestedInDirection_~tmp~20#1;havoc stopRequestedInDirection_~tmp___0~5#1;havoc stopRequestedInDirection_~__cil_tmp7~6#1;havoc stopRequestedInDirection_~__cil_tmp8~7#1;assume { :begin_inline_isExecutiveFloorCalling } true;havoc isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;havoc isExecutiveFloorCalling_~retValue_acc~30#1;assume { :begin_inline_isFloorCalling } true;isFloorCalling_#in~floorID#1 := ~executiveFloor~0;havoc isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;isFloorCalling_~floorID#1 := isFloorCalling_#in~floorID#1;havoc isFloorCalling_~retValue_acc~6#1; 500157#L728-3 assume !(0 == isFloorCalling_~floorID#1); 507684#L732-3 assume !(1 == isFloorCalling_~floorID#1); 500461#L736-3 assume !(2 == isFloorCalling_~floorID#1); 500462#L740-3 assume !(3 == isFloorCalling_~floorID#1); 502553#L744-3 assume 4 == isFloorCalling_~floorID#1;isFloorCalling_~retValue_acc~6#1 := ~calls_4~0;isFloorCalling_#res#1 := isFloorCalling_~retValue_acc~6#1; 502554#isFloorCalling_returnLabel#4 isExecutiveFloorCalling_#t~ret135#1 := isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;havoc isFloorCalling_#in~floorID#1;assume { :end_inline_isFloorCalling } true;isExecutiveFloorCalling_~retValue_acc~30#1 := isExecutiveFloorCalling_#t~ret135#1;havoc isExecutiveFloorCalling_#t~ret135#1;isExecutiveFloorCalling_#res#1 := isExecutiveFloorCalling_~retValue_acc~30#1; 503392#isExecutiveFloorCalling_returnLabel#2 stopRequestedInDirection_#t~ret73#1 := isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;assume { :end_inline_isExecutiveFloorCalling } true;stopRequestedInDirection_~tmp___0~5#1 := stopRequestedInDirection_#t~ret73#1;havoc stopRequestedInDirection_#t~ret73#1; 499155#L2555 assume !(0 != stopRequestedInDirection_~tmp___0~5#1);assume { :begin_inline_stopRequestedInDirection__wrappee__twothirdsfull } true;stopRequestedInDirection__wrappee__twothirdsfull_#in~dir#1, stopRequestedInDirection__wrappee__twothirdsfull_#in~respectFloorCalls#1, stopRequestedInDirection__wrappee__twothirdsfull_#in~respectInLiftCalls#1 := stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_#res#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_#t~ret69#1, stopRequestedInDirection__wrappee__twothirdsfull_#t~ret70#1, stopRequestedInDirection__wrappee__twothirdsfull_#t~ret71#1, stopRequestedInDirection__wrappee__twothirdsfull_#t~ret72#1, stopRequestedInDirection__wrappee__twothirdsfull_~dir#1, stopRequestedInDirection__wrappee__twothirdsfull_~respectFloorCalls#1, stopRequestedInDirection__wrappee__twothirdsfull_~respectInLiftCalls#1, stopRequestedInDirection__wrappee__twothirdsfull_~retValue_acc~22#1, stopRequestedInDirection__wrappee__twothirdsfull_~overload~0#1, stopRequestedInDirection__wrappee__twothirdsfull_~buttonPressed~0#1, stopRequestedInDirection__wrappee__twothirdsfull_~tmp~19#1, stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp8~6#1, stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp9~5#1;stopRequestedInDirection__wrappee__twothirdsfull_~dir#1 := stopRequestedInDirection__wrappee__twothirdsfull_#in~dir#1;stopRequestedInDirection__wrappee__twothirdsfull_~respectFloorCalls#1 := stopRequestedInDirection__wrappee__twothirdsfull_#in~respectFloorCalls#1;stopRequestedInDirection__wrappee__twothirdsfull_~respectInLiftCalls#1 := stopRequestedInDirection__wrappee__twothirdsfull_#in~respectInLiftCalls#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_~retValue_acc~22#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_~overload~0#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_~buttonPressed~0#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_~tmp~19#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp8~6#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp9~5#1;stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp8~6#1 := 2 * ~maximumWeight~0;stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp9~5#1 := (if stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp8~6#1 < 0 && 0 != stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp8~6#1 % 3 then 1 + stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp8~6#1 / 3 else stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp8~6#1 / 3);stopRequestedInDirection__wrappee__twothirdsfull_~overload~0#1 := (if ~weight~0 > stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp9~5#1 then 1 else 0);assume { :begin_inline_isAnyLiftButtonPressed } true;havoc isAnyLiftButtonPressed_#res#1;havoc isAnyLiftButtonPressed_~retValue_acc~24#1;havoc isAnyLiftButtonPressed_~retValue_acc~24#1; 499156#L2577 assume !(0 != ~floorButtons_0~0); 503953#L2581 assume 0 != ~floorButtons_1~0;isAnyLiftButtonPressed_~retValue_acc~24#1 := 1;isAnyLiftButtonPressed_#res#1 := isAnyLiftButtonPressed_~retValue_acc~24#1; 499294#isAnyLiftButtonPressed_returnLabel#1 stopRequestedInDirection__wrappee__twothirdsfull_#t~ret69#1 := isAnyLiftButtonPressed_#res#1;havoc isAnyLiftButtonPressed_~retValue_acc~24#1;assume { :end_inline_isAnyLiftButtonPressed } true;stopRequestedInDirection__wrappee__twothirdsfull_~tmp~19#1 := stopRequestedInDirection__wrappee__twothirdsfull_#t~ret69#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_#t~ret69#1;stopRequestedInDirection__wrappee__twothirdsfull_~buttonPressed~0#1 := stopRequestedInDirection__wrappee__twothirdsfull_~tmp~19#1; 506433#L2521 assume !(0 != stopRequestedInDirection__wrappee__twothirdsfull_~overload~0#1);assume { :begin_inline_stopRequestedInDirection__wrappee__empty } true;stopRequestedInDirection__wrappee__empty_#in~dir#1, stopRequestedInDirection__wrappee__empty_#in~respectFloorCalls#1, stopRequestedInDirection__wrappee__empty_#in~respectInLiftCalls#1 := stopRequestedInDirection__wrappee__twothirdsfull_~dir#1, stopRequestedInDirection__wrappee__twothirdsfull_~respectFloorCalls#1, stopRequestedInDirection__wrappee__twothirdsfull_~respectInLiftCalls#1;havoc stopRequestedInDirection__wrappee__empty_#res#1;havoc stopRequestedInDirection__wrappee__empty_#t~ret58#1, stopRequestedInDirection__wrappee__empty_#t~ret59#1, stopRequestedInDirection__wrappee__empty_#t~ret60#1, stopRequestedInDirection__wrappee__empty_#t~ret61#1, stopRequestedInDirection__wrappee__empty_#t~ret62#1, stopRequestedInDirection__wrappee__empty_#t~ret63#1, stopRequestedInDirection__wrappee__empty_#t~ret64#1, stopRequestedInDirection__wrappee__empty_#t~ret65#1, stopRequestedInDirection__wrappee__empty_#t~ret66#1, stopRequestedInDirection__wrappee__empty_#t~ret67#1, stopRequestedInDirection__wrappee__empty_#t~ret68#1, stopRequestedInDirection__wrappee__empty_~dir#1, stopRequestedInDirection__wrappee__empty_~respectFloorCalls#1, stopRequestedInDirection__wrappee__empty_~respectInLiftCalls#1, stopRequestedInDirection__wrappee__empty_~retValue_acc~21#1, stopRequestedInDirection__wrappee__empty_~tmp~18#1, stopRequestedInDirection__wrappee__empty_~tmp___0~4#1, stopRequestedInDirection__wrappee__empty_~tmp___1~3#1, stopRequestedInDirection__wrappee__empty_~tmp___2~3#1, stopRequestedInDirection__wrappee__empty_~tmp___3~2#1, stopRequestedInDirection__wrappee__empty_~tmp___4~1#1, stopRequestedInDirection__wrappee__empty_~tmp___5~0#1, stopRequestedInDirection__wrappee__empty_~tmp___6~0#1, stopRequestedInDirection__wrappee__empty_~tmp___7~0#1, stopRequestedInDirection__wrappee__empty_~tmp___8~0#1, stopRequestedInDirection__wrappee__empty_~tmp___9~0#1;stopRequestedInDirection__wrappee__empty_~dir#1 := stopRequestedInDirection__wrappee__empty_#in~dir#1;stopRequestedInDirection__wrappee__empty_~respectFloorCalls#1 := stopRequestedInDirection__wrappee__empty_#in~respectFloorCalls#1;stopRequestedInDirection__wrappee__empty_~respectInLiftCalls#1 := stopRequestedInDirection__wrappee__empty_#in~respectInLiftCalls#1;havoc stopRequestedInDirection__wrappee__empty_~retValue_acc~21#1;havoc stopRequestedInDirection__wrappee__empty_~tmp~18#1;havoc stopRequestedInDirection__wrappee__empty_~tmp___0~4#1;havoc stopRequestedInDirection__wrappee__empty_~tmp___1~3#1;havoc stopRequestedInDirection__wrappee__empty_~tmp___2~3#1;havoc stopRequestedInDirection__wrappee__empty_~tmp___3~2#1;havoc stopRequestedInDirection__wrappee__empty_~tmp___4~1#1;havoc stopRequestedInDirection__wrappee__empty_~tmp___5~0#1;havoc stopRequestedInDirection__wrappee__empty_~tmp___6~0#1;havoc stopRequestedInDirection__wrappee__empty_~tmp___7~0#1;havoc stopRequestedInDirection__wrappee__empty_~tmp___8~0#1;havoc stopRequestedInDirection__wrappee__empty_~tmp___9~0#1; 507061#L2167-2 assume !(1 == stopRequestedInDirection__wrappee__empty_~dir#1); 501534#L2336-2 assume 0 == ~currentFloorID~0;stopRequestedInDirection__wrappee__empty_~retValue_acc~21#1 := 0;stopRequestedInDirection__wrappee__empty_#res#1 := stopRequestedInDirection__wrappee__empty_~retValue_acc~21#1; 498426#stopRequestedInDirection__wrappee__empty_returnLabel#3 stopRequestedInDirection__wrappee__twothirdsfull_#t~ret72#1 := stopRequestedInDirection__wrappee__empty_#res#1;havoc stopRequestedInDirection__wrappee__empty_#t~ret58#1, stopRequestedInDirection__wrappee__empty_#t~ret59#1, stopRequestedInDirection__wrappee__empty_#t~ret60#1, stopRequestedInDirection__wrappee__empty_#t~ret61#1, stopRequestedInDirection__wrappee__empty_#t~ret62#1, stopRequestedInDirection__wrappee__empty_#t~ret63#1, stopRequestedInDirection__wrappee__empty_#t~ret64#1, stopRequestedInDirection__wrappee__empty_#t~ret65#1, stopRequestedInDirection__wrappee__empty_#t~ret66#1, stopRequestedInDirection__wrappee__empty_#t~ret67#1, stopRequestedInDirection__wrappee__empty_#t~ret68#1, stopRequestedInDirection__wrappee__empty_~dir#1, stopRequestedInDirection__wrappee__empty_~respectFloorCalls#1, stopRequestedInDirection__wrappee__empty_~respectInLiftCalls#1, stopRequestedInDirection__wrappee__empty_~retValue_acc~21#1, stopRequestedInDirection__wrappee__empty_~tmp~18#1, stopRequestedInDirection__wrappee__empty_~tmp___0~4#1, stopRequestedInDirection__wrappee__empty_~tmp___1~3#1, stopRequestedInDirection__wrappee__empty_~tmp___2~3#1, stopRequestedInDirection__wrappee__empty_~tmp___3~2#1, stopRequestedInDirection__wrappee__empty_~tmp___4~1#1, stopRequestedInDirection__wrappee__empty_~tmp___5~0#1, stopRequestedInDirection__wrappee__empty_~tmp___6~0#1, stopRequestedInDirection__wrappee__empty_~tmp___7~0#1, stopRequestedInDirection__wrappee__empty_~tmp___8~0#1, stopRequestedInDirection__wrappee__empty_~tmp___9~0#1;havoc stopRequestedInDirection__wrappee__empty_#in~dir#1, stopRequestedInDirection__wrappee__empty_#in~respectFloorCalls#1, stopRequestedInDirection__wrappee__empty_#in~respectInLiftCalls#1;assume { :end_inline_stopRequestedInDirection__wrappee__empty } true;stopRequestedInDirection__wrappee__twothirdsfull_~retValue_acc~22#1 := stopRequestedInDirection__wrappee__twothirdsfull_#t~ret72#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_#t~ret72#1;stopRequestedInDirection__wrappee__twothirdsfull_#res#1 := stopRequestedInDirection__wrappee__twothirdsfull_~retValue_acc~22#1; 499362#stopRequestedInDirection__wrappee__twothirdsfull_returnLabel#1 stopRequestedInDirection_#t~ret75#1 := stopRequestedInDirection__wrappee__twothirdsfull_#res#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_#t~ret69#1, stopRequestedInDirection__wrappee__twothirdsfull_#t~ret70#1, stopRequestedInDirection__wrappee__twothirdsfull_#t~ret71#1, stopRequestedInDirection__wrappee__twothirdsfull_#t~ret72#1, stopRequestedInDirection__wrappee__twothirdsfull_~dir#1, stopRequestedInDirection__wrappee__twothirdsfull_~respectFloorCalls#1, stopRequestedInDirection__wrappee__twothirdsfull_~respectInLiftCalls#1, stopRequestedInDirection__wrappee__twothirdsfull_~retValue_acc~22#1, stopRequestedInDirection__wrappee__twothirdsfull_~overload~0#1, stopRequestedInDirection__wrappee__twothirdsfull_~buttonPressed~0#1, stopRequestedInDirection__wrappee__twothirdsfull_~tmp~19#1, stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp8~6#1, stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp9~5#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_#in~dir#1, stopRequestedInDirection__wrappee__twothirdsfull_#in~respectFloorCalls#1, stopRequestedInDirection__wrappee__twothirdsfull_#in~respectInLiftCalls#1;assume { :end_inline_stopRequestedInDirection__wrappee__twothirdsfull } true;stopRequestedInDirection_~retValue_acc~23#1 := stopRequestedInDirection_#t~ret75#1;havoc stopRequestedInDirection_#t~ret75#1;stopRequestedInDirection_#res#1 := stopRequestedInDirection_~retValue_acc~23#1; 501668#stopRequestedInDirection_returnLabel#1 timeShift_#t~ret105#1 := stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret73#1, stopRequestedInDirection_#t~ret74#1, stopRequestedInDirection_#t~ret75#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~23#1, stopRequestedInDirection_~tmp~20#1, stopRequestedInDirection_~tmp___0~5#1, stopRequestedInDirection_~__cil_tmp7~6#1, stopRequestedInDirection_~__cil_tmp8~7#1;havoc stopRequestedInDirection_#in~dir#1, stopRequestedInDirection_#in~respectFloorCalls#1, stopRequestedInDirection_#in~respectInLiftCalls#1;assume { :end_inline_stopRequestedInDirection } true;timeShift_~tmp___8~2#1 := timeShift_#t~ret105#1;havoc timeShift_#t~ret105#1; 498730#L2952 assume 0 != timeShift_~tmp___8~2#1;assume { :begin_inline_continueInDirection } true;continueInDirection_#in~dir#1 := ~currentHeading~0;havoc continueInDirection_#t~ret76#1, continueInDirection_~dir#1, continueInDirection_~tmp~21#1;continueInDirection_~dir#1 := continueInDirection_#in~dir#1;havoc continueInDirection_~tmp~21#1;~currentHeading~0 := continueInDirection_~dir#1; 498731#L2612 assume !(1 == ~currentHeading~0); 503170#L2622 assume !(0 == ~currentFloorID~0); 503171#L2622-2 assume !(1 == ~currentHeading~0);~currentFloorID~0 := ~currentFloorID~0 - 1; 502971#L2628-1 havoc continueInDirection_#t~ret76#1, continueInDirection_~dir#1, continueInDirection_~tmp~21#1;havoc continueInDirection_#in~dir#1;assume { :end_inline_continueInDirection } true; 502972#L2961-2 assume { :begin_inline___utac_acc__Specification13_spec__2 } true;havoc __utac_acc__Specification13_spec__2_#t~ret28#1, __utac_acc__Specification13_spec__2_#t~ret29#1, __utac_acc__Specification13_spec__2_#t~ret30#1, __utac_acc__Specification13_spec__2_#t~ret31#1, __utac_acc__Specification13_spec__2_#t~ret32#1, __utac_acc__Specification13_spec__2_#t~ret33#1, __utac_acc__Specification13_spec__2_~tmp~3#1, __utac_acc__Specification13_spec__2_~tmp___0~0#1, __utac_acc__Specification13_spec__2_~tmp___1~0#1, __utac_acc__Specification13_spec__2_~tmp___2~0#1, __utac_acc__Specification13_spec__2_~tmp___3~0#1, __utac_acc__Specification13_spec__2_~tmp___4~0#1, __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1, __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1;havoc __utac_acc__Specification13_spec__2_~tmp~3#1;havoc __utac_acc__Specification13_spec__2_~tmp___0~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___1~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___2~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___3~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___4~0#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1;__utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 := 2 * ~maximumWeight~0;__utac_acc__Specification13_spec__2_~__cil_tmp8~5#1 := (if __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 < 0 && 0 != __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 % 3 then 1 + __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 / 3 else __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 / 3); 509507#L454 assume ~weight~0 > __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1; 509508#L455 assume 1 == ~prevDir~0;assume { :begin_inline_existInLiftCallsInDirection } true;existInLiftCallsInDirection_#in~d#1 := 0;havoc existInLiftCallsInDirection_#res#1;havoc existInLiftCallsInDirection_~d#1, existInLiftCallsInDirection_~retValue_acc~29#1, existInLiftCallsInDirection_~i~1#1, existInLiftCallsInDirection_~i___0~0#1;existInLiftCallsInDirection_~d#1 := existInLiftCallsInDirection_#in~d#1;havoc existInLiftCallsInDirection_~retValue_acc~29#1;havoc existInLiftCallsInDirection_~i~1#1;havoc existInLiftCallsInDirection_~i___0~0#1; 509511#L3156 assume !(1 == existInLiftCallsInDirection_~d#1); 509731#L3222 assume 0 == existInLiftCallsInDirection_~d#1;existInLiftCallsInDirection_~i___0~0#1 := 0;existInLiftCallsInDirection_~i___0~0#1 := ~currentFloorID~0 - 1; 509732#L3226-2 [2024-10-12 00:47:50,486 INFO L747 eck$LassoCheckResult]: Loop: 509732#L3226-2 assume !false; 509729#L3227 assume existInLiftCallsInDirection_~i___0~0#1 >= 0; 509730#L3228 existInLiftCallsInDirection_~i___0~0#1 := 1 + ~currentFloorID~0; 509742#L3235-2 assume !false; 509739#L3236 assume !(existInLiftCallsInDirection_~i___0~0#1 < 5); 509737#L3294 existInLiftCallsInDirection_~i___0~0#1 := existInLiftCallsInDirection_~i___0~0#1 - 1; 509732#L3226-2 [2024-10-12 00:47:50,486 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-12 00:47:50,486 INFO L85 PathProgramCache]: Analyzing trace with hash 1916430556, now seen corresponding path program 1 times [2024-10-12 00:47:50,487 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-12 00:47:50,487 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1494772799] [2024-10-12 00:47:50,487 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-12 00:47:50,487 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-12 00:47:50,512 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-12 00:47:50,547 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-10-12 00:47:50,547 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-10-12 00:47:50,547 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1494772799] [2024-10-12 00:47:50,548 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1494772799] provided 1 perfect and 0 imperfect interpolant sequences [2024-10-12 00:47:50,548 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-10-12 00:47:50,548 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2024-10-12 00:47:50,548 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1341580512] [2024-10-12 00:47:50,548 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-10-12 00:47:50,549 INFO L750 eck$LassoCheckResult]: stem already infeasible [2024-10-12 00:47:50,549 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-12 00:47:50,549 INFO L85 PathProgramCache]: Analyzing trace with hash 1717871275, now seen corresponding path program 16 times [2024-10-12 00:47:50,549 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-12 00:47:50,549 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [77126118] [2024-10-12 00:47:50,549 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-12 00:47:50,550 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-12 00:47:50,559 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-12 00:47:50,560 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-10-12 00:47:50,561 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-12 00:47:50,566 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-10-12 00:47:50,586 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-10-12 00:47:50,586 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2024-10-12 00:47:50,586 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2024-10-12 00:47:50,587 INFO L87 Difference]: Start difference. First operand 25540 states and 46296 transitions. cyclomatic complexity: 20842 Second operand has 3 states, 3 states have (on average 29.0) internal successors, (87), 2 states have internal predecessors, (87), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-10-12 00:47:51,366 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-10-12 00:47:51,366 INFO L93 Difference]: Finished difference Result 49694 states and 89839 transitions. [2024-10-12 00:47:51,366 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 49694 states and 89839 transitions. [2024-10-12 00:47:51,851 INFO L131 ngComponentsAnalysis]: Automaton has 162 accepting balls. 17510 [2024-10-12 00:47:51,985 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 49694 states to 49694 states and 89839 transitions. [2024-10-12 00:47:51,986 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 49552 [2024-10-12 00:47:52,023 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 49552 [2024-10-12 00:47:52,024 INFO L73 IsDeterministic]: Start isDeterministic. Operand 49694 states and 89839 transitions. [2024-10-12 00:47:52,024 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-10-12 00:47:52,024 INFO L218 hiAutomatonCegarLoop]: Abstraction has 49694 states and 89839 transitions. [2024-10-12 00:47:52,060 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 49694 states and 89839 transitions. [2024-10-12 00:47:52,812 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 49694 to 49690. [2024-10-12 00:47:52,855 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 49690 states, 49690 states have (on average 1.8079090360233447) internal successors, (89835), 49689 states have internal predecessors, (89835), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-10-12 00:47:52,941 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 49690 states to 49690 states and 89835 transitions. [2024-10-12 00:47:52,942 INFO L240 hiAutomatonCegarLoop]: Abstraction has 49690 states and 89835 transitions. [2024-10-12 00:47:52,942 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2024-10-12 00:47:52,942 INFO L425 stractBuchiCegarLoop]: Abstraction has 49690 states and 89835 transitions. [2024-10-12 00:47:52,943 INFO L332 stractBuchiCegarLoop]: ======== Iteration 19 ============ [2024-10-12 00:47:52,943 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 49690 states and 89835 transitions. [2024-10-12 00:47:53,067 INFO L131 ngComponentsAnalysis]: Automaton has 162 accepting balls. 17510 [2024-10-12 00:47:53,068 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-10-12 00:47:53,068 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-10-12 00:47:53,068 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-10-12 00:47:53,069 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1] [2024-10-12 00:47:53,069 INFO L745 eck$LassoCheckResult]: Stem: 581268#$Ultimate##0 assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int#0(48, 1, 0, 1);call write~init~int#0(0, 1, 1, 1);call #Ultimate.allocInit(32, 2);call #Ultimate.allocInit(12, 3);call #Ultimate.allocInit(30, 4);call #Ultimate.allocInit(9, 5);call #Ultimate.allocInit(21, 6);call #Ultimate.allocInit(30, 7);call #Ultimate.allocInit(9, 8);call #Ultimate.allocInit(21, 9);call #Ultimate.allocInit(30, 10);call #Ultimate.allocInit(9, 11);call #Ultimate.allocInit(25, 12);call #Ultimate.allocInit(30, 13);call #Ultimate.allocInit(9, 14);call #Ultimate.allocInit(25, 15);call #Ultimate.allocInit(10, 16);call #Ultimate.allocInit(4, 17);call write~init~int#5(91, 17, 0, 1);call write~init~int#5(95, 17, 1, 1);call write~init~int#5(93, 17, 2, 1);call write~init~int#5(0, 17, 3, 1);call #Ultimate.allocInit(4, 18);call write~init~int#6(91, 18, 0, 1);call write~init~int#6(93, 18, 1, 1);call write~init~int#6(32, 18, 2, 1);call write~init~int#6(0, 18, 3, 1);call #Ultimate.allocInit(5, 19);call write~init~int#7(32, 19, 0, 1);call write~init~int#7(97, 19, 1, 1);call write~init~int#7(116, 19, 2, 1);call write~init~int#7(32, 19, 3, 1);call write~init~int#7(0, 19, 4, 1);call #Ultimate.allocInit(3, 20);call write~init~int#8(37, 20, 0, 1);call write~init~int#8(105, 20, 1, 1);call write~init~int#8(0, 20, 2, 1);call #Ultimate.allocInit(10, 21);call #Ultimate.allocInit(3, 22);call write~init~int#9(117, 22, 0, 1);call write~init~int#9(112, 22, 1, 1);call write~init~int#9(0, 22, 2, 1);call #Ultimate.allocInit(5, 23);call write~init~int#10(100, 23, 0, 1);call write~init~int#10(111, 23, 1, 1);call write~init~int#10(119, 23, 2, 1);call write~init~int#10(110, 23, 3, 1);call write~init~int#10(0, 23, 4, 1);call #Ultimate.allocInit(7, 24);call write~init~int#11(32, 24, 0, 1);call write~init~int#11(73, 24, 1, 1);call write~init~int#11(76, 24, 2, 1);call write~init~int#11(95, 24, 3, 1);call write~init~int#11(112, 24, 4, 1);call write~init~int#11(58, 24, 5, 1);call write~init~int#11(0, 24, 6, 1);call #Ultimate.allocInit(4, 25);call write~init~int#12(32, 25, 0, 1);call write~init~int#12(37, 25, 1, 1);call write~init~int#12(105, 25, 2, 1);call write~init~int#12(0, 25, 3, 1);call #Ultimate.allocInit(4, 26);call write~init~int#13(32, 26, 0, 1);call write~init~int#13(37, 26, 1, 1);call write~init~int#13(105, 26, 2, 1);call write~init~int#13(0, 26, 3, 1);call #Ultimate.allocInit(4, 27);call write~init~int#14(32, 27, 0, 1);call write~init~int#14(37, 27, 1, 1);call write~init~int#14(105, 27, 2, 1);call write~init~int#14(0, 27, 3, 1);call #Ultimate.allocInit(4, 28);call write~init~int#15(32, 28, 0, 1);call write~init~int#15(37, 28, 1, 1);call write~init~int#15(105, 28, 2, 1);call write~init~int#15(0, 28, 3, 1);call #Ultimate.allocInit(4, 29);call write~init~int#16(32, 29, 0, 1);call write~init~int#16(37, 29, 1, 1);call write~init~int#16(105, 29, 2, 1);call write~init~int#16(0, 29, 3, 1);call #Ultimate.allocInit(6, 30);call write~init~int#17(32, 30, 0, 1);call write~init~int#17(70, 30, 1, 1);call write~init~int#17(95, 30, 2, 1);call write~init~int#17(112, 30, 3, 1);call write~init~int#17(58, 30, 4, 1);call write~init~int#17(0, 30, 5, 1);call #Ultimate.allocInit(4, 31);call write~init~int#18(32, 31, 0, 1);call write~init~int#18(37, 31, 1, 1);call write~init~int#18(105, 31, 2, 1);call write~init~int#18(0, 31, 3, 1);call #Ultimate.allocInit(4, 32);call write~init~int#19(32, 32, 0, 1);call write~init~int#19(37, 32, 1, 1);call write~init~int#19(105, 32, 2, 1);call write~init~int#19(0, 32, 3, 1);call #Ultimate.allocInit(4, 33);call write~init~int#1(32, 33, 0, 1);call write~init~int#1(37, 33, 1, 1);call write~init~int#1(105, 33, 2, 1);call write~init~int#1(0, 33, 3, 1);call #Ultimate.allocInit(4, 34);call write~init~int#2(32, 34, 0, 1);call write~init~int#2(37, 34, 1, 1);call write~init~int#2(105, 34, 2, 1);call write~init~int#2(0, 34, 3, 1);call #Ultimate.allocInit(4, 35);call write~init~int#3(32, 35, 0, 1);call write~init~int#3(37, 35, 1, 1);call write~init~int#3(105, 35, 2, 1);call write~init~int#3(0, 35, 3, 1);call #Ultimate.allocInit(2, 36);call write~init~int#4(10, 36, 0, 1);call write~init~int#4(0, 36, 1, 1);~head~0.base, ~head~0.offset := 0, 0;~weight~0 := 0;~maximumWeight~0 := 100;~executiveFloor~0 := 4;~prevDir~0 := 0;~calls_0~0 := 0;~calls_1~0 := 0;~calls_2~0 := 0;~calls_3~0 := 0;~calls_4~0 := 0;~personOnFloor_0_0~0 := 0;~personOnFloor_0_1~0 := 0;~personOnFloor_0_2~0 := 0;~personOnFloor_0_3~0 := 0;~personOnFloor_0_4~0 := 0;~personOnFloor_1_0~0 := 0;~personOnFloor_1_1~0 := 0;~personOnFloor_1_2~0 := 0;~personOnFloor_1_3~0 := 0;~personOnFloor_1_4~0 := 0;~personOnFloor_2_0~0 := 0;~personOnFloor_2_1~0 := 0;~personOnFloor_2_2~0 := 0;~personOnFloor_2_3~0 := 0;~personOnFloor_2_4~0 := 0;~personOnFloor_3_0~0 := 0;~personOnFloor_3_1~0 := 0;~personOnFloor_3_2~0 := 0;~personOnFloor_3_3~0 := 0;~personOnFloor_3_4~0 := 0;~personOnFloor_4_0~0 := 0;~personOnFloor_4_1~0 := 0;~personOnFloor_4_2~0 := 0;~personOnFloor_4_3~0 := 0;~personOnFloor_4_4~0 := 0;~personOnFloor_5_0~0 := 0;~personOnFloor_5_1~0 := 0;~personOnFloor_5_2~0 := 0;~personOnFloor_5_3~0 := 0;~personOnFloor_5_4~0 := 0;~cleanupTimeShifts~0 := 12;~currentHeading~0 := 1;~currentFloorID~0 := 0;~persons_0~0 := 0;~persons_1~0 := 0;~persons_2~0 := 0;~persons_3~0 := 0;~persons_4~0 := 0;~persons_5~0 := 0;~doorState~0 := 1;~floorButtons_0~0 := 0;~floorButtons_1~0 := 0;~floorButtons_2~0 := 0;~floorButtons_3~0 := 0;~floorButtons_4~0 := 0; 580998#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret47#1, main_~retValue_acc~10#1, main_~tmp~12#1;havoc main_~retValue_acc~10#1;havoc main_~tmp~12#1;assume { :begin_inline_select_helpers } true; 580999#select_helpers_returnLabel#1 assume { :end_inline_select_helpers } true;assume { :begin_inline_select_features } true; 583151#select_features_returnLabel#1 assume { :end_inline_select_features } true;assume { :begin_inline_valid_product } true;havoc valid_product_#res#1;havoc valid_product_~retValue_acc~12#1;havoc valid_product_~retValue_acc~12#1;valid_product_~retValue_acc~12#1 := 1;valid_product_#res#1 := valid_product_~retValue_acc~12#1; 574965#valid_product_returnLabel#1 main_#t~ret47#1 := valid_product_#res#1;havoc valid_product_~retValue_acc~12#1;assume { :end_inline_valid_product } true;main_~tmp~12#1 := main_#t~ret47#1;havoc main_#t~ret47#1; 574966#L1651 assume 0 != main_~tmp~12#1;assume { :begin_inline_setup } true; 576727#setup_returnLabel#1 assume { :end_inline_setup } true;assume { :begin_inline_runTest } true;assume { :begin_inline_test } true;assume { :begin_inline_aliceCall } true;havoc aliceCall_#t~ret36#1, aliceCall_~tmp~5#1;havoc aliceCall_~tmp~5#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 1;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~4#1; 576728#L564 assume !(0 == getOrigin_~person#1); 575352#L568 assume 1 == getOrigin_~person#1;getOrigin_~retValue_acc~4#1 := 3;getOrigin_#res#1 := getOrigin_~retValue_acc~4#1; 575353#getOrigin_returnLabel#1 aliceCall_#t~ret36#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;aliceCall_~tmp~5#1 := aliceCall_#t~ret36#1;havoc aliceCall_#t~ret36#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 1, aliceCall_~tmp~5#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 575963#L999 assume !(0 == initPersonOnFloor_~floor#1); 575964#L1026 assume !(1 == initPersonOnFloor_~floor#1); 582098#L1053 assume !(2 == initPersonOnFloor_~floor#1); 582627#L1080 assume 3 == initPersonOnFloor_~floor#1; 579611#L1081 assume !(0 == initPersonOnFloor_~person#1); 579612#L1084 assume 1 == initPersonOnFloor_~person#1;~personOnFloor_1_3~0 := 1; 577350#L1107-1 assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 574228#L791 assume !(0 == callOnFloor_~floorID#1); 574079#L794 assume !(1 == callOnFloor_~floorID#1); 574033#L797 assume !(2 == callOnFloor_~floorID#1); 574034#L800 assume 3 == callOnFloor_~floorID#1;~calls_3~0 := 1; 575995#L803-2 havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true; 575600#initPersonOnFloor_returnLabel#1 havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true; 575601#aliceCall_returnLabel#1 havoc aliceCall_#t~ret36#1, aliceCall_~tmp~5#1;assume { :end_inline_aliceCall } true;assume { :begin_inline_angelinaCall } true;havoc angelinaCall_#t~ret37#1, angelinaCall_~tmp~6#1;havoc angelinaCall_~tmp~6#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 2;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~4#1; 581314#L564-1 assume !(0 == getOrigin_~person#1); 576469#L568-1 assume !(1 == getOrigin_~person#1); 576470#L572-1 assume 2 == getOrigin_~person#1;getOrigin_~retValue_acc~4#1 := 2;getOrigin_#res#1 := getOrigin_~retValue_acc~4#1; 574349#getOrigin_returnLabel#2 angelinaCall_#t~ret37#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;angelinaCall_~tmp~6#1 := angelinaCall_#t~ret37#1;havoc angelinaCall_#t~ret37#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 2, angelinaCall_~tmp~6#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 574350#L999-1 assume !(0 == initPersonOnFloor_~floor#1); 580062#L1026-1 assume !(1 == initPersonOnFloor_~floor#1); 581538#L1053-1 assume 2 == initPersonOnFloor_~floor#1; 581539#L1054-2 assume !(0 == initPersonOnFloor_~person#1); 582225#L1057-2 assume !(1 == initPersonOnFloor_~person#1); 580346#L1060-2 assume 2 == initPersonOnFloor_~person#1;~personOnFloor_2_2~0 := 1; 579487#L1107-3 assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 579488#L791-2 assume !(0 == callOnFloor_~floorID#1); 582939#L794-2 assume !(1 == callOnFloor_~floorID#1); 582940#L797-2 assume 2 == callOnFloor_~floorID#1;~calls_2~0 := 1; 583051#L803-5 havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true; 579542#initPersonOnFloor_returnLabel#2 havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true; 579543#angelinaCall_returnLabel#1 havoc angelinaCall_#t~ret37#1, angelinaCall_~tmp~6#1;assume { :end_inline_angelinaCall } true;assume { :begin_inline_threeTS } true;assume { :begin_inline_timeShift } true;havoc timeShift_#t~ret98#1, timeShift_#t~ret99#1, timeShift_#t~ret100#1, timeShift_#t~ret101#1, timeShift_#t~ret102#1, timeShift_#t~ret103#1, timeShift_#t~ret104#1, timeShift_#t~ret105#1, timeShift_#t~ret106#1, timeShift_#t~ret107#1, timeShift_#t~ret108#1, timeShift_~tmp~26#1, timeShift_~tmp___0~10#1, timeShift_~tmp___1~5#1, timeShift_~tmp___2~5#1, timeShift_~tmp___3~4#1, timeShift_~tmp___4~3#1, timeShift_~tmp___5~2#1, timeShift_~tmp___6~2#1, timeShift_~tmp___7~2#1, timeShift_~tmp___8~2#1, timeShift_~tmp___9~2#1;havoc timeShift_~tmp~26#1;havoc timeShift_~tmp___0~10#1;havoc timeShift_~tmp___1~5#1;havoc timeShift_~tmp___2~5#1;havoc timeShift_~tmp___3~4#1;havoc timeShift_~tmp___4~3#1;havoc timeShift_~tmp___5~2#1;havoc timeShift_~tmp___6~2#1;havoc timeShift_~tmp___7~2#1;havoc timeShift_~tmp___8~2#1;havoc timeShift_~tmp___9~2#1;assume { :begin_inline___utac_acc__Specification13_spec__1 } true;havoc __utac_acc__Specification13_spec__1_#t~ret27#1;assume { :begin_inline_getCurrentHeading } true;havoc getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~17#1;havoc getCurrentHeading_~retValue_acc~17#1;getCurrentHeading_~retValue_acc~17#1 := ~currentHeading~0;getCurrentHeading_#res#1 := getCurrentHeading_~retValue_acc~17#1; 582920#getCurrentHeading_returnLabel#1 __utac_acc__Specification13_spec__1_#t~ret27#1 := getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~17#1;assume { :end_inline_getCurrentHeading } true;~prevDir~0 := __utac_acc__Specification13_spec__1_#t~ret27#1;havoc __utac_acc__Specification13_spec__1_#t~ret27#1; 579885#__utac_acc__Specification13_spec__1_returnLabel#1 havoc __utac_acc__Specification13_spec__1_#t~ret27#1;assume { :end_inline___utac_acc__Specification13_spec__1 } true;assume { :begin_inline_stopRequestedAtCurrentFloor } true;havoc stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1, stopRequestedAtCurrentFloor_#t~ret83#1, stopRequestedAtCurrentFloor_#t~ret84#1, stopRequestedAtCurrentFloor_#t~ret85#1, stopRequestedAtCurrentFloor_~retValue_acc~27#1, stopRequestedAtCurrentFloor_~tmp~24#1, stopRequestedAtCurrentFloor_~tmp___0~8#1;havoc stopRequestedAtCurrentFloor_~retValue_acc~27#1;havoc stopRequestedAtCurrentFloor_~tmp~24#1;havoc stopRequestedAtCurrentFloor_~tmp___0~8#1;assume { :begin_inline_isExecutiveFloorCalling } true;havoc isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;havoc isExecutiveFloorCalling_~retValue_acc~30#1;assume { :begin_inline_isFloorCalling } true;isFloorCalling_#in~floorID#1 := ~executiveFloor~0;havoc isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;isFloorCalling_~floorID#1 := isFloorCalling_#in~floorID#1;havoc isFloorCalling_~retValue_acc~6#1; 579886#L728 assume !(0 == isFloorCalling_~floorID#1); 582963#L732 assume !(1 == isFloorCalling_~floorID#1); 582964#L736 assume !(2 == isFloorCalling_~floorID#1); 582059#L740 assume !(3 == isFloorCalling_~floorID#1); 581429#L744 assume 4 == isFloorCalling_~floorID#1;isFloorCalling_~retValue_acc~6#1 := ~calls_4~0;isFloorCalling_#res#1 := isFloorCalling_~retValue_acc~6#1; 581430#isFloorCalling_returnLabel#1 isExecutiveFloorCalling_#t~ret135#1 := isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;havoc isFloorCalling_#in~floorID#1;assume { :end_inline_isFloorCalling } true;isExecutiveFloorCalling_~retValue_acc~30#1 := isExecutiveFloorCalling_#t~ret135#1;havoc isExecutiveFloorCalling_#t~ret135#1;isExecutiveFloorCalling_#res#1 := isExecutiveFloorCalling_~retValue_acc~30#1; 582916#isExecutiveFloorCalling_returnLabel#1 stopRequestedAtCurrentFloor_#t~ret82#1 := isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;assume { :end_inline_isExecutiveFloorCalling } true;stopRequestedAtCurrentFloor_~tmp~24#1 := stopRequestedAtCurrentFloor_#t~ret82#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1; 581180#L2700 assume !(0 != stopRequestedAtCurrentFloor_~tmp~24#1);assume { :begin_inline_stopRequestedAtCurrentFloor__wrappee__twothirdsfull } true;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#res#1;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret79#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret80#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret81#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~retValue_acc~26#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp~23#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp___0~7#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp4~3#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp5~4#1;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~retValue_acc~26#1;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp~23#1;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp___0~7#1;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp4~3#1;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp5~4#1;stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp4~3#1 := 2 * ~maximumWeight~0;stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp5~4#1 := (if stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp4~3#1 < 0 && 0 != stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp4~3#1 % 3 then 1 + stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp4~3#1 / 3 else stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp4~3#1 / 3); 581181#L2674-1 assume ~weight~0 > stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp5~4#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;havoc getCurrentFloorID_~retValue_acc~14#1;getCurrentFloorID_~retValue_acc~14#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~14#1; 580835#getCurrentFloorID_returnLabel#3 stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret79#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp~23#1 := stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret79#1;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret79#1;assume { :begin_inline_buttonForFloorIsPressed } true;buttonForFloorIsPressed_#in~floorID#1 := stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp~23#1;havoc buttonForFloorIsPressed_#res#1;havoc buttonForFloorIsPressed_~floorID#1, buttonForFloorIsPressed_~retValue_acc~16#1;buttonForFloorIsPressed_~floorID#1 := buttonForFloorIsPressed_#in~floorID#1;havoc buttonForFloorIsPressed_~retValue_acc~16#1; 580836#L1980-2 assume 0 == buttonForFloorIsPressed_~floorID#1;buttonForFloorIsPressed_~retValue_acc~16#1 := ~floorButtons_0~0;buttonForFloorIsPressed_#res#1 := buttonForFloorIsPressed_~retValue_acc~16#1; 580461#buttonForFloorIsPressed_returnLabel#3 stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret80#1 := buttonForFloorIsPressed_#res#1;havoc buttonForFloorIsPressed_~floorID#1, buttonForFloorIsPressed_~retValue_acc~16#1;havoc buttonForFloorIsPressed_#in~floorID#1;assume { :end_inline_buttonForFloorIsPressed } true;stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp___0~7#1 := stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret80#1;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret80#1;stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~retValue_acc~26#1 := (if 1 == stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp___0~7#1 then 1 else 0);stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#res#1 := stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~retValue_acc~26#1; 576309#stopRequestedAtCurrentFloor__wrappee__twothirdsfull_returnLabel#2 stopRequestedAtCurrentFloor_#t~ret85#1 := stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#res#1;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret79#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret80#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret81#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~retValue_acc~26#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp~23#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp___0~7#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp4~3#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp5~4#1;assume { :end_inline_stopRequestedAtCurrentFloor__wrappee__twothirdsfull } true;stopRequestedAtCurrentFloor_~retValue_acc~27#1 := stopRequestedAtCurrentFloor_#t~ret85#1;havoc stopRequestedAtCurrentFloor_#t~ret85#1;stopRequestedAtCurrentFloor_#res#1 := stopRequestedAtCurrentFloor_~retValue_acc~27#1; 574095#stopRequestedAtCurrentFloor_returnLabel#1 timeShift_#t~ret98#1 := stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1, stopRequestedAtCurrentFloor_#t~ret83#1, stopRequestedAtCurrentFloor_#t~ret84#1, stopRequestedAtCurrentFloor_#t~ret85#1, stopRequestedAtCurrentFloor_~retValue_acc~27#1, stopRequestedAtCurrentFloor_~tmp~24#1, stopRequestedAtCurrentFloor_~tmp___0~8#1;assume { :end_inline_stopRequestedAtCurrentFloor } true;timeShift_~tmp___9~2#1 := timeShift_#t~ret98#1;havoc timeShift_#t~ret98#1; 574096#L2853 assume !(0 != timeShift_~tmp___9~2#1); 574772#L2944 assume 1 == ~doorState~0;~doorState~0 := 0; 575397#L2944-2 assume { :begin_inline_stopRequestedInDirection } true;stopRequestedInDirection_#in~dir#1, stopRequestedInDirection_#in~respectFloorCalls#1, stopRequestedInDirection_#in~respectInLiftCalls#1 := ~currentHeading~0, 1, 1;havoc stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret73#1, stopRequestedInDirection_#t~ret74#1, stopRequestedInDirection_#t~ret75#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~23#1, stopRequestedInDirection_~tmp~20#1, stopRequestedInDirection_~tmp___0~5#1, stopRequestedInDirection_~__cil_tmp7~6#1, stopRequestedInDirection_~__cil_tmp8~7#1;stopRequestedInDirection_~dir#1 := stopRequestedInDirection_#in~dir#1;stopRequestedInDirection_~respectFloorCalls#1 := stopRequestedInDirection_#in~respectFloorCalls#1;stopRequestedInDirection_~respectInLiftCalls#1 := stopRequestedInDirection_#in~respectInLiftCalls#1;havoc stopRequestedInDirection_~retValue_acc~23#1;havoc stopRequestedInDirection_~tmp~20#1;havoc stopRequestedInDirection_~tmp___0~5#1;havoc stopRequestedInDirection_~__cil_tmp7~6#1;havoc stopRequestedInDirection_~__cil_tmp8~7#1;assume { :begin_inline_isExecutiveFloorCalling } true;havoc isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;havoc isExecutiveFloorCalling_~retValue_acc~30#1;assume { :begin_inline_isFloorCalling } true;isFloorCalling_#in~floorID#1 := ~executiveFloor~0;havoc isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;isFloorCalling_~floorID#1 := isFloorCalling_#in~floorID#1;havoc isFloorCalling_~retValue_acc~6#1; 575398#L728-3 assume !(0 == isFloorCalling_~floorID#1); 583107#L732-3 assume !(1 == isFloorCalling_~floorID#1); 575712#L736-3 assume !(2 == isFloorCalling_~floorID#1); 575713#L740-3 assume !(3 == isFloorCalling_~floorID#1); 577828#L744-3 assume 4 == isFloorCalling_~floorID#1;isFloorCalling_~retValue_acc~6#1 := ~calls_4~0;isFloorCalling_#res#1 := isFloorCalling_~retValue_acc~6#1; 577829#isFloorCalling_returnLabel#4 isExecutiveFloorCalling_#t~ret135#1 := isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;havoc isFloorCalling_#in~floorID#1;assume { :end_inline_isFloorCalling } true;isExecutiveFloorCalling_~retValue_acc~30#1 := isExecutiveFloorCalling_#t~ret135#1;havoc isExecutiveFloorCalling_#t~ret135#1;isExecutiveFloorCalling_#res#1 := isExecutiveFloorCalling_~retValue_acc~30#1; 578677#isExecutiveFloorCalling_returnLabel#2 stopRequestedInDirection_#t~ret73#1 := isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;assume { :end_inline_isExecutiveFloorCalling } true;stopRequestedInDirection_~tmp___0~5#1 := stopRequestedInDirection_#t~ret73#1;havoc stopRequestedInDirection_#t~ret73#1; 574393#L2555 assume !(0 != stopRequestedInDirection_~tmp___0~5#1);assume { :begin_inline_stopRequestedInDirection__wrappee__twothirdsfull } true;stopRequestedInDirection__wrappee__twothirdsfull_#in~dir#1, stopRequestedInDirection__wrappee__twothirdsfull_#in~respectFloorCalls#1, stopRequestedInDirection__wrappee__twothirdsfull_#in~respectInLiftCalls#1 := stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_#res#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_#t~ret69#1, stopRequestedInDirection__wrappee__twothirdsfull_#t~ret70#1, stopRequestedInDirection__wrappee__twothirdsfull_#t~ret71#1, stopRequestedInDirection__wrappee__twothirdsfull_#t~ret72#1, stopRequestedInDirection__wrappee__twothirdsfull_~dir#1, stopRequestedInDirection__wrappee__twothirdsfull_~respectFloorCalls#1, stopRequestedInDirection__wrappee__twothirdsfull_~respectInLiftCalls#1, stopRequestedInDirection__wrappee__twothirdsfull_~retValue_acc~22#1, stopRequestedInDirection__wrappee__twothirdsfull_~overload~0#1, stopRequestedInDirection__wrappee__twothirdsfull_~buttonPressed~0#1, stopRequestedInDirection__wrappee__twothirdsfull_~tmp~19#1, stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp8~6#1, stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp9~5#1;stopRequestedInDirection__wrappee__twothirdsfull_~dir#1 := stopRequestedInDirection__wrappee__twothirdsfull_#in~dir#1;stopRequestedInDirection__wrappee__twothirdsfull_~respectFloorCalls#1 := stopRequestedInDirection__wrappee__twothirdsfull_#in~respectFloorCalls#1;stopRequestedInDirection__wrappee__twothirdsfull_~respectInLiftCalls#1 := stopRequestedInDirection__wrappee__twothirdsfull_#in~respectInLiftCalls#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_~retValue_acc~22#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_~overload~0#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_~buttonPressed~0#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_~tmp~19#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp8~6#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp9~5#1;stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp8~6#1 := 2 * ~maximumWeight~0;stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp9~5#1 := (if stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp8~6#1 < 0 && 0 != stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp8~6#1 % 3 then 1 + stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp8~6#1 / 3 else stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp8~6#1 / 3);stopRequestedInDirection__wrappee__twothirdsfull_~overload~0#1 := (if ~weight~0 > stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp9~5#1 then 1 else 0);assume { :begin_inline_isAnyLiftButtonPressed } true;havoc isAnyLiftButtonPressed_#res#1;havoc isAnyLiftButtonPressed_~retValue_acc~24#1;havoc isAnyLiftButtonPressed_~retValue_acc~24#1; 574394#L2577 assume !(0 != ~floorButtons_0~0); 579248#L2581 assume !(0 != ~floorButtons_1~0); 575316#L2585 assume 0 != ~floorButtons_2~0;isAnyLiftButtonPressed_~retValue_acc~24#1 := 1;isAnyLiftButtonPressed_#res#1 := isAnyLiftButtonPressed_~retValue_acc~24#1; 574532#isAnyLiftButtonPressed_returnLabel#1 stopRequestedInDirection__wrappee__twothirdsfull_#t~ret69#1 := isAnyLiftButtonPressed_#res#1;havoc isAnyLiftButtonPressed_~retValue_acc~24#1;assume { :end_inline_isAnyLiftButtonPressed } true;stopRequestedInDirection__wrappee__twothirdsfull_~tmp~19#1 := stopRequestedInDirection__wrappee__twothirdsfull_#t~ret69#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_#t~ret69#1;stopRequestedInDirection__wrappee__twothirdsfull_~buttonPressed~0#1 := stopRequestedInDirection__wrappee__twothirdsfull_~tmp~19#1; 581814#L2521 assume !(0 != stopRequestedInDirection__wrappee__twothirdsfull_~overload~0#1);assume { :begin_inline_stopRequestedInDirection__wrappee__empty } true;stopRequestedInDirection__wrappee__empty_#in~dir#1, stopRequestedInDirection__wrappee__empty_#in~respectFloorCalls#1, stopRequestedInDirection__wrappee__empty_#in~respectInLiftCalls#1 := stopRequestedInDirection__wrappee__twothirdsfull_~dir#1, stopRequestedInDirection__wrappee__twothirdsfull_~respectFloorCalls#1, stopRequestedInDirection__wrappee__twothirdsfull_~respectInLiftCalls#1;havoc stopRequestedInDirection__wrappee__empty_#res#1;havoc stopRequestedInDirection__wrappee__empty_#t~ret58#1, stopRequestedInDirection__wrappee__empty_#t~ret59#1, stopRequestedInDirection__wrappee__empty_#t~ret60#1, stopRequestedInDirection__wrappee__empty_#t~ret61#1, stopRequestedInDirection__wrappee__empty_#t~ret62#1, stopRequestedInDirection__wrappee__empty_#t~ret63#1, stopRequestedInDirection__wrappee__empty_#t~ret64#1, stopRequestedInDirection__wrappee__empty_#t~ret65#1, stopRequestedInDirection__wrappee__empty_#t~ret66#1, stopRequestedInDirection__wrappee__empty_#t~ret67#1, stopRequestedInDirection__wrappee__empty_#t~ret68#1, stopRequestedInDirection__wrappee__empty_~dir#1, stopRequestedInDirection__wrappee__empty_~respectFloorCalls#1, stopRequestedInDirection__wrappee__empty_~respectInLiftCalls#1, stopRequestedInDirection__wrappee__empty_~retValue_acc~21#1, stopRequestedInDirection__wrappee__empty_~tmp~18#1, stopRequestedInDirection__wrappee__empty_~tmp___0~4#1, stopRequestedInDirection__wrappee__empty_~tmp___1~3#1, stopRequestedInDirection__wrappee__empty_~tmp___2~3#1, stopRequestedInDirection__wrappee__empty_~tmp___3~2#1, stopRequestedInDirection__wrappee__empty_~tmp___4~1#1, stopRequestedInDirection__wrappee__empty_~tmp___5~0#1, stopRequestedInDirection__wrappee__empty_~tmp___6~0#1, stopRequestedInDirection__wrappee__empty_~tmp___7~0#1, stopRequestedInDirection__wrappee__empty_~tmp___8~0#1, stopRequestedInDirection__wrappee__empty_~tmp___9~0#1;stopRequestedInDirection__wrappee__empty_~dir#1 := stopRequestedInDirection__wrappee__empty_#in~dir#1;stopRequestedInDirection__wrappee__empty_~respectFloorCalls#1 := stopRequestedInDirection__wrappee__empty_#in~respectFloorCalls#1;stopRequestedInDirection__wrappee__empty_~respectInLiftCalls#1 := stopRequestedInDirection__wrappee__empty_#in~respectInLiftCalls#1;havoc stopRequestedInDirection__wrappee__empty_~retValue_acc~21#1;havoc stopRequestedInDirection__wrappee__empty_~tmp~18#1;havoc stopRequestedInDirection__wrappee__empty_~tmp___0~4#1;havoc stopRequestedInDirection__wrappee__empty_~tmp___1~3#1;havoc stopRequestedInDirection__wrappee__empty_~tmp___2~3#1;havoc stopRequestedInDirection__wrappee__empty_~tmp___3~2#1;havoc stopRequestedInDirection__wrappee__empty_~tmp___4~1#1;havoc stopRequestedInDirection__wrappee__empty_~tmp___5~0#1;havoc stopRequestedInDirection__wrappee__empty_~tmp___6~0#1;havoc stopRequestedInDirection__wrappee__empty_~tmp___7~0#1;havoc stopRequestedInDirection__wrappee__empty_~tmp___8~0#1;havoc stopRequestedInDirection__wrappee__empty_~tmp___9~0#1; 582444#L2167-2 assume !(1 == stopRequestedInDirection__wrappee__empty_~dir#1); 576796#L2336-2 assume 0 == ~currentFloorID~0;stopRequestedInDirection__wrappee__empty_~retValue_acc~21#1 := 0;stopRequestedInDirection__wrappee__empty_#res#1 := stopRequestedInDirection__wrappee__empty_~retValue_acc~21#1; 573665#stopRequestedInDirection__wrappee__empty_returnLabel#3 stopRequestedInDirection__wrappee__twothirdsfull_#t~ret72#1 := stopRequestedInDirection__wrappee__empty_#res#1;havoc stopRequestedInDirection__wrappee__empty_#t~ret58#1, stopRequestedInDirection__wrappee__empty_#t~ret59#1, stopRequestedInDirection__wrappee__empty_#t~ret60#1, stopRequestedInDirection__wrappee__empty_#t~ret61#1, stopRequestedInDirection__wrappee__empty_#t~ret62#1, stopRequestedInDirection__wrappee__empty_#t~ret63#1, stopRequestedInDirection__wrappee__empty_#t~ret64#1, stopRequestedInDirection__wrappee__empty_#t~ret65#1, stopRequestedInDirection__wrappee__empty_#t~ret66#1, stopRequestedInDirection__wrappee__empty_#t~ret67#1, stopRequestedInDirection__wrappee__empty_#t~ret68#1, stopRequestedInDirection__wrappee__empty_~dir#1, stopRequestedInDirection__wrappee__empty_~respectFloorCalls#1, stopRequestedInDirection__wrappee__empty_~respectInLiftCalls#1, stopRequestedInDirection__wrappee__empty_~retValue_acc~21#1, stopRequestedInDirection__wrappee__empty_~tmp~18#1, stopRequestedInDirection__wrappee__empty_~tmp___0~4#1, stopRequestedInDirection__wrappee__empty_~tmp___1~3#1, stopRequestedInDirection__wrappee__empty_~tmp___2~3#1, stopRequestedInDirection__wrappee__empty_~tmp___3~2#1, stopRequestedInDirection__wrappee__empty_~tmp___4~1#1, stopRequestedInDirection__wrappee__empty_~tmp___5~0#1, stopRequestedInDirection__wrappee__empty_~tmp___6~0#1, stopRequestedInDirection__wrappee__empty_~tmp___7~0#1, stopRequestedInDirection__wrappee__empty_~tmp___8~0#1, stopRequestedInDirection__wrappee__empty_~tmp___9~0#1;havoc stopRequestedInDirection__wrappee__empty_#in~dir#1, stopRequestedInDirection__wrappee__empty_#in~respectFloorCalls#1, stopRequestedInDirection__wrappee__empty_#in~respectInLiftCalls#1;assume { :end_inline_stopRequestedInDirection__wrappee__empty } true;stopRequestedInDirection__wrappee__twothirdsfull_~retValue_acc~22#1 := stopRequestedInDirection__wrappee__twothirdsfull_#t~ret72#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_#t~ret72#1;stopRequestedInDirection__wrappee__twothirdsfull_#res#1 := stopRequestedInDirection__wrappee__twothirdsfull_~retValue_acc~22#1; 574600#stopRequestedInDirection__wrappee__twothirdsfull_returnLabel#1 stopRequestedInDirection_#t~ret75#1 := stopRequestedInDirection__wrappee__twothirdsfull_#res#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_#t~ret69#1, stopRequestedInDirection__wrappee__twothirdsfull_#t~ret70#1, stopRequestedInDirection__wrappee__twothirdsfull_#t~ret71#1, stopRequestedInDirection__wrappee__twothirdsfull_#t~ret72#1, stopRequestedInDirection__wrappee__twothirdsfull_~dir#1, stopRequestedInDirection__wrappee__twothirdsfull_~respectFloorCalls#1, stopRequestedInDirection__wrappee__twothirdsfull_~respectInLiftCalls#1, stopRequestedInDirection__wrappee__twothirdsfull_~retValue_acc~22#1, stopRequestedInDirection__wrappee__twothirdsfull_~overload~0#1, stopRequestedInDirection__wrappee__twothirdsfull_~buttonPressed~0#1, stopRequestedInDirection__wrappee__twothirdsfull_~tmp~19#1, stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp8~6#1, stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp9~5#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_#in~dir#1, stopRequestedInDirection__wrappee__twothirdsfull_#in~respectFloorCalls#1, stopRequestedInDirection__wrappee__twothirdsfull_#in~respectInLiftCalls#1;assume { :end_inline_stopRequestedInDirection__wrappee__twothirdsfull } true;stopRequestedInDirection_~retValue_acc~23#1 := stopRequestedInDirection_#t~ret75#1;havoc stopRequestedInDirection_#t~ret75#1;stopRequestedInDirection_#res#1 := stopRequestedInDirection_~retValue_acc~23#1; 576931#stopRequestedInDirection_returnLabel#1 timeShift_#t~ret105#1 := stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret73#1, stopRequestedInDirection_#t~ret74#1, stopRequestedInDirection_#t~ret75#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~23#1, stopRequestedInDirection_~tmp~20#1, stopRequestedInDirection_~tmp___0~5#1, stopRequestedInDirection_~__cil_tmp7~6#1, stopRequestedInDirection_~__cil_tmp8~7#1;havoc stopRequestedInDirection_#in~dir#1, stopRequestedInDirection_#in~respectFloorCalls#1, stopRequestedInDirection_#in~respectInLiftCalls#1;assume { :end_inline_stopRequestedInDirection } true;timeShift_~tmp___8~2#1 := timeShift_#t~ret105#1;havoc timeShift_#t~ret105#1; 573975#L2952 assume 0 != timeShift_~tmp___8~2#1;assume { :begin_inline_continueInDirection } true;continueInDirection_#in~dir#1 := ~currentHeading~0;havoc continueInDirection_#t~ret76#1, continueInDirection_~dir#1, continueInDirection_~tmp~21#1;continueInDirection_~dir#1 := continueInDirection_#in~dir#1;havoc continueInDirection_~tmp~21#1;~currentHeading~0 := continueInDirection_~dir#1; 573976#L2612 assume !(1 == ~currentHeading~0); 578447#L2622 assume !(0 == ~currentFloorID~0); 578448#L2622-2 assume !(1 == ~currentHeading~0);~currentFloorID~0 := ~currentFloorID~0 - 1; 578242#L2628-1 havoc continueInDirection_#t~ret76#1, continueInDirection_~dir#1, continueInDirection_~tmp~21#1;havoc continueInDirection_#in~dir#1;assume { :end_inline_continueInDirection } true; 578243#L2961-2 assume { :begin_inline___utac_acc__Specification13_spec__2 } true;havoc __utac_acc__Specification13_spec__2_#t~ret28#1, __utac_acc__Specification13_spec__2_#t~ret29#1, __utac_acc__Specification13_spec__2_#t~ret30#1, __utac_acc__Specification13_spec__2_#t~ret31#1, __utac_acc__Specification13_spec__2_#t~ret32#1, __utac_acc__Specification13_spec__2_#t~ret33#1, __utac_acc__Specification13_spec__2_~tmp~3#1, __utac_acc__Specification13_spec__2_~tmp___0~0#1, __utac_acc__Specification13_spec__2_~tmp___1~0#1, __utac_acc__Specification13_spec__2_~tmp___2~0#1, __utac_acc__Specification13_spec__2_~tmp___3~0#1, __utac_acc__Specification13_spec__2_~tmp___4~0#1, __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1, __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1;havoc __utac_acc__Specification13_spec__2_~tmp~3#1;havoc __utac_acc__Specification13_spec__2_~tmp___0~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___1~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___2~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___3~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___4~0#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1;__utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 := 2 * ~maximumWeight~0;__utac_acc__Specification13_spec__2_~__cil_tmp8~5#1 := (if __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 < 0 && 0 != __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 % 3 then 1 + __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 / 3 else __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 / 3); 586733#L454 assume ~weight~0 > __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1; 586714#L455 assume 1 == ~prevDir~0;assume { :begin_inline_existInLiftCallsInDirection } true;existInLiftCallsInDirection_#in~d#1 := 0;havoc existInLiftCallsInDirection_#res#1;havoc existInLiftCallsInDirection_~d#1, existInLiftCallsInDirection_~retValue_acc~29#1, existInLiftCallsInDirection_~i~1#1, existInLiftCallsInDirection_~i___0~0#1;existInLiftCallsInDirection_~d#1 := existInLiftCallsInDirection_#in~d#1;havoc existInLiftCallsInDirection_~retValue_acc~29#1;havoc existInLiftCallsInDirection_~i~1#1;havoc existInLiftCallsInDirection_~i___0~0#1; 586715#L3156 assume !(1 == existInLiftCallsInDirection_~d#1); 588597#L3222 assume 0 == existInLiftCallsInDirection_~d#1;existInLiftCallsInDirection_~i___0~0#1 := 0;existInLiftCallsInDirection_~i___0~0#1 := ~currentFloorID~0 - 1; 588598#L3226-2 [2024-10-12 00:47:53,069 INFO L747 eck$LassoCheckResult]: Loop: 588598#L3226-2 assume !false; 588595#L3227 assume existInLiftCallsInDirection_~i___0~0#1 >= 0; 588596#L3228 existInLiftCallsInDirection_~i___0~0#1 := 1 + ~currentFloorID~0; 588604#L3235-2 assume !false; 588602#L3236 assume !(existInLiftCallsInDirection_~i___0~0#1 < 5); 588603#L3294 existInLiftCallsInDirection_~i___0~0#1 := existInLiftCallsInDirection_~i___0~0#1 - 1; 588598#L3226-2 [2024-10-12 00:47:53,070 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-12 00:47:53,070 INFO L85 PathProgramCache]: Analyzing trace with hash 967017570, now seen corresponding path program 1 times [2024-10-12 00:47:53,071 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-12 00:47:53,071 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [108191659] [2024-10-12 00:47:53,071 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-12 00:47:53,071 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-12 00:47:53,094 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-12 00:47:53,368 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-10-12 00:47:53,369 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-10-12 00:47:53,370 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [108191659] [2024-10-12 00:47:53,371 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [108191659] provided 1 perfect and 0 imperfect interpolant sequences [2024-10-12 00:47:53,371 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-10-12 00:47:53,371 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2024-10-12 00:47:53,371 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [686850507] [2024-10-12 00:47:53,371 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-10-12 00:47:53,373 INFO L750 eck$LassoCheckResult]: stem already infeasible [2024-10-12 00:47:53,373 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-12 00:47:53,374 INFO L85 PathProgramCache]: Analyzing trace with hash 1717871275, now seen corresponding path program 17 times [2024-10-12 00:47:53,374 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-12 00:47:53,374 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [10566877] [2024-10-12 00:47:53,374 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-12 00:47:53,379 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-12 00:47:53,398 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-12 00:47:53,401 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-10-12 00:47:53,402 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-12 00:47:53,409 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-10-12 00:47:53,430 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-10-12 00:47:53,431 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2024-10-12 00:47:53,431 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2024-10-12 00:47:53,431 INFO L87 Difference]: Start difference. First operand 49690 states and 89835 transitions. cyclomatic complexity: 40315 Second operand has 3 states, 3 states have (on average 29.333333333333332) internal successors, (88), 2 states have internal predecessors, (88), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-10-12 00:47:54,512 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-10-12 00:47:54,512 INFO L93 Difference]: Finished difference Result 97802 states and 176311 transitions. [2024-10-12 00:47:54,512 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 97802 states and 176311 transitions. [2024-10-12 00:47:55,046 INFO L131 ngComponentsAnalysis]: Automaton has 322 accepting balls. 34818 [2024-10-12 00:47:55,470 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 97802 states to 97802 states and 176311 transitions. [2024-10-12 00:47:55,470 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 97528 [2024-10-12 00:47:55,516 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 97528 [2024-10-12 00:47:55,516 INFO L73 IsDeterministic]: Start isDeterministic. Operand 97802 states and 176311 transitions. [2024-10-12 00:47:55,547 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-10-12 00:47:55,547 INFO L218 hiAutomatonCegarLoop]: Abstraction has 97802 states and 176311 transitions. [2024-10-12 00:47:55,591 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 97802 states and 176311 transitions. [2024-10-12 00:47:56,589 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 97802 to 97794. [2024-10-12 00:47:56,681 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 97794 states, 97794 states have (on average 1.802799762766632) internal successors, (176303), 97793 states have internal predecessors, (176303), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-10-12 00:47:56,888 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 97794 states to 97794 states and 176303 transitions. [2024-10-12 00:47:56,888 INFO L240 hiAutomatonCegarLoop]: Abstraction has 97794 states and 176303 transitions. [2024-10-12 00:47:56,889 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2024-10-12 00:47:56,890 INFO L425 stractBuchiCegarLoop]: Abstraction has 97794 states and 176303 transitions. [2024-10-12 00:47:56,890 INFO L332 stractBuchiCegarLoop]: ======== Iteration 20 ============ [2024-10-12 00:47:56,890 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 97794 states and 176303 transitions. [2024-10-12 00:47:57,522 INFO L131 ngComponentsAnalysis]: Automaton has 322 accepting balls. 34818 [2024-10-12 00:47:57,523 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-10-12 00:47:57,523 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-10-12 00:47:57,523 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-10-12 00:47:57,523 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1] [2024-10-12 00:47:57,524 INFO L745 eck$LassoCheckResult]: Stem: 728909#$Ultimate##0 assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int#0(48, 1, 0, 1);call write~init~int#0(0, 1, 1, 1);call #Ultimate.allocInit(32, 2);call #Ultimate.allocInit(12, 3);call #Ultimate.allocInit(30, 4);call #Ultimate.allocInit(9, 5);call #Ultimate.allocInit(21, 6);call #Ultimate.allocInit(30, 7);call #Ultimate.allocInit(9, 8);call #Ultimate.allocInit(21, 9);call #Ultimate.allocInit(30, 10);call #Ultimate.allocInit(9, 11);call #Ultimate.allocInit(25, 12);call #Ultimate.allocInit(30, 13);call #Ultimate.allocInit(9, 14);call #Ultimate.allocInit(25, 15);call #Ultimate.allocInit(10, 16);call #Ultimate.allocInit(4, 17);call write~init~int#5(91, 17, 0, 1);call write~init~int#5(95, 17, 1, 1);call write~init~int#5(93, 17, 2, 1);call write~init~int#5(0, 17, 3, 1);call #Ultimate.allocInit(4, 18);call write~init~int#6(91, 18, 0, 1);call write~init~int#6(93, 18, 1, 1);call write~init~int#6(32, 18, 2, 1);call write~init~int#6(0, 18, 3, 1);call #Ultimate.allocInit(5, 19);call write~init~int#7(32, 19, 0, 1);call write~init~int#7(97, 19, 1, 1);call write~init~int#7(116, 19, 2, 1);call write~init~int#7(32, 19, 3, 1);call write~init~int#7(0, 19, 4, 1);call #Ultimate.allocInit(3, 20);call write~init~int#8(37, 20, 0, 1);call write~init~int#8(105, 20, 1, 1);call write~init~int#8(0, 20, 2, 1);call #Ultimate.allocInit(10, 21);call #Ultimate.allocInit(3, 22);call write~init~int#9(117, 22, 0, 1);call write~init~int#9(112, 22, 1, 1);call write~init~int#9(0, 22, 2, 1);call #Ultimate.allocInit(5, 23);call write~init~int#10(100, 23, 0, 1);call write~init~int#10(111, 23, 1, 1);call write~init~int#10(119, 23, 2, 1);call write~init~int#10(110, 23, 3, 1);call write~init~int#10(0, 23, 4, 1);call #Ultimate.allocInit(7, 24);call write~init~int#11(32, 24, 0, 1);call write~init~int#11(73, 24, 1, 1);call write~init~int#11(76, 24, 2, 1);call write~init~int#11(95, 24, 3, 1);call write~init~int#11(112, 24, 4, 1);call write~init~int#11(58, 24, 5, 1);call write~init~int#11(0, 24, 6, 1);call #Ultimate.allocInit(4, 25);call write~init~int#12(32, 25, 0, 1);call write~init~int#12(37, 25, 1, 1);call write~init~int#12(105, 25, 2, 1);call write~init~int#12(0, 25, 3, 1);call #Ultimate.allocInit(4, 26);call write~init~int#13(32, 26, 0, 1);call write~init~int#13(37, 26, 1, 1);call write~init~int#13(105, 26, 2, 1);call write~init~int#13(0, 26, 3, 1);call #Ultimate.allocInit(4, 27);call write~init~int#14(32, 27, 0, 1);call write~init~int#14(37, 27, 1, 1);call write~init~int#14(105, 27, 2, 1);call write~init~int#14(0, 27, 3, 1);call #Ultimate.allocInit(4, 28);call write~init~int#15(32, 28, 0, 1);call write~init~int#15(37, 28, 1, 1);call write~init~int#15(105, 28, 2, 1);call write~init~int#15(0, 28, 3, 1);call #Ultimate.allocInit(4, 29);call write~init~int#16(32, 29, 0, 1);call write~init~int#16(37, 29, 1, 1);call write~init~int#16(105, 29, 2, 1);call write~init~int#16(0, 29, 3, 1);call #Ultimate.allocInit(6, 30);call write~init~int#17(32, 30, 0, 1);call write~init~int#17(70, 30, 1, 1);call write~init~int#17(95, 30, 2, 1);call write~init~int#17(112, 30, 3, 1);call write~init~int#17(58, 30, 4, 1);call write~init~int#17(0, 30, 5, 1);call #Ultimate.allocInit(4, 31);call write~init~int#18(32, 31, 0, 1);call write~init~int#18(37, 31, 1, 1);call write~init~int#18(105, 31, 2, 1);call write~init~int#18(0, 31, 3, 1);call #Ultimate.allocInit(4, 32);call write~init~int#19(32, 32, 0, 1);call write~init~int#19(37, 32, 1, 1);call write~init~int#19(105, 32, 2, 1);call write~init~int#19(0, 32, 3, 1);call #Ultimate.allocInit(4, 33);call write~init~int#1(32, 33, 0, 1);call write~init~int#1(37, 33, 1, 1);call write~init~int#1(105, 33, 2, 1);call write~init~int#1(0, 33, 3, 1);call #Ultimate.allocInit(4, 34);call write~init~int#2(32, 34, 0, 1);call write~init~int#2(37, 34, 1, 1);call write~init~int#2(105, 34, 2, 1);call write~init~int#2(0, 34, 3, 1);call #Ultimate.allocInit(4, 35);call write~init~int#3(32, 35, 0, 1);call write~init~int#3(37, 35, 1, 1);call write~init~int#3(105, 35, 2, 1);call write~init~int#3(0, 35, 3, 1);call #Ultimate.allocInit(2, 36);call write~init~int#4(10, 36, 0, 1);call write~init~int#4(0, 36, 1, 1);~head~0.base, ~head~0.offset := 0, 0;~weight~0 := 0;~maximumWeight~0 := 100;~executiveFloor~0 := 4;~prevDir~0 := 0;~calls_0~0 := 0;~calls_1~0 := 0;~calls_2~0 := 0;~calls_3~0 := 0;~calls_4~0 := 0;~personOnFloor_0_0~0 := 0;~personOnFloor_0_1~0 := 0;~personOnFloor_0_2~0 := 0;~personOnFloor_0_3~0 := 0;~personOnFloor_0_4~0 := 0;~personOnFloor_1_0~0 := 0;~personOnFloor_1_1~0 := 0;~personOnFloor_1_2~0 := 0;~personOnFloor_1_3~0 := 0;~personOnFloor_1_4~0 := 0;~personOnFloor_2_0~0 := 0;~personOnFloor_2_1~0 := 0;~personOnFloor_2_2~0 := 0;~personOnFloor_2_3~0 := 0;~personOnFloor_2_4~0 := 0;~personOnFloor_3_0~0 := 0;~personOnFloor_3_1~0 := 0;~personOnFloor_3_2~0 := 0;~personOnFloor_3_3~0 := 0;~personOnFloor_3_4~0 := 0;~personOnFloor_4_0~0 := 0;~personOnFloor_4_1~0 := 0;~personOnFloor_4_2~0 := 0;~personOnFloor_4_3~0 := 0;~personOnFloor_4_4~0 := 0;~personOnFloor_5_0~0 := 0;~personOnFloor_5_1~0 := 0;~personOnFloor_5_2~0 := 0;~personOnFloor_5_3~0 := 0;~personOnFloor_5_4~0 := 0;~cleanupTimeShifts~0 := 12;~currentHeading~0 := 1;~currentFloorID~0 := 0;~persons_0~0 := 0;~persons_1~0 := 0;~persons_2~0 := 0;~persons_3~0 := 0;~persons_4~0 := 0;~persons_5~0 := 0;~doorState~0 := 1;~floorButtons_0~0 := 0;~floorButtons_1~0 := 0;~floorButtons_2~0 := 0;~floorButtons_3~0 := 0;~floorButtons_4~0 := 0; 728616#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret47#1, main_~retValue_acc~10#1, main_~tmp~12#1;havoc main_~retValue_acc~10#1;havoc main_~tmp~12#1;assume { :begin_inline_select_helpers } true; 728617#select_helpers_returnLabel#1 assume { :end_inline_select_helpers } true;assume { :begin_inline_select_features } true; 730941#select_features_returnLabel#1 assume { :end_inline_select_features } true;assume { :begin_inline_valid_product } true;havoc valid_product_#res#1;havoc valid_product_~retValue_acc~12#1;havoc valid_product_~retValue_acc~12#1;valid_product_~retValue_acc~12#1 := 1;valid_product_#res#1 := valid_product_~retValue_acc~12#1; 722465#valid_product_returnLabel#1 main_#t~ret47#1 := valid_product_#res#1;havoc valid_product_~retValue_acc~12#1;assume { :end_inline_valid_product } true;main_~tmp~12#1 := main_#t~ret47#1;havoc main_#t~ret47#1; 722466#L1651 assume 0 != main_~tmp~12#1;assume { :begin_inline_setup } true; 724235#setup_returnLabel#1 assume { :end_inline_setup } true;assume { :begin_inline_runTest } true;assume { :begin_inline_test } true;assume { :begin_inline_aliceCall } true;havoc aliceCall_#t~ret36#1, aliceCall_~tmp~5#1;havoc aliceCall_~tmp~5#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 1;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~4#1; 724236#L564 assume !(0 == getOrigin_~person#1); 722856#L568 assume 1 == getOrigin_~person#1;getOrigin_~retValue_acc~4#1 := 3;getOrigin_#res#1 := getOrigin_~retValue_acc~4#1; 722857#getOrigin_returnLabel#1 aliceCall_#t~ret36#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;aliceCall_~tmp~5#1 := aliceCall_#t~ret36#1;havoc aliceCall_#t~ret36#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 1, aliceCall_~tmp~5#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 723468#L999 assume !(0 == initPersonOnFloor_~floor#1); 723469#L1026 assume !(1 == initPersonOnFloor_~floor#1); 729787#L1053 assume !(2 == initPersonOnFloor_~floor#1); 730369#L1080 assume 3 == initPersonOnFloor_~floor#1; 727173#L1081 assume !(0 == initPersonOnFloor_~person#1); 727174#L1084 assume 1 == initPersonOnFloor_~person#1;~personOnFloor_1_3~0 := 1; 724863#L1107-1 assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 721727#L791 assume !(0 == callOnFloor_~floorID#1); 721577#L794 assume !(1 == callOnFloor_~floorID#1); 721531#L797 assume !(2 == callOnFloor_~floorID#1); 721532#L800 assume 3 == callOnFloor_~floorID#1;~calls_3~0 := 1; 723502#L803-2 havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true; 723104#initPersonOnFloor_returnLabel#1 havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true; 723105#aliceCall_returnLabel#1 havoc aliceCall_#t~ret36#1, aliceCall_~tmp~5#1;assume { :end_inline_aliceCall } true;assume { :begin_inline_angelinaCall } true;havoc angelinaCall_#t~ret37#1, angelinaCall_~tmp~6#1;havoc angelinaCall_~tmp~6#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 2;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~4#1; 728963#L564-1 assume !(0 == getOrigin_~person#1); 723977#L568-1 assume !(1 == getOrigin_~person#1); 723978#L572-1 assume 2 == getOrigin_~person#1;getOrigin_~retValue_acc~4#1 := 2;getOrigin_#res#1 := getOrigin_~retValue_acc~4#1; 721848#getOrigin_returnLabel#2 angelinaCall_#t~ret37#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;angelinaCall_~tmp~6#1 := angelinaCall_#t~ret37#1;havoc angelinaCall_#t~ret37#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 2, angelinaCall_~tmp~6#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 721849#L999-1 assume !(0 == initPersonOnFloor_~floor#1); 727633#L1026-1 assume !(1 == initPersonOnFloor_~floor#1); 729191#L1053-1 assume 2 == initPersonOnFloor_~floor#1; 729192#L1054-2 assume !(0 == initPersonOnFloor_~person#1); 729928#L1057-2 assume !(1 == initPersonOnFloor_~person#1); 727938#L1060-2 assume 2 == initPersonOnFloor_~person#1;~personOnFloor_2_2~0 := 1; 727051#L1107-3 assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 727052#L791-2 assume !(0 == callOnFloor_~floorID#1); 730718#L794-2 assume !(1 == callOnFloor_~floorID#1); 730719#L797-2 assume 2 == callOnFloor_~floorID#1;~calls_2~0 := 1; 730832#L803-5 havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true; 727104#initPersonOnFloor_returnLabel#2 havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true; 727105#angelinaCall_returnLabel#1 havoc angelinaCall_#t~ret37#1, angelinaCall_~tmp~6#1;assume { :end_inline_angelinaCall } true;assume { :begin_inline_threeTS } true;assume { :begin_inline_timeShift } true;havoc timeShift_#t~ret98#1, timeShift_#t~ret99#1, timeShift_#t~ret100#1, timeShift_#t~ret101#1, timeShift_#t~ret102#1, timeShift_#t~ret103#1, timeShift_#t~ret104#1, timeShift_#t~ret105#1, timeShift_#t~ret106#1, timeShift_#t~ret107#1, timeShift_#t~ret108#1, timeShift_~tmp~26#1, timeShift_~tmp___0~10#1, timeShift_~tmp___1~5#1, timeShift_~tmp___2~5#1, timeShift_~tmp___3~4#1, timeShift_~tmp___4~3#1, timeShift_~tmp___5~2#1, timeShift_~tmp___6~2#1, timeShift_~tmp___7~2#1, timeShift_~tmp___8~2#1, timeShift_~tmp___9~2#1;havoc timeShift_~tmp~26#1;havoc timeShift_~tmp___0~10#1;havoc timeShift_~tmp___1~5#1;havoc timeShift_~tmp___2~5#1;havoc timeShift_~tmp___3~4#1;havoc timeShift_~tmp___4~3#1;havoc timeShift_~tmp___5~2#1;havoc timeShift_~tmp___6~2#1;havoc timeShift_~tmp___7~2#1;havoc timeShift_~tmp___8~2#1;havoc timeShift_~tmp___9~2#1;assume { :begin_inline___utac_acc__Specification13_spec__1 } true;havoc __utac_acc__Specification13_spec__1_#t~ret27#1;assume { :begin_inline_getCurrentHeading } true;havoc getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~17#1;havoc getCurrentHeading_~retValue_acc~17#1;getCurrentHeading_~retValue_acc~17#1 := ~currentHeading~0;getCurrentHeading_#res#1 := getCurrentHeading_~retValue_acc~17#1; 730695#getCurrentHeading_returnLabel#1 __utac_acc__Specification13_spec__1_#t~ret27#1 := getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~17#1;assume { :end_inline_getCurrentHeading } true;~prevDir~0 := __utac_acc__Specification13_spec__1_#t~ret27#1;havoc __utac_acc__Specification13_spec__1_#t~ret27#1; 727447#__utac_acc__Specification13_spec__1_returnLabel#1 havoc __utac_acc__Specification13_spec__1_#t~ret27#1;assume { :end_inline___utac_acc__Specification13_spec__1 } true;assume { :begin_inline_stopRequestedAtCurrentFloor } true;havoc stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1, stopRequestedAtCurrentFloor_#t~ret83#1, stopRequestedAtCurrentFloor_#t~ret84#1, stopRequestedAtCurrentFloor_#t~ret85#1, stopRequestedAtCurrentFloor_~retValue_acc~27#1, stopRequestedAtCurrentFloor_~tmp~24#1, stopRequestedAtCurrentFloor_~tmp___0~8#1;havoc stopRequestedAtCurrentFloor_~retValue_acc~27#1;havoc stopRequestedAtCurrentFloor_~tmp~24#1;havoc stopRequestedAtCurrentFloor_~tmp___0~8#1;assume { :begin_inline_isExecutiveFloorCalling } true;havoc isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;havoc isExecutiveFloorCalling_~retValue_acc~30#1;assume { :begin_inline_isFloorCalling } true;isFloorCalling_#in~floorID#1 := ~executiveFloor~0;havoc isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;isFloorCalling_~floorID#1 := isFloorCalling_#in~floorID#1;havoc isFloorCalling_~retValue_acc~6#1; 727448#L728 assume !(0 == isFloorCalling_~floorID#1); 730744#L732 assume !(1 == isFloorCalling_~floorID#1); 730745#L736 assume !(2 == isFloorCalling_~floorID#1); 729746#L740 assume !(3 == isFloorCalling_~floorID#1); 729081#L744 assume 4 == isFloorCalling_~floorID#1;isFloorCalling_~retValue_acc~6#1 := ~calls_4~0;isFloorCalling_#res#1 := isFloorCalling_~retValue_acc~6#1; 729082#isFloorCalling_returnLabel#1 isExecutiveFloorCalling_#t~ret135#1 := isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;havoc isFloorCalling_#in~floorID#1;assume { :end_inline_isFloorCalling } true;isExecutiveFloorCalling_~retValue_acc~30#1 := isExecutiveFloorCalling_#t~ret135#1;havoc isExecutiveFloorCalling_#t~ret135#1;isExecutiveFloorCalling_#res#1 := isExecutiveFloorCalling_~retValue_acc~30#1; 730692#isExecutiveFloorCalling_returnLabel#1 stopRequestedAtCurrentFloor_#t~ret82#1 := isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;assume { :end_inline_isExecutiveFloorCalling } true;stopRequestedAtCurrentFloor_~tmp~24#1 := stopRequestedAtCurrentFloor_#t~ret82#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1; 728808#L2700 assume !(0 != stopRequestedAtCurrentFloor_~tmp~24#1);assume { :begin_inline_stopRequestedAtCurrentFloor__wrappee__twothirdsfull } true;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#res#1;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret79#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret80#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret81#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~retValue_acc~26#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp~23#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp___0~7#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp4~3#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp5~4#1;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~retValue_acc~26#1;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp~23#1;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp___0~7#1;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp4~3#1;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp5~4#1;stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp4~3#1 := 2 * ~maximumWeight~0;stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp5~4#1 := (if stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp4~3#1 < 0 && 0 != stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp4~3#1 % 3 then 1 + stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp4~3#1 / 3 else stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp4~3#1 / 3); 728809#L2674-1 assume ~weight~0 > stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp5~4#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;havoc getCurrentFloorID_~retValue_acc~14#1;getCurrentFloorID_~retValue_acc~14#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~14#1; 728446#getCurrentFloorID_returnLabel#3 stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret79#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp~23#1 := stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret79#1;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret79#1;assume { :begin_inline_buttonForFloorIsPressed } true;buttonForFloorIsPressed_#in~floorID#1 := stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp~23#1;havoc buttonForFloorIsPressed_#res#1;havoc buttonForFloorIsPressed_~floorID#1, buttonForFloorIsPressed_~retValue_acc~16#1;buttonForFloorIsPressed_~floorID#1 := buttonForFloorIsPressed_#in~floorID#1;havoc buttonForFloorIsPressed_~retValue_acc~16#1; 728447#L1980-2 assume 0 == buttonForFloorIsPressed_~floorID#1;buttonForFloorIsPressed_~retValue_acc~16#1 := ~floorButtons_0~0;buttonForFloorIsPressed_#res#1 := buttonForFloorIsPressed_~retValue_acc~16#1; 728050#buttonForFloorIsPressed_returnLabel#3 stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret80#1 := buttonForFloorIsPressed_#res#1;havoc buttonForFloorIsPressed_~floorID#1, buttonForFloorIsPressed_~retValue_acc~16#1;havoc buttonForFloorIsPressed_#in~floorID#1;assume { :end_inline_buttonForFloorIsPressed } true;stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp___0~7#1 := stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret80#1;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret80#1;stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~retValue_acc~26#1 := (if 1 == stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp___0~7#1 then 1 else 0);stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#res#1 := stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~retValue_acc~26#1; 723817#stopRequestedAtCurrentFloor__wrappee__twothirdsfull_returnLabel#2 stopRequestedAtCurrentFloor_#t~ret85#1 := stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#res#1;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret79#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret80#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret81#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~retValue_acc~26#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp~23#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp___0~7#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp4~3#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp5~4#1;assume { :end_inline_stopRequestedAtCurrentFloor__wrappee__twothirdsfull } true;stopRequestedAtCurrentFloor_~retValue_acc~27#1 := stopRequestedAtCurrentFloor_#t~ret85#1;havoc stopRequestedAtCurrentFloor_#t~ret85#1;stopRequestedAtCurrentFloor_#res#1 := stopRequestedAtCurrentFloor_~retValue_acc~27#1; 721590#stopRequestedAtCurrentFloor_returnLabel#1 timeShift_#t~ret98#1 := stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1, stopRequestedAtCurrentFloor_#t~ret83#1, stopRequestedAtCurrentFloor_#t~ret84#1, stopRequestedAtCurrentFloor_#t~ret85#1, stopRequestedAtCurrentFloor_~retValue_acc~27#1, stopRequestedAtCurrentFloor_~tmp~24#1, stopRequestedAtCurrentFloor_~tmp___0~8#1;assume { :end_inline_stopRequestedAtCurrentFloor } true;timeShift_~tmp___9~2#1 := timeShift_#t~ret98#1;havoc timeShift_#t~ret98#1; 721591#L2853 assume !(0 != timeShift_~tmp___9~2#1); 722268#L2944 assume 1 == ~doorState~0;~doorState~0 := 0; 722901#L2944-2 assume { :begin_inline_stopRequestedInDirection } true;stopRequestedInDirection_#in~dir#1, stopRequestedInDirection_#in~respectFloorCalls#1, stopRequestedInDirection_#in~respectInLiftCalls#1 := ~currentHeading~0, 1, 1;havoc stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret73#1, stopRequestedInDirection_#t~ret74#1, stopRequestedInDirection_#t~ret75#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~23#1, stopRequestedInDirection_~tmp~20#1, stopRequestedInDirection_~tmp___0~5#1, stopRequestedInDirection_~__cil_tmp7~6#1, stopRequestedInDirection_~__cil_tmp8~7#1;stopRequestedInDirection_~dir#1 := stopRequestedInDirection_#in~dir#1;stopRequestedInDirection_~respectFloorCalls#1 := stopRequestedInDirection_#in~respectFloorCalls#1;stopRequestedInDirection_~respectInLiftCalls#1 := stopRequestedInDirection_#in~respectInLiftCalls#1;havoc stopRequestedInDirection_~retValue_acc~23#1;havoc stopRequestedInDirection_~tmp~20#1;havoc stopRequestedInDirection_~tmp___0~5#1;havoc stopRequestedInDirection_~__cil_tmp7~6#1;havoc stopRequestedInDirection_~__cil_tmp8~7#1;assume { :begin_inline_isExecutiveFloorCalling } true;havoc isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;havoc isExecutiveFloorCalling_~retValue_acc~30#1;assume { :begin_inline_isFloorCalling } true;isFloorCalling_#in~floorID#1 := ~executiveFloor~0;havoc isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;isFloorCalling_~floorID#1 := isFloorCalling_#in~floorID#1;havoc isFloorCalling_~retValue_acc~6#1; 722902#L728-3 assume !(0 == isFloorCalling_~floorID#1); 730895#L732-3 assume !(1 == isFloorCalling_~floorID#1); 723215#L736-3 assume !(2 == isFloorCalling_~floorID#1); 723216#L740-3 assume !(3 == isFloorCalling_~floorID#1); 725350#L744-3 assume 4 == isFloorCalling_~floorID#1;isFloorCalling_~retValue_acc~6#1 := ~calls_4~0;isFloorCalling_#res#1 := isFloorCalling_~retValue_acc~6#1; 725351#isFloorCalling_returnLabel#4 isExecutiveFloorCalling_#t~ret135#1 := isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;havoc isFloorCalling_#in~floorID#1;assume { :end_inline_isFloorCalling } true;isExecutiveFloorCalling_~retValue_acc~30#1 := isExecutiveFloorCalling_#t~ret135#1;havoc isExecutiveFloorCalling_#t~ret135#1;isExecutiveFloorCalling_#res#1 := isExecutiveFloorCalling_~retValue_acc~30#1; 726221#isExecutiveFloorCalling_returnLabel#2 stopRequestedInDirection_#t~ret73#1 := isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;assume { :end_inline_isExecutiveFloorCalling } true;stopRequestedInDirection_~tmp___0~5#1 := stopRequestedInDirection_#t~ret73#1;havoc stopRequestedInDirection_#t~ret73#1; 721892#L2555 assume !(0 != stopRequestedInDirection_~tmp___0~5#1);assume { :begin_inline_stopRequestedInDirection__wrappee__twothirdsfull } true;stopRequestedInDirection__wrappee__twothirdsfull_#in~dir#1, stopRequestedInDirection__wrappee__twothirdsfull_#in~respectFloorCalls#1, stopRequestedInDirection__wrappee__twothirdsfull_#in~respectInLiftCalls#1 := stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_#res#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_#t~ret69#1, stopRequestedInDirection__wrappee__twothirdsfull_#t~ret70#1, stopRequestedInDirection__wrappee__twothirdsfull_#t~ret71#1, stopRequestedInDirection__wrappee__twothirdsfull_#t~ret72#1, stopRequestedInDirection__wrappee__twothirdsfull_~dir#1, stopRequestedInDirection__wrappee__twothirdsfull_~respectFloorCalls#1, stopRequestedInDirection__wrappee__twothirdsfull_~respectInLiftCalls#1, stopRequestedInDirection__wrappee__twothirdsfull_~retValue_acc~22#1, stopRequestedInDirection__wrappee__twothirdsfull_~overload~0#1, stopRequestedInDirection__wrappee__twothirdsfull_~buttonPressed~0#1, stopRequestedInDirection__wrappee__twothirdsfull_~tmp~19#1, stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp8~6#1, stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp9~5#1;stopRequestedInDirection__wrappee__twothirdsfull_~dir#1 := stopRequestedInDirection__wrappee__twothirdsfull_#in~dir#1;stopRequestedInDirection__wrappee__twothirdsfull_~respectFloorCalls#1 := stopRequestedInDirection__wrappee__twothirdsfull_#in~respectFloorCalls#1;stopRequestedInDirection__wrappee__twothirdsfull_~respectInLiftCalls#1 := stopRequestedInDirection__wrappee__twothirdsfull_#in~respectInLiftCalls#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_~retValue_acc~22#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_~overload~0#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_~buttonPressed~0#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_~tmp~19#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp8~6#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp9~5#1;stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp8~6#1 := 2 * ~maximumWeight~0;stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp9~5#1 := (if stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp8~6#1 < 0 && 0 != stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp8~6#1 % 3 then 1 + stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp8~6#1 / 3 else stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp8~6#1 / 3);stopRequestedInDirection__wrappee__twothirdsfull_~overload~0#1 := (if ~weight~0 > stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp9~5#1 then 1 else 0);assume { :begin_inline_isAnyLiftButtonPressed } true;havoc isAnyLiftButtonPressed_#res#1;havoc isAnyLiftButtonPressed_~retValue_acc~24#1;havoc isAnyLiftButtonPressed_~retValue_acc~24#1; 721893#L2577 assume !(0 != ~floorButtons_0~0); 726804#L2581 assume !(0 != ~floorButtons_1~0); 722818#L2585 assume !(0 != ~floorButtons_2~0); 722819#L2589 assume 0 != ~floorButtons_3~0;isAnyLiftButtonPressed_~retValue_acc~24#1 := 1;isAnyLiftButtonPressed_#res#1 := isAnyLiftButtonPressed_~retValue_acc~24#1; 722031#isAnyLiftButtonPressed_returnLabel#1 stopRequestedInDirection__wrappee__twothirdsfull_#t~ret69#1 := isAnyLiftButtonPressed_#res#1;havoc isAnyLiftButtonPressed_~retValue_acc~24#1;assume { :end_inline_isAnyLiftButtonPressed } true;stopRequestedInDirection__wrappee__twothirdsfull_~tmp~19#1 := stopRequestedInDirection__wrappee__twothirdsfull_#t~ret69#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_#t~ret69#1;stopRequestedInDirection__wrappee__twothirdsfull_~buttonPressed~0#1 := stopRequestedInDirection__wrappee__twothirdsfull_~tmp~19#1; 729485#L2521 assume !(0 != stopRequestedInDirection__wrappee__twothirdsfull_~overload~0#1);assume { :begin_inline_stopRequestedInDirection__wrappee__empty } true;stopRequestedInDirection__wrappee__empty_#in~dir#1, stopRequestedInDirection__wrappee__empty_#in~respectFloorCalls#1, stopRequestedInDirection__wrappee__empty_#in~respectInLiftCalls#1 := stopRequestedInDirection__wrappee__twothirdsfull_~dir#1, stopRequestedInDirection__wrappee__twothirdsfull_~respectFloorCalls#1, stopRequestedInDirection__wrappee__twothirdsfull_~respectInLiftCalls#1;havoc stopRequestedInDirection__wrappee__empty_#res#1;havoc stopRequestedInDirection__wrappee__empty_#t~ret58#1, stopRequestedInDirection__wrappee__empty_#t~ret59#1, stopRequestedInDirection__wrappee__empty_#t~ret60#1, stopRequestedInDirection__wrappee__empty_#t~ret61#1, stopRequestedInDirection__wrappee__empty_#t~ret62#1, stopRequestedInDirection__wrappee__empty_#t~ret63#1, stopRequestedInDirection__wrappee__empty_#t~ret64#1, stopRequestedInDirection__wrappee__empty_#t~ret65#1, stopRequestedInDirection__wrappee__empty_#t~ret66#1, stopRequestedInDirection__wrappee__empty_#t~ret67#1, stopRequestedInDirection__wrappee__empty_#t~ret68#1, stopRequestedInDirection__wrappee__empty_~dir#1, stopRequestedInDirection__wrappee__empty_~respectFloorCalls#1, stopRequestedInDirection__wrappee__empty_~respectInLiftCalls#1, stopRequestedInDirection__wrappee__empty_~retValue_acc~21#1, stopRequestedInDirection__wrappee__empty_~tmp~18#1, stopRequestedInDirection__wrappee__empty_~tmp___0~4#1, stopRequestedInDirection__wrappee__empty_~tmp___1~3#1, stopRequestedInDirection__wrappee__empty_~tmp___2~3#1, stopRequestedInDirection__wrappee__empty_~tmp___3~2#1, stopRequestedInDirection__wrappee__empty_~tmp___4~1#1, stopRequestedInDirection__wrappee__empty_~tmp___5~0#1, stopRequestedInDirection__wrappee__empty_~tmp___6~0#1, stopRequestedInDirection__wrappee__empty_~tmp___7~0#1, stopRequestedInDirection__wrappee__empty_~tmp___8~0#1, stopRequestedInDirection__wrappee__empty_~tmp___9~0#1;stopRequestedInDirection__wrappee__empty_~dir#1 := stopRequestedInDirection__wrappee__empty_#in~dir#1;stopRequestedInDirection__wrappee__empty_~respectFloorCalls#1 := stopRequestedInDirection__wrappee__empty_#in~respectFloorCalls#1;stopRequestedInDirection__wrappee__empty_~respectInLiftCalls#1 := stopRequestedInDirection__wrappee__empty_#in~respectInLiftCalls#1;havoc stopRequestedInDirection__wrappee__empty_~retValue_acc~21#1;havoc stopRequestedInDirection__wrappee__empty_~tmp~18#1;havoc stopRequestedInDirection__wrappee__empty_~tmp___0~4#1;havoc stopRequestedInDirection__wrappee__empty_~tmp___1~3#1;havoc stopRequestedInDirection__wrappee__empty_~tmp___2~3#1;havoc stopRequestedInDirection__wrappee__empty_~tmp___3~2#1;havoc stopRequestedInDirection__wrappee__empty_~tmp___4~1#1;havoc stopRequestedInDirection__wrappee__empty_~tmp___5~0#1;havoc stopRequestedInDirection__wrappee__empty_~tmp___6~0#1;havoc stopRequestedInDirection__wrappee__empty_~tmp___7~0#1;havoc stopRequestedInDirection__wrappee__empty_~tmp___8~0#1;havoc stopRequestedInDirection__wrappee__empty_~tmp___9~0#1; 730174#L2167-2 assume !(1 == stopRequestedInDirection__wrappee__empty_~dir#1); 724303#L2336-2 assume 0 == ~currentFloorID~0;stopRequestedInDirection__wrappee__empty_~retValue_acc~21#1 := 0;stopRequestedInDirection__wrappee__empty_#res#1 := stopRequestedInDirection__wrappee__empty_~retValue_acc~21#1; 722105#stopRequestedInDirection__wrappee__empty_returnLabel#3 stopRequestedInDirection__wrappee__twothirdsfull_#t~ret72#1 := stopRequestedInDirection__wrappee__empty_#res#1;havoc stopRequestedInDirection__wrappee__empty_#t~ret58#1, stopRequestedInDirection__wrappee__empty_#t~ret59#1, stopRequestedInDirection__wrappee__empty_#t~ret60#1, stopRequestedInDirection__wrappee__empty_#t~ret61#1, stopRequestedInDirection__wrappee__empty_#t~ret62#1, stopRequestedInDirection__wrappee__empty_#t~ret63#1, stopRequestedInDirection__wrappee__empty_#t~ret64#1, stopRequestedInDirection__wrappee__empty_#t~ret65#1, stopRequestedInDirection__wrappee__empty_#t~ret66#1, stopRequestedInDirection__wrappee__empty_#t~ret67#1, stopRequestedInDirection__wrappee__empty_#t~ret68#1, stopRequestedInDirection__wrappee__empty_~dir#1, stopRequestedInDirection__wrappee__empty_~respectFloorCalls#1, stopRequestedInDirection__wrappee__empty_~respectInLiftCalls#1, stopRequestedInDirection__wrappee__empty_~retValue_acc~21#1, stopRequestedInDirection__wrappee__empty_~tmp~18#1, stopRequestedInDirection__wrappee__empty_~tmp___0~4#1, stopRequestedInDirection__wrappee__empty_~tmp___1~3#1, stopRequestedInDirection__wrappee__empty_~tmp___2~3#1, stopRequestedInDirection__wrappee__empty_~tmp___3~2#1, stopRequestedInDirection__wrappee__empty_~tmp___4~1#1, stopRequestedInDirection__wrappee__empty_~tmp___5~0#1, stopRequestedInDirection__wrappee__empty_~tmp___6~0#1, stopRequestedInDirection__wrappee__empty_~tmp___7~0#1, stopRequestedInDirection__wrappee__empty_~tmp___8~0#1, stopRequestedInDirection__wrappee__empty_~tmp___9~0#1;havoc stopRequestedInDirection__wrappee__empty_#in~dir#1, stopRequestedInDirection__wrappee__empty_#in~respectFloorCalls#1, stopRequestedInDirection__wrappee__empty_#in~respectInLiftCalls#1;assume { :end_inline_stopRequestedInDirection__wrappee__empty } true;stopRequestedInDirection__wrappee__twothirdsfull_~retValue_acc~22#1 := stopRequestedInDirection__wrappee__twothirdsfull_#t~ret72#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_#t~ret72#1;stopRequestedInDirection__wrappee__twothirdsfull_#res#1 := stopRequestedInDirection__wrappee__twothirdsfull_~retValue_acc~22#1; 722100#stopRequestedInDirection__wrappee__twothirdsfull_returnLabel#1 stopRequestedInDirection_#t~ret75#1 := stopRequestedInDirection__wrappee__twothirdsfull_#res#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_#t~ret69#1, stopRequestedInDirection__wrappee__twothirdsfull_#t~ret70#1, stopRequestedInDirection__wrappee__twothirdsfull_#t~ret71#1, stopRequestedInDirection__wrappee__twothirdsfull_#t~ret72#1, stopRequestedInDirection__wrappee__twothirdsfull_~dir#1, stopRequestedInDirection__wrappee__twothirdsfull_~respectFloorCalls#1, stopRequestedInDirection__wrappee__twothirdsfull_~respectInLiftCalls#1, stopRequestedInDirection__wrappee__twothirdsfull_~retValue_acc~22#1, stopRequestedInDirection__wrappee__twothirdsfull_~overload~0#1, stopRequestedInDirection__wrappee__twothirdsfull_~buttonPressed~0#1, stopRequestedInDirection__wrappee__twothirdsfull_~tmp~19#1, stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp8~6#1, stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp9~5#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_#in~dir#1, stopRequestedInDirection__wrappee__twothirdsfull_#in~respectFloorCalls#1, stopRequestedInDirection__wrappee__twothirdsfull_#in~respectInLiftCalls#1;assume { :end_inline_stopRequestedInDirection__wrappee__twothirdsfull } true;stopRequestedInDirection_~retValue_acc~23#1 := stopRequestedInDirection_#t~ret75#1;havoc stopRequestedInDirection_#t~ret75#1;stopRequestedInDirection_#res#1 := stopRequestedInDirection_~retValue_acc~23#1; 724444#stopRequestedInDirection_returnLabel#1 timeShift_#t~ret105#1 := stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret73#1, stopRequestedInDirection_#t~ret74#1, stopRequestedInDirection_#t~ret75#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~23#1, stopRequestedInDirection_~tmp~20#1, stopRequestedInDirection_~tmp___0~5#1, stopRequestedInDirection_~__cil_tmp7~6#1, stopRequestedInDirection_~__cil_tmp8~7#1;havoc stopRequestedInDirection_#in~dir#1, stopRequestedInDirection_#in~respectFloorCalls#1, stopRequestedInDirection_#in~respectInLiftCalls#1;assume { :end_inline_stopRequestedInDirection } true;timeShift_~tmp___8~2#1 := timeShift_#t~ret105#1;havoc timeShift_#t~ret105#1; 721466#L2952 assume 0 != timeShift_~tmp___8~2#1;assume { :begin_inline_continueInDirection } true;continueInDirection_#in~dir#1 := ~currentHeading~0;havoc continueInDirection_#t~ret76#1, continueInDirection_~dir#1, continueInDirection_~tmp~21#1;continueInDirection_~dir#1 := continueInDirection_#in~dir#1;havoc continueInDirection_~tmp~21#1;~currentHeading~0 := continueInDirection_~dir#1; 721467#L2612 assume !(1 == ~currentHeading~0); 725990#L2622 assume !(0 == ~currentFloorID~0); 725991#L2622-2 assume !(1 == ~currentHeading~0);~currentFloorID~0 := ~currentFloorID~0 - 1; 725778#L2628-1 havoc continueInDirection_#t~ret76#1, continueInDirection_~dir#1, continueInDirection_~tmp~21#1;havoc continueInDirection_#in~dir#1;assume { :end_inline_continueInDirection } true; 720956#L2961-2 assume { :begin_inline___utac_acc__Specification13_spec__2 } true;havoc __utac_acc__Specification13_spec__2_#t~ret28#1, __utac_acc__Specification13_spec__2_#t~ret29#1, __utac_acc__Specification13_spec__2_#t~ret30#1, __utac_acc__Specification13_spec__2_#t~ret31#1, __utac_acc__Specification13_spec__2_#t~ret32#1, __utac_acc__Specification13_spec__2_#t~ret33#1, __utac_acc__Specification13_spec__2_~tmp~3#1, __utac_acc__Specification13_spec__2_~tmp___0~0#1, __utac_acc__Specification13_spec__2_~tmp___1~0#1, __utac_acc__Specification13_spec__2_~tmp___2~0#1, __utac_acc__Specification13_spec__2_~tmp___3~0#1, __utac_acc__Specification13_spec__2_~tmp___4~0#1, __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1, __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1;havoc __utac_acc__Specification13_spec__2_~tmp~3#1;havoc __utac_acc__Specification13_spec__2_~tmp___0~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___1~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___2~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___3~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___4~0#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1;__utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 := 2 * ~maximumWeight~0;__utac_acc__Specification13_spec__2_~__cil_tmp8~5#1 := (if __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 < 0 && 0 != __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 % 3 then 1 + __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 / 3 else __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 / 3); 720957#L454 assume ~weight~0 > __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1; 723207#L455 assume 1 == ~prevDir~0;assume { :begin_inline_existInLiftCallsInDirection } true;existInLiftCallsInDirection_#in~d#1 := 0;havoc existInLiftCallsInDirection_#res#1;havoc existInLiftCallsInDirection_~d#1, existInLiftCallsInDirection_~retValue_acc~29#1, existInLiftCallsInDirection_~i~1#1, existInLiftCallsInDirection_~i___0~0#1;existInLiftCallsInDirection_~d#1 := existInLiftCallsInDirection_#in~d#1;havoc existInLiftCallsInDirection_~retValue_acc~29#1;havoc existInLiftCallsInDirection_~i~1#1;havoc existInLiftCallsInDirection_~i___0~0#1; 723209#L3156 assume !(1 == existInLiftCallsInDirection_~d#1); 725172#L3222 assume 0 == existInLiftCallsInDirection_~d#1;existInLiftCallsInDirection_~i___0~0#1 := 0;existInLiftCallsInDirection_~i___0~0#1 := ~currentFloorID~0 - 1; 724689#L3226-2 [2024-10-12 00:47:57,524 INFO L747 eck$LassoCheckResult]: Loop: 724689#L3226-2 assume !false; 725519#L3227 assume existInLiftCallsInDirection_~i___0~0#1 >= 0; 725520#L3228 existInLiftCallsInDirection_~i___0~0#1 := 1 + ~currentFloorID~0; 721181#L3235-2 assume !false; 721182#L3236 assume !(existInLiftCallsInDirection_~i___0~0#1 < 5); 724569#L3294 existInLiftCallsInDirection_~i___0~0#1 := existInLiftCallsInDirection_~i___0~0#1 - 1; 724689#L3226-2 [2024-10-12 00:47:57,525 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-12 00:47:57,525 INFO L85 PathProgramCache]: Analyzing trace with hash 909591607, now seen corresponding path program 1 times [2024-10-12 00:47:57,525 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-12 00:47:57,525 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [380240861] [2024-10-12 00:47:57,525 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-12 00:47:57,525 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-12 00:47:57,555 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-12 00:47:57,588 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-10-12 00:47:57,589 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-10-12 00:47:57,589 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [380240861] [2024-10-12 00:47:57,589 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [380240861] provided 1 perfect and 0 imperfect interpolant sequences [2024-10-12 00:47:57,589 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-10-12 00:47:57,589 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2024-10-12 00:47:57,589 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [398867132] [2024-10-12 00:47:57,590 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-10-12 00:47:57,590 INFO L750 eck$LassoCheckResult]: stem already infeasible [2024-10-12 00:47:57,590 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-12 00:47:57,590 INFO L85 PathProgramCache]: Analyzing trace with hash 1717871275, now seen corresponding path program 18 times [2024-10-12 00:47:57,590 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-12 00:47:57,591 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [178072721] [2024-10-12 00:47:57,591 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-12 00:47:57,591 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-12 00:47:57,600 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-12 00:47:57,600 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-10-12 00:47:57,601 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-12 00:47:57,607 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-10-12 00:47:57,627 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-10-12 00:47:57,627 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2024-10-12 00:47:57,627 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2024-10-12 00:47:57,628 INFO L87 Difference]: Start difference. First operand 97794 states and 176303 transitions. cyclomatic complexity: 78847 Second operand has 3 states, 3 states have (on average 29.666666666666668) internal successors, (89), 2 states have internal predecessors, (89), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-10-12 00:47:59,240 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-10-12 00:47:59,241 INFO L93 Difference]: Finished difference Result 193598 states and 347967 transitions. [2024-10-12 00:47:59,241 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 193598 states and 347967 transitions. [2024-10-12 00:48:00,719 INFO L131 ngComponentsAnalysis]: Automaton has 642 accepting balls. 69294 [2024-10-12 00:48:01,220 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 193598 states to 193598 states and 347967 transitions. [2024-10-12 00:48:01,220 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 193068 [2024-10-12 00:48:01,359 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 193068 [2024-10-12 00:48:01,359 INFO L73 IsDeterministic]: Start isDeterministic. Operand 193598 states and 347967 transitions. [2024-10-12 00:48:01,360 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-10-12 00:48:01,360 INFO L218 hiAutomatonCegarLoop]: Abstraction has 193598 states and 347967 transitions. [2024-10-12 00:48:01,485 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 193598 states and 347967 transitions. [2024-10-12 00:48:03,585 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 193598 to 193582. [2024-10-12 00:48:03,778 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 193582 states, 193582 states have (on average 1.7974346788441073) internal successors, (347951), 193581 states have internal predecessors, (347951), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-10-12 00:48:04,269 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 193582 states to 193582 states and 347951 transitions. [2024-10-12 00:48:04,269 INFO L240 hiAutomatonCegarLoop]: Abstraction has 193582 states and 347951 transitions. [2024-10-12 00:48:04,269 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2024-10-12 00:48:04,270 INFO L425 stractBuchiCegarLoop]: Abstraction has 193582 states and 347951 transitions. [2024-10-12 00:48:04,270 INFO L332 stractBuchiCegarLoop]: ======== Iteration 21 ============ [2024-10-12 00:48:04,270 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 193582 states and 347951 transitions. [2024-10-12 00:48:05,569 INFO L131 ngComponentsAnalysis]: Automaton has 642 accepting balls. 69294 [2024-10-12 00:48:05,569 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-10-12 00:48:05,569 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-10-12 00:48:05,570 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-10-12 00:48:05,570 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1] [2024-10-12 00:48:05,570 INFO L745 eck$LassoCheckResult]: Stem: 1020414#$Ultimate##0 assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int#0(48, 1, 0, 1);call write~init~int#0(0, 1, 1, 1);call #Ultimate.allocInit(32, 2);call #Ultimate.allocInit(12, 3);call #Ultimate.allocInit(30, 4);call #Ultimate.allocInit(9, 5);call #Ultimate.allocInit(21, 6);call #Ultimate.allocInit(30, 7);call #Ultimate.allocInit(9, 8);call #Ultimate.allocInit(21, 9);call #Ultimate.allocInit(30, 10);call #Ultimate.allocInit(9, 11);call #Ultimate.allocInit(25, 12);call #Ultimate.allocInit(30, 13);call #Ultimate.allocInit(9, 14);call #Ultimate.allocInit(25, 15);call #Ultimate.allocInit(10, 16);call #Ultimate.allocInit(4, 17);call write~init~int#5(91, 17, 0, 1);call write~init~int#5(95, 17, 1, 1);call write~init~int#5(93, 17, 2, 1);call write~init~int#5(0, 17, 3, 1);call #Ultimate.allocInit(4, 18);call write~init~int#6(91, 18, 0, 1);call write~init~int#6(93, 18, 1, 1);call write~init~int#6(32, 18, 2, 1);call write~init~int#6(0, 18, 3, 1);call #Ultimate.allocInit(5, 19);call write~init~int#7(32, 19, 0, 1);call write~init~int#7(97, 19, 1, 1);call write~init~int#7(116, 19, 2, 1);call write~init~int#7(32, 19, 3, 1);call write~init~int#7(0, 19, 4, 1);call #Ultimate.allocInit(3, 20);call write~init~int#8(37, 20, 0, 1);call write~init~int#8(105, 20, 1, 1);call write~init~int#8(0, 20, 2, 1);call #Ultimate.allocInit(10, 21);call #Ultimate.allocInit(3, 22);call write~init~int#9(117, 22, 0, 1);call write~init~int#9(112, 22, 1, 1);call write~init~int#9(0, 22, 2, 1);call #Ultimate.allocInit(5, 23);call write~init~int#10(100, 23, 0, 1);call write~init~int#10(111, 23, 1, 1);call write~init~int#10(119, 23, 2, 1);call write~init~int#10(110, 23, 3, 1);call write~init~int#10(0, 23, 4, 1);call #Ultimate.allocInit(7, 24);call write~init~int#11(32, 24, 0, 1);call write~init~int#11(73, 24, 1, 1);call write~init~int#11(76, 24, 2, 1);call write~init~int#11(95, 24, 3, 1);call write~init~int#11(112, 24, 4, 1);call write~init~int#11(58, 24, 5, 1);call write~init~int#11(0, 24, 6, 1);call #Ultimate.allocInit(4, 25);call write~init~int#12(32, 25, 0, 1);call write~init~int#12(37, 25, 1, 1);call write~init~int#12(105, 25, 2, 1);call write~init~int#12(0, 25, 3, 1);call #Ultimate.allocInit(4, 26);call write~init~int#13(32, 26, 0, 1);call write~init~int#13(37, 26, 1, 1);call write~init~int#13(105, 26, 2, 1);call write~init~int#13(0, 26, 3, 1);call #Ultimate.allocInit(4, 27);call write~init~int#14(32, 27, 0, 1);call write~init~int#14(37, 27, 1, 1);call write~init~int#14(105, 27, 2, 1);call write~init~int#14(0, 27, 3, 1);call #Ultimate.allocInit(4, 28);call write~init~int#15(32, 28, 0, 1);call write~init~int#15(37, 28, 1, 1);call write~init~int#15(105, 28, 2, 1);call write~init~int#15(0, 28, 3, 1);call #Ultimate.allocInit(4, 29);call write~init~int#16(32, 29, 0, 1);call write~init~int#16(37, 29, 1, 1);call write~init~int#16(105, 29, 2, 1);call write~init~int#16(0, 29, 3, 1);call #Ultimate.allocInit(6, 30);call write~init~int#17(32, 30, 0, 1);call write~init~int#17(70, 30, 1, 1);call write~init~int#17(95, 30, 2, 1);call write~init~int#17(112, 30, 3, 1);call write~init~int#17(58, 30, 4, 1);call write~init~int#17(0, 30, 5, 1);call #Ultimate.allocInit(4, 31);call write~init~int#18(32, 31, 0, 1);call write~init~int#18(37, 31, 1, 1);call write~init~int#18(105, 31, 2, 1);call write~init~int#18(0, 31, 3, 1);call #Ultimate.allocInit(4, 32);call write~init~int#19(32, 32, 0, 1);call write~init~int#19(37, 32, 1, 1);call write~init~int#19(105, 32, 2, 1);call write~init~int#19(0, 32, 3, 1);call #Ultimate.allocInit(4, 33);call write~init~int#1(32, 33, 0, 1);call write~init~int#1(37, 33, 1, 1);call write~init~int#1(105, 33, 2, 1);call write~init~int#1(0, 33, 3, 1);call #Ultimate.allocInit(4, 34);call write~init~int#2(32, 34, 0, 1);call write~init~int#2(37, 34, 1, 1);call write~init~int#2(105, 34, 2, 1);call write~init~int#2(0, 34, 3, 1);call #Ultimate.allocInit(4, 35);call write~init~int#3(32, 35, 0, 1);call write~init~int#3(37, 35, 1, 1);call write~init~int#3(105, 35, 2, 1);call write~init~int#3(0, 35, 3, 1);call #Ultimate.allocInit(2, 36);call write~init~int#4(10, 36, 0, 1);call write~init~int#4(0, 36, 1, 1);~head~0.base, ~head~0.offset := 0, 0;~weight~0 := 0;~maximumWeight~0 := 100;~executiveFloor~0 := 4;~prevDir~0 := 0;~calls_0~0 := 0;~calls_1~0 := 0;~calls_2~0 := 0;~calls_3~0 := 0;~calls_4~0 := 0;~personOnFloor_0_0~0 := 0;~personOnFloor_0_1~0 := 0;~personOnFloor_0_2~0 := 0;~personOnFloor_0_3~0 := 0;~personOnFloor_0_4~0 := 0;~personOnFloor_1_0~0 := 0;~personOnFloor_1_1~0 := 0;~personOnFloor_1_2~0 := 0;~personOnFloor_1_3~0 := 0;~personOnFloor_1_4~0 := 0;~personOnFloor_2_0~0 := 0;~personOnFloor_2_1~0 := 0;~personOnFloor_2_2~0 := 0;~personOnFloor_2_3~0 := 0;~personOnFloor_2_4~0 := 0;~personOnFloor_3_0~0 := 0;~personOnFloor_3_1~0 := 0;~personOnFloor_3_2~0 := 0;~personOnFloor_3_3~0 := 0;~personOnFloor_3_4~0 := 0;~personOnFloor_4_0~0 := 0;~personOnFloor_4_1~0 := 0;~personOnFloor_4_2~0 := 0;~personOnFloor_4_3~0 := 0;~personOnFloor_4_4~0 := 0;~personOnFloor_5_0~0 := 0;~personOnFloor_5_1~0 := 0;~personOnFloor_5_2~0 := 0;~personOnFloor_5_3~0 := 0;~personOnFloor_5_4~0 := 0;~cleanupTimeShifts~0 := 12;~currentHeading~0 := 1;~currentFloorID~0 := 0;~persons_0~0 := 0;~persons_1~0 := 0;~persons_2~0 := 0;~persons_3~0 := 0;~persons_4~0 := 0;~persons_5~0 := 0;~doorState~0 := 1;~floorButtons_0~0 := 0;~floorButtons_1~0 := 0;~floorButtons_2~0 := 0;~floorButtons_3~0 := 0;~floorButtons_4~0 := 0; 1020126#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret47#1, main_~retValue_acc~10#1, main_~tmp~12#1;havoc main_~retValue_acc~10#1;havoc main_~tmp~12#1;assume { :begin_inline_select_helpers } true; 1020127#select_helpers_returnLabel#1 assume { :end_inline_select_helpers } true;assume { :begin_inline_select_features } true; 1022565#select_features_returnLabel#1 assume { :end_inline_select_features } true;assume { :begin_inline_valid_product } true;havoc valid_product_#res#1;havoc valid_product_~retValue_acc~12#1;havoc valid_product_~retValue_acc~12#1;valid_product_~retValue_acc~12#1 := 1;valid_product_#res#1 := valid_product_~retValue_acc~12#1; 1013869#valid_product_returnLabel#1 main_#t~ret47#1 := valid_product_#res#1;havoc valid_product_~retValue_acc~12#1;assume { :end_inline_valid_product } true;main_~tmp~12#1 := main_#t~ret47#1;havoc main_#t~ret47#1; 1013870#L1651 assume 0 != main_~tmp~12#1;assume { :begin_inline_setup } true; 1015637#setup_returnLabel#1 assume { :end_inline_setup } true;assume { :begin_inline_runTest } true;assume { :begin_inline_test } true;assume { :begin_inline_aliceCall } true;havoc aliceCall_#t~ret36#1, aliceCall_~tmp~5#1;havoc aliceCall_~tmp~5#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 1;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~4#1; 1015638#L564 assume !(0 == getOrigin_~person#1); 1014253#L568 assume 1 == getOrigin_~person#1;getOrigin_~retValue_acc~4#1 := 3;getOrigin_#res#1 := getOrigin_~retValue_acc~4#1; 1014254#getOrigin_returnLabel#1 aliceCall_#t~ret36#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;aliceCall_~tmp~5#1 := aliceCall_#t~ret36#1;havoc aliceCall_#t~ret36#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 1, aliceCall_~tmp~5#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 1014864#L999 assume !(0 == initPersonOnFloor_~floor#1); 1014865#L1026 assume !(1 == initPersonOnFloor_~floor#1); 1021336#L1053 assume !(2 == initPersonOnFloor_~floor#1); 1021941#L1080 assume 3 == initPersonOnFloor_~floor#1; 1018626#L1081 assume !(0 == initPersonOnFloor_~person#1); 1018627#L1084 assume 1 == initPersonOnFloor_~person#1;~personOnFloor_1_3~0 := 1; 1016275#L1107-1 assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 1013127#L791 assume !(0 == callOnFloor_~floorID#1); 1012975#L794 assume !(1 == callOnFloor_~floorID#1); 1012929#L797 assume !(2 == callOnFloor_~floorID#1); 1012930#L800 assume 3 == callOnFloor_~floorID#1;~calls_3~0 := 1; 1014901#L803-2 havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true; 1014501#initPersonOnFloor_returnLabel#1 havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true; 1014502#aliceCall_returnLabel#1 havoc aliceCall_#t~ret36#1, aliceCall_~tmp~5#1;assume { :end_inline_aliceCall } true;assume { :begin_inline_angelinaCall } true;havoc angelinaCall_#t~ret37#1, angelinaCall_~tmp~6#1;havoc angelinaCall_~tmp~6#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 2;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~4#1; 1020466#L564-1 assume !(0 == getOrigin_~person#1); 1015376#L568-1 assume !(1 == getOrigin_~person#1); 1015377#L572-1 assume 2 == getOrigin_~person#1;getOrigin_~retValue_acc~4#1 := 2;getOrigin_#res#1 := getOrigin_~retValue_acc~4#1; 1013248#getOrigin_returnLabel#2 angelinaCall_#t~ret37#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;angelinaCall_~tmp~6#1 := angelinaCall_#t~ret37#1;havoc angelinaCall_#t~ret37#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 2, angelinaCall_~tmp~6#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 1013249#L999-1 assume !(0 == initPersonOnFloor_~floor#1); 1019104#L1026-1 assume !(1 == initPersonOnFloor_~floor#1); 1020718#L1053-1 assume 2 == initPersonOnFloor_~floor#1; 1020719#L1054-2 assume !(0 == initPersonOnFloor_~person#1); 1021473#L1057-2 assume !(1 == initPersonOnFloor_~person#1); 1019419#L1060-2 assume 2 == initPersonOnFloor_~person#1;~personOnFloor_2_2~0 := 1; 1018493#L1107-3 assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 1018494#L791-2 assume !(0 == callOnFloor_~floorID#1); 1022327#L794-2 assume !(1 == callOnFloor_~floorID#1); 1022328#L797-2 assume 2 == callOnFloor_~floorID#1;~calls_2~0 := 1; 1022442#L803-5 havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true; 1018550#initPersonOnFloor_returnLabel#2 havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true; 1018551#angelinaCall_returnLabel#1 havoc angelinaCall_#t~ret37#1, angelinaCall_~tmp~6#1;assume { :end_inline_angelinaCall } true;assume { :begin_inline_threeTS } true;assume { :begin_inline_timeShift } true;havoc timeShift_#t~ret98#1, timeShift_#t~ret99#1, timeShift_#t~ret100#1, timeShift_#t~ret101#1, timeShift_#t~ret102#1, timeShift_#t~ret103#1, timeShift_#t~ret104#1, timeShift_#t~ret105#1, timeShift_#t~ret106#1, timeShift_#t~ret107#1, timeShift_#t~ret108#1, timeShift_~tmp~26#1, timeShift_~tmp___0~10#1, timeShift_~tmp___1~5#1, timeShift_~tmp___2~5#1, timeShift_~tmp___3~4#1, timeShift_~tmp___4~3#1, timeShift_~tmp___5~2#1, timeShift_~tmp___6~2#1, timeShift_~tmp___7~2#1, timeShift_~tmp___8~2#1, timeShift_~tmp___9~2#1;havoc timeShift_~tmp~26#1;havoc timeShift_~tmp___0~10#1;havoc timeShift_~tmp___1~5#1;havoc timeShift_~tmp___2~5#1;havoc timeShift_~tmp___3~4#1;havoc timeShift_~tmp___4~3#1;havoc timeShift_~tmp___5~2#1;havoc timeShift_~tmp___6~2#1;havoc timeShift_~tmp___7~2#1;havoc timeShift_~tmp___8~2#1;havoc timeShift_~tmp___9~2#1;assume { :begin_inline___utac_acc__Specification13_spec__1 } true;havoc __utac_acc__Specification13_spec__1_#t~ret27#1;assume { :begin_inline_getCurrentHeading } true;havoc getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~17#1;havoc getCurrentHeading_~retValue_acc~17#1;getCurrentHeading_~retValue_acc~17#1 := ~currentHeading~0;getCurrentHeading_#res#1 := getCurrentHeading_~retValue_acc~17#1; 1022305#getCurrentHeading_returnLabel#1 __utac_acc__Specification13_spec__1_#t~ret27#1 := getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~17#1;assume { :end_inline_getCurrentHeading } true;~prevDir~0 := __utac_acc__Specification13_spec__1_#t~ret27#1;havoc __utac_acc__Specification13_spec__1_#t~ret27#1; 1018920#__utac_acc__Specification13_spec__1_returnLabel#1 havoc __utac_acc__Specification13_spec__1_#t~ret27#1;assume { :end_inline___utac_acc__Specification13_spec__1 } true;assume { :begin_inline_stopRequestedAtCurrentFloor } true;havoc stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1, stopRequestedAtCurrentFloor_#t~ret83#1, stopRequestedAtCurrentFloor_#t~ret84#1, stopRequestedAtCurrentFloor_#t~ret85#1, stopRequestedAtCurrentFloor_~retValue_acc~27#1, stopRequestedAtCurrentFloor_~tmp~24#1, stopRequestedAtCurrentFloor_~tmp___0~8#1;havoc stopRequestedAtCurrentFloor_~retValue_acc~27#1;havoc stopRequestedAtCurrentFloor_~tmp~24#1;havoc stopRequestedAtCurrentFloor_~tmp___0~8#1;assume { :begin_inline_isExecutiveFloorCalling } true;havoc isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;havoc isExecutiveFloorCalling_~retValue_acc~30#1;assume { :begin_inline_isFloorCalling } true;isFloorCalling_#in~floorID#1 := ~executiveFloor~0;havoc isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;isFloorCalling_~floorID#1 := isFloorCalling_#in~floorID#1;havoc isFloorCalling_~retValue_acc~6#1; 1018921#L728 assume !(0 == isFloorCalling_~floorID#1); 1022350#L732 assume !(1 == isFloorCalling_~floorID#1); 1022351#L736 assume !(2 == isFloorCalling_~floorID#1); 1021291#L740 assume !(3 == isFloorCalling_~floorID#1); 1020595#L744 assume 4 == isFloorCalling_~floorID#1;isFloorCalling_~retValue_acc~6#1 := ~calls_4~0;isFloorCalling_#res#1 := isFloorCalling_~retValue_acc~6#1; 1020596#isFloorCalling_returnLabel#1 isExecutiveFloorCalling_#t~ret135#1 := isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;havoc isFloorCalling_#in~floorID#1;assume { :end_inline_isFloorCalling } true;isExecutiveFloorCalling_~retValue_acc~30#1 := isExecutiveFloorCalling_#t~ret135#1;havoc isExecutiveFloorCalling_#t~ret135#1;isExecutiveFloorCalling_#res#1 := isExecutiveFloorCalling_~retValue_acc~30#1; 1022299#isExecutiveFloorCalling_returnLabel#1 stopRequestedAtCurrentFloor_#t~ret82#1 := isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;assume { :end_inline_isExecutiveFloorCalling } true;stopRequestedAtCurrentFloor_~tmp~24#1 := stopRequestedAtCurrentFloor_#t~ret82#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1; 1020322#L2700 assume !(0 != stopRequestedAtCurrentFloor_~tmp~24#1);assume { :begin_inline_stopRequestedAtCurrentFloor__wrappee__twothirdsfull } true;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#res#1;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret79#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret80#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret81#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~retValue_acc~26#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp~23#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp___0~7#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp4~3#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp5~4#1;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~retValue_acc~26#1;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp~23#1;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp___0~7#1;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp4~3#1;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp5~4#1;stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp4~3#1 := 2 * ~maximumWeight~0;stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp5~4#1 := (if stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp4~3#1 < 0 && 0 != stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp4~3#1 % 3 then 1 + stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp4~3#1 / 3 else stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp4~3#1 / 3); 1020323#L2674-1 assume ~weight~0 > stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp5~4#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;havoc getCurrentFloorID_~retValue_acc~14#1;getCurrentFloorID_~retValue_acc~14#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~14#1; 1019943#getCurrentFloorID_returnLabel#3 stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret79#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp~23#1 := stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret79#1;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret79#1;assume { :begin_inline_buttonForFloorIsPressed } true;buttonForFloorIsPressed_#in~floorID#1 := stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp~23#1;havoc buttonForFloorIsPressed_#res#1;havoc buttonForFloorIsPressed_~floorID#1, buttonForFloorIsPressed_~retValue_acc~16#1;buttonForFloorIsPressed_~floorID#1 := buttonForFloorIsPressed_#in~floorID#1;havoc buttonForFloorIsPressed_~retValue_acc~16#1; 1019944#L1980-2 assume 0 == buttonForFloorIsPressed_~floorID#1;buttonForFloorIsPressed_~retValue_acc~16#1 := ~floorButtons_0~0;buttonForFloorIsPressed_#res#1 := buttonForFloorIsPressed_~retValue_acc~16#1; 1019537#buttonForFloorIsPressed_returnLabel#3 stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret80#1 := buttonForFloorIsPressed_#res#1;havoc buttonForFloorIsPressed_~floorID#1, buttonForFloorIsPressed_~retValue_acc~16#1;havoc buttonForFloorIsPressed_#in~floorID#1;assume { :end_inline_buttonForFloorIsPressed } true;stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp___0~7#1 := stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret80#1;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret80#1;stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~retValue_acc~26#1 := (if 1 == stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp___0~7#1 then 1 else 0);stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#res#1 := stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~retValue_acc~26#1; 1015220#stopRequestedAtCurrentFloor__wrappee__twothirdsfull_returnLabel#2 stopRequestedAtCurrentFloor_#t~ret85#1 := stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#res#1;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret79#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret80#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret81#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~retValue_acc~26#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp~23#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp___0~7#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp4~3#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp5~4#1;assume { :end_inline_stopRequestedAtCurrentFloor__wrappee__twothirdsfull } true;stopRequestedAtCurrentFloor_~retValue_acc~27#1 := stopRequestedAtCurrentFloor_#t~ret85#1;havoc stopRequestedAtCurrentFloor_#t~ret85#1;stopRequestedAtCurrentFloor_#res#1 := stopRequestedAtCurrentFloor_~retValue_acc~27#1; 1012983#stopRequestedAtCurrentFloor_returnLabel#1 timeShift_#t~ret98#1 := stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1, stopRequestedAtCurrentFloor_#t~ret83#1, stopRequestedAtCurrentFloor_#t~ret84#1, stopRequestedAtCurrentFloor_#t~ret85#1, stopRequestedAtCurrentFloor_~retValue_acc~27#1, stopRequestedAtCurrentFloor_~tmp~24#1, stopRequestedAtCurrentFloor_~tmp___0~8#1;assume { :end_inline_stopRequestedAtCurrentFloor } true;timeShift_~tmp___9~2#1 := timeShift_#t~ret98#1;havoc timeShift_#t~ret98#1; 1012984#L2853 assume !(0 != timeShift_~tmp___9~2#1); 1013669#L2944 assume 1 == ~doorState~0;~doorState~0 := 0; 1014298#L2944-2 assume { :begin_inline_stopRequestedInDirection } true;stopRequestedInDirection_#in~dir#1, stopRequestedInDirection_#in~respectFloorCalls#1, stopRequestedInDirection_#in~respectInLiftCalls#1 := ~currentHeading~0, 1, 1;havoc stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret73#1, stopRequestedInDirection_#t~ret74#1, stopRequestedInDirection_#t~ret75#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~23#1, stopRequestedInDirection_~tmp~20#1, stopRequestedInDirection_~tmp___0~5#1, stopRequestedInDirection_~__cil_tmp7~6#1, stopRequestedInDirection_~__cil_tmp8~7#1;stopRequestedInDirection_~dir#1 := stopRequestedInDirection_#in~dir#1;stopRequestedInDirection_~respectFloorCalls#1 := stopRequestedInDirection_#in~respectFloorCalls#1;stopRequestedInDirection_~respectInLiftCalls#1 := stopRequestedInDirection_#in~respectInLiftCalls#1;havoc stopRequestedInDirection_~retValue_acc~23#1;havoc stopRequestedInDirection_~tmp~20#1;havoc stopRequestedInDirection_~tmp___0~5#1;havoc stopRequestedInDirection_~__cil_tmp7~6#1;havoc stopRequestedInDirection_~__cil_tmp8~7#1;assume { :begin_inline_isExecutiveFloorCalling } true;havoc isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;havoc isExecutiveFloorCalling_~retValue_acc~30#1;assume { :begin_inline_isFloorCalling } true;isFloorCalling_#in~floorID#1 := ~executiveFloor~0;havoc isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;isFloorCalling_~floorID#1 := isFloorCalling_#in~floorID#1;havoc isFloorCalling_~retValue_acc~6#1; 1014299#L728-3 assume !(0 == isFloorCalling_~floorID#1); 1022510#L732-3 assume !(1 == isFloorCalling_~floorID#1); 1014608#L736-3 assume !(2 == isFloorCalling_~floorID#1); 1014609#L740-3 assume !(3 == isFloorCalling_~floorID#1); 1016761#L744-3 assume 4 == isFloorCalling_~floorID#1;isFloorCalling_~retValue_acc~6#1 := ~calls_4~0;isFloorCalling_#res#1 := isFloorCalling_~retValue_acc~6#1; 1016762#isFloorCalling_returnLabel#4 isExecutiveFloorCalling_#t~ret135#1 := isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;havoc isFloorCalling_#in~floorID#1;assume { :end_inline_isFloorCalling } true;isExecutiveFloorCalling_~retValue_acc~30#1 := isExecutiveFloorCalling_#t~ret135#1;havoc isExecutiveFloorCalling_#t~ret135#1;isExecutiveFloorCalling_#res#1 := isExecutiveFloorCalling_~retValue_acc~30#1; 1017646#isExecutiveFloorCalling_returnLabel#2 stopRequestedInDirection_#t~ret73#1 := isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;assume { :end_inline_isExecutiveFloorCalling } true;stopRequestedInDirection_~tmp___0~5#1 := stopRequestedInDirection_#t~ret73#1;havoc stopRequestedInDirection_#t~ret73#1; 1013294#L2555 assume !(0 != stopRequestedInDirection_~tmp___0~5#1);assume { :begin_inline_stopRequestedInDirection__wrappee__twothirdsfull } true;stopRequestedInDirection__wrappee__twothirdsfull_#in~dir#1, stopRequestedInDirection__wrappee__twothirdsfull_#in~respectFloorCalls#1, stopRequestedInDirection__wrappee__twothirdsfull_#in~respectInLiftCalls#1 := stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_#res#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_#t~ret69#1, stopRequestedInDirection__wrappee__twothirdsfull_#t~ret70#1, stopRequestedInDirection__wrappee__twothirdsfull_#t~ret71#1, stopRequestedInDirection__wrappee__twothirdsfull_#t~ret72#1, stopRequestedInDirection__wrappee__twothirdsfull_~dir#1, stopRequestedInDirection__wrappee__twothirdsfull_~respectFloorCalls#1, stopRequestedInDirection__wrappee__twothirdsfull_~respectInLiftCalls#1, stopRequestedInDirection__wrappee__twothirdsfull_~retValue_acc~22#1, stopRequestedInDirection__wrappee__twothirdsfull_~overload~0#1, stopRequestedInDirection__wrappee__twothirdsfull_~buttonPressed~0#1, stopRequestedInDirection__wrappee__twothirdsfull_~tmp~19#1, stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp8~6#1, stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp9~5#1;stopRequestedInDirection__wrappee__twothirdsfull_~dir#1 := stopRequestedInDirection__wrappee__twothirdsfull_#in~dir#1;stopRequestedInDirection__wrappee__twothirdsfull_~respectFloorCalls#1 := stopRequestedInDirection__wrappee__twothirdsfull_#in~respectFloorCalls#1;stopRequestedInDirection__wrappee__twothirdsfull_~respectInLiftCalls#1 := stopRequestedInDirection__wrappee__twothirdsfull_#in~respectInLiftCalls#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_~retValue_acc~22#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_~overload~0#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_~buttonPressed~0#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_~tmp~19#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp8~6#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp9~5#1;stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp8~6#1 := 2 * ~maximumWeight~0;stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp9~5#1 := (if stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp8~6#1 < 0 && 0 != stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp8~6#1 % 3 then 1 + stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp8~6#1 / 3 else stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp8~6#1 / 3);stopRequestedInDirection__wrappee__twothirdsfull_~overload~0#1 := (if ~weight~0 > stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp9~5#1 then 1 else 0);assume { :begin_inline_isAnyLiftButtonPressed } true;havoc isAnyLiftButtonPressed_#res#1;havoc isAnyLiftButtonPressed_~retValue_acc~24#1;havoc isAnyLiftButtonPressed_~retValue_acc~24#1; 1013295#L2577 assume !(0 != ~floorButtons_0~0); 1018243#L2581 assume !(0 != ~floorButtons_1~0); 1014209#L2585 assume !(0 != ~floorButtons_2~0); 1014210#L2589 assume !(0 != ~floorButtons_3~0); 1013432#L2593 assume 0 != ~floorButtons_4~0;isAnyLiftButtonPressed_~retValue_acc~24#1 := 1;isAnyLiftButtonPressed_#res#1 := isAnyLiftButtonPressed_~retValue_acc~24#1; 1013433#isAnyLiftButtonPressed_returnLabel#1 stopRequestedInDirection__wrappee__twothirdsfull_#t~ret69#1 := isAnyLiftButtonPressed_#res#1;havoc isAnyLiftButtonPressed_~retValue_acc~24#1;assume { :end_inline_isAnyLiftButtonPressed } true;stopRequestedInDirection__wrappee__twothirdsfull_~tmp~19#1 := stopRequestedInDirection__wrappee__twothirdsfull_#t~ret69#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_#t~ret69#1;stopRequestedInDirection__wrappee__twothirdsfull_~buttonPressed~0#1 := stopRequestedInDirection__wrappee__twothirdsfull_~tmp~19#1; 1021025#L2521 assume !(0 != stopRequestedInDirection__wrappee__twothirdsfull_~overload~0#1);assume { :begin_inline_stopRequestedInDirection__wrappee__empty } true;stopRequestedInDirection__wrappee__empty_#in~dir#1, stopRequestedInDirection__wrappee__empty_#in~respectFloorCalls#1, stopRequestedInDirection__wrappee__empty_#in~respectInLiftCalls#1 := stopRequestedInDirection__wrappee__twothirdsfull_~dir#1, stopRequestedInDirection__wrappee__twothirdsfull_~respectFloorCalls#1, stopRequestedInDirection__wrappee__twothirdsfull_~respectInLiftCalls#1;havoc stopRequestedInDirection__wrappee__empty_#res#1;havoc stopRequestedInDirection__wrappee__empty_#t~ret58#1, stopRequestedInDirection__wrappee__empty_#t~ret59#1, stopRequestedInDirection__wrappee__empty_#t~ret60#1, stopRequestedInDirection__wrappee__empty_#t~ret61#1, stopRequestedInDirection__wrappee__empty_#t~ret62#1, stopRequestedInDirection__wrappee__empty_#t~ret63#1, stopRequestedInDirection__wrappee__empty_#t~ret64#1, stopRequestedInDirection__wrappee__empty_#t~ret65#1, stopRequestedInDirection__wrappee__empty_#t~ret66#1, stopRequestedInDirection__wrappee__empty_#t~ret67#1, stopRequestedInDirection__wrappee__empty_#t~ret68#1, stopRequestedInDirection__wrappee__empty_~dir#1, stopRequestedInDirection__wrappee__empty_~respectFloorCalls#1, stopRequestedInDirection__wrappee__empty_~respectInLiftCalls#1, stopRequestedInDirection__wrappee__empty_~retValue_acc~21#1, stopRequestedInDirection__wrappee__empty_~tmp~18#1, stopRequestedInDirection__wrappee__empty_~tmp___0~4#1, stopRequestedInDirection__wrappee__empty_~tmp___1~3#1, stopRequestedInDirection__wrappee__empty_~tmp___2~3#1, stopRequestedInDirection__wrappee__empty_~tmp___3~2#1, stopRequestedInDirection__wrappee__empty_~tmp___4~1#1, stopRequestedInDirection__wrappee__empty_~tmp___5~0#1, stopRequestedInDirection__wrappee__empty_~tmp___6~0#1, stopRequestedInDirection__wrappee__empty_~tmp___7~0#1, stopRequestedInDirection__wrappee__empty_~tmp___8~0#1, stopRequestedInDirection__wrappee__empty_~tmp___9~0#1;stopRequestedInDirection__wrappee__empty_~dir#1 := stopRequestedInDirection__wrappee__empty_#in~dir#1;stopRequestedInDirection__wrappee__empty_~respectFloorCalls#1 := stopRequestedInDirection__wrappee__empty_#in~respectFloorCalls#1;stopRequestedInDirection__wrappee__empty_~respectInLiftCalls#1 := stopRequestedInDirection__wrappee__empty_#in~respectInLiftCalls#1;havoc stopRequestedInDirection__wrappee__empty_~retValue_acc~21#1;havoc stopRequestedInDirection__wrappee__empty_~tmp~18#1;havoc stopRequestedInDirection__wrappee__empty_~tmp___0~4#1;havoc stopRequestedInDirection__wrappee__empty_~tmp___1~3#1;havoc stopRequestedInDirection__wrappee__empty_~tmp___2~3#1;havoc stopRequestedInDirection__wrappee__empty_~tmp___3~2#1;havoc stopRequestedInDirection__wrappee__empty_~tmp___4~1#1;havoc stopRequestedInDirection__wrappee__empty_~tmp___5~0#1;havoc stopRequestedInDirection__wrappee__empty_~tmp___6~0#1;havoc stopRequestedInDirection__wrappee__empty_~tmp___7~0#1;havoc stopRequestedInDirection__wrappee__empty_~tmp___8~0#1;havoc stopRequestedInDirection__wrappee__empty_~tmp___9~0#1; 1021728#L2167-2 assume !(1 == stopRequestedInDirection__wrappee__empty_~dir#1); 1015708#L2336-2 assume 0 == ~currentFloorID~0;stopRequestedInDirection__wrappee__empty_~retValue_acc~21#1 := 0;stopRequestedInDirection__wrappee__empty_#res#1 := stopRequestedInDirection__wrappee__empty_~retValue_acc~21#1; 1013503#stopRequestedInDirection__wrappee__empty_returnLabel#3 stopRequestedInDirection__wrappee__twothirdsfull_#t~ret72#1 := stopRequestedInDirection__wrappee__empty_#res#1;havoc stopRequestedInDirection__wrappee__empty_#t~ret58#1, stopRequestedInDirection__wrappee__empty_#t~ret59#1, stopRequestedInDirection__wrappee__empty_#t~ret60#1, stopRequestedInDirection__wrappee__empty_#t~ret61#1, stopRequestedInDirection__wrappee__empty_#t~ret62#1, stopRequestedInDirection__wrappee__empty_#t~ret63#1, stopRequestedInDirection__wrappee__empty_#t~ret64#1, stopRequestedInDirection__wrappee__empty_#t~ret65#1, stopRequestedInDirection__wrappee__empty_#t~ret66#1, stopRequestedInDirection__wrappee__empty_#t~ret67#1, stopRequestedInDirection__wrappee__empty_#t~ret68#1, stopRequestedInDirection__wrappee__empty_~dir#1, stopRequestedInDirection__wrappee__empty_~respectFloorCalls#1, stopRequestedInDirection__wrappee__empty_~respectInLiftCalls#1, stopRequestedInDirection__wrappee__empty_~retValue_acc~21#1, stopRequestedInDirection__wrappee__empty_~tmp~18#1, stopRequestedInDirection__wrappee__empty_~tmp___0~4#1, stopRequestedInDirection__wrappee__empty_~tmp___1~3#1, stopRequestedInDirection__wrappee__empty_~tmp___2~3#1, stopRequestedInDirection__wrappee__empty_~tmp___3~2#1, stopRequestedInDirection__wrappee__empty_~tmp___4~1#1, stopRequestedInDirection__wrappee__empty_~tmp___5~0#1, stopRequestedInDirection__wrappee__empty_~tmp___6~0#1, stopRequestedInDirection__wrappee__empty_~tmp___7~0#1, stopRequestedInDirection__wrappee__empty_~tmp___8~0#1, stopRequestedInDirection__wrappee__empty_~tmp___9~0#1;havoc stopRequestedInDirection__wrappee__empty_#in~dir#1, stopRequestedInDirection__wrappee__empty_#in~respectFloorCalls#1, stopRequestedInDirection__wrappee__empty_#in~respectInLiftCalls#1;assume { :end_inline_stopRequestedInDirection__wrappee__empty } true;stopRequestedInDirection__wrappee__twothirdsfull_~retValue_acc~22#1 := stopRequestedInDirection__wrappee__twothirdsfull_#t~ret72#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_#t~ret72#1;stopRequestedInDirection__wrappee__twothirdsfull_#res#1 := stopRequestedInDirection__wrappee__twothirdsfull_~retValue_acc~22#1; 1013500#stopRequestedInDirection__wrappee__twothirdsfull_returnLabel#1 stopRequestedInDirection_#t~ret75#1 := stopRequestedInDirection__wrappee__twothirdsfull_#res#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_#t~ret69#1, stopRequestedInDirection__wrappee__twothirdsfull_#t~ret70#1, stopRequestedInDirection__wrappee__twothirdsfull_#t~ret71#1, stopRequestedInDirection__wrappee__twothirdsfull_#t~ret72#1, stopRequestedInDirection__wrappee__twothirdsfull_~dir#1, stopRequestedInDirection__wrappee__twothirdsfull_~respectFloorCalls#1, stopRequestedInDirection__wrappee__twothirdsfull_~respectInLiftCalls#1, stopRequestedInDirection__wrappee__twothirdsfull_~retValue_acc~22#1, stopRequestedInDirection__wrappee__twothirdsfull_~overload~0#1, stopRequestedInDirection__wrappee__twothirdsfull_~buttonPressed~0#1, stopRequestedInDirection__wrappee__twothirdsfull_~tmp~19#1, stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp8~6#1, stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp9~5#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_#in~dir#1, stopRequestedInDirection__wrappee__twothirdsfull_#in~respectFloorCalls#1, stopRequestedInDirection__wrappee__twothirdsfull_#in~respectInLiftCalls#1;assume { :end_inline_stopRequestedInDirection__wrappee__twothirdsfull } true;stopRequestedInDirection_~retValue_acc~23#1 := stopRequestedInDirection_#t~ret75#1;havoc stopRequestedInDirection_#t~ret75#1;stopRequestedInDirection_#res#1 := stopRequestedInDirection_~retValue_acc~23#1; 1015848#stopRequestedInDirection_returnLabel#1 timeShift_#t~ret105#1 := stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret73#1, stopRequestedInDirection_#t~ret74#1, stopRequestedInDirection_#t~ret75#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~23#1, stopRequestedInDirection_~tmp~20#1, stopRequestedInDirection_~tmp___0~5#1, stopRequestedInDirection_~__cil_tmp7~6#1, stopRequestedInDirection_~__cil_tmp8~7#1;havoc stopRequestedInDirection_#in~dir#1, stopRequestedInDirection_#in~respectFloorCalls#1, stopRequestedInDirection_#in~respectInLiftCalls#1;assume { :end_inline_stopRequestedInDirection } true;timeShift_~tmp___8~2#1 := timeShift_#t~ret105#1;havoc timeShift_#t~ret105#1; 1012864#L2952 assume 0 != timeShift_~tmp___8~2#1;assume { :begin_inline_continueInDirection } true;continueInDirection_#in~dir#1 := ~currentHeading~0;havoc continueInDirection_#t~ret76#1, continueInDirection_~dir#1, continueInDirection_~tmp~21#1;continueInDirection_~dir#1 := continueInDirection_#in~dir#1;havoc continueInDirection_~tmp~21#1;~currentHeading~0 := continueInDirection_~dir#1; 1012865#L2612 assume !(1 == ~currentHeading~0); 1017414#L2622 assume !(0 == ~currentFloorID~0); 1017415#L2622-2 assume !(1 == ~currentHeading~0);~currentFloorID~0 := ~currentFloorID~0 - 1; 1017198#L2628-1 havoc continueInDirection_#t~ret76#1, continueInDirection_~dir#1, continueInDirection_~tmp~21#1;havoc continueInDirection_#in~dir#1;assume { :end_inline_continueInDirection } true; 1017199#L2961-2 assume { :begin_inline___utac_acc__Specification13_spec__2 } true;havoc __utac_acc__Specification13_spec__2_#t~ret28#1, __utac_acc__Specification13_spec__2_#t~ret29#1, __utac_acc__Specification13_spec__2_#t~ret30#1, __utac_acc__Specification13_spec__2_#t~ret31#1, __utac_acc__Specification13_spec__2_#t~ret32#1, __utac_acc__Specification13_spec__2_#t~ret33#1, __utac_acc__Specification13_spec__2_~tmp~3#1, __utac_acc__Specification13_spec__2_~tmp___0~0#1, __utac_acc__Specification13_spec__2_~tmp___1~0#1, __utac_acc__Specification13_spec__2_~tmp___2~0#1, __utac_acc__Specification13_spec__2_~tmp___3~0#1, __utac_acc__Specification13_spec__2_~tmp___4~0#1, __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1, __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1;havoc __utac_acc__Specification13_spec__2_~tmp~3#1;havoc __utac_acc__Specification13_spec__2_~tmp___0~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___1~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___2~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___3~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___4~0#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1;__utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 := 2 * ~maximumWeight~0;__utac_acc__Specification13_spec__2_~__cil_tmp8~5#1 := (if __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 < 0 && 0 != __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 % 3 then 1 + __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 / 3 else __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 / 3); 1038433#L454 assume ~weight~0 > __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1; 1038434#L455 assume 1 == ~prevDir~0;assume { :begin_inline_existInLiftCallsInDirection } true;existInLiftCallsInDirection_#in~d#1 := 0;havoc existInLiftCallsInDirection_#res#1;havoc existInLiftCallsInDirection_~d#1, existInLiftCallsInDirection_~retValue_acc~29#1, existInLiftCallsInDirection_~i~1#1, existInLiftCallsInDirection_~i___0~0#1;existInLiftCallsInDirection_~d#1 := existInLiftCallsInDirection_#in~d#1;havoc existInLiftCallsInDirection_~retValue_acc~29#1;havoc existInLiftCallsInDirection_~i~1#1;havoc existInLiftCallsInDirection_~i___0~0#1; 1038437#L3156 assume !(1 == existInLiftCallsInDirection_~d#1); 1038598#L3222 assume 0 == existInLiftCallsInDirection_~d#1;existInLiftCallsInDirection_~i___0~0#1 := 0;existInLiftCallsInDirection_~i___0~0#1 := ~currentFloorID~0 - 1; 1038599#L3226-2 [2024-10-12 00:48:05,570 INFO L747 eck$LassoCheckResult]: Loop: 1038599#L3226-2 assume !false; 1038596#L3227 assume existInLiftCallsInDirection_~i___0~0#1 >= 0; 1038597#L3228 existInLiftCallsInDirection_~i___0~0#1 := 1 + ~currentFloorID~0; 1038631#L3235-2 assume !false; 1038628#L3236 assume !(existInLiftCallsInDirection_~i___0~0#1 < 5); 1038625#L3294 existInLiftCallsInDirection_~i___0~0#1 := existInLiftCallsInDirection_~i___0~0#1 - 1; 1038599#L3226-2 [2024-10-12 00:48:05,571 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-12 00:48:05,571 INFO L85 PathProgramCache]: Analyzing trace with hash -1561007715, now seen corresponding path program 1 times [2024-10-12 00:48:05,571 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-12 00:48:05,571 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [699605436] [2024-10-12 00:48:05,571 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-12 00:48:05,571 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-12 00:48:05,597 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-12 00:48:05,632 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-10-12 00:48:05,632 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-10-12 00:48:05,632 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [699605436] [2024-10-12 00:48:05,632 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [699605436] provided 1 perfect and 0 imperfect interpolant sequences [2024-10-12 00:48:05,632 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-10-12 00:48:05,633 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2024-10-12 00:48:05,633 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1004458996] [2024-10-12 00:48:05,633 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-10-12 00:48:05,633 INFO L750 eck$LassoCheckResult]: stem already infeasible [2024-10-12 00:48:05,633 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-12 00:48:05,633 INFO L85 PathProgramCache]: Analyzing trace with hash 1717871275, now seen corresponding path program 19 times [2024-10-12 00:48:05,634 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-12 00:48:05,634 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2029369152] [2024-10-12 00:48:05,634 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-12 00:48:05,634 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-12 00:48:05,643 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-12 00:48:05,643 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-10-12 00:48:05,645 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-12 00:48:05,651 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-10-12 00:48:05,670 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-10-12 00:48:05,671 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2024-10-12 00:48:05,671 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2024-10-12 00:48:05,671 INFO L87 Difference]: Start difference. First operand 193582 states and 347951 transitions. cyclomatic complexity: 155043 Second operand has 3 states, 3 states have (on average 30.0) internal successors, (90), 2 states have internal predecessors, (90), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-10-12 00:48:08,407 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-10-12 00:48:08,407 INFO L93 Difference]: Finished difference Result 384318 states and 688625 transitions. [2024-10-12 00:48:08,407 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 384318 states and 688625 transitions. [2024-10-12 00:48:10,629 INFO L131 ngComponentsAnalysis]: Automaton has 1280 accepting balls. 137880