./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_product21.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_product21.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 bb3dce9b114483214f320874a7aac06c61be45c777f03f63c22a8ddab1e62ece --- Real Ultimate output --- This is Ultimate 0.2.5-dev-84cfde4 [2024-10-12 00:46:54,745 INFO L188 SettingsManager]: Resetting all preferences to default values... [2024-10-12 00:46:54,798 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:46:54,803 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2024-10-12 00:46:54,803 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2024-10-12 00:46:54,833 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2024-10-12 00:46:54,833 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2024-10-12 00:46:54,834 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2024-10-12 00:46:54,836 INFO L151 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2024-10-12 00:46:54,837 INFO L153 SettingsManager]: * Use memory slicer=true [2024-10-12 00:46:54,837 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2024-10-12 00:46:54,838 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2024-10-12 00:46:54,838 INFO L153 SettingsManager]: * Use SBE=true [2024-10-12 00:46:54,838 INFO L151 SettingsManager]: Preferences of BuchiAutomizer differ from their defaults: [2024-10-12 00:46:54,839 INFO L153 SettingsManager]: * NCSB implementation=INTSET_LAZY3 [2024-10-12 00:46:54,839 INFO L153 SettingsManager]: * Use old map elimination=false [2024-10-12 00:46:54,839 INFO L153 SettingsManager]: * Use external solver (rank synthesis)=false [2024-10-12 00:46:54,839 INFO L153 SettingsManager]: * Use only trivial implications for array writes=true [2024-10-12 00:46:54,840 INFO L153 SettingsManager]: * Rank analysis=LINEAR_WITH_GUESSES [2024-10-12 00:46:54,840 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2024-10-12 00:46:54,843 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=ASSUME [2024-10-12 00:46:54,845 INFO L153 SettingsManager]: * sizeof long=4 [2024-10-12 00:46:54,845 INFO L153 SettingsManager]: * Overapproximate operations on floating types=true [2024-10-12 00:46:54,846 INFO L153 SettingsManager]: * sizeof POINTER=4 [2024-10-12 00:46:54,846 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2024-10-12 00:46:54,846 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=ASSUME [2024-10-12 00:46:54,847 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=ASSUME [2024-10-12 00:46:54,847 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=ASSUME [2024-10-12 00:46:54,847 INFO L153 SettingsManager]: * Allow undefined functions=false [2024-10-12 00:46:54,847 INFO L153 SettingsManager]: * Check unreachability of reach_error function=false [2024-10-12 00:46:54,848 INFO L153 SettingsManager]: * sizeof long double=12 [2024-10-12 00:46:54,848 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2024-10-12 00:46:54,848 INFO L153 SettingsManager]: * Assume nondeterminstic values are in range=false [2024-10-12 00:46:54,848 INFO L153 SettingsManager]: * Use constant arrays=true [2024-10-12 00:46:54,849 INFO L151 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2024-10-12 00:46:54,849 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2024-10-12 00:46:54,849 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2024-10-12 00:46:54,849 INFO L153 SettingsManager]: * Trace refinement strategy=CAMEL [2024-10-12 00:46:54,850 INFO L151 SettingsManager]: Preferences of IcfgTransformer differ from their defaults: [2024-10-12 00:46:54,850 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 -> bb3dce9b114483214f320874a7aac06c61be45c777f03f63c22a8ddab1e62ece [2024-10-12 00:46:55,160 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2024-10-12 00:46:55,180 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2024-10-12 00:46:55,183 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2024-10-12 00:46:55,185 INFO L270 PluginConnector]: Initializing CDTParser... [2024-10-12 00:46:55,185 INFO L274 PluginConnector]: CDTParser initialized [2024-10-12 00:46:55,187 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/product-lines/elevator_spec13_product21.cil.c [2024-10-12 00:46:56,682 INFO L533 CDTParser]: Created temporary CDT project at NULL [2024-10-12 00:46:56,996 INFO L384 CDTParser]: Found 1 translation units. [2024-10-12 00:46:56,997 INFO L180 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/product-lines/elevator_spec13_product21.cil.c [2024-10-12 00:46:57,022 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate-clean/releaseScripts/default/UAutomizer-linux/data/2d320a04b/cc55ac44318d46a7b58f1cc4bb3fa3a2/FLAG2d11ef235 [2024-10-12 00:46:57,039 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate-clean/releaseScripts/default/UAutomizer-linux/data/2d320a04b/cc55ac44318d46a7b58f1cc4bb3fa3a2 [2024-10-12 00:46:57,042 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2024-10-12 00:46:57,044 INFO L133 ToolchainWalker]: Walking toolchain with 6 elements. [2024-10-12 00:46:57,046 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2024-10-12 00:46:57,047 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2024-10-12 00:46:57,052 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2024-10-12 00:46:57,053 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 12.10 12:46:57" (1/1) ... [2024-10-12 00:46:57,054 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@591ef661 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 12.10 12:46:57, skipping insertion in model container [2024-10-12 00:46:57,055 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 12.10 12:46:57" (1/1) ... [2024-10-12 00:46:57,126 INFO L175 MainTranslator]: Built tables and reachable declarations [2024-10-12 00:46:57,607 INFO L210 PostProcessor]: Analyzing one entry point: main [2024-10-12 00:46:57,622 INFO L200 MainTranslator]: Completed pre-run [2024-10-12 00:46:57,632 WARN L75 lationResultReporter]: Unsoundness Warning: Ignoring preprocessor pragma C: #pragma merger(0,"Floor.i","") [48] [2024-10-12 00:46:57,633 WARN L75 lationResultReporter]: Unsoundness Warning: Ignoring preprocessor pragma C: #pragma merger(0,"featureselect.i","") [716] [2024-10-12 00:46:57,634 WARN L75 lationResultReporter]: Unsoundness Warning: Ignoring preprocessor pragma C: #pragma merger(0,"Person.i","") [754] [2024-10-12 00:46:57,634 WARN L75 lationResultReporter]: Unsoundness Warning: Ignoring preprocessor pragma C: #pragma merger(0,"Test.i","") [875] [2024-10-12 00:46:57,634 WARN L75 lationResultReporter]: Unsoundness Warning: Ignoring preprocessor pragma C: #pragma merger(0,"Elevator.i","") [1230] [2024-10-12 00:46:57,634 WARN L75 lationResultReporter]: Unsoundness Warning: Ignoring preprocessor pragma C: #pragma merger(0,"UnitTests.i","") [2746] [2024-10-12 00:46:57,635 WARN L75 lationResultReporter]: Unsoundness Warning: Ignoring preprocessor pragma C: #pragma merger(0,"wsllib_check.i","") [2837] [2024-10-12 00:46:57,635 WARN L75 lationResultReporter]: Unsoundness Warning: Ignoring preprocessor pragma C: #pragma merger(0,"scenario.i","") [2846] [2024-10-12 00:46:57,635 WARN L75 lationResultReporter]: Unsoundness Warning: Ignoring preprocessor pragma C: #pragma merger(0,"Specification13_spec.i","") [2861] [2024-10-12 00:46:57,636 WARN L75 lationResultReporter]: Unsoundness Warning: Ignoring preprocessor pragma C: #pragma merger(0,"libacc.i","") [2950] [2024-10-12 00:46:57,786 INFO L210 PostProcessor]: Analyzing one entry point: main [2024-10-12 00:46:57,816 INFO L204 MainTranslator]: Completed translation [2024-10-12 00:46:57,816 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 12.10 12:46:57 WrapperNode [2024-10-12 00:46:57,817 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2024-10-12 00:46:57,818 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2024-10-12 00:46:57,818 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2024-10-12 00:46:57,818 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2024-10-12 00:46:57,823 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:46:57" (1/1) ... [2024-10-12 00:46:57,855 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:46:57" (1/1) ... [2024-10-12 00:46:58,268 INFO L138 Inliner]: procedures = 90, calls = 339, calls flagged for inlining = 192, calls inlined = 925, statements flattened = 33600 [2024-10-12 00:46:58,269 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2024-10-12 00:46:58,270 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2024-10-12 00:46:58,270 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2024-10-12 00:46:58,270 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2024-10-12 00:46:58,283 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 12.10 12:46:57" (1/1) ... [2024-10-12 00:46:58,283 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 12.10 12:46:57" (1/1) ... [2024-10-12 00:46:58,367 INFO L184 PluginConnector]: Executing the observer MemorySlicer from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 12.10 12:46:57" (1/1) ... [2024-10-12 00:46:58,505 INFO L175 MemorySlicer]: Split 81 memory accesses to 20 slices as follows [2, 4, 4, 5, 3, 3, 5, 7, 4, 4, 4, 4, 4, 6, 4, 4, 4, 4, 4, 2]. 9 percent of accesses are in the largest equivalence class. The 81 initializations are split as follows [2, 4, 4, 5, 3, 3, 5, 7, 4, 4, 4, 4, 4, 6, 4, 4, 4, 4, 4, 2]. 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:46:58,506 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 12.10 12:46:57" (1/1) ... [2024-10-12 00:46:58,506 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 12.10 12:46:57" (1/1) ... [2024-10-12 00:46:58,717 INFO L184 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 12.10 12:46:57" (1/1) ... [2024-10-12 00:46:58,933 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 12.10 12:46:57" (1/1) ... [2024-10-12 00:46:58,969 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 12.10 12:46:57" (1/1) ... [2024-10-12 00:46:59,010 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 12.10 12:46:57" (1/1) ... [2024-10-12 00:46:59,089 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2024-10-12 00:46:59,090 INFO L112 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2024-10-12 00:46:59,091 INFO L270 PluginConnector]: Initializing RCFGBuilder... [2024-10-12 00:46:59,091 INFO L274 PluginConnector]: RCFGBuilder initialized [2024-10-12 00:46:59,092 INFO L184 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 12.10 12:46:57" (1/1) ... [2024-10-12 00:46:59,097 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-10-12 00:46:59,112 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-clean/releaseScripts/default/UAutomizer-linux/z3 [2024-10-12 00:46:59,132 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:46:59,190 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:46:59,260 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2024-10-12 00:46:59,260 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#0 [2024-10-12 00:46:59,261 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#1 [2024-10-12 00:46:59,261 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#2 [2024-10-12 00:46:59,261 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#3 [2024-10-12 00:46:59,261 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#4 [2024-10-12 00:46:59,261 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#5 [2024-10-12 00:46:59,261 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#6 [2024-10-12 00:46:59,261 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#7 [2024-10-12 00:46:59,262 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#8 [2024-10-12 00:46:59,262 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#9 [2024-10-12 00:46:59,262 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#10 [2024-10-12 00:46:59,262 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#11 [2024-10-12 00:46:59,262 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#12 [2024-10-12 00:46:59,262 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#13 [2024-10-12 00:46:59,262 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#14 [2024-10-12 00:46:59,262 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#15 [2024-10-12 00:46:59,262 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#16 [2024-10-12 00:46:59,263 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#17 [2024-10-12 00:46:59,263 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#18 [2024-10-12 00:46:59,263 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#19 [2024-10-12 00:46:59,263 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2024-10-12 00:46:59,263 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2024-10-12 00:46:59,626 INFO L238 CfgBuilder]: Building ICFG [2024-10-12 00:46:59,634 INFO L264 CfgBuilder]: Building CFG for each procedure with an implementation [2024-10-12 00:47:13,216 INFO L? ?]: Removed 14452 outVars from TransFormulas that were not future-live. [2024-10-12 00:47:13,216 INFO L287 CfgBuilder]: Performing block encoding [2024-10-12 00:47:13,362 INFO L309 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2024-10-12 00:47:13,362 INFO L314 CfgBuilder]: Removed 61 assume(true) statements. [2024-10-12 00:47:13,363 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 12.10 12:47:13 BoogieIcfgContainer [2024-10-12 00:47:13,363 INFO L131 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2024-10-12 00:47:13,364 INFO L112 PluginConnector]: ------------------------BuchiAutomizer---------------------------- [2024-10-12 00:47:13,365 INFO L270 PluginConnector]: Initializing BuchiAutomizer... [2024-10-12 00:47:13,368 INFO L274 PluginConnector]: BuchiAutomizer initialized [2024-10-12 00:47:13,369 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2024-10-12 00:47:13,369 INFO L184 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "CDTParser AST 12.10 12:46:57" (1/3) ... [2024-10-12 00:47:13,370 INFO L204 PluginConnector]: Invalid model from BuchiAutomizer for observer de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver@667955c2 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer AST 12.10 12:47:13, skipping insertion in model container [2024-10-12 00:47:13,370 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2024-10-12 00:47:13,371 INFO L184 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 12.10 12:46:57" (2/3) ... [2024-10-12 00:47:13,372 INFO L204 PluginConnector]: Invalid model from BuchiAutomizer for observer de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver@667955c2 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer AST 12.10 12:47:13, skipping insertion in model container [2024-10-12 00:47:13,372 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2024-10-12 00:47:13,372 INFO L184 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 12.10 12:47:13" (3/3) ... [2024-10-12 00:47:13,374 INFO L332 chiAutomizerObserver]: Analyzing ICFG elevator_spec13_product21.cil.c [2024-10-12 00:47:13,555 INFO L300 stractBuchiCegarLoop]: Interprodecural is true [2024-10-12 00:47:13,556 INFO L301 stractBuchiCegarLoop]: Hoare is None [2024-10-12 00:47:13,556 INFO L302 stractBuchiCegarLoop]: Compute interpolants for ForwardPredicates [2024-10-12 00:47:13,556 INFO L303 stractBuchiCegarLoop]: Backedges is STRAIGHT_LINE [2024-10-12 00:47:13,556 INFO L304 stractBuchiCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2024-10-12 00:47:13,556 INFO L305 stractBuchiCegarLoop]: Difference is false [2024-10-12 00:47:13,556 INFO L306 stractBuchiCegarLoop]: Minimize is MINIMIZE_SEVPA [2024-10-12 00:47:13,557 INFO L310 stractBuchiCegarLoop]: ======== Iteration 0 == of CEGAR loop == BuchiAutomatonCegarLoop ======== [2024-10-12 00:47:13,590 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand has 9192 states, 9191 states have (on average 1.8817321292568818) internal successors, (17295), 9191 states have internal predecessors, (17295), 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:13,918 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 2324 [2024-10-12 00:47:13,919 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-10-12 00:47:13,919 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-10-12 00:47:13,932 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] [2024-10-12 00:47:13,932 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1, 1, 1] [2024-10-12 00:47:13,933 INFO L332 stractBuchiCegarLoop]: ======== Iteration 1 ============ [2024-10-12 00:47:13,957 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand has 9192 states, 9191 states have (on average 1.8817321292568818) internal successors, (17295), 9191 states have internal predecessors, (17295), 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:14,075 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 2324 [2024-10-12 00:47:14,076 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-10-12 00:47:14,076 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-10-12 00:47:14,078 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] [2024-10-12 00:47:14,078 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1, 1, 1] [2024-10-12 00:47:14,086 INFO L745 eck$LassoCheckResult]: Stem: 4782#$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(10, 4);call #Ultimate.allocInit(4, 5);call write~init~int#1(91, 5, 0, 1);call write~init~int#1(95, 5, 1, 1);call write~init~int#1(93, 5, 2, 1);call write~init~int#1(0, 5, 3, 1);call #Ultimate.allocInit(4, 6);call write~init~int#2(91, 6, 0, 1);call write~init~int#2(93, 6, 1, 1);call write~init~int#2(32, 6, 2, 1);call write~init~int#2(0, 6, 3, 1);call #Ultimate.allocInit(5, 7);call write~init~int#3(32, 7, 0, 1);call write~init~int#3(97, 7, 1, 1);call write~init~int#3(116, 7, 2, 1);call write~init~int#3(32, 7, 3, 1);call write~init~int#3(0, 7, 4, 1);call #Ultimate.allocInit(3, 8);call write~init~int#4(37, 8, 0, 1);call write~init~int#4(105, 8, 1, 1);call write~init~int#4(0, 8, 2, 1);call #Ultimate.allocInit(10, 9);call #Ultimate.allocInit(3, 10);call write~init~int#5(117, 10, 0, 1);call write~init~int#5(112, 10, 1, 1);call write~init~int#5(0, 10, 2, 1);call #Ultimate.allocInit(5, 11);call write~init~int#6(100, 11, 0, 1);call write~init~int#6(111, 11, 1, 1);call write~init~int#6(119, 11, 2, 1);call write~init~int#6(110, 11, 3, 1);call write~init~int#6(0, 11, 4, 1);call #Ultimate.allocInit(7, 12);call write~init~int#7(32, 12, 0, 1);call write~init~int#7(73, 12, 1, 1);call write~init~int#7(76, 12, 2, 1);call write~init~int#7(95, 12, 3, 1);call write~init~int#7(112, 12, 4, 1);call write~init~int#7(58, 12, 5, 1);call write~init~int#7(0, 12, 6, 1);call #Ultimate.allocInit(4, 13);call write~init~int#8(32, 13, 0, 1);call write~init~int#8(37, 13, 1, 1);call write~init~int#8(105, 13, 2, 1);call write~init~int#8(0, 13, 3, 1);call #Ultimate.allocInit(4, 14);call write~init~int#9(32, 14, 0, 1);call write~init~int#9(37, 14, 1, 1);call write~init~int#9(105, 14, 2, 1);call write~init~int#9(0, 14, 3, 1);call #Ultimate.allocInit(4, 15);call write~init~int#10(32, 15, 0, 1);call write~init~int#10(37, 15, 1, 1);call write~init~int#10(105, 15, 2, 1);call write~init~int#10(0, 15, 3, 1);call #Ultimate.allocInit(4, 16);call write~init~int#11(32, 16, 0, 1);call write~init~int#11(37, 16, 1, 1);call write~init~int#11(105, 16, 2, 1);call write~init~int#11(0, 16, 3, 1);call #Ultimate.allocInit(4, 17);call write~init~int#12(32, 17, 0, 1);call write~init~int#12(37, 17, 1, 1);call write~init~int#12(105, 17, 2, 1);call write~init~int#12(0, 17, 3, 1);call #Ultimate.allocInit(6, 18);call write~init~int#13(32, 18, 0, 1);call write~init~int#13(70, 18, 1, 1);call write~init~int#13(95, 18, 2, 1);call write~init~int#13(112, 18, 3, 1);call write~init~int#13(58, 18, 4, 1);call write~init~int#13(0, 18, 5, 1);call #Ultimate.allocInit(4, 19);call write~init~int#14(32, 19, 0, 1);call write~init~int#14(37, 19, 1, 1);call write~init~int#14(105, 19, 2, 1);call write~init~int#14(0, 19, 3, 1);call #Ultimate.allocInit(4, 20);call write~init~int#15(32, 20, 0, 1);call write~init~int#15(37, 20, 1, 1);call write~init~int#15(105, 20, 2, 1);call write~init~int#15(0, 20, 3, 1);call #Ultimate.allocInit(4, 21);call write~init~int#16(32, 21, 0, 1);call write~init~int#16(37, 21, 1, 1);call write~init~int#16(105, 21, 2, 1);call write~init~int#16(0, 21, 3, 1);call #Ultimate.allocInit(4, 22);call write~init~int#17(32, 22, 0, 1);call write~init~int#17(37, 22, 1, 1);call write~init~int#17(105, 22, 2, 1);call write~init~int#17(0, 22, 3, 1);call #Ultimate.allocInit(4, 23);call write~init~int#18(32, 23, 0, 1);call write~init~int#18(37, 23, 1, 1);call write~init~int#18(105, 23, 2, 1);call write~init~int#18(0, 23, 3, 1);call #Ultimate.allocInit(2, 24);call write~init~int#19(10, 24, 0, 1);call write~init~int#19(0, 24, 1, 1);call #Ultimate.allocInit(30, 25);call #Ultimate.allocInit(9, 26);call #Ultimate.allocInit(21, 27);call #Ultimate.allocInit(30, 28);call #Ultimate.allocInit(9, 29);call #Ultimate.allocInit(21, 30);call #Ultimate.allocInit(30, 31);call #Ultimate.allocInit(9, 32);call #Ultimate.allocInit(25, 33);call #Ultimate.allocInit(30, 34);call #Ultimate.allocInit(9, 35);call #Ultimate.allocInit(25, 36);~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;~weight~0 := 0;~maximumWeight~0 := 100;~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;~prevDir~0 := 0;~head~0.base, ~head~0.offset := 0, 0; 4502#L-1true assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret18#1, main_~retValue_acc~9#1, main_~tmp~8#1;havoc main_~retValue_acc~9#1;havoc main_~tmp~8#1;assume { :begin_inline_select_helpers } true; 7736#select_helpers_returnLabel#1true assume { :end_inline_select_helpers } true;assume { :begin_inline_select_features } true; 7419#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~4#1;havoc valid_product_~retValue_acc~4#1;valid_product_~retValue_acc~4#1 := 1;valid_product_#res#1 := valid_product_~retValue_acc~4#1; 656#valid_product_returnLabel#1true main_#t~ret18#1 := valid_product_#res#1;havoc valid_product_~retValue_acc~4#1;assume { :end_inline_valid_product } true;main_~tmp~8#1 := main_#t~ret18#1;havoc main_#t~ret18#1; 3081#L1217true assume 0 != main_~tmp~8#1;assume { :begin_inline_setup } true; 1478#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~ret7#1, aliceCall_~tmp~1#1;havoc aliceCall_~tmp~1#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 1;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~6#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~6#1; 806#L801true assume 0 == getOrigin_~person#1;getOrigin_~retValue_acc~6#1 := 4;getOrigin_#res#1 := getOrigin_~retValue_acc~6#1; 2462#getOrigin_returnLabel#1true aliceCall_#t~ret7#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~6#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;aliceCall_~tmp~1#1 := aliceCall_#t~ret7#1;havoc aliceCall_#t~ret7#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 1, aliceCall_~tmp~1#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 9009#L409true assume 0 == initPersonOnFloor_~floor#1; 7820#L410true assume 0 == initPersonOnFloor_~person#1;~personOnFloor_0_0~0 := 1; 996#L517-1true assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 2486#L201true assume 0 == callOnFloor_~floorID#1;~calls_0~0 := 1; 7600#L213-2true havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true; 931#initPersonOnFloor_returnLabel#1true havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true; 7356#aliceCall_returnLabel#1true havoc aliceCall_#t~ret7#1, aliceCall_~tmp~1#1;assume { :end_inline_aliceCall } true;assume { :begin_inline_angelinaCall } true;havoc angelinaCall_#t~ret8#1, angelinaCall_~tmp~2#1;havoc angelinaCall_~tmp~2#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 2;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~6#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~6#1; 463#L801-1true assume 0 == getOrigin_~person#1;getOrigin_~retValue_acc~6#1 := 4;getOrigin_#res#1 := getOrigin_~retValue_acc~6#1; 371#getOrigin_returnLabel#2true angelinaCall_#t~ret8#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~6#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;angelinaCall_~tmp~2#1 := angelinaCall_#t~ret8#1;havoc angelinaCall_#t~ret8#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 2, angelinaCall_~tmp~2#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 5509#L409-1true assume 0 == initPersonOnFloor_~floor#1; 6028#L410-2true assume 0 == initPersonOnFloor_~person#1;~personOnFloor_0_0~0 := 1; 3480#L517-3true assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 8133#L201-2true assume 0 == callOnFloor_~floorID#1;~calls_0~0 := 1; 6224#L213-5true havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true; 3296#initPersonOnFloor_returnLabel#2true havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true; 7568#angelinaCall_returnLabel#1true havoc angelinaCall_#t~ret8#1, angelinaCall_~tmp~2#1;assume { :end_inline_angelinaCall } true;assume { :begin_inline_threeTS } true;assume { :begin_inline_timeShift } true;havoc timeShift_#t~ret60#1, timeShift_#t~ret61#1, timeShift_#t~ret62#1, timeShift_#t~ret63#1, timeShift_#t~ret64#1, timeShift_#t~ret65#1, timeShift_#t~ret66#1, timeShift_#t~ret67#1, timeShift_#t~ret68#1, timeShift_#t~ret69#1, timeShift_#t~ret70#1, timeShift_~tmp~19#1, timeShift_~tmp___0~7#1, timeShift_~tmp___1~4#1, timeShift_~tmp___2~4#1, timeShift_~tmp___3~3#1, timeShift_~tmp___4~2#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~19#1;havoc timeShift_~tmp___0~7#1;havoc timeShift_~tmp___1~4#1;havoc timeShift_~tmp___2~4#1;havoc timeShift_~tmp___3~3#1;havoc timeShift_~tmp___4~2#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~ret103#1;assume { :begin_inline_getCurrentHeading } true;havoc getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~14#1;havoc getCurrentHeading_~retValue_acc~14#1;getCurrentHeading_~retValue_acc~14#1 := ~currentHeading~0;getCurrentHeading_#res#1 := getCurrentHeading_~retValue_acc~14#1; 6986#getCurrentHeading_returnLabel#1true __utac_acc__Specification13_spec__1_#t~ret103#1 := getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~14#1;assume { :end_inline_getCurrentHeading } true;~prevDir~0 := __utac_acc__Specification13_spec__1_#t~ret103#1;havoc __utac_acc__Specification13_spec__1_#t~ret103#1; 3591#__utac_acc__Specification13_spec__1_returnLabel#1true havoc __utac_acc__Specification13_spec__1_#t~ret103#1;assume { :end_inline___utac_acc__Specification13_spec__1 } true;assume { :begin_inline_stopRequestedAtCurrentFloor } true;havoc stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret45#1, stopRequestedAtCurrentFloor_#t~ret46#1, stopRequestedAtCurrentFloor_#t~ret47#1, stopRequestedAtCurrentFloor_~retValue_acc~22#1, stopRequestedAtCurrentFloor_~tmp~17#1, stopRequestedAtCurrentFloor_~tmp___0~5#1, stopRequestedAtCurrentFloor_~__cil_tmp4~1#1, stopRequestedAtCurrentFloor_~__cil_tmp5~0#1;havoc stopRequestedAtCurrentFloor_~retValue_acc~22#1;havoc stopRequestedAtCurrentFloor_~tmp~17#1;havoc stopRequestedAtCurrentFloor_~tmp___0~5#1;havoc stopRequestedAtCurrentFloor_~__cil_tmp4~1#1;havoc stopRequestedAtCurrentFloor_~__cil_tmp5~0#1;stopRequestedAtCurrentFloor_~__cil_tmp4~1#1 := 2 * ~maximumWeight~0;stopRequestedAtCurrentFloor_~__cil_tmp5~0#1 := (if stopRequestedAtCurrentFloor_~__cil_tmp4~1#1 < 0 && 0 != stopRequestedAtCurrentFloor_~__cil_tmp4~1#1 % 3 then 1 + stopRequestedAtCurrentFloor_~__cil_tmp4~1#1 / 3 else stopRequestedAtCurrentFloor_~__cil_tmp4~1#1 / 3); 4668#L2140true assume ~weight~0 > stopRequestedAtCurrentFloor_~__cil_tmp5~0#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~11#1;havoc getCurrentFloorID_~retValue_acc~11#1;getCurrentFloorID_~retValue_acc~11#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~11#1; 3362#getCurrentFloorID_returnLabel#1true stopRequestedAtCurrentFloor_#t~ret45#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~11#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedAtCurrentFloor_~tmp~17#1 := stopRequestedAtCurrentFloor_#t~ret45#1;havoc stopRequestedAtCurrentFloor_#t~ret45#1;assume { :begin_inline_buttonForFloorIsPressed } true;buttonForFloorIsPressed_#in~floorID#1 := stopRequestedAtCurrentFloor_~tmp~17#1;havoc buttonForFloorIsPressed_#res#1;havoc buttonForFloorIsPressed_~floorID#1, buttonForFloorIsPressed_~retValue_acc~13#1;buttonForFloorIsPressed_~floorID#1 := buttonForFloorIsPressed_#in~floorID#1;havoc buttonForFloorIsPressed_~retValue_acc~13#1; 3424#L1476true assume 0 == buttonForFloorIsPressed_~floorID#1;buttonForFloorIsPressed_~retValue_acc~13#1 := ~floorButtons_0~0;buttonForFloorIsPressed_#res#1 := buttonForFloorIsPressed_~retValue_acc~13#1; 5581#buttonForFloorIsPressed_returnLabel#1true stopRequestedAtCurrentFloor_#t~ret46#1 := buttonForFloorIsPressed_#res#1;havoc buttonForFloorIsPressed_~floorID#1, buttonForFloorIsPressed_~retValue_acc~13#1;havoc buttonForFloorIsPressed_#in~floorID#1;assume { :end_inline_buttonForFloorIsPressed } true;stopRequestedAtCurrentFloor_~tmp___0~5#1 := stopRequestedAtCurrentFloor_#t~ret46#1;havoc stopRequestedAtCurrentFloor_#t~ret46#1;stopRequestedAtCurrentFloor_~retValue_acc~22#1 := (if 1 == stopRequestedAtCurrentFloor_~tmp___0~5#1 then 1 else 0);stopRequestedAtCurrentFloor_#res#1 := stopRequestedAtCurrentFloor_~retValue_acc~22#1; 246#stopRequestedAtCurrentFloor_returnLabel#1true timeShift_#t~ret60#1 := stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret45#1, stopRequestedAtCurrentFloor_#t~ret46#1, stopRequestedAtCurrentFloor_#t~ret47#1, stopRequestedAtCurrentFloor_~retValue_acc~22#1, stopRequestedAtCurrentFloor_~tmp~17#1, stopRequestedAtCurrentFloor_~tmp___0~5#1, stopRequestedAtCurrentFloor_~__cil_tmp4~1#1, stopRequestedAtCurrentFloor_~__cil_tmp5~0#1;assume { :end_inline_stopRequestedAtCurrentFloor } true;timeShift_~tmp___9~2#1 := timeShift_#t~ret60#1;havoc timeShift_#t~ret60#1; 4820#L2290true assume !(0 != timeShift_~tmp___9~2#1); 1473#L2381true assume 1 == ~doorState~0;~doorState~0 := 0; 5046#L2381-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~ret38#1, stopRequestedInDirection_#t~ret39#1, stopRequestedInDirection_#t~ret40#1, stopRequestedInDirection_#t~ret41#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~19#1, stopRequestedInDirection_~overload~0#1, stopRequestedInDirection_~buttonPressed~0#1, stopRequestedInDirection_~tmp~14#1, stopRequestedInDirection_~__cil_tmp8~0#1, stopRequestedInDirection_~__cil_tmp9~0#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~19#1;havoc stopRequestedInDirection_~overload~0#1;havoc stopRequestedInDirection_~buttonPressed~0#1;havoc stopRequestedInDirection_~tmp~14#1;havoc stopRequestedInDirection_~__cil_tmp8~0#1;havoc stopRequestedInDirection_~__cil_tmp9~0#1;stopRequestedInDirection_~__cil_tmp8~0#1 := 2 * ~maximumWeight~0;stopRequestedInDirection_~__cil_tmp9~0#1 := (if stopRequestedInDirection_~__cil_tmp8~0#1 < 0 && 0 != stopRequestedInDirection_~__cil_tmp8~0#1 % 3 then 1 + stopRequestedInDirection_~__cil_tmp8~0#1 / 3 else stopRequestedInDirection_~__cil_tmp8~0#1 / 3);stopRequestedInDirection_~overload~0#1 := (if ~weight~0 > stopRequestedInDirection_~__cil_tmp9~0#1 then 1 else 0);assume { :begin_inline_isAnyLiftButtonPressed } true;havoc isAnyLiftButtonPressed_#res#1;havoc isAnyLiftButtonPressed_~retValue_acc~20#1;havoc isAnyLiftButtonPressed_~retValue_acc~20#1; 9022#L2043true assume 0 != ~floorButtons_0~0;isAnyLiftButtonPressed_~retValue_acc~20#1 := 1;isAnyLiftButtonPressed_#res#1 := isAnyLiftButtonPressed_~retValue_acc~20#1; 5368#isAnyLiftButtonPressed_returnLabel#1true stopRequestedInDirection_#t~ret38#1 := isAnyLiftButtonPressed_#res#1;havoc isAnyLiftButtonPressed_~retValue_acc~20#1;assume { :end_inline_isAnyLiftButtonPressed } true;stopRequestedInDirection_~tmp~14#1 := stopRequestedInDirection_#t~ret38#1;havoc stopRequestedInDirection_#t~ret38#1;stopRequestedInDirection_~buttonPressed~0#1 := stopRequestedInDirection_~tmp~14#1; 3326#L2016true assume !(0 != stopRequestedInDirection_~overload~0#1);assume { :begin_inline_stopRequestedInDirection__wrappee__weight } true;stopRequestedInDirection__wrappee__weight_#in~dir#1, stopRequestedInDirection__wrappee__weight_#in~respectFloorCalls#1, stopRequestedInDirection__wrappee__weight_#in~respectInLiftCalls#1 := stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1;havoc stopRequestedInDirection__wrappee__weight_#res#1;havoc stopRequestedInDirection__wrappee__weight_#t~ret27#1, stopRequestedInDirection__wrappee__weight_#t~ret28#1, stopRequestedInDirection__wrappee__weight_#t~ret29#1, stopRequestedInDirection__wrappee__weight_#t~ret30#1, stopRequestedInDirection__wrappee__weight_#t~ret31#1, stopRequestedInDirection__wrappee__weight_#t~ret32#1, stopRequestedInDirection__wrappee__weight_#t~ret33#1, stopRequestedInDirection__wrappee__weight_#t~ret34#1, stopRequestedInDirection__wrappee__weight_#t~ret35#1, stopRequestedInDirection__wrappee__weight_#t~ret36#1, stopRequestedInDirection__wrappee__weight_#t~ret37#1, stopRequestedInDirection__wrappee__weight_~dir#1, stopRequestedInDirection__wrappee__weight_~respectFloorCalls#1, stopRequestedInDirection__wrappee__weight_~respectInLiftCalls#1, stopRequestedInDirection__wrappee__weight_~retValue_acc~18#1, stopRequestedInDirection__wrappee__weight_~tmp~13#1, stopRequestedInDirection__wrappee__weight_~tmp___0~3#1, stopRequestedInDirection__wrappee__weight_~tmp___1~2#1, stopRequestedInDirection__wrappee__weight_~tmp___2~2#1, stopRequestedInDirection__wrappee__weight_~tmp___3~1#1, stopRequestedInDirection__wrappee__weight_~tmp___4~0#1, stopRequestedInDirection__wrappee__weight_~tmp___5~0#1, stopRequestedInDirection__wrappee__weight_~tmp___6~0#1, stopRequestedInDirection__wrappee__weight_~tmp___7~0#1, stopRequestedInDirection__wrappee__weight_~tmp___8~0#1, stopRequestedInDirection__wrappee__weight_~tmp___9~0#1;stopRequestedInDirection__wrappee__weight_~dir#1 := stopRequestedInDirection__wrappee__weight_#in~dir#1;stopRequestedInDirection__wrappee__weight_~respectFloorCalls#1 := stopRequestedInDirection__wrappee__weight_#in~respectFloorCalls#1;stopRequestedInDirection__wrappee__weight_~respectInLiftCalls#1 := stopRequestedInDirection__wrappee__weight_#in~respectInLiftCalls#1;havoc stopRequestedInDirection__wrappee__weight_~retValue_acc~18#1;havoc stopRequestedInDirection__wrappee__weight_~tmp~13#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___0~3#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___1~2#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___2~2#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___3~1#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___4~0#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___5~0#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___6~0#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___7~0#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___8~0#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___9~0#1; 2126#L1663-2true assume !(1 == stopRequestedInDirection__wrappee__weight_~dir#1); 6998#L1832-2true assume 0 == ~currentFloorID~0;stopRequestedInDirection__wrappee__weight_~retValue_acc~18#1 := 0;stopRequestedInDirection__wrappee__weight_#res#1 := stopRequestedInDirection__wrappee__weight_~retValue_acc~18#1; 7676#stopRequestedInDirection__wrappee__weight_returnLabel#3true stopRequestedInDirection_#t~ret41#1 := stopRequestedInDirection__wrappee__weight_#res#1;havoc stopRequestedInDirection__wrappee__weight_#t~ret27#1, stopRequestedInDirection__wrappee__weight_#t~ret28#1, stopRequestedInDirection__wrappee__weight_#t~ret29#1, stopRequestedInDirection__wrappee__weight_#t~ret30#1, stopRequestedInDirection__wrappee__weight_#t~ret31#1, stopRequestedInDirection__wrappee__weight_#t~ret32#1, stopRequestedInDirection__wrappee__weight_#t~ret33#1, stopRequestedInDirection__wrappee__weight_#t~ret34#1, stopRequestedInDirection__wrappee__weight_#t~ret35#1, stopRequestedInDirection__wrappee__weight_#t~ret36#1, stopRequestedInDirection__wrappee__weight_#t~ret37#1, stopRequestedInDirection__wrappee__weight_~dir#1, stopRequestedInDirection__wrappee__weight_~respectFloorCalls#1, stopRequestedInDirection__wrappee__weight_~respectInLiftCalls#1, stopRequestedInDirection__wrappee__weight_~retValue_acc~18#1, stopRequestedInDirection__wrappee__weight_~tmp~13#1, stopRequestedInDirection__wrappee__weight_~tmp___0~3#1, stopRequestedInDirection__wrappee__weight_~tmp___1~2#1, stopRequestedInDirection__wrappee__weight_~tmp___2~2#1, stopRequestedInDirection__wrappee__weight_~tmp___3~1#1, stopRequestedInDirection__wrappee__weight_~tmp___4~0#1, stopRequestedInDirection__wrappee__weight_~tmp___5~0#1, stopRequestedInDirection__wrappee__weight_~tmp___6~0#1, stopRequestedInDirection__wrappee__weight_~tmp___7~0#1, stopRequestedInDirection__wrappee__weight_~tmp___8~0#1, stopRequestedInDirection__wrappee__weight_~tmp___9~0#1;havoc stopRequestedInDirection__wrappee__weight_#in~dir#1, stopRequestedInDirection__wrappee__weight_#in~respectFloorCalls#1, stopRequestedInDirection__wrappee__weight_#in~respectInLiftCalls#1;assume { :end_inline_stopRequestedInDirection__wrappee__weight } true;stopRequestedInDirection_~retValue_acc~19#1 := stopRequestedInDirection_#t~ret41#1;havoc stopRequestedInDirection_#t~ret41#1;stopRequestedInDirection_#res#1 := stopRequestedInDirection_~retValue_acc~19#1; 1586#stopRequestedInDirection_returnLabel#1true timeShift_#t~ret67#1 := stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret38#1, stopRequestedInDirection_#t~ret39#1, stopRequestedInDirection_#t~ret40#1, stopRequestedInDirection_#t~ret41#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~19#1, stopRequestedInDirection_~overload~0#1, stopRequestedInDirection_~buttonPressed~0#1, stopRequestedInDirection_~tmp~14#1, stopRequestedInDirection_~__cil_tmp8~0#1, stopRequestedInDirection_~__cil_tmp9~0#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~ret67#1;havoc timeShift_#t~ret67#1; 6193#L2389true assume 0 != timeShift_~tmp___8~2#1;assume { :begin_inline_continueInDirection } true;continueInDirection_#in~dir#1 := ~currentHeading~0;havoc continueInDirection_#t~ret42#1, continueInDirection_~dir#1, continueInDirection_~tmp~15#1;continueInDirection_~dir#1 := continueInDirection_#in~dir#1;havoc continueInDirection_~tmp~15#1;~currentHeading~0 := continueInDirection_~dir#1; 6692#L2078true assume !(1 == ~currentHeading~0); 6844#L2088true assume !(0 == ~currentFloorID~0); 8448#L2088-2true assume 1 == ~currentHeading~0;~currentFloorID~0 := 1 + ~currentFloorID~0; 970#L2094-1true havoc continueInDirection_#t~ret42#1, continueInDirection_~dir#1, continueInDirection_~tmp~15#1;havoc continueInDirection_#in~dir#1;assume { :end_inline_continueInDirection } true; 230#L2398-2true assume { :begin_inline___utac_acc__Specification13_spec__2 } true;havoc __utac_acc__Specification13_spec__2_#t~ret104#1, __utac_acc__Specification13_spec__2_#t~ret105#1, __utac_acc__Specification13_spec__2_#t~ret106#1, __utac_acc__Specification13_spec__2_#t~ret107#1, __utac_acc__Specification13_spec__2_#t~ret108#1, __utac_acc__Specification13_spec__2_#t~ret109#1, __utac_acc__Specification13_spec__2_~tmp~23#1, __utac_acc__Specification13_spec__2_~tmp___0~11#1, __utac_acc__Specification13_spec__2_~tmp___1~8#1, __utac_acc__Specification13_spec__2_~tmp___2~6#1, __utac_acc__Specification13_spec__2_~tmp___3~5#1, __utac_acc__Specification13_spec__2_~tmp___4~3#1, __utac_acc__Specification13_spec__2_~__cil_tmp7~1#1, __utac_acc__Specification13_spec__2_~__cil_tmp8~2#1;havoc __utac_acc__Specification13_spec__2_~tmp~23#1;havoc __utac_acc__Specification13_spec__2_~tmp___0~11#1;havoc __utac_acc__Specification13_spec__2_~tmp___1~8#1;havoc __utac_acc__Specification13_spec__2_~tmp___2~6#1;havoc __utac_acc__Specification13_spec__2_~tmp___3~5#1;havoc __utac_acc__Specification13_spec__2_~tmp___4~3#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp7~1#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp8~2#1;__utac_acc__Specification13_spec__2_~__cil_tmp7~1#1 := 2 * ~maximumWeight~0;__utac_acc__Specification13_spec__2_~__cil_tmp8~2#1 := (if __utac_acc__Specification13_spec__2_~__cil_tmp7~1#1 < 0 && 0 != __utac_acc__Specification13_spec__2_~__cil_tmp7~1#1 % 3 then 1 + __utac_acc__Specification13_spec__2_~__cil_tmp7~1#1 / 3 else __utac_acc__Specification13_spec__2_~__cil_tmp7~1#1 / 3); 2561#L2887true assume ~weight~0 > __utac_acc__Specification13_spec__2_~__cil_tmp8~2#1; 4857#L2888true 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~24#1, existInLiftCallsInDirection_~i~1#1, existInLiftCallsInDirection_~i___0~0#1;existInLiftCallsInDirection_~d#1 := existInLiftCallsInDirection_#in~d#1;havoc existInLiftCallsInDirection_~retValue_acc~24#1;havoc existInLiftCallsInDirection_~i~1#1;havoc existInLiftCallsInDirection_~i___0~0#1; 462#L2593true assume 1 == existInLiftCallsInDirection_~d#1;existInLiftCallsInDirection_~i~1#1 := 0;existInLiftCallsInDirection_~i~1#1 := 1 + ~currentFloorID~0; 6967#L2597-2true [2024-10-12 00:47:14,087 INFO L747 eck$LassoCheckResult]: Loop: 6967#L2597-2true assume !false; 3538#L2598true assume existInLiftCallsInDirection_~i~1#1 < 5; 1091#L2599true assume !(0 == existInLiftCallsInDirection_~i~1#1); 8494#$Ultimate##3606true assume !(1 == existInLiftCallsInDirection_~i~1#1); 8952#$Ultimate##3610true assume !(2 == existInLiftCallsInDirection_~i~1#1); 4564#$Ultimate##3614true assume !(3 == existInLiftCallsInDirection_~i~1#1); 9121#$Ultimate##3618true assume !(4 == existInLiftCallsInDirection_~i~1#1); 4701#L2640-1true existInLiftCallsInDirection_~i~1#1 := 1 + existInLiftCallsInDirection_~i~1#1; 6967#L2597-2true [2024-10-12 00:47:14,095 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-12 00:47:14,095 INFO L85 PathProgramCache]: Analyzing trace with hash 958873418, now seen corresponding path program 1 times [2024-10-12 00:47:14,107 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-12 00:47:14,107 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [700753676] [2024-10-12 00:47:14,107 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-12 00:47:14,108 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-12 00:47:14,310 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-12 00:47:14,685 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:14,685 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-10-12 00:47:14,686 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [700753676] [2024-10-12 00:47:14,686 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [700753676] provided 1 perfect and 0 imperfect interpolant sequences [2024-10-12 00:47:14,686 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-10-12 00:47:14,687 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2024-10-12 00:47:14,688 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [162921164] [2024-10-12 00:47:14,688 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-10-12 00:47:14,692 INFO L750 eck$LassoCheckResult]: stem already infeasible [2024-10-12 00:47:14,693 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-12 00:47:14,693 INFO L85 PathProgramCache]: Analyzing trace with hash 1684916733, now seen corresponding path program 1 times [2024-10-12 00:47:14,693 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-12 00:47:14,693 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [607512442] [2024-10-12 00:47:14,693 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-12 00:47:14,694 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-12 00:47:14,711 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-12 00:47:14,711 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-10-12 00:47:14,714 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-12 00:47:14,747 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-10-12 00:47:14,824 INFO L204 LassoAnalysis]: Preferences: [2024-10-12 00:47:14,825 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2024-10-12 00:47:14,825 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2024-10-12 00:47:14,825 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2024-10-12 00:47:14,825 INFO L128 ssoRankerPreferences]: Use exernal solver: true [2024-10-12 00:47:14,826 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-10-12 00:47:14,826 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2024-10-12 00:47:14,826 INFO L131 ssoRankerPreferences]: Path of dumped script: [2024-10-12 00:47:14,826 INFO L132 ssoRankerPreferences]: Filename of dumped script: elevator_spec13_product21.cil.c_Iteration1_Loop [2024-10-12 00:47:14,826 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2024-10-12 00:47:14,826 INFO L241 LassoAnalysis]: Starting lasso preprocessing... [2024-10-12 00:47:14,853 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-10-12 00:47:14,984 INFO L259 LassoAnalysis]: Preprocessing complete. [2024-10-12 00:47:14,985 INFO L365 LassoAnalysis]: Checking for nontermination... [2024-10-12 00:47:14,987 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-10-12 00:47:14,987 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-clean/releaseScripts/default/UAutomizer-linux/z3 [2024-10-12 00:47:14,990 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:14,991 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:14,993 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2024-10-12 00:47:14,993 INFO L160 nArgumentSynthesizer]: Using integer mode. [2024-10-12 00:47:15,030 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-clean/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (2)] Forceful destruction successful, exit code 0 [2024-10-12 00:47:15,030 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-10-12 00:47:15,030 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-clean/releaseScripts/default/UAutomizer-linux/z3 [2024-10-12 00:47:15,033 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:15,035 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:15,036 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 3 Nilpotent components: true [2024-10-12 00:47:15,036 INFO L160 nArgumentSynthesizer]: Using integer mode. [2024-10-12 00:47:15,074 INFO L405 LassoAnalysis]: Proving nontermination failed: No geometric nontermination argument exists. [2024-10-12 00:47:15,079 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-clean/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (3)] Forceful destruction successful, exit code 0 [2024-10-12 00:47:15,079 INFO L204 LassoAnalysis]: Preferences: [2024-10-12 00:47:15,080 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2024-10-12 00:47:15,080 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2024-10-12 00:47:15,080 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2024-10-12 00:47:15,080 INFO L128 ssoRankerPreferences]: Use exernal solver: false [2024-10-12 00:47:15,080 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-10-12 00:47:15,080 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2024-10-12 00:47:15,080 INFO L131 ssoRankerPreferences]: Path of dumped script: [2024-10-12 00:47:15,080 INFO L132 ssoRankerPreferences]: Filename of dumped script: elevator_spec13_product21.cil.c_Iteration1_Loop [2024-10-12 00:47:15,080 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2024-10-12 00:47:15,080 INFO L241 LassoAnalysis]: Starting lasso preprocessing... [2024-10-12 00:47:15,081 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-10-12 00:47:15,147 INFO L259 LassoAnalysis]: Preprocessing complete. [2024-10-12 00:47:15,152 INFO L451 LassoAnalysis]: Using template 'affine'. [2024-10-12 00:47:15,154 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-10-12 00:47:15,154 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-clean/releaseScripts/default/UAutomizer-linux/z3 [2024-10-12 00:47:15,156 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:15,157 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:15,159 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:15,171 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-10-12 00:47:15,171 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-10-12 00:47:15,172 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-10-12 00:47:15,172 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-10-12 00:47:15,172 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-10-12 00:47:15,175 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-10-12 00:47:15,176 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-10-12 00:47:15,178 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2024-10-12 00:47:15,183 INFO L443 ModelExtractionUtils]: Simplification made 2 calls to the SMT solver. [2024-10-12 00:47:15,183 INFO L444 ModelExtractionUtils]: 1 out of 3 variables were initially zero. Simplification set additionally 0 variables to zero. [2024-10-12 00:47:15,184 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-10-12 00:47:15,185 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-clean/releaseScripts/default/UAutomizer-linux/z3 [2024-10-12 00:47:15,188 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:15,189 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:15,191 INFO L435 nArgumentSynthesizer]: Simplifying supporting invariants... [2024-10-12 00:47:15,191 INFO L438 nArgumentSynthesizer]: Removed 0 redundant supporting invariants from a total of 0. [2024-10-12 00:47:15,191 INFO L474 LassoAnalysis]: Proved termination. [2024-10-12 00:47:15,192 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:15,206 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:15,209 INFO L156 tatePredicateManager]: 0 out of 0 supporting invariants were superfluous and have been removed [2024-10-12 00:47:15,236 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-12 00:47:15,399 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-12 00:47:15,404 INFO L255 TraceCheckSpWp]: Trace formula consists of 626 conjuncts, 2 conjuncts are in the unsatisfiable core [2024-10-12 00:47:15,406 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-10-12 00:47:15,512 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-12 00:47:15,512 WARN L253 TraceCheckSpWp]: Trace formula consists of 11 conjuncts, 9 conjuncts are in the unsatisfiable core [2024-10-12 00:47:15,513 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-10-12 00:47:15,688 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:15,725 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:15,757 INFO L71 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand has 9192 states, 9191 states have (on average 1.8817321292568818) internal successors, (17295), 9191 states have internal predecessors, (17295), 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.555555555555555) internal successors, (59), 9 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:16,792 INFO L75 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand has 9192 states, 9191 states have (on average 1.8817321292568818) internal successors, (17295), 9191 states have internal predecessors, (17295), 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.555555555555555) internal successors, (59), 9 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) Result 24022 states and 45140 transitions. Complement of second has 18 states. [2024-10-12 00:47:16,797 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:16,803 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 6.555555555555555) internal successors, (59), 9 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:16,838 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 31237 transitions. [2024-10-12 00:47:16,840 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 10 states and 31237 transitions. Stem has 51 letters. Loop has 8 letters. [2024-10-12 00:47:16,841 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2024-10-12 00:47:16,841 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 10 states and 31237 transitions. Stem has 59 letters. Loop has 8 letters. [2024-10-12 00:47:16,842 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2024-10-12 00:47:16,842 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 10 states and 31237 transitions. Stem has 51 letters. Loop has 16 letters. [2024-10-12 00:47:16,842 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2024-10-12 00:47:16,843 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 24022 states and 45140 transitions. [2024-10-12 00:47:17,030 INFO L131 ngComponentsAnalysis]: Automaton has 60 accepting balls. 4566 [2024-10-12 00:47:17,579 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:17,597 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 24022 states to 16531 states and 30981 transitions. [2024-10-12 00:47:17,598 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 16501 [2024-10-12 00:47:17,623 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 16502 [2024-10-12 00:47:17,624 INFO L73 IsDeterministic]: Start isDeterministic. Operand 16531 states and 30981 transitions. [2024-10-12 00:47:17,635 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-10-12 00:47:17,635 INFO L218 hiAutomatonCegarLoop]: Abstraction has 16531 states and 30981 transitions. [2024-10-12 00:47:17,683 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 16531 states and 30981 transitions. [2024-10-12 00:47:18,136 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 16531 to 16505. [2024-10-12 00:47:18,190 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16505 states, 16505 states have (on average 1.8747046349591032) internal successors, (30942), 16504 states have internal predecessors, (30942), 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:18,244 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16505 states to 16505 states and 30942 transitions. [2024-10-12 00:47:18,246 INFO L240 hiAutomatonCegarLoop]: Abstraction has 16505 states and 30942 transitions. [2024-10-12 00:47:18,246 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-10-12 00:47:18,250 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2024-10-12 00:47:18,251 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2024-10-12 00:47:18,256 INFO L87 Difference]: Start difference. First operand 16505 states and 30942 transitions. Second operand has 5 states, 5 states have (on average 10.2) internal successors, (51), 5 states have internal predecessors, (51), 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:18,937 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-10-12 00:47:18,938 INFO L93 Difference]: Finished difference Result 16487 states and 30811 transitions. [2024-10-12 00:47:18,938 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 16487 states and 30811 transitions. [2024-10-12 00:47:19,037 INFO L131 ngComponentsAnalysis]: Automaton has 60 accepting balls. 4550 [2024-10-12 00:47:19,129 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 16487 states to 16478 states and 30802 transitions. [2024-10-12 00:47:19,129 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 16459 [2024-10-12 00:47:19,153 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 16459 [2024-10-12 00:47:19,153 INFO L73 IsDeterministic]: Start isDeterministic. Operand 16478 states and 30802 transitions. [2024-10-12 00:47:19,156 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-10-12 00:47:19,156 INFO L218 hiAutomatonCegarLoop]: Abstraction has 16478 states and 30802 transitions. [2024-10-12 00:47:19,180 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 16478 states and 30802 transitions. [2024-10-12 00:47:19,348 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 16478 to 9179. [2024-10-12 00:47:19,369 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9179 states, 9179 states have (on average 1.8693757489922649) internal successors, (17159), 9178 states have internal predecessors, (17159), 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,393 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9179 states to 9179 states and 17159 transitions. [2024-10-12 00:47:19,394 INFO L240 hiAutomatonCegarLoop]: Abstraction has 9179 states and 17159 transitions. [2024-10-12 00:47:19,394 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2024-10-12 00:47:19,395 INFO L425 stractBuchiCegarLoop]: Abstraction has 9179 states and 17159 transitions. [2024-10-12 00:47:19,395 INFO L332 stractBuchiCegarLoop]: ======== Iteration 2 ============ [2024-10-12 00:47:19,397 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 9179 states and 17159 transitions. [2024-10-12 00:47:19,533 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 2322 [2024-10-12 00:47:19,533 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-10-12 00:47:19,534 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-10-12 00:47:19,535 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] [2024-10-12 00:47:19,535 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1, 1, 1] [2024-10-12 00:47:19,536 INFO L745 eck$LassoCheckResult]: Stem: 73765#$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(10, 4);call #Ultimate.allocInit(4, 5);call write~init~int#1(91, 5, 0, 1);call write~init~int#1(95, 5, 1, 1);call write~init~int#1(93, 5, 2, 1);call write~init~int#1(0, 5, 3, 1);call #Ultimate.allocInit(4, 6);call write~init~int#2(91, 6, 0, 1);call write~init~int#2(93, 6, 1, 1);call write~init~int#2(32, 6, 2, 1);call write~init~int#2(0, 6, 3, 1);call #Ultimate.allocInit(5, 7);call write~init~int#3(32, 7, 0, 1);call write~init~int#3(97, 7, 1, 1);call write~init~int#3(116, 7, 2, 1);call write~init~int#3(32, 7, 3, 1);call write~init~int#3(0, 7, 4, 1);call #Ultimate.allocInit(3, 8);call write~init~int#4(37, 8, 0, 1);call write~init~int#4(105, 8, 1, 1);call write~init~int#4(0, 8, 2, 1);call #Ultimate.allocInit(10, 9);call #Ultimate.allocInit(3, 10);call write~init~int#5(117, 10, 0, 1);call write~init~int#5(112, 10, 1, 1);call write~init~int#5(0, 10, 2, 1);call #Ultimate.allocInit(5, 11);call write~init~int#6(100, 11, 0, 1);call write~init~int#6(111, 11, 1, 1);call write~init~int#6(119, 11, 2, 1);call write~init~int#6(110, 11, 3, 1);call write~init~int#6(0, 11, 4, 1);call #Ultimate.allocInit(7, 12);call write~init~int#7(32, 12, 0, 1);call write~init~int#7(73, 12, 1, 1);call write~init~int#7(76, 12, 2, 1);call write~init~int#7(95, 12, 3, 1);call write~init~int#7(112, 12, 4, 1);call write~init~int#7(58, 12, 5, 1);call write~init~int#7(0, 12, 6, 1);call #Ultimate.allocInit(4, 13);call write~init~int#8(32, 13, 0, 1);call write~init~int#8(37, 13, 1, 1);call write~init~int#8(105, 13, 2, 1);call write~init~int#8(0, 13, 3, 1);call #Ultimate.allocInit(4, 14);call write~init~int#9(32, 14, 0, 1);call write~init~int#9(37, 14, 1, 1);call write~init~int#9(105, 14, 2, 1);call write~init~int#9(0, 14, 3, 1);call #Ultimate.allocInit(4, 15);call write~init~int#10(32, 15, 0, 1);call write~init~int#10(37, 15, 1, 1);call write~init~int#10(105, 15, 2, 1);call write~init~int#10(0, 15, 3, 1);call #Ultimate.allocInit(4, 16);call write~init~int#11(32, 16, 0, 1);call write~init~int#11(37, 16, 1, 1);call write~init~int#11(105, 16, 2, 1);call write~init~int#11(0, 16, 3, 1);call #Ultimate.allocInit(4, 17);call write~init~int#12(32, 17, 0, 1);call write~init~int#12(37, 17, 1, 1);call write~init~int#12(105, 17, 2, 1);call write~init~int#12(0, 17, 3, 1);call #Ultimate.allocInit(6, 18);call write~init~int#13(32, 18, 0, 1);call write~init~int#13(70, 18, 1, 1);call write~init~int#13(95, 18, 2, 1);call write~init~int#13(112, 18, 3, 1);call write~init~int#13(58, 18, 4, 1);call write~init~int#13(0, 18, 5, 1);call #Ultimate.allocInit(4, 19);call write~init~int#14(32, 19, 0, 1);call write~init~int#14(37, 19, 1, 1);call write~init~int#14(105, 19, 2, 1);call write~init~int#14(0, 19, 3, 1);call #Ultimate.allocInit(4, 20);call write~init~int#15(32, 20, 0, 1);call write~init~int#15(37, 20, 1, 1);call write~init~int#15(105, 20, 2, 1);call write~init~int#15(0, 20, 3, 1);call #Ultimate.allocInit(4, 21);call write~init~int#16(32, 21, 0, 1);call write~init~int#16(37, 21, 1, 1);call write~init~int#16(105, 21, 2, 1);call write~init~int#16(0, 21, 3, 1);call #Ultimate.allocInit(4, 22);call write~init~int#17(32, 22, 0, 1);call write~init~int#17(37, 22, 1, 1);call write~init~int#17(105, 22, 2, 1);call write~init~int#17(0, 22, 3, 1);call #Ultimate.allocInit(4, 23);call write~init~int#18(32, 23, 0, 1);call write~init~int#18(37, 23, 1, 1);call write~init~int#18(105, 23, 2, 1);call write~init~int#18(0, 23, 3, 1);call #Ultimate.allocInit(2, 24);call write~init~int#19(10, 24, 0, 1);call write~init~int#19(0, 24, 1, 1);call #Ultimate.allocInit(30, 25);call #Ultimate.allocInit(9, 26);call #Ultimate.allocInit(21, 27);call #Ultimate.allocInit(30, 28);call #Ultimate.allocInit(9, 29);call #Ultimate.allocInit(21, 30);call #Ultimate.allocInit(30, 31);call #Ultimate.allocInit(9, 32);call #Ultimate.allocInit(25, 33);call #Ultimate.allocInit(30, 34);call #Ultimate.allocInit(9, 35);call #Ultimate.allocInit(25, 36);~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;~weight~0 := 0;~maximumWeight~0 := 100;~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;~prevDir~0 := 0;~head~0.base, ~head~0.offset := 0, 0; 73503#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret18#1, main_~retValue_acc~9#1, main_~tmp~8#1;havoc main_~retValue_acc~9#1;havoc main_~tmp~8#1;assume { :begin_inline_select_helpers } true; 73504#select_helpers_returnLabel#1 assume { :end_inline_select_helpers } true;assume { :begin_inline_select_features } true; 75323#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~4#1;havoc valid_product_~retValue_acc~4#1;valid_product_~retValue_acc~4#1 := 1;valid_product_#res#1 := valid_product_~retValue_acc~4#1; 68023#valid_product_returnLabel#1 main_#t~ret18#1 := valid_product_#res#1;havoc valid_product_~retValue_acc~4#1;assume { :end_inline_valid_product } true;main_~tmp~8#1 := main_#t~ret18#1;havoc main_#t~ret18#1; 68024#L1217 assume 0 != main_~tmp~8#1;assume { :begin_inline_setup } true; 69620#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~ret7#1, aliceCall_~tmp~1#1;havoc aliceCall_~tmp~1#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 1;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~6#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~6#1; 68332#L801 assume !(0 == getOrigin_~person#1); 68333#L805 assume 1 == getOrigin_~person#1;getOrigin_~retValue_acc~6#1 := 3;getOrigin_#res#1 := getOrigin_~retValue_acc~6#1; 69651#getOrigin_returnLabel#1 aliceCall_#t~ret7#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~6#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;aliceCall_~tmp~1#1 := aliceCall_#t~ret7#1;havoc aliceCall_#t~ret7#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 1, aliceCall_~tmp~1#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 71214#L409 assume 0 == initPersonOnFloor_~floor#1; 75429#L410 assume 0 == initPersonOnFloor_~person#1;~personOnFloor_0_0~0 := 1; 66757#L517-1 assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 68710#L201 assume 0 == callOnFloor_~floorID#1;~calls_0~0 := 1; 68537#L213-2 havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true; 68578#initPersonOnFloor_returnLabel#1 havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true; 68579#aliceCall_returnLabel#1 havoc aliceCall_#t~ret7#1, aliceCall_~tmp~1#1;assume { :end_inline_aliceCall } true;assume { :begin_inline_angelinaCall } true;havoc angelinaCall_#t~ret8#1, angelinaCall_~tmp~2#1;havoc angelinaCall_~tmp~2#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 2;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~6#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~6#1; 67599#L801-1 assume !(0 == getOrigin_~person#1); 67600#L805-1 assume 1 == getOrigin_~person#1;getOrigin_~retValue_acc~6#1 := 3;getOrigin_#res#1 := getOrigin_~retValue_acc~6#1; 67375#getOrigin_returnLabel#2 angelinaCall_#t~ret8#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~6#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;angelinaCall_~tmp~2#1 := angelinaCall_#t~ret8#1;havoc angelinaCall_#t~ret8#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 2, angelinaCall_~tmp~2#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 67376#L409-1 assume 0 == initPersonOnFloor_~floor#1; 74300#L410-2 assume 0 == initPersonOnFloor_~person#1;~personOnFloor_0_0~0 := 1; 67092#L517-3 assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 72505#L201-2 assume 0 == callOnFloor_~floorID#1;~calls_0~0 := 1; 72950#L213-5 havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true; 72293#initPersonOnFloor_returnLabel#2 havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true; 72294#angelinaCall_returnLabel#1 havoc angelinaCall_#t~ret8#1, angelinaCall_~tmp~2#1;assume { :end_inline_angelinaCall } true;assume { :begin_inline_threeTS } true;assume { :begin_inline_timeShift } true;havoc timeShift_#t~ret60#1, timeShift_#t~ret61#1, timeShift_#t~ret62#1, timeShift_#t~ret63#1, timeShift_#t~ret64#1, timeShift_#t~ret65#1, timeShift_#t~ret66#1, timeShift_#t~ret67#1, timeShift_#t~ret68#1, timeShift_#t~ret69#1, timeShift_#t~ret70#1, timeShift_~tmp~19#1, timeShift_~tmp___0~7#1, timeShift_~tmp___1~4#1, timeShift_~tmp___2~4#1, timeShift_~tmp___3~3#1, timeShift_~tmp___4~2#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~19#1;havoc timeShift_~tmp___0~7#1;havoc timeShift_~tmp___1~4#1;havoc timeShift_~tmp___2~4#1;havoc timeShift_~tmp___3~3#1;havoc timeShift_~tmp___4~2#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~ret103#1;assume { :begin_inline_getCurrentHeading } true;havoc getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~14#1;havoc getCurrentHeading_~retValue_acc~14#1;getCurrentHeading_~retValue_acc~14#1 := ~currentHeading~0;getCurrentHeading_#res#1 := getCurrentHeading_~retValue_acc~14#1; 75149#getCurrentHeading_returnLabel#1 __utac_acc__Specification13_spec__1_#t~ret103#1 := getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~14#1;assume { :end_inline_getCurrentHeading } true;~prevDir~0 := __utac_acc__Specification13_spec__1_#t~ret103#1;havoc __utac_acc__Specification13_spec__1_#t~ret103#1; 72628#__utac_acc__Specification13_spec__1_returnLabel#1 havoc __utac_acc__Specification13_spec__1_#t~ret103#1;assume { :end_inline___utac_acc__Specification13_spec__1 } true;assume { :begin_inline_stopRequestedAtCurrentFloor } true;havoc stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret45#1, stopRequestedAtCurrentFloor_#t~ret46#1, stopRequestedAtCurrentFloor_#t~ret47#1, stopRequestedAtCurrentFloor_~retValue_acc~22#1, stopRequestedAtCurrentFloor_~tmp~17#1, stopRequestedAtCurrentFloor_~tmp___0~5#1, stopRequestedAtCurrentFloor_~__cil_tmp4~1#1, stopRequestedAtCurrentFloor_~__cil_tmp5~0#1;havoc stopRequestedAtCurrentFloor_~retValue_acc~22#1;havoc stopRequestedAtCurrentFloor_~tmp~17#1;havoc stopRequestedAtCurrentFloor_~tmp___0~5#1;havoc stopRequestedAtCurrentFloor_~__cil_tmp4~1#1;havoc stopRequestedAtCurrentFloor_~__cil_tmp5~0#1;stopRequestedAtCurrentFloor_~__cil_tmp4~1#1 := 2 * ~maximumWeight~0;stopRequestedAtCurrentFloor_~__cil_tmp5~0#1 := (if stopRequestedAtCurrentFloor_~__cil_tmp4~1#1 < 0 && 0 != stopRequestedAtCurrentFloor_~__cil_tmp4~1#1 % 3 then 1 + stopRequestedAtCurrentFloor_~__cil_tmp4~1#1 / 3 else stopRequestedAtCurrentFloor_~__cil_tmp4~1#1 / 3); 72629#L2140 assume ~weight~0 > stopRequestedAtCurrentFloor_~__cil_tmp5~0#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~11#1;havoc getCurrentFloorID_~retValue_acc~11#1;getCurrentFloorID_~retValue_acc~11#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~11#1; 72367#getCurrentFloorID_returnLabel#1 stopRequestedAtCurrentFloor_#t~ret45#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~11#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedAtCurrentFloor_~tmp~17#1 := stopRequestedAtCurrentFloor_#t~ret45#1;havoc stopRequestedAtCurrentFloor_#t~ret45#1;assume { :begin_inline_buttonForFloorIsPressed } true;buttonForFloorIsPressed_#in~floorID#1 := stopRequestedAtCurrentFloor_~tmp~17#1;havoc buttonForFloorIsPressed_#res#1;havoc buttonForFloorIsPressed_~floorID#1, buttonForFloorIsPressed_~retValue_acc~13#1;buttonForFloorIsPressed_~floorID#1 := buttonForFloorIsPressed_#in~floorID#1;havoc buttonForFloorIsPressed_~retValue_acc~13#1; 72368#L1476 assume 0 == buttonForFloorIsPressed_~floorID#1;buttonForFloorIsPressed_~retValue_acc~13#1 := ~floorButtons_0~0;buttonForFloorIsPressed_#res#1 := buttonForFloorIsPressed_~retValue_acc~13#1; 69909#buttonForFloorIsPressed_returnLabel#1 stopRequestedAtCurrentFloor_#t~ret46#1 := buttonForFloorIsPressed_#res#1;havoc buttonForFloorIsPressed_~floorID#1, buttonForFloorIsPressed_~retValue_acc~13#1;havoc buttonForFloorIsPressed_#in~floorID#1;assume { :end_inline_buttonForFloorIsPressed } true;stopRequestedAtCurrentFloor_~tmp___0~5#1 := stopRequestedAtCurrentFloor_#t~ret46#1;havoc stopRequestedAtCurrentFloor_#t~ret46#1;stopRequestedAtCurrentFloor_~retValue_acc~22#1 := (if 1 == stopRequestedAtCurrentFloor_~tmp___0~5#1 then 1 else 0);stopRequestedAtCurrentFloor_#res#1 := stopRequestedAtCurrentFloor_~retValue_acc~22#1; 67063#stopRequestedAtCurrentFloor_returnLabel#1 timeShift_#t~ret60#1 := stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret45#1, stopRequestedAtCurrentFloor_#t~ret46#1, stopRequestedAtCurrentFloor_#t~ret47#1, stopRequestedAtCurrentFloor_~retValue_acc~22#1, stopRequestedAtCurrentFloor_~tmp~17#1, stopRequestedAtCurrentFloor_~tmp___0~5#1, stopRequestedAtCurrentFloor_~__cil_tmp4~1#1, stopRequestedAtCurrentFloor_~__cil_tmp5~0#1;assume { :end_inline_stopRequestedAtCurrentFloor } true;timeShift_~tmp___9~2#1 := timeShift_#t~ret60#1;havoc timeShift_#t~ret60#1; 67064#L2290 assume !(0 != timeShift_~tmp___9~2#1); 69611#L2381 assume 1 == ~doorState~0;~doorState~0 := 0; 69612#L2381-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~ret38#1, stopRequestedInDirection_#t~ret39#1, stopRequestedInDirection_#t~ret40#1, stopRequestedInDirection_#t~ret41#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~19#1, stopRequestedInDirection_~overload~0#1, stopRequestedInDirection_~buttonPressed~0#1, stopRequestedInDirection_~tmp~14#1, stopRequestedInDirection_~__cil_tmp8~0#1, stopRequestedInDirection_~__cil_tmp9~0#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~19#1;havoc stopRequestedInDirection_~overload~0#1;havoc stopRequestedInDirection_~buttonPressed~0#1;havoc stopRequestedInDirection_~tmp~14#1;havoc stopRequestedInDirection_~__cil_tmp8~0#1;havoc stopRequestedInDirection_~__cil_tmp9~0#1;stopRequestedInDirection_~__cil_tmp8~0#1 := 2 * ~maximumWeight~0;stopRequestedInDirection_~__cil_tmp9~0#1 := (if stopRequestedInDirection_~__cil_tmp8~0#1 < 0 && 0 != stopRequestedInDirection_~__cil_tmp8~0#1 % 3 then 1 + stopRequestedInDirection_~__cil_tmp8~0#1 / 3 else stopRequestedInDirection_~__cil_tmp8~0#1 / 3);stopRequestedInDirection_~overload~0#1 := (if ~weight~0 > stopRequestedInDirection_~__cil_tmp9~0#1 then 1 else 0);assume { :begin_inline_isAnyLiftButtonPressed } true;havoc isAnyLiftButtonPressed_#res#1;havoc isAnyLiftButtonPressed_~retValue_acc~20#1;havoc isAnyLiftButtonPressed_~retValue_acc~20#1; 73963#L2043 assume 0 != ~floorButtons_0~0;isAnyLiftButtonPressed_~retValue_acc~20#1 := 1;isAnyLiftButtonPressed_#res#1 := isAnyLiftButtonPressed_~retValue_acc~20#1; 69436#isAnyLiftButtonPressed_returnLabel#1 stopRequestedInDirection_#t~ret38#1 := isAnyLiftButtonPressed_#res#1;havoc isAnyLiftButtonPressed_~retValue_acc~20#1;assume { :end_inline_isAnyLiftButtonPressed } true;stopRequestedInDirection_~tmp~14#1 := stopRequestedInDirection_#t~ret38#1;havoc stopRequestedInDirection_#t~ret38#1;stopRequestedInDirection_~buttonPressed~0#1 := stopRequestedInDirection_~tmp~14#1; 72327#L2016 assume !(0 != stopRequestedInDirection_~overload~0#1);assume { :begin_inline_stopRequestedInDirection__wrappee__weight } true;stopRequestedInDirection__wrappee__weight_#in~dir#1, stopRequestedInDirection__wrappee__weight_#in~respectFloorCalls#1, stopRequestedInDirection__wrappee__weight_#in~respectInLiftCalls#1 := stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1;havoc stopRequestedInDirection__wrappee__weight_#res#1;havoc stopRequestedInDirection__wrappee__weight_#t~ret27#1, stopRequestedInDirection__wrappee__weight_#t~ret28#1, stopRequestedInDirection__wrappee__weight_#t~ret29#1, stopRequestedInDirection__wrappee__weight_#t~ret30#1, stopRequestedInDirection__wrappee__weight_#t~ret31#1, stopRequestedInDirection__wrappee__weight_#t~ret32#1, stopRequestedInDirection__wrappee__weight_#t~ret33#1, stopRequestedInDirection__wrappee__weight_#t~ret34#1, stopRequestedInDirection__wrappee__weight_#t~ret35#1, stopRequestedInDirection__wrappee__weight_#t~ret36#1, stopRequestedInDirection__wrappee__weight_#t~ret37#1, stopRequestedInDirection__wrappee__weight_~dir#1, stopRequestedInDirection__wrappee__weight_~respectFloorCalls#1, stopRequestedInDirection__wrappee__weight_~respectInLiftCalls#1, stopRequestedInDirection__wrappee__weight_~retValue_acc~18#1, stopRequestedInDirection__wrappee__weight_~tmp~13#1, stopRequestedInDirection__wrappee__weight_~tmp___0~3#1, stopRequestedInDirection__wrappee__weight_~tmp___1~2#1, stopRequestedInDirection__wrappee__weight_~tmp___2~2#1, stopRequestedInDirection__wrappee__weight_~tmp___3~1#1, stopRequestedInDirection__wrappee__weight_~tmp___4~0#1, stopRequestedInDirection__wrappee__weight_~tmp___5~0#1, stopRequestedInDirection__wrappee__weight_~tmp___6~0#1, stopRequestedInDirection__wrappee__weight_~tmp___7~0#1, stopRequestedInDirection__wrappee__weight_~tmp___8~0#1, stopRequestedInDirection__wrappee__weight_~tmp___9~0#1;stopRequestedInDirection__wrappee__weight_~dir#1 := stopRequestedInDirection__wrappee__weight_#in~dir#1;stopRequestedInDirection__wrappee__weight_~respectFloorCalls#1 := stopRequestedInDirection__wrappee__weight_#in~respectFloorCalls#1;stopRequestedInDirection__wrappee__weight_~respectInLiftCalls#1 := stopRequestedInDirection__wrappee__weight_#in~respectInLiftCalls#1;havoc stopRequestedInDirection__wrappee__weight_~retValue_acc~18#1;havoc stopRequestedInDirection__wrappee__weight_~tmp~13#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___0~3#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___1~2#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___2~2#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___3~1#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___4~0#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___5~0#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___6~0#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___7~0#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___8~0#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___9~0#1; 70693#L1663-2 assume !(1 == stopRequestedInDirection__wrappee__weight_~dir#1); 70694#L1832-2 assume 0 == ~currentFloorID~0;stopRequestedInDirection__wrappee__weight_~retValue_acc~18#1 := 0;stopRequestedInDirection__wrappee__weight_#res#1 := stopRequestedInDirection__wrappee__weight_~retValue_acc~18#1; 67523#stopRequestedInDirection__wrappee__weight_returnLabel#3 stopRequestedInDirection_#t~ret41#1 := stopRequestedInDirection__wrappee__weight_#res#1;havoc stopRequestedInDirection__wrappee__weight_#t~ret27#1, stopRequestedInDirection__wrappee__weight_#t~ret28#1, stopRequestedInDirection__wrappee__weight_#t~ret29#1, stopRequestedInDirection__wrappee__weight_#t~ret30#1, stopRequestedInDirection__wrappee__weight_#t~ret31#1, stopRequestedInDirection__wrappee__weight_#t~ret32#1, stopRequestedInDirection__wrappee__weight_#t~ret33#1, stopRequestedInDirection__wrappee__weight_#t~ret34#1, stopRequestedInDirection__wrappee__weight_#t~ret35#1, stopRequestedInDirection__wrappee__weight_#t~ret36#1, stopRequestedInDirection__wrappee__weight_#t~ret37#1, stopRequestedInDirection__wrappee__weight_~dir#1, stopRequestedInDirection__wrappee__weight_~respectFloorCalls#1, stopRequestedInDirection__wrappee__weight_~respectInLiftCalls#1, stopRequestedInDirection__wrappee__weight_~retValue_acc~18#1, stopRequestedInDirection__wrappee__weight_~tmp~13#1, stopRequestedInDirection__wrappee__weight_~tmp___0~3#1, stopRequestedInDirection__wrappee__weight_~tmp___1~2#1, stopRequestedInDirection__wrappee__weight_~tmp___2~2#1, stopRequestedInDirection__wrappee__weight_~tmp___3~1#1, stopRequestedInDirection__wrappee__weight_~tmp___4~0#1, stopRequestedInDirection__wrappee__weight_~tmp___5~0#1, stopRequestedInDirection__wrappee__weight_~tmp___6~0#1, stopRequestedInDirection__wrappee__weight_~tmp___7~0#1, stopRequestedInDirection__wrappee__weight_~tmp___8~0#1, stopRequestedInDirection__wrappee__weight_~tmp___9~0#1;havoc stopRequestedInDirection__wrappee__weight_#in~dir#1, stopRequestedInDirection__wrappee__weight_#in~respectFloorCalls#1, stopRequestedInDirection__wrappee__weight_#in~respectInLiftCalls#1;assume { :end_inline_stopRequestedInDirection__wrappee__weight } true;stopRequestedInDirection_~retValue_acc~19#1 := stopRequestedInDirection_#t~ret41#1;havoc stopRequestedInDirection_#t~ret41#1;stopRequestedInDirection_#res#1 := stopRequestedInDirection_~retValue_acc~19#1; 68399#stopRequestedInDirection_returnLabel#1 timeShift_#t~ret67#1 := stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret38#1, stopRequestedInDirection_#t~ret39#1, stopRequestedInDirection_#t~ret40#1, stopRequestedInDirection_#t~ret41#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~19#1, stopRequestedInDirection_~overload~0#1, stopRequestedInDirection_~buttonPressed~0#1, stopRequestedInDirection_~tmp~14#1, stopRequestedInDirection_~__cil_tmp8~0#1, stopRequestedInDirection_~__cil_tmp9~0#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~ret67#1;havoc timeShift_#t~ret67#1; 69803#L2389 assume 0 != timeShift_~tmp___8~2#1;assume { :begin_inline_continueInDirection } true;continueInDirection_#in~dir#1 := ~currentHeading~0;havoc continueInDirection_#t~ret42#1, continueInDirection_~dir#1, continueInDirection_~tmp~15#1;continueInDirection_~dir#1 := continueInDirection_#in~dir#1;havoc continueInDirection_~tmp~15#1;~currentHeading~0 := continueInDirection_~dir#1; 74733#L2078 assume !(1 == ~currentHeading~0); 75013#L2088 assume !(0 == ~currentFloorID~0); 73590#L2088-2 assume 1 == ~currentHeading~0;~currentFloorID~0 := 1 + ~currentFloorID~0; 68655#L2094-1 havoc continueInDirection_#t~ret42#1, continueInDirection_~dir#1, continueInDirection_~tmp~15#1;havoc continueInDirection_#in~dir#1;assume { :end_inline_continueInDirection } true; 67023#L2398-2 assume { :begin_inline___utac_acc__Specification13_spec__2 } true;havoc __utac_acc__Specification13_spec__2_#t~ret104#1, __utac_acc__Specification13_spec__2_#t~ret105#1, __utac_acc__Specification13_spec__2_#t~ret106#1, __utac_acc__Specification13_spec__2_#t~ret107#1, __utac_acc__Specification13_spec__2_#t~ret108#1, __utac_acc__Specification13_spec__2_#t~ret109#1, __utac_acc__Specification13_spec__2_~tmp~23#1, __utac_acc__Specification13_spec__2_~tmp___0~11#1, __utac_acc__Specification13_spec__2_~tmp___1~8#1, __utac_acc__Specification13_spec__2_~tmp___2~6#1, __utac_acc__Specification13_spec__2_~tmp___3~5#1, __utac_acc__Specification13_spec__2_~tmp___4~3#1, __utac_acc__Specification13_spec__2_~__cil_tmp7~1#1, __utac_acc__Specification13_spec__2_~__cil_tmp8~2#1;havoc __utac_acc__Specification13_spec__2_~tmp~23#1;havoc __utac_acc__Specification13_spec__2_~tmp___0~11#1;havoc __utac_acc__Specification13_spec__2_~tmp___1~8#1;havoc __utac_acc__Specification13_spec__2_~tmp___2~6#1;havoc __utac_acc__Specification13_spec__2_~tmp___3~5#1;havoc __utac_acc__Specification13_spec__2_~tmp___4~3#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp7~1#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp8~2#1;__utac_acc__Specification13_spec__2_~__cil_tmp7~1#1 := 2 * ~maximumWeight~0;__utac_acc__Specification13_spec__2_~__cil_tmp8~2#1 := (if __utac_acc__Specification13_spec__2_~__cil_tmp7~1#1 < 0 && 0 != __utac_acc__Specification13_spec__2_~__cil_tmp7~1#1 % 3 then 1 + __utac_acc__Specification13_spec__2_~__cil_tmp7~1#1 / 3 else __utac_acc__Specification13_spec__2_~__cil_tmp7~1#1 / 3); 67024#L2887 assume ~weight~0 > __utac_acc__Specification13_spec__2_~__cil_tmp8~2#1; 71348#L2888 assume !(1 == ~prevDir~0); 70150#L2914 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~24#1, existInLiftCallsInDirection_~i~1#1, existInLiftCallsInDirection_~i___0~0#1;existInLiftCallsInDirection_~d#1 := existInLiftCallsInDirection_#in~d#1;havoc existInLiftCallsInDirection_~retValue_acc~24#1;havoc existInLiftCallsInDirection_~i~1#1;havoc existInLiftCallsInDirection_~i___0~0#1; 70151#L2593-2 assume 1 == existInLiftCallsInDirection_~d#1;existInLiftCallsInDirection_~i~1#1 := 0;existInLiftCallsInDirection_~i~1#1 := 1 + ~currentFloorID~0; 70318#L2597-8 [2024-10-12 00:47:19,537 INFO L747 eck$LassoCheckResult]: Loop: 70318#L2597-8 assume !false; 70319#L2598-2 assume existInLiftCallsInDirection_~i~1#1 < 5; 66580#L2599-2 assume !(0 == existInLiftCallsInDirection_~i~1#1); 66582#$Ultimate##3762 assume !(1 == existInLiftCallsInDirection_~i~1#1); 69524#$Ultimate##3766 assume !(2 == existInLiftCallsInDirection_~i~1#1); 72018#$Ultimate##3770 assume !(3 == existInLiftCallsInDirection_~i~1#1); 71691#$Ultimate##3774 assume !(4 == existInLiftCallsInDirection_~i~1#1); 73019#L2640-5 existInLiftCallsInDirection_~i~1#1 := 1 + existInLiftCallsInDirection_~i~1#1; 70318#L2597-8 [2024-10-12 00:47:19,538 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-12 00:47:19,538 INFO L85 PathProgramCache]: Analyzing trace with hash 93287048, now seen corresponding path program 1 times [2024-10-12 00:47:19,538 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-12 00:47:19,539 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [879562090] [2024-10-12 00:47:19,539 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-12 00:47:19,539 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-12 00:47:19,593 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-12 00:47:19,743 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:19,743 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-10-12 00:47:19,744 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [879562090] [2024-10-12 00:47:19,744 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [879562090] provided 1 perfect and 0 imperfect interpolant sequences [2024-10-12 00:47:19,744 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-10-12 00:47:19,744 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2024-10-12 00:47:19,744 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [809912048] [2024-10-12 00:47:19,744 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-10-12 00:47:19,745 INFO L750 eck$LassoCheckResult]: stem already infeasible [2024-10-12 00:47:19,745 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-12 00:47:19,745 INFO L85 PathProgramCache]: Analyzing trace with hash 492016125, now seen corresponding path program 1 times [2024-10-12 00:47:19,745 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-12 00:47:19,746 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1091479712] [2024-10-12 00:47:19,746 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-12 00:47:19,746 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-12 00:47:19,759 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-12 00:47:19,759 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-10-12 00:47:19,761 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-12 00:47:19,770 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-10-12 00:47:19,815 INFO L204 LassoAnalysis]: Preferences: [2024-10-12 00:47:19,815 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2024-10-12 00:47:19,815 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2024-10-12 00:47:19,815 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2024-10-12 00:47:19,816 INFO L128 ssoRankerPreferences]: Use exernal solver: true [2024-10-12 00:47:19,816 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-10-12 00:47:19,816 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2024-10-12 00:47:19,816 INFO L131 ssoRankerPreferences]: Path of dumped script: [2024-10-12 00:47:19,816 INFO L132 ssoRankerPreferences]: Filename of dumped script: elevator_spec13_product21.cil.c_Iteration2_Loop [2024-10-12 00:47:19,816 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2024-10-12 00:47:19,816 INFO L241 LassoAnalysis]: Starting lasso preprocessing... [2024-10-12 00:47:19,817 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-10-12 00:47:19,879 INFO L259 LassoAnalysis]: Preprocessing complete. [2024-10-12 00:47:19,880 INFO L365 LassoAnalysis]: Checking for nontermination... [2024-10-12 00:47:19,880 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-10-12 00:47:19,880 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-clean/releaseScripts/default/UAutomizer-linux/z3 [2024-10-12 00:47:19,884 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:19,885 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:19,887 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2024-10-12 00:47:19,887 INFO L160 nArgumentSynthesizer]: Using integer mode. [2024-10-12 00:47:19,917 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:19,918 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-10-12 00:47:19,918 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-clean/releaseScripts/default/UAutomizer-linux/z3 [2024-10-12 00:47:19,922 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:19,925 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:19,927 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 3 Nilpotent components: true [2024-10-12 00:47:19,928 INFO L160 nArgumentSynthesizer]: Using integer mode. [2024-10-12 00:47:19,969 INFO L405 LassoAnalysis]: Proving nontermination failed: No geometric nontermination argument exists. [2024-10-12 00:47:19,975 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-clean/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (7)] Ended with exit code 0 [2024-10-12 00:47:19,976 INFO L204 LassoAnalysis]: Preferences: [2024-10-12 00:47:19,979 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2024-10-12 00:47:19,980 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2024-10-12 00:47:19,980 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2024-10-12 00:47:19,980 INFO L128 ssoRankerPreferences]: Use exernal solver: false [2024-10-12 00:47:19,980 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-10-12 00:47:19,980 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2024-10-12 00:47:19,980 INFO L131 ssoRankerPreferences]: Path of dumped script: [2024-10-12 00:47:19,980 INFO L132 ssoRankerPreferences]: Filename of dumped script: elevator_spec13_product21.cil.c_Iteration2_Loop [2024-10-12 00:47:19,981 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2024-10-12 00:47:19,981 INFO L241 LassoAnalysis]: Starting lasso preprocessing... [2024-10-12 00:47:19,982 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-10-12 00:47:20,041 INFO L259 LassoAnalysis]: Preprocessing complete. [2024-10-12 00:47:20,042 INFO L451 LassoAnalysis]: Using template 'affine'. [2024-10-12 00:47:20,042 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-10-12 00:47:20,042 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-clean/releaseScripts/default/UAutomizer-linux/z3 [2024-10-12 00:47:20,044 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:20,045 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:20,046 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,059 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-10-12 00:47:20,059 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-10-12 00:47:20,059 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-10-12 00:47:20,059 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-10-12 00:47:20,059 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-10-12 00:47:20,060 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-10-12 00:47:20,061 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-10-12 00:47:20,063 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2024-10-12 00:47:20,069 INFO L443 ModelExtractionUtils]: Simplification made 3 calls to the SMT solver. [2024-10-12 00:47:20,070 INFO L444 ModelExtractionUtils]: 0 out of 3 variables were initially zero. Simplification set additionally 1 variables to zero. [2024-10-12 00:47:20,070 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-10-12 00:47:20,070 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-clean/releaseScripts/default/UAutomizer-linux/z3 [2024-10-12 00:47:20,072 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:20,074 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:20,075 INFO L435 nArgumentSynthesizer]: Simplifying supporting invariants... [2024-10-12 00:47:20,075 INFO L438 nArgumentSynthesizer]: Removed 0 redundant supporting invariants from a total of 0. [2024-10-12 00:47:20,075 INFO L474 LassoAnalysis]: Proved termination. [2024-10-12 00:47:20,076 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,090 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-clean/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (8)] Ended with exit code 0 [2024-10-12 00:47:20,091 INFO L156 tatePredicateManager]: 0 out of 0 supporting invariants were superfluous and have been removed [2024-10-12 00:47:20,107 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-12 00:47:20,235 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-12 00:47:20,238 INFO L255 TraceCheckSpWp]: Trace formula consists of 629 conjuncts, 2 conjuncts are in the unsatisfiable core [2024-10-12 00:47:20,243 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-10-12 00:47:20,341 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-12 00:47:20,343 WARN L253 TraceCheckSpWp]: Trace formula consists of 11 conjuncts, 9 conjuncts are in the unsatisfiable core [2024-10-12 00:47:20,343 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-10-12 00:47:20,519 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,520 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:20,520 INFO L71 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 9179 states and 17159 transitions. cyclomatic complexity: 8014 Second operand has 9 states, 9 states have (on average 6.888888888888889) internal successors, (62), 9 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:20,917 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:21,280 INFO L75 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 9179 states and 17159 transitions. cyclomatic complexity: 8014. Second operand has 9 states, 9 states have (on average 6.888888888888889) internal successors, (62), 9 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) Result 16534 states and 30885 transitions. Complement of second has 17 states. [2024-10-12 00:47:21,281 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:21,283 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 6.888888888888889) internal successors, (62), 9 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:21,297 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 17146 transitions. [2024-10-12 00:47:21,298 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 9 states and 17146 transitions. Stem has 54 letters. Loop has 8 letters. [2024-10-12 00:47:21,300 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2024-10-12 00:47:21,300 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 9 states and 17146 transitions. Stem has 62 letters. Loop has 8 letters. [2024-10-12 00:47:21,300 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2024-10-12 00:47:21,300 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 9 states and 17146 transitions. Stem has 54 letters. Loop has 16 letters. [2024-10-12 00:47:21,301 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2024-10-12 00:47:21,301 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 16534 states and 30885 transitions. [2024-10-12 00:47:21,392 INFO L131 ngComponentsAnalysis]: Automaton has 60 accepting balls. 4564 [2024-10-12 00:47:21,466 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 16534 states to 16528 states and 30879 transitions. [2024-10-12 00:47:21,467 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 16479 [2024-10-12 00:47:21,486 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 16480 [2024-10-12 00:47:21,487 INFO L73 IsDeterministic]: Start isDeterministic. Operand 16528 states and 30879 transitions. [2024-10-12 00:47:21,488 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-10-12 00:47:21,488 INFO L218 hiAutomatonCegarLoop]: Abstraction has 16528 states and 30879 transitions. [2024-10-12 00:47:21,512 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 16528 states and 30879 transitions. [2024-10-12 00:47:21,655 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 16528 to 9203. [2024-10-12 00:47:21,671 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9203 states, 9203 states have (on average 1.8686297946321853) internal successors, (17197), 9202 states have internal predecessors, (17197), 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,694 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9203 states to 9203 states and 17197 transitions. [2024-10-12 00:47:21,695 INFO L240 hiAutomatonCegarLoop]: Abstraction has 9203 states and 17197 transitions. [2024-10-12 00:47:21,695 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-10-12 00:47:21,696 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2024-10-12 00:47:21,696 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2024-10-12 00:47:21,696 INFO L87 Difference]: Start difference. First operand 9203 states and 17197 transitions. Second operand has 4 states, 4 states have (on average 13.5) internal successors, (54), 4 states have internal predecessors, (54), 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,097 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-10-12 00:47:22,097 INFO L93 Difference]: Finished difference Result 9221 states and 17215 transitions. [2024-10-12 00:47:22,097 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 9221 states and 17215 transitions. [2024-10-12 00:47:22,143 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 2326 [2024-10-12 00:47:22,181 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 9221 states to 9221 states and 17215 transitions. [2024-10-12 00:47:22,182 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 9183 [2024-10-12 00:47:22,200 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 9183 [2024-10-12 00:47:22,201 INFO L73 IsDeterministic]: Start isDeterministic. Operand 9221 states and 17215 transitions. [2024-10-12 00:47:22,202 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-10-12 00:47:22,202 INFO L218 hiAutomatonCegarLoop]: Abstraction has 9221 states and 17215 transitions. [2024-10-12 00:47:22,217 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 9221 states and 17215 transitions. [2024-10-12 00:47:22,328 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 9221 to 9218. [2024-10-12 00:47:22,344 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9218 states, 9218 states have (on average 1.8672163159036668) internal successors, (17212), 9217 states have internal predecessors, (17212), 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,367 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9218 states to 9218 states and 17212 transitions. [2024-10-12 00:47:22,368 INFO L240 hiAutomatonCegarLoop]: Abstraction has 9218 states and 17212 transitions. [2024-10-12 00:47:22,368 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2024-10-12 00:47:22,369 INFO L425 stractBuchiCegarLoop]: Abstraction has 9218 states and 17212 transitions. [2024-10-12 00:47:22,369 INFO L332 stractBuchiCegarLoop]: ======== Iteration 3 ============ [2024-10-12 00:47:22,369 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 9218 states and 17212 transitions. [2024-10-12 00:47:22,404 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 2326 [2024-10-12 00:47:22,404 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-10-12 00:47:22,404 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-10-12 00:47:22,405 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] [2024-10-12 00:47:22,405 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1] [2024-10-12 00:47:22,406 INFO L745 eck$LassoCheckResult]: Stem: 118147#$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(10, 4);call #Ultimate.allocInit(4, 5);call write~init~int#1(91, 5, 0, 1);call write~init~int#1(95, 5, 1, 1);call write~init~int#1(93, 5, 2, 1);call write~init~int#1(0, 5, 3, 1);call #Ultimate.allocInit(4, 6);call write~init~int#2(91, 6, 0, 1);call write~init~int#2(93, 6, 1, 1);call write~init~int#2(32, 6, 2, 1);call write~init~int#2(0, 6, 3, 1);call #Ultimate.allocInit(5, 7);call write~init~int#3(32, 7, 0, 1);call write~init~int#3(97, 7, 1, 1);call write~init~int#3(116, 7, 2, 1);call write~init~int#3(32, 7, 3, 1);call write~init~int#3(0, 7, 4, 1);call #Ultimate.allocInit(3, 8);call write~init~int#4(37, 8, 0, 1);call write~init~int#4(105, 8, 1, 1);call write~init~int#4(0, 8, 2, 1);call #Ultimate.allocInit(10, 9);call #Ultimate.allocInit(3, 10);call write~init~int#5(117, 10, 0, 1);call write~init~int#5(112, 10, 1, 1);call write~init~int#5(0, 10, 2, 1);call #Ultimate.allocInit(5, 11);call write~init~int#6(100, 11, 0, 1);call write~init~int#6(111, 11, 1, 1);call write~init~int#6(119, 11, 2, 1);call write~init~int#6(110, 11, 3, 1);call write~init~int#6(0, 11, 4, 1);call #Ultimate.allocInit(7, 12);call write~init~int#7(32, 12, 0, 1);call write~init~int#7(73, 12, 1, 1);call write~init~int#7(76, 12, 2, 1);call write~init~int#7(95, 12, 3, 1);call write~init~int#7(112, 12, 4, 1);call write~init~int#7(58, 12, 5, 1);call write~init~int#7(0, 12, 6, 1);call #Ultimate.allocInit(4, 13);call write~init~int#8(32, 13, 0, 1);call write~init~int#8(37, 13, 1, 1);call write~init~int#8(105, 13, 2, 1);call write~init~int#8(0, 13, 3, 1);call #Ultimate.allocInit(4, 14);call write~init~int#9(32, 14, 0, 1);call write~init~int#9(37, 14, 1, 1);call write~init~int#9(105, 14, 2, 1);call write~init~int#9(0, 14, 3, 1);call #Ultimate.allocInit(4, 15);call write~init~int#10(32, 15, 0, 1);call write~init~int#10(37, 15, 1, 1);call write~init~int#10(105, 15, 2, 1);call write~init~int#10(0, 15, 3, 1);call #Ultimate.allocInit(4, 16);call write~init~int#11(32, 16, 0, 1);call write~init~int#11(37, 16, 1, 1);call write~init~int#11(105, 16, 2, 1);call write~init~int#11(0, 16, 3, 1);call #Ultimate.allocInit(4, 17);call write~init~int#12(32, 17, 0, 1);call write~init~int#12(37, 17, 1, 1);call write~init~int#12(105, 17, 2, 1);call write~init~int#12(0, 17, 3, 1);call #Ultimate.allocInit(6, 18);call write~init~int#13(32, 18, 0, 1);call write~init~int#13(70, 18, 1, 1);call write~init~int#13(95, 18, 2, 1);call write~init~int#13(112, 18, 3, 1);call write~init~int#13(58, 18, 4, 1);call write~init~int#13(0, 18, 5, 1);call #Ultimate.allocInit(4, 19);call write~init~int#14(32, 19, 0, 1);call write~init~int#14(37, 19, 1, 1);call write~init~int#14(105, 19, 2, 1);call write~init~int#14(0, 19, 3, 1);call #Ultimate.allocInit(4, 20);call write~init~int#15(32, 20, 0, 1);call write~init~int#15(37, 20, 1, 1);call write~init~int#15(105, 20, 2, 1);call write~init~int#15(0, 20, 3, 1);call #Ultimate.allocInit(4, 21);call write~init~int#16(32, 21, 0, 1);call write~init~int#16(37, 21, 1, 1);call write~init~int#16(105, 21, 2, 1);call write~init~int#16(0, 21, 3, 1);call #Ultimate.allocInit(4, 22);call write~init~int#17(32, 22, 0, 1);call write~init~int#17(37, 22, 1, 1);call write~init~int#17(105, 22, 2, 1);call write~init~int#17(0, 22, 3, 1);call #Ultimate.allocInit(4, 23);call write~init~int#18(32, 23, 0, 1);call write~init~int#18(37, 23, 1, 1);call write~init~int#18(105, 23, 2, 1);call write~init~int#18(0, 23, 3, 1);call #Ultimate.allocInit(2, 24);call write~init~int#19(10, 24, 0, 1);call write~init~int#19(0, 24, 1, 1);call #Ultimate.allocInit(30, 25);call #Ultimate.allocInit(9, 26);call #Ultimate.allocInit(21, 27);call #Ultimate.allocInit(30, 28);call #Ultimate.allocInit(9, 29);call #Ultimate.allocInit(21, 30);call #Ultimate.allocInit(30, 31);call #Ultimate.allocInit(9, 32);call #Ultimate.allocInit(25, 33);call #Ultimate.allocInit(30, 34);call #Ultimate.allocInit(9, 35);call #Ultimate.allocInit(25, 36);~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;~weight~0 := 0;~maximumWeight~0 := 100;~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;~prevDir~0 := 0;~head~0.base, ~head~0.offset := 0, 0; 117884#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret18#1, main_~retValue_acc~9#1, main_~tmp~8#1;havoc main_~retValue_acc~9#1;havoc main_~tmp~8#1;assume { :begin_inline_select_helpers } true; 117885#select_helpers_returnLabel#1 assume { :end_inline_select_helpers } true;assume { :begin_inline_select_features } true; 119709#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~4#1;havoc valid_product_~retValue_acc~4#1;valid_product_~retValue_acc~4#1 := 1;valid_product_#res#1 := valid_product_~retValue_acc~4#1; 112390#valid_product_returnLabel#1 main_#t~ret18#1 := valid_product_#res#1;havoc valid_product_~retValue_acc~4#1;assume { :end_inline_valid_product } true;main_~tmp~8#1 := main_#t~ret18#1;havoc main_#t~ret18#1; 112391#L1217 assume 0 != main_~tmp~8#1;assume { :begin_inline_setup } true; 113991#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~ret7#1, aliceCall_~tmp~1#1;havoc aliceCall_~tmp~1#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 1;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~6#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~6#1; 112699#L801 assume !(0 == getOrigin_~person#1); 112700#L805 assume !(1 == getOrigin_~person#1); 114023#L809 assume 2 == getOrigin_~person#1;getOrigin_~retValue_acc~6#1 := 2;getOrigin_#res#1 := getOrigin_~retValue_acc~6#1; 115379#getOrigin_returnLabel#1 aliceCall_#t~ret7#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~6#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;aliceCall_~tmp~1#1 := aliceCall_#t~ret7#1;havoc aliceCall_#t~ret7#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 1, aliceCall_~tmp~1#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 119999#L409 assume 0 == initPersonOnFloor_~floor#1; 119815#L410 assume 0 == initPersonOnFloor_~person#1;~personOnFloor_0_0~0 := 1; 111126#L517-1 assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 113077#L201 assume 0 == callOnFloor_~floorID#1;~calls_0~0 := 1; 112905#L213-2 havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true; 112946#initPersonOnFloor_returnLabel#1 havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true; 112947#aliceCall_returnLabel#1 havoc aliceCall_#t~ret7#1, aliceCall_~tmp~1#1;assume { :end_inline_aliceCall } true;assume { :begin_inline_angelinaCall } true;havoc angelinaCall_#t~ret8#1, angelinaCall_~tmp~2#1;havoc angelinaCall_~tmp~2#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 2;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~6#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~6#1; 111966#L801-1 assume !(0 == getOrigin_~person#1); 111967#L805-1 assume !(1 == getOrigin_~person#1); 116468#L809-1 assume 2 == getOrigin_~person#1;getOrigin_~retValue_acc~6#1 := 2;getOrigin_#res#1 := getOrigin_~retValue_acc~6#1; 112746#getOrigin_returnLabel#2 angelinaCall_#t~ret8#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~6#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;angelinaCall_~tmp~2#1 := angelinaCall_#t~ret8#1;havoc angelinaCall_#t~ret8#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 2, angelinaCall_~tmp~2#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 120001#L409-1 assume 0 == initPersonOnFloor_~floor#1; 119016#L410-2 assume 0 == initPersonOnFloor_~person#1;~personOnFloor_0_0~0 := 1; 111461#L517-3 assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 116885#L201-2 assume 0 == callOnFloor_~floorID#1;~calls_0~0 := 1; 117330#L213-5 havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true; 116672#initPersonOnFloor_returnLabel#2 havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true; 116673#angelinaCall_returnLabel#1 havoc angelinaCall_#t~ret8#1, angelinaCall_~tmp~2#1;assume { :end_inline_angelinaCall } true;assume { :begin_inline_threeTS } true;assume { :begin_inline_timeShift } true;havoc timeShift_#t~ret60#1, timeShift_#t~ret61#1, timeShift_#t~ret62#1, timeShift_#t~ret63#1, timeShift_#t~ret64#1, timeShift_#t~ret65#1, timeShift_#t~ret66#1, timeShift_#t~ret67#1, timeShift_#t~ret68#1, timeShift_#t~ret69#1, timeShift_#t~ret70#1, timeShift_~tmp~19#1, timeShift_~tmp___0~7#1, timeShift_~tmp___1~4#1, timeShift_~tmp___2~4#1, timeShift_~tmp___3~3#1, timeShift_~tmp___4~2#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~19#1;havoc timeShift_~tmp___0~7#1;havoc timeShift_~tmp___1~4#1;havoc timeShift_~tmp___2~4#1;havoc timeShift_~tmp___3~3#1;havoc timeShift_~tmp___4~2#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~ret103#1;assume { :begin_inline_getCurrentHeading } true;havoc getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~14#1;havoc getCurrentHeading_~retValue_acc~14#1;getCurrentHeading_~retValue_acc~14#1 := ~currentHeading~0;getCurrentHeading_#res#1 := getCurrentHeading_~retValue_acc~14#1; 119533#getCurrentHeading_returnLabel#1 __utac_acc__Specification13_spec__1_#t~ret103#1 := getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~14#1;assume { :end_inline_getCurrentHeading } true;~prevDir~0 := __utac_acc__Specification13_spec__1_#t~ret103#1;havoc __utac_acc__Specification13_spec__1_#t~ret103#1; 117008#__utac_acc__Specification13_spec__1_returnLabel#1 havoc __utac_acc__Specification13_spec__1_#t~ret103#1;assume { :end_inline___utac_acc__Specification13_spec__1 } true;assume { :begin_inline_stopRequestedAtCurrentFloor } true;havoc stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret45#1, stopRequestedAtCurrentFloor_#t~ret46#1, stopRequestedAtCurrentFloor_#t~ret47#1, stopRequestedAtCurrentFloor_~retValue_acc~22#1, stopRequestedAtCurrentFloor_~tmp~17#1, stopRequestedAtCurrentFloor_~tmp___0~5#1, stopRequestedAtCurrentFloor_~__cil_tmp4~1#1, stopRequestedAtCurrentFloor_~__cil_tmp5~0#1;havoc stopRequestedAtCurrentFloor_~retValue_acc~22#1;havoc stopRequestedAtCurrentFloor_~tmp~17#1;havoc stopRequestedAtCurrentFloor_~tmp___0~5#1;havoc stopRequestedAtCurrentFloor_~__cil_tmp4~1#1;havoc stopRequestedAtCurrentFloor_~__cil_tmp5~0#1;stopRequestedAtCurrentFloor_~__cil_tmp4~1#1 := 2 * ~maximumWeight~0;stopRequestedAtCurrentFloor_~__cil_tmp5~0#1 := (if stopRequestedAtCurrentFloor_~__cil_tmp4~1#1 < 0 && 0 != stopRequestedAtCurrentFloor_~__cil_tmp4~1#1 % 3 then 1 + stopRequestedAtCurrentFloor_~__cil_tmp4~1#1 / 3 else stopRequestedAtCurrentFloor_~__cil_tmp4~1#1 / 3); 117009#L2140 assume ~weight~0 > stopRequestedAtCurrentFloor_~__cil_tmp5~0#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~11#1;havoc getCurrentFloorID_~retValue_acc~11#1;getCurrentFloorID_~retValue_acc~11#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~11#1; 116747#getCurrentFloorID_returnLabel#1 stopRequestedAtCurrentFloor_#t~ret45#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~11#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedAtCurrentFloor_~tmp~17#1 := stopRequestedAtCurrentFloor_#t~ret45#1;havoc stopRequestedAtCurrentFloor_#t~ret45#1;assume { :begin_inline_buttonForFloorIsPressed } true;buttonForFloorIsPressed_#in~floorID#1 := stopRequestedAtCurrentFloor_~tmp~17#1;havoc buttonForFloorIsPressed_#res#1;havoc buttonForFloorIsPressed_~floorID#1, buttonForFloorIsPressed_~retValue_acc~13#1;buttonForFloorIsPressed_~floorID#1 := buttonForFloorIsPressed_#in~floorID#1;havoc buttonForFloorIsPressed_~retValue_acc~13#1; 116748#L1476 assume 0 == buttonForFloorIsPressed_~floorID#1;buttonForFloorIsPressed_~retValue_acc~13#1 := ~floorButtons_0~0;buttonForFloorIsPressed_#res#1 := buttonForFloorIsPressed_~retValue_acc~13#1; 114280#buttonForFloorIsPressed_returnLabel#1 stopRequestedAtCurrentFloor_#t~ret46#1 := buttonForFloorIsPressed_#res#1;havoc buttonForFloorIsPressed_~floorID#1, buttonForFloorIsPressed_~retValue_acc~13#1;havoc buttonForFloorIsPressed_#in~floorID#1;assume { :end_inline_buttonForFloorIsPressed } true;stopRequestedAtCurrentFloor_~tmp___0~5#1 := stopRequestedAtCurrentFloor_#t~ret46#1;havoc stopRequestedAtCurrentFloor_#t~ret46#1;stopRequestedAtCurrentFloor_~retValue_acc~22#1 := (if 1 == stopRequestedAtCurrentFloor_~tmp___0~5#1 then 1 else 0);stopRequestedAtCurrentFloor_#res#1 := stopRequestedAtCurrentFloor_~retValue_acc~22#1; 111432#stopRequestedAtCurrentFloor_returnLabel#1 timeShift_#t~ret60#1 := stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret45#1, stopRequestedAtCurrentFloor_#t~ret46#1, stopRequestedAtCurrentFloor_#t~ret47#1, stopRequestedAtCurrentFloor_~retValue_acc~22#1, stopRequestedAtCurrentFloor_~tmp~17#1, stopRequestedAtCurrentFloor_~tmp___0~5#1, stopRequestedAtCurrentFloor_~__cil_tmp4~1#1, stopRequestedAtCurrentFloor_~__cil_tmp5~0#1;assume { :end_inline_stopRequestedAtCurrentFloor } true;timeShift_~tmp___9~2#1 := timeShift_#t~ret60#1;havoc timeShift_#t~ret60#1; 111433#L2290 assume !(0 != timeShift_~tmp___9~2#1); 113982#L2381 assume 1 == ~doorState~0;~doorState~0 := 0; 113983#L2381-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~ret38#1, stopRequestedInDirection_#t~ret39#1, stopRequestedInDirection_#t~ret40#1, stopRequestedInDirection_#t~ret41#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~19#1, stopRequestedInDirection_~overload~0#1, stopRequestedInDirection_~buttonPressed~0#1, stopRequestedInDirection_~tmp~14#1, stopRequestedInDirection_~__cil_tmp8~0#1, stopRequestedInDirection_~__cil_tmp9~0#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~19#1;havoc stopRequestedInDirection_~overload~0#1;havoc stopRequestedInDirection_~buttonPressed~0#1;havoc stopRequestedInDirection_~tmp~14#1;havoc stopRequestedInDirection_~__cil_tmp8~0#1;havoc stopRequestedInDirection_~__cil_tmp9~0#1;stopRequestedInDirection_~__cil_tmp8~0#1 := 2 * ~maximumWeight~0;stopRequestedInDirection_~__cil_tmp9~0#1 := (if stopRequestedInDirection_~__cil_tmp8~0#1 < 0 && 0 != stopRequestedInDirection_~__cil_tmp8~0#1 % 3 then 1 + stopRequestedInDirection_~__cil_tmp8~0#1 / 3 else stopRequestedInDirection_~__cil_tmp8~0#1 / 3);stopRequestedInDirection_~overload~0#1 := (if ~weight~0 > stopRequestedInDirection_~__cil_tmp9~0#1 then 1 else 0);assume { :begin_inline_isAnyLiftButtonPressed } true;havoc isAnyLiftButtonPressed_#res#1;havoc isAnyLiftButtonPressed_~retValue_acc~20#1;havoc isAnyLiftButtonPressed_~retValue_acc~20#1; 118345#L2043 assume 0 != ~floorButtons_0~0;isAnyLiftButtonPressed_~retValue_acc~20#1 := 1;isAnyLiftButtonPressed_#res#1 := isAnyLiftButtonPressed_~retValue_acc~20#1; 113804#isAnyLiftButtonPressed_returnLabel#1 stopRequestedInDirection_#t~ret38#1 := isAnyLiftButtonPressed_#res#1;havoc isAnyLiftButtonPressed_~retValue_acc~20#1;assume { :end_inline_isAnyLiftButtonPressed } true;stopRequestedInDirection_~tmp~14#1 := stopRequestedInDirection_#t~ret38#1;havoc stopRequestedInDirection_#t~ret38#1;stopRequestedInDirection_~buttonPressed~0#1 := stopRequestedInDirection_~tmp~14#1; 116707#L2016 assume !(0 != stopRequestedInDirection_~overload~0#1);assume { :begin_inline_stopRequestedInDirection__wrappee__weight } true;stopRequestedInDirection__wrappee__weight_#in~dir#1, stopRequestedInDirection__wrappee__weight_#in~respectFloorCalls#1, stopRequestedInDirection__wrappee__weight_#in~respectInLiftCalls#1 := stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1;havoc stopRequestedInDirection__wrappee__weight_#res#1;havoc stopRequestedInDirection__wrappee__weight_#t~ret27#1, stopRequestedInDirection__wrappee__weight_#t~ret28#1, stopRequestedInDirection__wrappee__weight_#t~ret29#1, stopRequestedInDirection__wrappee__weight_#t~ret30#1, stopRequestedInDirection__wrappee__weight_#t~ret31#1, stopRequestedInDirection__wrappee__weight_#t~ret32#1, stopRequestedInDirection__wrappee__weight_#t~ret33#1, stopRequestedInDirection__wrappee__weight_#t~ret34#1, stopRequestedInDirection__wrappee__weight_#t~ret35#1, stopRequestedInDirection__wrappee__weight_#t~ret36#1, stopRequestedInDirection__wrappee__weight_#t~ret37#1, stopRequestedInDirection__wrappee__weight_~dir#1, stopRequestedInDirection__wrappee__weight_~respectFloorCalls#1, stopRequestedInDirection__wrappee__weight_~respectInLiftCalls#1, stopRequestedInDirection__wrappee__weight_~retValue_acc~18#1, stopRequestedInDirection__wrappee__weight_~tmp~13#1, stopRequestedInDirection__wrappee__weight_~tmp___0~3#1, stopRequestedInDirection__wrappee__weight_~tmp___1~2#1, stopRequestedInDirection__wrappee__weight_~tmp___2~2#1, stopRequestedInDirection__wrappee__weight_~tmp___3~1#1, stopRequestedInDirection__wrappee__weight_~tmp___4~0#1, stopRequestedInDirection__wrappee__weight_~tmp___5~0#1, stopRequestedInDirection__wrappee__weight_~tmp___6~0#1, stopRequestedInDirection__wrappee__weight_~tmp___7~0#1, stopRequestedInDirection__wrappee__weight_~tmp___8~0#1, stopRequestedInDirection__wrappee__weight_~tmp___9~0#1;stopRequestedInDirection__wrappee__weight_~dir#1 := stopRequestedInDirection__wrappee__weight_#in~dir#1;stopRequestedInDirection__wrappee__weight_~respectFloorCalls#1 := stopRequestedInDirection__wrappee__weight_#in~respectFloorCalls#1;stopRequestedInDirection__wrappee__weight_~respectInLiftCalls#1 := stopRequestedInDirection__wrappee__weight_#in~respectInLiftCalls#1;havoc stopRequestedInDirection__wrappee__weight_~retValue_acc~18#1;havoc stopRequestedInDirection__wrappee__weight_~tmp~13#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___0~3#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___1~2#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___2~2#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___3~1#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___4~0#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___5~0#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___6~0#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___7~0#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___8~0#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___9~0#1; 115067#L1663-2 assume !(1 == stopRequestedInDirection__wrappee__weight_~dir#1); 115068#L1832-2 assume 0 == ~currentFloorID~0;stopRequestedInDirection__wrappee__weight_~retValue_acc~18#1 := 0;stopRequestedInDirection__wrappee__weight_#res#1 := stopRequestedInDirection__wrappee__weight_~retValue_acc~18#1; 111892#stopRequestedInDirection__wrappee__weight_returnLabel#3 stopRequestedInDirection_#t~ret41#1 := stopRequestedInDirection__wrappee__weight_#res#1;havoc stopRequestedInDirection__wrappee__weight_#t~ret27#1, stopRequestedInDirection__wrappee__weight_#t~ret28#1, stopRequestedInDirection__wrappee__weight_#t~ret29#1, stopRequestedInDirection__wrappee__weight_#t~ret30#1, stopRequestedInDirection__wrappee__weight_#t~ret31#1, stopRequestedInDirection__wrappee__weight_#t~ret32#1, stopRequestedInDirection__wrappee__weight_#t~ret33#1, stopRequestedInDirection__wrappee__weight_#t~ret34#1, stopRequestedInDirection__wrappee__weight_#t~ret35#1, stopRequestedInDirection__wrappee__weight_#t~ret36#1, stopRequestedInDirection__wrappee__weight_#t~ret37#1, stopRequestedInDirection__wrappee__weight_~dir#1, stopRequestedInDirection__wrappee__weight_~respectFloorCalls#1, stopRequestedInDirection__wrappee__weight_~respectInLiftCalls#1, stopRequestedInDirection__wrappee__weight_~retValue_acc~18#1, stopRequestedInDirection__wrappee__weight_~tmp~13#1, stopRequestedInDirection__wrappee__weight_~tmp___0~3#1, stopRequestedInDirection__wrappee__weight_~tmp___1~2#1, stopRequestedInDirection__wrappee__weight_~tmp___2~2#1, stopRequestedInDirection__wrappee__weight_~tmp___3~1#1, stopRequestedInDirection__wrappee__weight_~tmp___4~0#1, stopRequestedInDirection__wrappee__weight_~tmp___5~0#1, stopRequestedInDirection__wrappee__weight_~tmp___6~0#1, stopRequestedInDirection__wrappee__weight_~tmp___7~0#1, stopRequestedInDirection__wrappee__weight_~tmp___8~0#1, stopRequestedInDirection__wrappee__weight_~tmp___9~0#1;havoc stopRequestedInDirection__wrappee__weight_#in~dir#1, stopRequestedInDirection__wrappee__weight_#in~respectFloorCalls#1, stopRequestedInDirection__wrappee__weight_#in~respectInLiftCalls#1;assume { :end_inline_stopRequestedInDirection__wrappee__weight } true;stopRequestedInDirection_~retValue_acc~19#1 := stopRequestedInDirection_#t~ret41#1;havoc stopRequestedInDirection_#t~ret41#1;stopRequestedInDirection_#res#1 := stopRequestedInDirection_~retValue_acc~19#1; 112767#stopRequestedInDirection_returnLabel#1 timeShift_#t~ret67#1 := stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret38#1, stopRequestedInDirection_#t~ret39#1, stopRequestedInDirection_#t~ret40#1, stopRequestedInDirection_#t~ret41#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~19#1, stopRequestedInDirection_~overload~0#1, stopRequestedInDirection_~buttonPressed~0#1, stopRequestedInDirection_~tmp~14#1, stopRequestedInDirection_~__cil_tmp8~0#1, stopRequestedInDirection_~__cil_tmp9~0#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~ret67#1;havoc timeShift_#t~ret67#1; 114174#L2389 assume 0 != timeShift_~tmp___8~2#1;assume { :begin_inline_continueInDirection } true;continueInDirection_#in~dir#1 := ~currentHeading~0;havoc continueInDirection_#t~ret42#1, continueInDirection_~dir#1, continueInDirection_~tmp~15#1;continueInDirection_~dir#1 := continueInDirection_#in~dir#1;havoc continueInDirection_~tmp~15#1;~currentHeading~0 := continueInDirection_~dir#1; 119118#L2078 assume !(1 == ~currentHeading~0); 119398#L2088 assume !(0 == ~currentFloorID~0); 117972#L2088-2 assume 1 == ~currentHeading~0;~currentFloorID~0 := 1 + ~currentFloorID~0; 113023#L2094-1 havoc continueInDirection_#t~ret42#1, continueInDirection_~dir#1, continueInDirection_~tmp~15#1;havoc continueInDirection_#in~dir#1;assume { :end_inline_continueInDirection } true; 111392#L2398-2 assume { :begin_inline___utac_acc__Specification13_spec__2 } true;havoc __utac_acc__Specification13_spec__2_#t~ret104#1, __utac_acc__Specification13_spec__2_#t~ret105#1, __utac_acc__Specification13_spec__2_#t~ret106#1, __utac_acc__Specification13_spec__2_#t~ret107#1, __utac_acc__Specification13_spec__2_#t~ret108#1, __utac_acc__Specification13_spec__2_#t~ret109#1, __utac_acc__Specification13_spec__2_~tmp~23#1, __utac_acc__Specification13_spec__2_~tmp___0~11#1, __utac_acc__Specification13_spec__2_~tmp___1~8#1, __utac_acc__Specification13_spec__2_~tmp___2~6#1, __utac_acc__Specification13_spec__2_~tmp___3~5#1, __utac_acc__Specification13_spec__2_~tmp___4~3#1, __utac_acc__Specification13_spec__2_~__cil_tmp7~1#1, __utac_acc__Specification13_spec__2_~__cil_tmp8~2#1;havoc __utac_acc__Specification13_spec__2_~tmp~23#1;havoc __utac_acc__Specification13_spec__2_~tmp___0~11#1;havoc __utac_acc__Specification13_spec__2_~tmp___1~8#1;havoc __utac_acc__Specification13_spec__2_~tmp___2~6#1;havoc __utac_acc__Specification13_spec__2_~tmp___3~5#1;havoc __utac_acc__Specification13_spec__2_~tmp___4~3#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp7~1#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp8~2#1;__utac_acc__Specification13_spec__2_~__cil_tmp7~1#1 := 2 * ~maximumWeight~0;__utac_acc__Specification13_spec__2_~__cil_tmp8~2#1 := (if __utac_acc__Specification13_spec__2_~__cil_tmp7~1#1 < 0 && 0 != __utac_acc__Specification13_spec__2_~__cil_tmp7~1#1 % 3 then 1 + __utac_acc__Specification13_spec__2_~__cil_tmp7~1#1 / 3 else __utac_acc__Specification13_spec__2_~__cil_tmp7~1#1 / 3); 111393#L2887 assume ~weight~0 > __utac_acc__Specification13_spec__2_~__cil_tmp8~2#1; 115723#L2888 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~24#1, existInLiftCallsInDirection_~i~1#1, existInLiftCallsInDirection_~i___0~0#1;existInLiftCallsInDirection_~d#1 := existInLiftCallsInDirection_#in~d#1;havoc existInLiftCallsInDirection_~retValue_acc~24#1;havoc existInLiftCallsInDirection_~i~1#1;havoc existInLiftCallsInDirection_~i___0~0#1; 111963#L2593 assume !(1 == existInLiftCallsInDirection_~d#1); 111964#L2659 assume 0 == existInLiftCallsInDirection_~d#1;existInLiftCallsInDirection_~i___0~0#1 := 0;existInLiftCallsInDirection_~i___0~0#1 := ~currentFloorID~0 - 1; 117587#L2663-2 [2024-10-12 00:47:22,407 INFO L747 eck$LassoCheckResult]: Loop: 117587#L2663-2 assume !false; 114694#L2664 assume existInLiftCallsInDirection_~i___0~0#1 >= 0; 114695#L2665 existInLiftCallsInDirection_~i___0~0#1 := 1 + ~currentFloorID~0; 112379#L2672-2 assume !false; 112380#L2673 assume !(existInLiftCallsInDirection_~i___0~0#1 < 5); 117388#L2731 existInLiftCallsInDirection_~i___0~0#1 := existInLiftCallsInDirection_~i___0~0#1 - 1; 117587#L2663-2 [2024-10-12 00:47:22,407 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-12 00:47:22,407 INFO L85 PathProgramCache]: Analyzing trace with hash 1455319815, now seen corresponding path program 1 times [2024-10-12 00:47:22,408 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-12 00:47:22,408 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [948440895] [2024-10-12 00:47:22,408 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-12 00:47:22,408 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-12 00:47:22,487 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-12 00:47:22,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:22,548 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-10-12 00:47:22,548 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [948440895] [2024-10-12 00:47:22,548 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [948440895] provided 1 perfect and 0 imperfect interpolant sequences [2024-10-12 00:47:22,549 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-10-12 00:47:22,549 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2024-10-12 00:47:22,549 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1500855914] [2024-10-12 00:47:22,549 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-10-12 00:47:22,550 INFO L750 eck$LassoCheckResult]: stem already infeasible [2024-10-12 00:47:22,550 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-12 00:47:22,550 INFO L85 PathProgramCache]: Analyzing trace with hash 964799947, now seen corresponding path program 1 times [2024-10-12 00:47:22,550 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-12 00:47:22,551 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1781170109] [2024-10-12 00:47:22,551 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-12 00:47:22,551 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-12 00:47:22,561 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-12 00:47:22,562 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-10-12 00:47:22,563 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-12 00:47:22,573 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-10-12 00:47:22,624 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-10-12 00:47:22,625 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2024-10-12 00:47:22,628 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2024-10-12 00:47:22,628 INFO L87 Difference]: Start difference. First operand 9218 states and 17212 transitions. cyclomatic complexity: 8029 Second operand has 3 states, 3 states have (on average 18.666666666666668) internal successors, (56), 3 states have internal predecessors, (56), 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,834 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-10-12 00:47:22,834 INFO L93 Difference]: Finished difference Result 9184 states and 17144 transitions. [2024-10-12 00:47:22,834 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 9184 states and 17144 transitions. [2024-10-12 00:47:22,883 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 2326 [2024-10-12 00:47:22,926 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 9184 states to 9184 states and 17144 transitions. [2024-10-12 00:47:22,926 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 9146 [2024-10-12 00:47:22,945 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 9146 [2024-10-12 00:47:22,946 INFO L73 IsDeterministic]: Start isDeterministic. Operand 9184 states and 17144 transitions. [2024-10-12 00:47:22,948 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-10-12 00:47:22,948 INFO L218 hiAutomatonCegarLoop]: Abstraction has 9184 states and 17144 transitions. [2024-10-12 00:47:22,964 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 9184 states and 17144 transitions. [2024-10-12 00:47:23,069 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 9184 to 9184. [2024-10-12 00:47:23,085 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9184 states, 9184 states have (on average 1.8667247386759582) internal successors, (17144), 9183 states have internal predecessors, (17144), 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,110 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9184 states to 9184 states and 17144 transitions. [2024-10-12 00:47:23,110 INFO L240 hiAutomatonCegarLoop]: Abstraction has 9184 states and 17144 transitions. [2024-10-12 00:47:23,111 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2024-10-12 00:47:23,111 INFO L425 stractBuchiCegarLoop]: Abstraction has 9184 states and 17144 transitions. [2024-10-12 00:47:23,112 INFO L332 stractBuchiCegarLoop]: ======== Iteration 4 ============ [2024-10-12 00:47:23,112 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 9184 states and 17144 transitions. [2024-10-12 00:47:23,146 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 2326 [2024-10-12 00:47:23,147 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-10-12 00:47:23,147 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-10-12 00:47:23,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] [2024-10-12 00:47:23,148 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1] [2024-10-12 00:47:23,148 INFO L745 eck$LassoCheckResult]: Stem: 136531#$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(10, 4);call #Ultimate.allocInit(4, 5);call write~init~int#1(91, 5, 0, 1);call write~init~int#1(95, 5, 1, 1);call write~init~int#1(93, 5, 2, 1);call write~init~int#1(0, 5, 3, 1);call #Ultimate.allocInit(4, 6);call write~init~int#2(91, 6, 0, 1);call write~init~int#2(93, 6, 1, 1);call write~init~int#2(32, 6, 2, 1);call write~init~int#2(0, 6, 3, 1);call #Ultimate.allocInit(5, 7);call write~init~int#3(32, 7, 0, 1);call write~init~int#3(97, 7, 1, 1);call write~init~int#3(116, 7, 2, 1);call write~init~int#3(32, 7, 3, 1);call write~init~int#3(0, 7, 4, 1);call #Ultimate.allocInit(3, 8);call write~init~int#4(37, 8, 0, 1);call write~init~int#4(105, 8, 1, 1);call write~init~int#4(0, 8, 2, 1);call #Ultimate.allocInit(10, 9);call #Ultimate.allocInit(3, 10);call write~init~int#5(117, 10, 0, 1);call write~init~int#5(112, 10, 1, 1);call write~init~int#5(0, 10, 2, 1);call #Ultimate.allocInit(5, 11);call write~init~int#6(100, 11, 0, 1);call write~init~int#6(111, 11, 1, 1);call write~init~int#6(119, 11, 2, 1);call write~init~int#6(110, 11, 3, 1);call write~init~int#6(0, 11, 4, 1);call #Ultimate.allocInit(7, 12);call write~init~int#7(32, 12, 0, 1);call write~init~int#7(73, 12, 1, 1);call write~init~int#7(76, 12, 2, 1);call write~init~int#7(95, 12, 3, 1);call write~init~int#7(112, 12, 4, 1);call write~init~int#7(58, 12, 5, 1);call write~init~int#7(0, 12, 6, 1);call #Ultimate.allocInit(4, 13);call write~init~int#8(32, 13, 0, 1);call write~init~int#8(37, 13, 1, 1);call write~init~int#8(105, 13, 2, 1);call write~init~int#8(0, 13, 3, 1);call #Ultimate.allocInit(4, 14);call write~init~int#9(32, 14, 0, 1);call write~init~int#9(37, 14, 1, 1);call write~init~int#9(105, 14, 2, 1);call write~init~int#9(0, 14, 3, 1);call #Ultimate.allocInit(4, 15);call write~init~int#10(32, 15, 0, 1);call write~init~int#10(37, 15, 1, 1);call write~init~int#10(105, 15, 2, 1);call write~init~int#10(0, 15, 3, 1);call #Ultimate.allocInit(4, 16);call write~init~int#11(32, 16, 0, 1);call write~init~int#11(37, 16, 1, 1);call write~init~int#11(105, 16, 2, 1);call write~init~int#11(0, 16, 3, 1);call #Ultimate.allocInit(4, 17);call write~init~int#12(32, 17, 0, 1);call write~init~int#12(37, 17, 1, 1);call write~init~int#12(105, 17, 2, 1);call write~init~int#12(0, 17, 3, 1);call #Ultimate.allocInit(6, 18);call write~init~int#13(32, 18, 0, 1);call write~init~int#13(70, 18, 1, 1);call write~init~int#13(95, 18, 2, 1);call write~init~int#13(112, 18, 3, 1);call write~init~int#13(58, 18, 4, 1);call write~init~int#13(0, 18, 5, 1);call #Ultimate.allocInit(4, 19);call write~init~int#14(32, 19, 0, 1);call write~init~int#14(37, 19, 1, 1);call write~init~int#14(105, 19, 2, 1);call write~init~int#14(0, 19, 3, 1);call #Ultimate.allocInit(4, 20);call write~init~int#15(32, 20, 0, 1);call write~init~int#15(37, 20, 1, 1);call write~init~int#15(105, 20, 2, 1);call write~init~int#15(0, 20, 3, 1);call #Ultimate.allocInit(4, 21);call write~init~int#16(32, 21, 0, 1);call write~init~int#16(37, 21, 1, 1);call write~init~int#16(105, 21, 2, 1);call write~init~int#16(0, 21, 3, 1);call #Ultimate.allocInit(4, 22);call write~init~int#17(32, 22, 0, 1);call write~init~int#17(37, 22, 1, 1);call write~init~int#17(105, 22, 2, 1);call write~init~int#17(0, 22, 3, 1);call #Ultimate.allocInit(4, 23);call write~init~int#18(32, 23, 0, 1);call write~init~int#18(37, 23, 1, 1);call write~init~int#18(105, 23, 2, 1);call write~init~int#18(0, 23, 3, 1);call #Ultimate.allocInit(2, 24);call write~init~int#19(10, 24, 0, 1);call write~init~int#19(0, 24, 1, 1);call #Ultimate.allocInit(30, 25);call #Ultimate.allocInit(9, 26);call #Ultimate.allocInit(21, 27);call #Ultimate.allocInit(30, 28);call #Ultimate.allocInit(9, 29);call #Ultimate.allocInit(21, 30);call #Ultimate.allocInit(30, 31);call #Ultimate.allocInit(9, 32);call #Ultimate.allocInit(25, 33);call #Ultimate.allocInit(30, 34);call #Ultimate.allocInit(9, 35);call #Ultimate.allocInit(25, 36);~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;~weight~0 := 0;~maximumWeight~0 := 100;~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;~prevDir~0 := 0;~head~0.base, ~head~0.offset := 0, 0; 136269#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret18#1, main_~retValue_acc~9#1, main_~tmp~8#1;havoc main_~retValue_acc~9#1;havoc main_~tmp~8#1;assume { :begin_inline_select_helpers } true; 136270#select_helpers_returnLabel#1 assume { :end_inline_select_helpers } true;assume { :begin_inline_select_features } true; 138089#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~4#1;havoc valid_product_~retValue_acc~4#1;valid_product_~retValue_acc~4#1 := 1;valid_product_#res#1 := valid_product_~retValue_acc~4#1; 130796#valid_product_returnLabel#1 main_#t~ret18#1 := valid_product_#res#1;havoc valid_product_~retValue_acc~4#1;assume { :end_inline_valid_product } true;main_~tmp~8#1 := main_#t~ret18#1;havoc main_#t~ret18#1; 130797#L1217 assume 0 != main_~tmp~8#1;assume { :begin_inline_setup } true; 132392#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~ret7#1, aliceCall_~tmp~1#1;havoc aliceCall_~tmp~1#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 1;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~6#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~6#1; 131105#L801 assume !(0 == getOrigin_~person#1); 131106#L805 assume 1 == getOrigin_~person#1;getOrigin_~retValue_acc~6#1 := 3;getOrigin_#res#1 := getOrigin_~retValue_acc~6#1; 132423#getOrigin_returnLabel#1 aliceCall_#t~ret7#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~6#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;aliceCall_~tmp~1#1 := aliceCall_#t~ret7#1;havoc aliceCall_#t~ret7#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 1, aliceCall_~tmp~1#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 133979#L409 assume !(0 == initPersonOnFloor_~floor#1); 130362#L436 assume !(1 == initPersonOnFloor_~floor#1); 130363#L463 assume !(2 == initPersonOnFloor_~floor#1); 131474#L490 assume 3 == initPersonOnFloor_~floor#1; 131475#L491 assume 0 == initPersonOnFloor_~person#1;~personOnFloor_0_3~0 := 1; 130208#L517-1 assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 131481#L201 assume 0 == callOnFloor_~floorID#1;~calls_0~0 := 1; 131311#L213-2 havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true; 131352#initPersonOnFloor_returnLabel#1 havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true; 131353#aliceCall_returnLabel#1 havoc aliceCall_#t~ret7#1, aliceCall_~tmp~1#1;assume { :end_inline_aliceCall } true;assume { :begin_inline_angelinaCall } true;havoc angelinaCall_#t~ret8#1, angelinaCall_~tmp~2#1;havoc angelinaCall_~tmp~2#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 2;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~6#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~6#1; 130372#L801-1 assume !(0 == getOrigin_~person#1); 130373#L805-1 assume !(1 == getOrigin_~person#1); 134857#L809-1 assume 2 == getOrigin_~person#1;getOrigin_~retValue_acc~6#1 := 2;getOrigin_#res#1 := getOrigin_~retValue_acc~6#1; 131152#getOrigin_returnLabel#2 angelinaCall_#t~ret8#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~6#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;angelinaCall_~tmp~2#1 := angelinaCall_#t~ret8#1;havoc angelinaCall_#t~ret8#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 2, angelinaCall_~tmp~2#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 138375#L409-1 assume 0 == initPersonOnFloor_~floor#1; 137397#L410-2 assume 0 == initPersonOnFloor_~person#1;~personOnFloor_0_0~0 := 1; 129866#L517-3 assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 135273#L201-2 assume 0 == callOnFloor_~floorID#1;~calls_0~0 := 1; 135717#L213-5 havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true; 135060#initPersonOnFloor_returnLabel#2 havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true; 135061#angelinaCall_returnLabel#1 havoc angelinaCall_#t~ret8#1, angelinaCall_~tmp~2#1;assume { :end_inline_angelinaCall } true;assume { :begin_inline_threeTS } true;assume { :begin_inline_timeShift } true;havoc timeShift_#t~ret60#1, timeShift_#t~ret61#1, timeShift_#t~ret62#1, timeShift_#t~ret63#1, timeShift_#t~ret64#1, timeShift_#t~ret65#1, timeShift_#t~ret66#1, timeShift_#t~ret67#1, timeShift_#t~ret68#1, timeShift_#t~ret69#1, timeShift_#t~ret70#1, timeShift_~tmp~19#1, timeShift_~tmp___0~7#1, timeShift_~tmp___1~4#1, timeShift_~tmp___2~4#1, timeShift_~tmp___3~3#1, timeShift_~tmp___4~2#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~19#1;havoc timeShift_~tmp___0~7#1;havoc timeShift_~tmp___1~4#1;havoc timeShift_~tmp___2~4#1;havoc timeShift_~tmp___3~3#1;havoc timeShift_~tmp___4~2#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~ret103#1;assume { :begin_inline_getCurrentHeading } true;havoc getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~14#1;havoc getCurrentHeading_~retValue_acc~14#1;getCurrentHeading_~retValue_acc~14#1 := ~currentHeading~0;getCurrentHeading_#res#1 := getCurrentHeading_~retValue_acc~14#1; 137913#getCurrentHeading_returnLabel#1 __utac_acc__Specification13_spec__1_#t~ret103#1 := getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~14#1;assume { :end_inline_getCurrentHeading } true;~prevDir~0 := __utac_acc__Specification13_spec__1_#t~ret103#1;havoc __utac_acc__Specification13_spec__1_#t~ret103#1; 135396#__utac_acc__Specification13_spec__1_returnLabel#1 havoc __utac_acc__Specification13_spec__1_#t~ret103#1;assume { :end_inline___utac_acc__Specification13_spec__1 } true;assume { :begin_inline_stopRequestedAtCurrentFloor } true;havoc stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret45#1, stopRequestedAtCurrentFloor_#t~ret46#1, stopRequestedAtCurrentFloor_#t~ret47#1, stopRequestedAtCurrentFloor_~retValue_acc~22#1, stopRequestedAtCurrentFloor_~tmp~17#1, stopRequestedAtCurrentFloor_~tmp___0~5#1, stopRequestedAtCurrentFloor_~__cil_tmp4~1#1, stopRequestedAtCurrentFloor_~__cil_tmp5~0#1;havoc stopRequestedAtCurrentFloor_~retValue_acc~22#1;havoc stopRequestedAtCurrentFloor_~tmp~17#1;havoc stopRequestedAtCurrentFloor_~tmp___0~5#1;havoc stopRequestedAtCurrentFloor_~__cil_tmp4~1#1;havoc stopRequestedAtCurrentFloor_~__cil_tmp5~0#1;stopRequestedAtCurrentFloor_~__cil_tmp4~1#1 := 2 * ~maximumWeight~0;stopRequestedAtCurrentFloor_~__cil_tmp5~0#1 := (if stopRequestedAtCurrentFloor_~__cil_tmp4~1#1 < 0 && 0 != stopRequestedAtCurrentFloor_~__cil_tmp4~1#1 % 3 then 1 + stopRequestedAtCurrentFloor_~__cil_tmp4~1#1 / 3 else stopRequestedAtCurrentFloor_~__cil_tmp4~1#1 / 3); 135397#L2140 assume ~weight~0 > stopRequestedAtCurrentFloor_~__cil_tmp5~0#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~11#1;havoc getCurrentFloorID_~retValue_acc~11#1;getCurrentFloorID_~retValue_acc~11#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~11#1; 135135#getCurrentFloorID_returnLabel#1 stopRequestedAtCurrentFloor_#t~ret45#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~11#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedAtCurrentFloor_~tmp~17#1 := stopRequestedAtCurrentFloor_#t~ret45#1;havoc stopRequestedAtCurrentFloor_#t~ret45#1;assume { :begin_inline_buttonForFloorIsPressed } true;buttonForFloorIsPressed_#in~floorID#1 := stopRequestedAtCurrentFloor_~tmp~17#1;havoc buttonForFloorIsPressed_#res#1;havoc buttonForFloorIsPressed_~floorID#1, buttonForFloorIsPressed_~retValue_acc~13#1;buttonForFloorIsPressed_~floorID#1 := buttonForFloorIsPressed_#in~floorID#1;havoc buttonForFloorIsPressed_~retValue_acc~13#1; 135136#L1476 assume 0 == buttonForFloorIsPressed_~floorID#1;buttonForFloorIsPressed_~retValue_acc~13#1 := ~floorButtons_0~0;buttonForFloorIsPressed_#res#1 := buttonForFloorIsPressed_~retValue_acc~13#1; 132680#buttonForFloorIsPressed_returnLabel#1 stopRequestedAtCurrentFloor_#t~ret46#1 := buttonForFloorIsPressed_#res#1;havoc buttonForFloorIsPressed_~floorID#1, buttonForFloorIsPressed_~retValue_acc~13#1;havoc buttonForFloorIsPressed_#in~floorID#1;assume { :end_inline_buttonForFloorIsPressed } true;stopRequestedAtCurrentFloor_~tmp___0~5#1 := stopRequestedAtCurrentFloor_#t~ret46#1;havoc stopRequestedAtCurrentFloor_#t~ret46#1;stopRequestedAtCurrentFloor_~retValue_acc~22#1 := (if 1 == stopRequestedAtCurrentFloor_~tmp___0~5#1 then 1 else 0);stopRequestedAtCurrentFloor_#res#1 := stopRequestedAtCurrentFloor_~retValue_acc~22#1; 129837#stopRequestedAtCurrentFloor_returnLabel#1 timeShift_#t~ret60#1 := stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret45#1, stopRequestedAtCurrentFloor_#t~ret46#1, stopRequestedAtCurrentFloor_#t~ret47#1, stopRequestedAtCurrentFloor_~retValue_acc~22#1, stopRequestedAtCurrentFloor_~tmp~17#1, stopRequestedAtCurrentFloor_~tmp___0~5#1, stopRequestedAtCurrentFloor_~__cil_tmp4~1#1, stopRequestedAtCurrentFloor_~__cil_tmp5~0#1;assume { :end_inline_stopRequestedAtCurrentFloor } true;timeShift_~tmp___9~2#1 := timeShift_#t~ret60#1;havoc timeShift_#t~ret60#1; 129838#L2290 assume !(0 != timeShift_~tmp___9~2#1); 132383#L2381 assume 1 == ~doorState~0;~doorState~0 := 0; 132384#L2381-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~ret38#1, stopRequestedInDirection_#t~ret39#1, stopRequestedInDirection_#t~ret40#1, stopRequestedInDirection_#t~ret41#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~19#1, stopRequestedInDirection_~overload~0#1, stopRequestedInDirection_~buttonPressed~0#1, stopRequestedInDirection_~tmp~14#1, stopRequestedInDirection_~__cil_tmp8~0#1, stopRequestedInDirection_~__cil_tmp9~0#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~19#1;havoc stopRequestedInDirection_~overload~0#1;havoc stopRequestedInDirection_~buttonPressed~0#1;havoc stopRequestedInDirection_~tmp~14#1;havoc stopRequestedInDirection_~__cil_tmp8~0#1;havoc stopRequestedInDirection_~__cil_tmp9~0#1;stopRequestedInDirection_~__cil_tmp8~0#1 := 2 * ~maximumWeight~0;stopRequestedInDirection_~__cil_tmp9~0#1 := (if stopRequestedInDirection_~__cil_tmp8~0#1 < 0 && 0 != stopRequestedInDirection_~__cil_tmp8~0#1 % 3 then 1 + stopRequestedInDirection_~__cil_tmp8~0#1 / 3 else stopRequestedInDirection_~__cil_tmp8~0#1 / 3);stopRequestedInDirection_~overload~0#1 := (if ~weight~0 > stopRequestedInDirection_~__cil_tmp9~0#1 then 1 else 0);assume { :begin_inline_isAnyLiftButtonPressed } true;havoc isAnyLiftButtonPressed_#res#1;havoc isAnyLiftButtonPressed_~retValue_acc~20#1;havoc isAnyLiftButtonPressed_~retValue_acc~20#1; 136729#L2043 assume 0 != ~floorButtons_0~0;isAnyLiftButtonPressed_~retValue_acc~20#1 := 1;isAnyLiftButtonPressed_#res#1 := isAnyLiftButtonPressed_~retValue_acc~20#1; 132205#isAnyLiftButtonPressed_returnLabel#1 stopRequestedInDirection_#t~ret38#1 := isAnyLiftButtonPressed_#res#1;havoc isAnyLiftButtonPressed_~retValue_acc~20#1;assume { :end_inline_isAnyLiftButtonPressed } true;stopRequestedInDirection_~tmp~14#1 := stopRequestedInDirection_#t~ret38#1;havoc stopRequestedInDirection_#t~ret38#1;stopRequestedInDirection_~buttonPressed~0#1 := stopRequestedInDirection_~tmp~14#1; 135095#L2016 assume !(0 != stopRequestedInDirection_~overload~0#1);assume { :begin_inline_stopRequestedInDirection__wrappee__weight } true;stopRequestedInDirection__wrappee__weight_#in~dir#1, stopRequestedInDirection__wrappee__weight_#in~respectFloorCalls#1, stopRequestedInDirection__wrappee__weight_#in~respectInLiftCalls#1 := stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1;havoc stopRequestedInDirection__wrappee__weight_#res#1;havoc stopRequestedInDirection__wrappee__weight_#t~ret27#1, stopRequestedInDirection__wrappee__weight_#t~ret28#1, stopRequestedInDirection__wrappee__weight_#t~ret29#1, stopRequestedInDirection__wrappee__weight_#t~ret30#1, stopRequestedInDirection__wrappee__weight_#t~ret31#1, stopRequestedInDirection__wrappee__weight_#t~ret32#1, stopRequestedInDirection__wrappee__weight_#t~ret33#1, stopRequestedInDirection__wrappee__weight_#t~ret34#1, stopRequestedInDirection__wrappee__weight_#t~ret35#1, stopRequestedInDirection__wrappee__weight_#t~ret36#1, stopRequestedInDirection__wrappee__weight_#t~ret37#1, stopRequestedInDirection__wrappee__weight_~dir#1, stopRequestedInDirection__wrappee__weight_~respectFloorCalls#1, stopRequestedInDirection__wrappee__weight_~respectInLiftCalls#1, stopRequestedInDirection__wrappee__weight_~retValue_acc~18#1, stopRequestedInDirection__wrappee__weight_~tmp~13#1, stopRequestedInDirection__wrappee__weight_~tmp___0~3#1, stopRequestedInDirection__wrappee__weight_~tmp___1~2#1, stopRequestedInDirection__wrappee__weight_~tmp___2~2#1, stopRequestedInDirection__wrappee__weight_~tmp___3~1#1, stopRequestedInDirection__wrappee__weight_~tmp___4~0#1, stopRequestedInDirection__wrappee__weight_~tmp___5~0#1, stopRequestedInDirection__wrappee__weight_~tmp___6~0#1, stopRequestedInDirection__wrappee__weight_~tmp___7~0#1, stopRequestedInDirection__wrappee__weight_~tmp___8~0#1, stopRequestedInDirection__wrappee__weight_~tmp___9~0#1;stopRequestedInDirection__wrappee__weight_~dir#1 := stopRequestedInDirection__wrappee__weight_#in~dir#1;stopRequestedInDirection__wrappee__weight_~respectFloorCalls#1 := stopRequestedInDirection__wrappee__weight_#in~respectFloorCalls#1;stopRequestedInDirection__wrappee__weight_~respectInLiftCalls#1 := stopRequestedInDirection__wrappee__weight_#in~respectInLiftCalls#1;havoc stopRequestedInDirection__wrappee__weight_~retValue_acc~18#1;havoc stopRequestedInDirection__wrappee__weight_~tmp~13#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___0~3#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___1~2#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___2~2#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___3~1#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___4~0#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___5~0#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___6~0#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___7~0#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___8~0#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___9~0#1; 133465#L1663-2 assume !(1 == stopRequestedInDirection__wrappee__weight_~dir#1); 133466#L1832-2 assume 0 == ~currentFloorID~0;stopRequestedInDirection__wrappee__weight_~retValue_acc~18#1 := 0;stopRequestedInDirection__wrappee__weight_#res#1 := stopRequestedInDirection__wrappee__weight_~retValue_acc~18#1; 130298#stopRequestedInDirection__wrappee__weight_returnLabel#3 stopRequestedInDirection_#t~ret41#1 := stopRequestedInDirection__wrappee__weight_#res#1;havoc stopRequestedInDirection__wrappee__weight_#t~ret27#1, stopRequestedInDirection__wrappee__weight_#t~ret28#1, stopRequestedInDirection__wrappee__weight_#t~ret29#1, stopRequestedInDirection__wrappee__weight_#t~ret30#1, stopRequestedInDirection__wrappee__weight_#t~ret31#1, stopRequestedInDirection__wrappee__weight_#t~ret32#1, stopRequestedInDirection__wrappee__weight_#t~ret33#1, stopRequestedInDirection__wrappee__weight_#t~ret34#1, stopRequestedInDirection__wrappee__weight_#t~ret35#1, stopRequestedInDirection__wrappee__weight_#t~ret36#1, stopRequestedInDirection__wrappee__weight_#t~ret37#1, stopRequestedInDirection__wrappee__weight_~dir#1, stopRequestedInDirection__wrappee__weight_~respectFloorCalls#1, stopRequestedInDirection__wrappee__weight_~respectInLiftCalls#1, stopRequestedInDirection__wrappee__weight_~retValue_acc~18#1, stopRequestedInDirection__wrappee__weight_~tmp~13#1, stopRequestedInDirection__wrappee__weight_~tmp___0~3#1, stopRequestedInDirection__wrappee__weight_~tmp___1~2#1, stopRequestedInDirection__wrappee__weight_~tmp___2~2#1, stopRequestedInDirection__wrappee__weight_~tmp___3~1#1, stopRequestedInDirection__wrappee__weight_~tmp___4~0#1, stopRequestedInDirection__wrappee__weight_~tmp___5~0#1, stopRequestedInDirection__wrappee__weight_~tmp___6~0#1, stopRequestedInDirection__wrappee__weight_~tmp___7~0#1, stopRequestedInDirection__wrappee__weight_~tmp___8~0#1, stopRequestedInDirection__wrappee__weight_~tmp___9~0#1;havoc stopRequestedInDirection__wrappee__weight_#in~dir#1, stopRequestedInDirection__wrappee__weight_#in~respectFloorCalls#1, stopRequestedInDirection__wrappee__weight_#in~respectInLiftCalls#1;assume { :end_inline_stopRequestedInDirection__wrappee__weight } true;stopRequestedInDirection_~retValue_acc~19#1 := stopRequestedInDirection_#t~ret41#1;havoc stopRequestedInDirection_#t~ret41#1;stopRequestedInDirection_#res#1 := stopRequestedInDirection_~retValue_acc~19#1; 131173#stopRequestedInDirection_returnLabel#1 timeShift_#t~ret67#1 := stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret38#1, stopRequestedInDirection_#t~ret39#1, stopRequestedInDirection_#t~ret40#1, stopRequestedInDirection_#t~ret41#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~19#1, stopRequestedInDirection_~overload~0#1, stopRequestedInDirection_~buttonPressed~0#1, stopRequestedInDirection_~tmp~14#1, stopRequestedInDirection_~__cil_tmp8~0#1, stopRequestedInDirection_~__cil_tmp9~0#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~ret67#1;havoc timeShift_#t~ret67#1; 132574#L2389 assume 0 != timeShift_~tmp___8~2#1;assume { :begin_inline_continueInDirection } true;continueInDirection_#in~dir#1 := ~currentHeading~0;havoc continueInDirection_#t~ret42#1, continueInDirection_~dir#1, continueInDirection_~tmp~15#1;continueInDirection_~dir#1 := continueInDirection_#in~dir#1;havoc continueInDirection_~tmp~15#1;~currentHeading~0 := continueInDirection_~dir#1; 137499#L2078 assume !(1 == ~currentHeading~0); 137779#L2088 assume !(0 == ~currentFloorID~0); 136356#L2088-2 assume 1 == ~currentHeading~0;~currentFloorID~0 := 1 + ~currentFloorID~0; 131427#L2094-1 havoc continueInDirection_#t~ret42#1, continueInDirection_~dir#1, continueInDirection_~tmp~15#1;havoc continueInDirection_#in~dir#1;assume { :end_inline_continueInDirection } true; 129797#L2398-2 assume { :begin_inline___utac_acc__Specification13_spec__2 } true;havoc __utac_acc__Specification13_spec__2_#t~ret104#1, __utac_acc__Specification13_spec__2_#t~ret105#1, __utac_acc__Specification13_spec__2_#t~ret106#1, __utac_acc__Specification13_spec__2_#t~ret107#1, __utac_acc__Specification13_spec__2_#t~ret108#1, __utac_acc__Specification13_spec__2_#t~ret109#1, __utac_acc__Specification13_spec__2_~tmp~23#1, __utac_acc__Specification13_spec__2_~tmp___0~11#1, __utac_acc__Specification13_spec__2_~tmp___1~8#1, __utac_acc__Specification13_spec__2_~tmp___2~6#1, __utac_acc__Specification13_spec__2_~tmp___3~5#1, __utac_acc__Specification13_spec__2_~tmp___4~3#1, __utac_acc__Specification13_spec__2_~__cil_tmp7~1#1, __utac_acc__Specification13_spec__2_~__cil_tmp8~2#1;havoc __utac_acc__Specification13_spec__2_~tmp~23#1;havoc __utac_acc__Specification13_spec__2_~tmp___0~11#1;havoc __utac_acc__Specification13_spec__2_~tmp___1~8#1;havoc __utac_acc__Specification13_spec__2_~tmp___2~6#1;havoc __utac_acc__Specification13_spec__2_~tmp___3~5#1;havoc __utac_acc__Specification13_spec__2_~tmp___4~3#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp7~1#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp8~2#1;__utac_acc__Specification13_spec__2_~__cil_tmp7~1#1 := 2 * ~maximumWeight~0;__utac_acc__Specification13_spec__2_~__cil_tmp8~2#1 := (if __utac_acc__Specification13_spec__2_~__cil_tmp7~1#1 < 0 && 0 != __utac_acc__Specification13_spec__2_~__cil_tmp7~1#1 % 3 then 1 + __utac_acc__Specification13_spec__2_~__cil_tmp7~1#1 / 3 else __utac_acc__Specification13_spec__2_~__cil_tmp7~1#1 / 3); 129798#L2887 assume ~weight~0 > __utac_acc__Specification13_spec__2_~__cil_tmp8~2#1; 134113#L2888 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~24#1, existInLiftCallsInDirection_~i~1#1, existInLiftCallsInDirection_~i___0~0#1;existInLiftCallsInDirection_~d#1 := existInLiftCallsInDirection_#in~d#1;havoc existInLiftCallsInDirection_~retValue_acc~24#1;havoc existInLiftCallsInDirection_~i~1#1;havoc existInLiftCallsInDirection_~i___0~0#1; 130369#L2593 assume !(1 == existInLiftCallsInDirection_~d#1); 130370#L2659 assume 0 == existInLiftCallsInDirection_~d#1;existInLiftCallsInDirection_~i___0~0#1 := 0;existInLiftCallsInDirection_~i___0~0#1 := ~currentFloorID~0 - 1; 135972#L2663-2 [2024-10-12 00:47:23,149 INFO L747 eck$LassoCheckResult]: Loop: 135972#L2663-2 assume !false; 133094#L2664 assume existInLiftCallsInDirection_~i___0~0#1 >= 0; 133095#L2665 existInLiftCallsInDirection_~i___0~0#1 := 1 + ~currentFloorID~0; 130785#L2672-2 assume !false; 130786#L2673 assume !(existInLiftCallsInDirection_~i___0~0#1 < 5); 135775#L2731 existInLiftCallsInDirection_~i___0~0#1 := existInLiftCallsInDirection_~i___0~0#1 - 1; 135972#L2663-2 [2024-10-12 00:47:23,149 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-12 00:47:23,149 INFO L85 PathProgramCache]: Analyzing trace with hash 821173684, now seen corresponding path program 1 times [2024-10-12 00:47:23,150 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-12 00:47:23,150 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [902319794] [2024-10-12 00:47:23,150 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-12 00:47:23,150 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-12 00:47:23,238 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-12 00:47:23,388 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:23,389 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-10-12 00:47:23,389 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [902319794] [2024-10-12 00:47:23,389 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [902319794] provided 1 perfect and 0 imperfect interpolant sequences [2024-10-12 00:47:23,389 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-10-12 00:47:23,389 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2024-10-12 00:47:23,390 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [555314274] [2024-10-12 00:47:23,390 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-10-12 00:47:23,390 INFO L750 eck$LassoCheckResult]: stem already infeasible [2024-10-12 00:47:23,391 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-12 00:47:23,391 INFO L85 PathProgramCache]: Analyzing trace with hash 964799947, now seen corresponding path program 2 times [2024-10-12 00:47:23,391 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-12 00:47:23,392 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1758697432] [2024-10-12 00:47:23,392 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-12 00:47:23,392 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-12 00:47:23,406 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-12 00:47:23,406 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-10-12 00:47:23,408 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-12 00:47:23,417 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-10-12 00:47:23,440 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-10-12 00:47:23,440 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2024-10-12 00:47:23,441 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2024-10-12 00:47:23,441 INFO L87 Difference]: Start difference. First operand 9184 states and 17144 transitions. cyclomatic complexity: 7995 Second operand has 5 states, 5 states have (on average 11.6) internal successors, (58), 5 states have internal predecessors, (58), 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,105 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-10-12 00:47:24,106 INFO L93 Difference]: Finished difference Result 9192 states and 17151 transitions. [2024-10-12 00:47:24,106 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 9192 states and 17151 transitions. [2024-10-12 00:47:24,167 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 2326 [2024-10-12 00:47:24,210 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 9192 states to 9192 states and 17151 transitions. [2024-10-12 00:47:24,211 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 9154 [2024-10-12 00:47:24,225 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 9154 [2024-10-12 00:47:24,226 INFO L73 IsDeterministic]: Start isDeterministic. Operand 9192 states and 17151 transitions. [2024-10-12 00:47:24,228 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-10-12 00:47:24,228 INFO L218 hiAutomatonCegarLoop]: Abstraction has 9192 states and 17151 transitions. [2024-10-12 00:47:24,248 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 9192 states and 17151 transitions. [2024-10-12 00:47:24,476 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 9192 to 9184. [2024-10-12 00:47:24,493 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9184 states, 9184 states have (on average 1.8660714285714286) internal successors, (17138), 9183 states have internal predecessors, (17138), 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,523 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9184 states to 9184 states and 17138 transitions. [2024-10-12 00:47:24,523 INFO L240 hiAutomatonCegarLoop]: Abstraction has 9184 states and 17138 transitions. [2024-10-12 00:47:24,524 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2024-10-12 00:47:24,524 INFO L425 stractBuchiCegarLoop]: Abstraction has 9184 states and 17138 transitions. [2024-10-12 00:47:24,525 INFO L332 stractBuchiCegarLoop]: ======== Iteration 5 ============ [2024-10-12 00:47:24,525 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 9184 states and 17138 transitions. [2024-10-12 00:47:24,558 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 2326 [2024-10-12 00:47:24,559 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-10-12 00:47:24,559 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-10-12 00:47:24,560 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] [2024-10-12 00:47:24,560 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1] [2024-10-12 00:47:24,560 INFO L745 eck$LassoCheckResult]: Stem: 154915#$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(10, 4);call #Ultimate.allocInit(4, 5);call write~init~int#1(91, 5, 0, 1);call write~init~int#1(95, 5, 1, 1);call write~init~int#1(93, 5, 2, 1);call write~init~int#1(0, 5, 3, 1);call #Ultimate.allocInit(4, 6);call write~init~int#2(91, 6, 0, 1);call write~init~int#2(93, 6, 1, 1);call write~init~int#2(32, 6, 2, 1);call write~init~int#2(0, 6, 3, 1);call #Ultimate.allocInit(5, 7);call write~init~int#3(32, 7, 0, 1);call write~init~int#3(97, 7, 1, 1);call write~init~int#3(116, 7, 2, 1);call write~init~int#3(32, 7, 3, 1);call write~init~int#3(0, 7, 4, 1);call #Ultimate.allocInit(3, 8);call write~init~int#4(37, 8, 0, 1);call write~init~int#4(105, 8, 1, 1);call write~init~int#4(0, 8, 2, 1);call #Ultimate.allocInit(10, 9);call #Ultimate.allocInit(3, 10);call write~init~int#5(117, 10, 0, 1);call write~init~int#5(112, 10, 1, 1);call write~init~int#5(0, 10, 2, 1);call #Ultimate.allocInit(5, 11);call write~init~int#6(100, 11, 0, 1);call write~init~int#6(111, 11, 1, 1);call write~init~int#6(119, 11, 2, 1);call write~init~int#6(110, 11, 3, 1);call write~init~int#6(0, 11, 4, 1);call #Ultimate.allocInit(7, 12);call write~init~int#7(32, 12, 0, 1);call write~init~int#7(73, 12, 1, 1);call write~init~int#7(76, 12, 2, 1);call write~init~int#7(95, 12, 3, 1);call write~init~int#7(112, 12, 4, 1);call write~init~int#7(58, 12, 5, 1);call write~init~int#7(0, 12, 6, 1);call #Ultimate.allocInit(4, 13);call write~init~int#8(32, 13, 0, 1);call write~init~int#8(37, 13, 1, 1);call write~init~int#8(105, 13, 2, 1);call write~init~int#8(0, 13, 3, 1);call #Ultimate.allocInit(4, 14);call write~init~int#9(32, 14, 0, 1);call write~init~int#9(37, 14, 1, 1);call write~init~int#9(105, 14, 2, 1);call write~init~int#9(0, 14, 3, 1);call #Ultimate.allocInit(4, 15);call write~init~int#10(32, 15, 0, 1);call write~init~int#10(37, 15, 1, 1);call write~init~int#10(105, 15, 2, 1);call write~init~int#10(0, 15, 3, 1);call #Ultimate.allocInit(4, 16);call write~init~int#11(32, 16, 0, 1);call write~init~int#11(37, 16, 1, 1);call write~init~int#11(105, 16, 2, 1);call write~init~int#11(0, 16, 3, 1);call #Ultimate.allocInit(4, 17);call write~init~int#12(32, 17, 0, 1);call write~init~int#12(37, 17, 1, 1);call write~init~int#12(105, 17, 2, 1);call write~init~int#12(0, 17, 3, 1);call #Ultimate.allocInit(6, 18);call write~init~int#13(32, 18, 0, 1);call write~init~int#13(70, 18, 1, 1);call write~init~int#13(95, 18, 2, 1);call write~init~int#13(112, 18, 3, 1);call write~init~int#13(58, 18, 4, 1);call write~init~int#13(0, 18, 5, 1);call #Ultimate.allocInit(4, 19);call write~init~int#14(32, 19, 0, 1);call write~init~int#14(37, 19, 1, 1);call write~init~int#14(105, 19, 2, 1);call write~init~int#14(0, 19, 3, 1);call #Ultimate.allocInit(4, 20);call write~init~int#15(32, 20, 0, 1);call write~init~int#15(37, 20, 1, 1);call write~init~int#15(105, 20, 2, 1);call write~init~int#15(0, 20, 3, 1);call #Ultimate.allocInit(4, 21);call write~init~int#16(32, 21, 0, 1);call write~init~int#16(37, 21, 1, 1);call write~init~int#16(105, 21, 2, 1);call write~init~int#16(0, 21, 3, 1);call #Ultimate.allocInit(4, 22);call write~init~int#17(32, 22, 0, 1);call write~init~int#17(37, 22, 1, 1);call write~init~int#17(105, 22, 2, 1);call write~init~int#17(0, 22, 3, 1);call #Ultimate.allocInit(4, 23);call write~init~int#18(32, 23, 0, 1);call write~init~int#18(37, 23, 1, 1);call write~init~int#18(105, 23, 2, 1);call write~init~int#18(0, 23, 3, 1);call #Ultimate.allocInit(2, 24);call write~init~int#19(10, 24, 0, 1);call write~init~int#19(0, 24, 1, 1);call #Ultimate.allocInit(30, 25);call #Ultimate.allocInit(9, 26);call #Ultimate.allocInit(21, 27);call #Ultimate.allocInit(30, 28);call #Ultimate.allocInit(9, 29);call #Ultimate.allocInit(21, 30);call #Ultimate.allocInit(30, 31);call #Ultimate.allocInit(9, 32);call #Ultimate.allocInit(25, 33);call #Ultimate.allocInit(30, 34);call #Ultimate.allocInit(9, 35);call #Ultimate.allocInit(25, 36);~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;~weight~0 := 0;~maximumWeight~0 := 100;~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;~prevDir~0 := 0;~head~0.base, ~head~0.offset := 0, 0; 154653#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret18#1, main_~retValue_acc~9#1, main_~tmp~8#1;havoc main_~retValue_acc~9#1;havoc main_~tmp~8#1;assume { :begin_inline_select_helpers } true; 154654#select_helpers_returnLabel#1 assume { :end_inline_select_helpers } true;assume { :begin_inline_select_features } true; 156473#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~4#1;havoc valid_product_~retValue_acc~4#1;valid_product_~retValue_acc~4#1 := 1;valid_product_#res#1 := valid_product_~retValue_acc~4#1; 149180#valid_product_returnLabel#1 main_#t~ret18#1 := valid_product_#res#1;havoc valid_product_~retValue_acc~4#1;assume { :end_inline_valid_product } true;main_~tmp~8#1 := main_#t~ret18#1;havoc main_#t~ret18#1; 149181#L1217 assume 0 != main_~tmp~8#1;assume { :begin_inline_setup } true; 150776#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~ret7#1, aliceCall_~tmp~1#1;havoc aliceCall_~tmp~1#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 1;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~6#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~6#1; 149489#L801 assume !(0 == getOrigin_~person#1); 149490#L805 assume 1 == getOrigin_~person#1;getOrigin_~retValue_acc~6#1 := 3;getOrigin_#res#1 := getOrigin_~retValue_acc~6#1; 150807#getOrigin_returnLabel#1 aliceCall_#t~ret7#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~6#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;aliceCall_~tmp~1#1 := aliceCall_#t~ret7#1;havoc aliceCall_#t~ret7#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 1, aliceCall_~tmp~1#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 152363#L409 assume !(0 == initPersonOnFloor_~floor#1); 148746#L436 assume !(1 == initPersonOnFloor_~floor#1); 148747#L463 assume !(2 == initPersonOnFloor_~floor#1); 149858#L490 assume 3 == initPersonOnFloor_~floor#1; 149859#L491 assume !(0 == initPersonOnFloor_~person#1); 151580#L494 assume 1 == initPersonOnFloor_~person#1;~personOnFloor_1_3~0 := 1; 148592#L517-1 assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 149865#L201 assume 0 == callOnFloor_~floorID#1;~calls_0~0 := 1; 149695#L213-2 havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true; 149736#initPersonOnFloor_returnLabel#1 havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true; 149737#aliceCall_returnLabel#1 havoc aliceCall_#t~ret7#1, aliceCall_~tmp~1#1;assume { :end_inline_aliceCall } true;assume { :begin_inline_angelinaCall } true;havoc angelinaCall_#t~ret8#1, angelinaCall_~tmp~2#1;havoc angelinaCall_~tmp~2#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 2;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~6#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~6#1; 148756#L801-1 assume !(0 == getOrigin_~person#1); 148757#L805-1 assume !(1 == getOrigin_~person#1); 153241#L809-1 assume 2 == getOrigin_~person#1;getOrigin_~retValue_acc~6#1 := 2;getOrigin_#res#1 := getOrigin_~retValue_acc~6#1; 149536#getOrigin_returnLabel#2 angelinaCall_#t~ret8#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~6#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;angelinaCall_~tmp~2#1 := angelinaCall_#t~ret8#1;havoc angelinaCall_#t~ret8#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 2, angelinaCall_~tmp~2#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 156759#L409-1 assume 0 == initPersonOnFloor_~floor#1; 155781#L410-2 assume !(0 == initPersonOnFloor_~person#1); 152004#L413-2 assume 1 == initPersonOnFloor_~person#1;~personOnFloor_1_0~0 := 1; 148250#L517-3 assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 153657#L201-2 assume 0 == callOnFloor_~floorID#1;~calls_0~0 := 1; 154101#L213-5 havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true; 153444#initPersonOnFloor_returnLabel#2 havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true; 153445#angelinaCall_returnLabel#1 havoc angelinaCall_#t~ret8#1, angelinaCall_~tmp~2#1;assume { :end_inline_angelinaCall } true;assume { :begin_inline_threeTS } true;assume { :begin_inline_timeShift } true;havoc timeShift_#t~ret60#1, timeShift_#t~ret61#1, timeShift_#t~ret62#1, timeShift_#t~ret63#1, timeShift_#t~ret64#1, timeShift_#t~ret65#1, timeShift_#t~ret66#1, timeShift_#t~ret67#1, timeShift_#t~ret68#1, timeShift_#t~ret69#1, timeShift_#t~ret70#1, timeShift_~tmp~19#1, timeShift_~tmp___0~7#1, timeShift_~tmp___1~4#1, timeShift_~tmp___2~4#1, timeShift_~tmp___3~3#1, timeShift_~tmp___4~2#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~19#1;havoc timeShift_~tmp___0~7#1;havoc timeShift_~tmp___1~4#1;havoc timeShift_~tmp___2~4#1;havoc timeShift_~tmp___3~3#1;havoc timeShift_~tmp___4~2#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~ret103#1;assume { :begin_inline_getCurrentHeading } true;havoc getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~14#1;havoc getCurrentHeading_~retValue_acc~14#1;getCurrentHeading_~retValue_acc~14#1 := ~currentHeading~0;getCurrentHeading_#res#1 := getCurrentHeading_~retValue_acc~14#1; 156297#getCurrentHeading_returnLabel#1 __utac_acc__Specification13_spec__1_#t~ret103#1 := getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~14#1;assume { :end_inline_getCurrentHeading } true;~prevDir~0 := __utac_acc__Specification13_spec__1_#t~ret103#1;havoc __utac_acc__Specification13_spec__1_#t~ret103#1; 153780#__utac_acc__Specification13_spec__1_returnLabel#1 havoc __utac_acc__Specification13_spec__1_#t~ret103#1;assume { :end_inline___utac_acc__Specification13_spec__1 } true;assume { :begin_inline_stopRequestedAtCurrentFloor } true;havoc stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret45#1, stopRequestedAtCurrentFloor_#t~ret46#1, stopRequestedAtCurrentFloor_#t~ret47#1, stopRequestedAtCurrentFloor_~retValue_acc~22#1, stopRequestedAtCurrentFloor_~tmp~17#1, stopRequestedAtCurrentFloor_~tmp___0~5#1, stopRequestedAtCurrentFloor_~__cil_tmp4~1#1, stopRequestedAtCurrentFloor_~__cil_tmp5~0#1;havoc stopRequestedAtCurrentFloor_~retValue_acc~22#1;havoc stopRequestedAtCurrentFloor_~tmp~17#1;havoc stopRequestedAtCurrentFloor_~tmp___0~5#1;havoc stopRequestedAtCurrentFloor_~__cil_tmp4~1#1;havoc stopRequestedAtCurrentFloor_~__cil_tmp5~0#1;stopRequestedAtCurrentFloor_~__cil_tmp4~1#1 := 2 * ~maximumWeight~0;stopRequestedAtCurrentFloor_~__cil_tmp5~0#1 := (if stopRequestedAtCurrentFloor_~__cil_tmp4~1#1 < 0 && 0 != stopRequestedAtCurrentFloor_~__cil_tmp4~1#1 % 3 then 1 + stopRequestedAtCurrentFloor_~__cil_tmp4~1#1 / 3 else stopRequestedAtCurrentFloor_~__cil_tmp4~1#1 / 3); 153781#L2140 assume ~weight~0 > stopRequestedAtCurrentFloor_~__cil_tmp5~0#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~11#1;havoc getCurrentFloorID_~retValue_acc~11#1;getCurrentFloorID_~retValue_acc~11#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~11#1; 153519#getCurrentFloorID_returnLabel#1 stopRequestedAtCurrentFloor_#t~ret45#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~11#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedAtCurrentFloor_~tmp~17#1 := stopRequestedAtCurrentFloor_#t~ret45#1;havoc stopRequestedAtCurrentFloor_#t~ret45#1;assume { :begin_inline_buttonForFloorIsPressed } true;buttonForFloorIsPressed_#in~floorID#1 := stopRequestedAtCurrentFloor_~tmp~17#1;havoc buttonForFloorIsPressed_#res#1;havoc buttonForFloorIsPressed_~floorID#1, buttonForFloorIsPressed_~retValue_acc~13#1;buttonForFloorIsPressed_~floorID#1 := buttonForFloorIsPressed_#in~floorID#1;havoc buttonForFloorIsPressed_~retValue_acc~13#1; 153520#L1476 assume 0 == buttonForFloorIsPressed_~floorID#1;buttonForFloorIsPressed_~retValue_acc~13#1 := ~floorButtons_0~0;buttonForFloorIsPressed_#res#1 := buttonForFloorIsPressed_~retValue_acc~13#1; 151064#buttonForFloorIsPressed_returnLabel#1 stopRequestedAtCurrentFloor_#t~ret46#1 := buttonForFloorIsPressed_#res#1;havoc buttonForFloorIsPressed_~floorID#1, buttonForFloorIsPressed_~retValue_acc~13#1;havoc buttonForFloorIsPressed_#in~floorID#1;assume { :end_inline_buttonForFloorIsPressed } true;stopRequestedAtCurrentFloor_~tmp___0~5#1 := stopRequestedAtCurrentFloor_#t~ret46#1;havoc stopRequestedAtCurrentFloor_#t~ret46#1;stopRequestedAtCurrentFloor_~retValue_acc~22#1 := (if 1 == stopRequestedAtCurrentFloor_~tmp___0~5#1 then 1 else 0);stopRequestedAtCurrentFloor_#res#1 := stopRequestedAtCurrentFloor_~retValue_acc~22#1; 148221#stopRequestedAtCurrentFloor_returnLabel#1 timeShift_#t~ret60#1 := stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret45#1, stopRequestedAtCurrentFloor_#t~ret46#1, stopRequestedAtCurrentFloor_#t~ret47#1, stopRequestedAtCurrentFloor_~retValue_acc~22#1, stopRequestedAtCurrentFloor_~tmp~17#1, stopRequestedAtCurrentFloor_~tmp___0~5#1, stopRequestedAtCurrentFloor_~__cil_tmp4~1#1, stopRequestedAtCurrentFloor_~__cil_tmp5~0#1;assume { :end_inline_stopRequestedAtCurrentFloor } true;timeShift_~tmp___9~2#1 := timeShift_#t~ret60#1;havoc timeShift_#t~ret60#1; 148222#L2290 assume !(0 != timeShift_~tmp___9~2#1); 150767#L2381 assume 1 == ~doorState~0;~doorState~0 := 0; 150768#L2381-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~ret38#1, stopRequestedInDirection_#t~ret39#1, stopRequestedInDirection_#t~ret40#1, stopRequestedInDirection_#t~ret41#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~19#1, stopRequestedInDirection_~overload~0#1, stopRequestedInDirection_~buttonPressed~0#1, stopRequestedInDirection_~tmp~14#1, stopRequestedInDirection_~__cil_tmp8~0#1, stopRequestedInDirection_~__cil_tmp9~0#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~19#1;havoc stopRequestedInDirection_~overload~0#1;havoc stopRequestedInDirection_~buttonPressed~0#1;havoc stopRequestedInDirection_~tmp~14#1;havoc stopRequestedInDirection_~__cil_tmp8~0#1;havoc stopRequestedInDirection_~__cil_tmp9~0#1;stopRequestedInDirection_~__cil_tmp8~0#1 := 2 * ~maximumWeight~0;stopRequestedInDirection_~__cil_tmp9~0#1 := (if stopRequestedInDirection_~__cil_tmp8~0#1 < 0 && 0 != stopRequestedInDirection_~__cil_tmp8~0#1 % 3 then 1 + stopRequestedInDirection_~__cil_tmp8~0#1 / 3 else stopRequestedInDirection_~__cil_tmp8~0#1 / 3);stopRequestedInDirection_~overload~0#1 := (if ~weight~0 > stopRequestedInDirection_~__cil_tmp9~0#1 then 1 else 0);assume { :begin_inline_isAnyLiftButtonPressed } true;havoc isAnyLiftButtonPressed_#res#1;havoc isAnyLiftButtonPressed_~retValue_acc~20#1;havoc isAnyLiftButtonPressed_~retValue_acc~20#1; 155113#L2043 assume 0 != ~floorButtons_0~0;isAnyLiftButtonPressed_~retValue_acc~20#1 := 1;isAnyLiftButtonPressed_#res#1 := isAnyLiftButtonPressed_~retValue_acc~20#1; 150589#isAnyLiftButtonPressed_returnLabel#1 stopRequestedInDirection_#t~ret38#1 := isAnyLiftButtonPressed_#res#1;havoc isAnyLiftButtonPressed_~retValue_acc~20#1;assume { :end_inline_isAnyLiftButtonPressed } true;stopRequestedInDirection_~tmp~14#1 := stopRequestedInDirection_#t~ret38#1;havoc stopRequestedInDirection_#t~ret38#1;stopRequestedInDirection_~buttonPressed~0#1 := stopRequestedInDirection_~tmp~14#1; 153479#L2016 assume !(0 != stopRequestedInDirection_~overload~0#1);assume { :begin_inline_stopRequestedInDirection__wrappee__weight } true;stopRequestedInDirection__wrappee__weight_#in~dir#1, stopRequestedInDirection__wrappee__weight_#in~respectFloorCalls#1, stopRequestedInDirection__wrappee__weight_#in~respectInLiftCalls#1 := stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1;havoc stopRequestedInDirection__wrappee__weight_#res#1;havoc stopRequestedInDirection__wrappee__weight_#t~ret27#1, stopRequestedInDirection__wrappee__weight_#t~ret28#1, stopRequestedInDirection__wrappee__weight_#t~ret29#1, stopRequestedInDirection__wrappee__weight_#t~ret30#1, stopRequestedInDirection__wrappee__weight_#t~ret31#1, stopRequestedInDirection__wrappee__weight_#t~ret32#1, stopRequestedInDirection__wrappee__weight_#t~ret33#1, stopRequestedInDirection__wrappee__weight_#t~ret34#1, stopRequestedInDirection__wrappee__weight_#t~ret35#1, stopRequestedInDirection__wrappee__weight_#t~ret36#1, stopRequestedInDirection__wrappee__weight_#t~ret37#1, stopRequestedInDirection__wrappee__weight_~dir#1, stopRequestedInDirection__wrappee__weight_~respectFloorCalls#1, stopRequestedInDirection__wrappee__weight_~respectInLiftCalls#1, stopRequestedInDirection__wrappee__weight_~retValue_acc~18#1, stopRequestedInDirection__wrappee__weight_~tmp~13#1, stopRequestedInDirection__wrappee__weight_~tmp___0~3#1, stopRequestedInDirection__wrappee__weight_~tmp___1~2#1, stopRequestedInDirection__wrappee__weight_~tmp___2~2#1, stopRequestedInDirection__wrappee__weight_~tmp___3~1#1, stopRequestedInDirection__wrappee__weight_~tmp___4~0#1, stopRequestedInDirection__wrappee__weight_~tmp___5~0#1, stopRequestedInDirection__wrappee__weight_~tmp___6~0#1, stopRequestedInDirection__wrappee__weight_~tmp___7~0#1, stopRequestedInDirection__wrappee__weight_~tmp___8~0#1, stopRequestedInDirection__wrappee__weight_~tmp___9~0#1;stopRequestedInDirection__wrappee__weight_~dir#1 := stopRequestedInDirection__wrappee__weight_#in~dir#1;stopRequestedInDirection__wrappee__weight_~respectFloorCalls#1 := stopRequestedInDirection__wrappee__weight_#in~respectFloorCalls#1;stopRequestedInDirection__wrappee__weight_~respectInLiftCalls#1 := stopRequestedInDirection__wrappee__weight_#in~respectInLiftCalls#1;havoc stopRequestedInDirection__wrappee__weight_~retValue_acc~18#1;havoc stopRequestedInDirection__wrappee__weight_~tmp~13#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___0~3#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___1~2#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___2~2#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___3~1#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___4~0#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___5~0#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___6~0#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___7~0#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___8~0#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___9~0#1; 151849#L1663-2 assume !(1 == stopRequestedInDirection__wrappee__weight_~dir#1); 151850#L1832-2 assume 0 == ~currentFloorID~0;stopRequestedInDirection__wrappee__weight_~retValue_acc~18#1 := 0;stopRequestedInDirection__wrappee__weight_#res#1 := stopRequestedInDirection__wrappee__weight_~retValue_acc~18#1; 148682#stopRequestedInDirection__wrappee__weight_returnLabel#3 stopRequestedInDirection_#t~ret41#1 := stopRequestedInDirection__wrappee__weight_#res#1;havoc stopRequestedInDirection__wrappee__weight_#t~ret27#1, stopRequestedInDirection__wrappee__weight_#t~ret28#1, stopRequestedInDirection__wrappee__weight_#t~ret29#1, stopRequestedInDirection__wrappee__weight_#t~ret30#1, stopRequestedInDirection__wrappee__weight_#t~ret31#1, stopRequestedInDirection__wrappee__weight_#t~ret32#1, stopRequestedInDirection__wrappee__weight_#t~ret33#1, stopRequestedInDirection__wrappee__weight_#t~ret34#1, stopRequestedInDirection__wrappee__weight_#t~ret35#1, stopRequestedInDirection__wrappee__weight_#t~ret36#1, stopRequestedInDirection__wrappee__weight_#t~ret37#1, stopRequestedInDirection__wrappee__weight_~dir#1, stopRequestedInDirection__wrappee__weight_~respectFloorCalls#1, stopRequestedInDirection__wrappee__weight_~respectInLiftCalls#1, stopRequestedInDirection__wrappee__weight_~retValue_acc~18#1, stopRequestedInDirection__wrappee__weight_~tmp~13#1, stopRequestedInDirection__wrappee__weight_~tmp___0~3#1, stopRequestedInDirection__wrappee__weight_~tmp___1~2#1, stopRequestedInDirection__wrappee__weight_~tmp___2~2#1, stopRequestedInDirection__wrappee__weight_~tmp___3~1#1, stopRequestedInDirection__wrappee__weight_~tmp___4~0#1, stopRequestedInDirection__wrappee__weight_~tmp___5~0#1, stopRequestedInDirection__wrappee__weight_~tmp___6~0#1, stopRequestedInDirection__wrappee__weight_~tmp___7~0#1, stopRequestedInDirection__wrappee__weight_~tmp___8~0#1, stopRequestedInDirection__wrappee__weight_~tmp___9~0#1;havoc stopRequestedInDirection__wrappee__weight_#in~dir#1, stopRequestedInDirection__wrappee__weight_#in~respectFloorCalls#1, stopRequestedInDirection__wrappee__weight_#in~respectInLiftCalls#1;assume { :end_inline_stopRequestedInDirection__wrappee__weight } true;stopRequestedInDirection_~retValue_acc~19#1 := stopRequestedInDirection_#t~ret41#1;havoc stopRequestedInDirection_#t~ret41#1;stopRequestedInDirection_#res#1 := stopRequestedInDirection_~retValue_acc~19#1; 149557#stopRequestedInDirection_returnLabel#1 timeShift_#t~ret67#1 := stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret38#1, stopRequestedInDirection_#t~ret39#1, stopRequestedInDirection_#t~ret40#1, stopRequestedInDirection_#t~ret41#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~19#1, stopRequestedInDirection_~overload~0#1, stopRequestedInDirection_~buttonPressed~0#1, stopRequestedInDirection_~tmp~14#1, stopRequestedInDirection_~__cil_tmp8~0#1, stopRequestedInDirection_~__cil_tmp9~0#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~ret67#1;havoc timeShift_#t~ret67#1; 150958#L2389 assume 0 != timeShift_~tmp___8~2#1;assume { :begin_inline_continueInDirection } true;continueInDirection_#in~dir#1 := ~currentHeading~0;havoc continueInDirection_#t~ret42#1, continueInDirection_~dir#1, continueInDirection_~tmp~15#1;continueInDirection_~dir#1 := continueInDirection_#in~dir#1;havoc continueInDirection_~tmp~15#1;~currentHeading~0 := continueInDirection_~dir#1; 155883#L2078 assume !(1 == ~currentHeading~0); 156163#L2088 assume !(0 == ~currentFloorID~0); 154740#L2088-2 assume 1 == ~currentHeading~0;~currentFloorID~0 := 1 + ~currentFloorID~0; 149811#L2094-1 havoc continueInDirection_#t~ret42#1, continueInDirection_~dir#1, continueInDirection_~tmp~15#1;havoc continueInDirection_#in~dir#1;assume { :end_inline_continueInDirection } true; 148181#L2398-2 assume { :begin_inline___utac_acc__Specification13_spec__2 } true;havoc __utac_acc__Specification13_spec__2_#t~ret104#1, __utac_acc__Specification13_spec__2_#t~ret105#1, __utac_acc__Specification13_spec__2_#t~ret106#1, __utac_acc__Specification13_spec__2_#t~ret107#1, __utac_acc__Specification13_spec__2_#t~ret108#1, __utac_acc__Specification13_spec__2_#t~ret109#1, __utac_acc__Specification13_spec__2_~tmp~23#1, __utac_acc__Specification13_spec__2_~tmp___0~11#1, __utac_acc__Specification13_spec__2_~tmp___1~8#1, __utac_acc__Specification13_spec__2_~tmp___2~6#1, __utac_acc__Specification13_spec__2_~tmp___3~5#1, __utac_acc__Specification13_spec__2_~tmp___4~3#1, __utac_acc__Specification13_spec__2_~__cil_tmp7~1#1, __utac_acc__Specification13_spec__2_~__cil_tmp8~2#1;havoc __utac_acc__Specification13_spec__2_~tmp~23#1;havoc __utac_acc__Specification13_spec__2_~tmp___0~11#1;havoc __utac_acc__Specification13_spec__2_~tmp___1~8#1;havoc __utac_acc__Specification13_spec__2_~tmp___2~6#1;havoc __utac_acc__Specification13_spec__2_~tmp___3~5#1;havoc __utac_acc__Specification13_spec__2_~tmp___4~3#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp7~1#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp8~2#1;__utac_acc__Specification13_spec__2_~__cil_tmp7~1#1 := 2 * ~maximumWeight~0;__utac_acc__Specification13_spec__2_~__cil_tmp8~2#1 := (if __utac_acc__Specification13_spec__2_~__cil_tmp7~1#1 < 0 && 0 != __utac_acc__Specification13_spec__2_~__cil_tmp7~1#1 % 3 then 1 + __utac_acc__Specification13_spec__2_~__cil_tmp7~1#1 / 3 else __utac_acc__Specification13_spec__2_~__cil_tmp7~1#1 / 3); 148182#L2887 assume ~weight~0 > __utac_acc__Specification13_spec__2_~__cil_tmp8~2#1; 152497#L2888 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~24#1, existInLiftCallsInDirection_~i~1#1, existInLiftCallsInDirection_~i___0~0#1;existInLiftCallsInDirection_~d#1 := existInLiftCallsInDirection_#in~d#1;havoc existInLiftCallsInDirection_~retValue_acc~24#1;havoc existInLiftCallsInDirection_~i~1#1;havoc existInLiftCallsInDirection_~i___0~0#1; 148753#L2593 assume !(1 == existInLiftCallsInDirection_~d#1); 148754#L2659 assume 0 == existInLiftCallsInDirection_~d#1;existInLiftCallsInDirection_~i___0~0#1 := 0;existInLiftCallsInDirection_~i___0~0#1 := ~currentFloorID~0 - 1; 154356#L2663-2 [2024-10-12 00:47:24,561 INFO L747 eck$LassoCheckResult]: Loop: 154356#L2663-2 assume !false; 151478#L2664 assume existInLiftCallsInDirection_~i___0~0#1 >= 0; 151479#L2665 existInLiftCallsInDirection_~i___0~0#1 := 1 + ~currentFloorID~0; 149169#L2672-2 assume !false; 149170#L2673 assume !(existInLiftCallsInDirection_~i___0~0#1 < 5); 154159#L2731 existInLiftCallsInDirection_~i___0~0#1 := existInLiftCallsInDirection_~i___0~0#1 - 1; 154356#L2663-2 [2024-10-12 00:47:24,561 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-12 00:47:24,561 INFO L85 PathProgramCache]: Analyzing trace with hash 1386308720, now seen corresponding path program 1 times [2024-10-12 00:47:24,562 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-12 00:47:24,562 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [362693346] [2024-10-12 00:47:24,562 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-12 00:47:24,562 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-12 00:47:24,587 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-12 00:47:24,648 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,649 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-10-12 00:47:24,649 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [362693346] [2024-10-12 00:47:24,650 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [362693346] provided 1 perfect and 0 imperfect interpolant sequences [2024-10-12 00:47:24,650 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-10-12 00:47:24,650 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2024-10-12 00:47:24,650 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1711342824] [2024-10-12 00:47:24,650 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-10-12 00:47:24,651 INFO L750 eck$LassoCheckResult]: stem already infeasible [2024-10-12 00:47:24,651 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-12 00:47:24,651 INFO L85 PathProgramCache]: Analyzing trace with hash 964799947, now seen corresponding path program 3 times [2024-10-12 00:47:24,651 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-12 00:47:24,651 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2033846448] [2024-10-12 00:47:24,652 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-12 00:47:24,652 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-12 00:47:24,661 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-12 00:47:24,661 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-10-12 00:47:24,662 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-12 00:47:24,675 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-10-12 00:47:24,706 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-10-12 00:47:24,707 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2024-10-12 00:47:24,712 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2024-10-12 00:47:24,712 INFO L87 Difference]: Start difference. First operand 9184 states and 17138 transitions. cyclomatic complexity: 7989 Second operand has 4 states, 4 states have (on average 15.0) internal successors, (60), 4 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:24,960 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-10-12 00:47:24,960 INFO L93 Difference]: Finished difference Result 9188 states and 17141 transitions. [2024-10-12 00:47:24,960 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 9188 states and 17141 transitions. [2024-10-12 00:47:25,003 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 2326 [2024-10-12 00:47:25,037 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 9188 states to 9188 states and 17141 transitions. [2024-10-12 00:47:25,037 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 9150 [2024-10-12 00:47:25,046 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 9150 [2024-10-12 00:47:25,046 INFO L73 IsDeterministic]: Start isDeterministic. Operand 9188 states and 17141 transitions. [2024-10-12 00:47:25,051 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-10-12 00:47:25,051 INFO L218 hiAutomatonCegarLoop]: Abstraction has 9188 states and 17141 transitions. [2024-10-12 00:47:25,065 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 9188 states and 17141 transitions. [2024-10-12 00:47:25,303 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 9188 to 9188. [2024-10-12 00:47:25,344 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9188 states, 9188 states have (on average 1.8655855463648237) internal successors, (17141), 9187 states have internal predecessors, (17141), 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:25,372 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9188 states to 9188 states and 17141 transitions. [2024-10-12 00:47:25,373 INFO L240 hiAutomatonCegarLoop]: Abstraction has 9188 states and 17141 transitions. [2024-10-12 00:47:25,373 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2024-10-12 00:47:25,374 INFO L425 stractBuchiCegarLoop]: Abstraction has 9188 states and 17141 transitions. [2024-10-12 00:47:25,374 INFO L332 stractBuchiCegarLoop]: ======== Iteration 6 ============ [2024-10-12 00:47:25,374 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 9188 states and 17141 transitions. [2024-10-12 00:47:25,407 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 2326 [2024-10-12 00:47:25,407 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-10-12 00:47:25,407 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-10-12 00:47:25,408 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:25,408 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1] [2024-10-12 00:47:25,408 INFO L745 eck$LassoCheckResult]: Stem: 173296#$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(10, 4);call #Ultimate.allocInit(4, 5);call write~init~int#1(91, 5, 0, 1);call write~init~int#1(95, 5, 1, 1);call write~init~int#1(93, 5, 2, 1);call write~init~int#1(0, 5, 3, 1);call #Ultimate.allocInit(4, 6);call write~init~int#2(91, 6, 0, 1);call write~init~int#2(93, 6, 1, 1);call write~init~int#2(32, 6, 2, 1);call write~init~int#2(0, 6, 3, 1);call #Ultimate.allocInit(5, 7);call write~init~int#3(32, 7, 0, 1);call write~init~int#3(97, 7, 1, 1);call write~init~int#3(116, 7, 2, 1);call write~init~int#3(32, 7, 3, 1);call write~init~int#3(0, 7, 4, 1);call #Ultimate.allocInit(3, 8);call write~init~int#4(37, 8, 0, 1);call write~init~int#4(105, 8, 1, 1);call write~init~int#4(0, 8, 2, 1);call #Ultimate.allocInit(10, 9);call #Ultimate.allocInit(3, 10);call write~init~int#5(117, 10, 0, 1);call write~init~int#5(112, 10, 1, 1);call write~init~int#5(0, 10, 2, 1);call #Ultimate.allocInit(5, 11);call write~init~int#6(100, 11, 0, 1);call write~init~int#6(111, 11, 1, 1);call write~init~int#6(119, 11, 2, 1);call write~init~int#6(110, 11, 3, 1);call write~init~int#6(0, 11, 4, 1);call #Ultimate.allocInit(7, 12);call write~init~int#7(32, 12, 0, 1);call write~init~int#7(73, 12, 1, 1);call write~init~int#7(76, 12, 2, 1);call write~init~int#7(95, 12, 3, 1);call write~init~int#7(112, 12, 4, 1);call write~init~int#7(58, 12, 5, 1);call write~init~int#7(0, 12, 6, 1);call #Ultimate.allocInit(4, 13);call write~init~int#8(32, 13, 0, 1);call write~init~int#8(37, 13, 1, 1);call write~init~int#8(105, 13, 2, 1);call write~init~int#8(0, 13, 3, 1);call #Ultimate.allocInit(4, 14);call write~init~int#9(32, 14, 0, 1);call write~init~int#9(37, 14, 1, 1);call write~init~int#9(105, 14, 2, 1);call write~init~int#9(0, 14, 3, 1);call #Ultimate.allocInit(4, 15);call write~init~int#10(32, 15, 0, 1);call write~init~int#10(37, 15, 1, 1);call write~init~int#10(105, 15, 2, 1);call write~init~int#10(0, 15, 3, 1);call #Ultimate.allocInit(4, 16);call write~init~int#11(32, 16, 0, 1);call write~init~int#11(37, 16, 1, 1);call write~init~int#11(105, 16, 2, 1);call write~init~int#11(0, 16, 3, 1);call #Ultimate.allocInit(4, 17);call write~init~int#12(32, 17, 0, 1);call write~init~int#12(37, 17, 1, 1);call write~init~int#12(105, 17, 2, 1);call write~init~int#12(0, 17, 3, 1);call #Ultimate.allocInit(6, 18);call write~init~int#13(32, 18, 0, 1);call write~init~int#13(70, 18, 1, 1);call write~init~int#13(95, 18, 2, 1);call write~init~int#13(112, 18, 3, 1);call write~init~int#13(58, 18, 4, 1);call write~init~int#13(0, 18, 5, 1);call #Ultimate.allocInit(4, 19);call write~init~int#14(32, 19, 0, 1);call write~init~int#14(37, 19, 1, 1);call write~init~int#14(105, 19, 2, 1);call write~init~int#14(0, 19, 3, 1);call #Ultimate.allocInit(4, 20);call write~init~int#15(32, 20, 0, 1);call write~init~int#15(37, 20, 1, 1);call write~init~int#15(105, 20, 2, 1);call write~init~int#15(0, 20, 3, 1);call #Ultimate.allocInit(4, 21);call write~init~int#16(32, 21, 0, 1);call write~init~int#16(37, 21, 1, 1);call write~init~int#16(105, 21, 2, 1);call write~init~int#16(0, 21, 3, 1);call #Ultimate.allocInit(4, 22);call write~init~int#17(32, 22, 0, 1);call write~init~int#17(37, 22, 1, 1);call write~init~int#17(105, 22, 2, 1);call write~init~int#17(0, 22, 3, 1);call #Ultimate.allocInit(4, 23);call write~init~int#18(32, 23, 0, 1);call write~init~int#18(37, 23, 1, 1);call write~init~int#18(105, 23, 2, 1);call write~init~int#18(0, 23, 3, 1);call #Ultimate.allocInit(2, 24);call write~init~int#19(10, 24, 0, 1);call write~init~int#19(0, 24, 1, 1);call #Ultimate.allocInit(30, 25);call #Ultimate.allocInit(9, 26);call #Ultimate.allocInit(21, 27);call #Ultimate.allocInit(30, 28);call #Ultimate.allocInit(9, 29);call #Ultimate.allocInit(21, 30);call #Ultimate.allocInit(30, 31);call #Ultimate.allocInit(9, 32);call #Ultimate.allocInit(25, 33);call #Ultimate.allocInit(30, 34);call #Ultimate.allocInit(9, 35);call #Ultimate.allocInit(25, 36);~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;~weight~0 := 0;~maximumWeight~0 := 100;~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;~prevDir~0 := 0;~head~0.base, ~head~0.offset := 0, 0; 173034#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret18#1, main_~retValue_acc~9#1, main_~tmp~8#1;havoc main_~retValue_acc~9#1;havoc main_~tmp~8#1;assume { :begin_inline_select_helpers } true; 173035#select_helpers_returnLabel#1 assume { :end_inline_select_helpers } true;assume { :begin_inline_select_features } true; 174854#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~4#1;havoc valid_product_~retValue_acc~4#1;valid_product_~retValue_acc~4#1 := 1;valid_product_#res#1 := valid_product_~retValue_acc~4#1; 167559#valid_product_returnLabel#1 main_#t~ret18#1 := valid_product_#res#1;havoc valid_product_~retValue_acc~4#1;assume { :end_inline_valid_product } true;main_~tmp~8#1 := main_#t~ret18#1;havoc main_#t~ret18#1; 167560#L1217 assume 0 != main_~tmp~8#1;assume { :begin_inline_setup } true; 169155#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~ret7#1, aliceCall_~tmp~1#1;havoc aliceCall_~tmp~1#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 1;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~6#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~6#1; 167868#L801 assume !(0 == getOrigin_~person#1); 167869#L805 assume 1 == getOrigin_~person#1;getOrigin_~retValue_acc~6#1 := 3;getOrigin_#res#1 := getOrigin_~retValue_acc~6#1; 169186#getOrigin_returnLabel#1 aliceCall_#t~ret7#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~6#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;aliceCall_~tmp~1#1 := aliceCall_#t~ret7#1;havoc aliceCall_#t~ret7#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 1, aliceCall_~tmp~1#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 170744#L409 assume !(0 == initPersonOnFloor_~floor#1); 167125#L436 assume !(1 == initPersonOnFloor_~floor#1); 167126#L463 assume !(2 == initPersonOnFloor_~floor#1); 168237#L490 assume 3 == initPersonOnFloor_~floor#1; 168238#L491 assume !(0 == initPersonOnFloor_~person#1); 169961#L494 assume 1 == initPersonOnFloor_~person#1;~personOnFloor_1_3~0 := 1; 166971#L517-1 assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 168244#L201 assume !(0 == callOnFloor_~floorID#1); 170782#L204 assume 1 == callOnFloor_~floorID#1;~calls_1~0 := 1; 168074#L213-2 havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true; 168115#initPersonOnFloor_returnLabel#1 havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true; 168116#aliceCall_returnLabel#1 havoc aliceCall_#t~ret7#1, aliceCall_~tmp~1#1;assume { :end_inline_aliceCall } true;assume { :begin_inline_angelinaCall } true;havoc angelinaCall_#t~ret8#1, angelinaCall_~tmp~2#1;havoc angelinaCall_~tmp~2#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 2;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~6#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~6#1; 167135#L801-1 assume !(0 == getOrigin_~person#1); 167136#L805-1 assume !(1 == getOrigin_~person#1); 171622#L809-1 assume 2 == getOrigin_~person#1;getOrigin_~retValue_acc~6#1 := 2;getOrigin_#res#1 := getOrigin_~retValue_acc~6#1; 167915#getOrigin_returnLabel#2 angelinaCall_#t~ret8#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~6#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;angelinaCall_~tmp~2#1 := angelinaCall_#t~ret8#1;havoc angelinaCall_#t~ret8#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 2, angelinaCall_~tmp~2#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 175141#L409-1 assume 0 == initPersonOnFloor_~floor#1; 174162#L410-2 assume !(0 == initPersonOnFloor_~person#1); 170385#L413-2 assume 1 == initPersonOnFloor_~person#1;~personOnFloor_1_0~0 := 1; 169945#L517-3 assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 175140#L201-2 assume 0 == callOnFloor_~floorID#1;~calls_0~0 := 1; 172482#L213-5 havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true; 171827#initPersonOnFloor_returnLabel#2 havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true; 171828#angelinaCall_returnLabel#1 havoc angelinaCall_#t~ret8#1, angelinaCall_~tmp~2#1;assume { :end_inline_angelinaCall } true;assume { :begin_inline_threeTS } true;assume { :begin_inline_timeShift } true;havoc timeShift_#t~ret60#1, timeShift_#t~ret61#1, timeShift_#t~ret62#1, timeShift_#t~ret63#1, timeShift_#t~ret64#1, timeShift_#t~ret65#1, timeShift_#t~ret66#1, timeShift_#t~ret67#1, timeShift_#t~ret68#1, timeShift_#t~ret69#1, timeShift_#t~ret70#1, timeShift_~tmp~19#1, timeShift_~tmp___0~7#1, timeShift_~tmp___1~4#1, timeShift_~tmp___2~4#1, timeShift_~tmp___3~3#1, timeShift_~tmp___4~2#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~19#1;havoc timeShift_~tmp___0~7#1;havoc timeShift_~tmp___1~4#1;havoc timeShift_~tmp___2~4#1;havoc timeShift_~tmp___3~3#1;havoc timeShift_~tmp___4~2#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~ret103#1;assume { :begin_inline_getCurrentHeading } true;havoc getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~14#1;havoc getCurrentHeading_~retValue_acc~14#1;getCurrentHeading_~retValue_acc~14#1 := ~currentHeading~0;getCurrentHeading_#res#1 := getCurrentHeading_~retValue_acc~14#1; 174678#getCurrentHeading_returnLabel#1 __utac_acc__Specification13_spec__1_#t~ret103#1 := getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~14#1;assume { :end_inline_getCurrentHeading } true;~prevDir~0 := __utac_acc__Specification13_spec__1_#t~ret103#1;havoc __utac_acc__Specification13_spec__1_#t~ret103#1; 172161#__utac_acc__Specification13_spec__1_returnLabel#1 havoc __utac_acc__Specification13_spec__1_#t~ret103#1;assume { :end_inline___utac_acc__Specification13_spec__1 } true;assume { :begin_inline_stopRequestedAtCurrentFloor } true;havoc stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret45#1, stopRequestedAtCurrentFloor_#t~ret46#1, stopRequestedAtCurrentFloor_#t~ret47#1, stopRequestedAtCurrentFloor_~retValue_acc~22#1, stopRequestedAtCurrentFloor_~tmp~17#1, stopRequestedAtCurrentFloor_~tmp___0~5#1, stopRequestedAtCurrentFloor_~__cil_tmp4~1#1, stopRequestedAtCurrentFloor_~__cil_tmp5~0#1;havoc stopRequestedAtCurrentFloor_~retValue_acc~22#1;havoc stopRequestedAtCurrentFloor_~tmp~17#1;havoc stopRequestedAtCurrentFloor_~tmp___0~5#1;havoc stopRequestedAtCurrentFloor_~__cil_tmp4~1#1;havoc stopRequestedAtCurrentFloor_~__cil_tmp5~0#1;stopRequestedAtCurrentFloor_~__cil_tmp4~1#1 := 2 * ~maximumWeight~0;stopRequestedAtCurrentFloor_~__cil_tmp5~0#1 := (if stopRequestedAtCurrentFloor_~__cil_tmp4~1#1 < 0 && 0 != stopRequestedAtCurrentFloor_~__cil_tmp4~1#1 % 3 then 1 + stopRequestedAtCurrentFloor_~__cil_tmp4~1#1 / 3 else stopRequestedAtCurrentFloor_~__cil_tmp4~1#1 / 3); 172162#L2140 assume ~weight~0 > stopRequestedAtCurrentFloor_~__cil_tmp5~0#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~11#1;havoc getCurrentFloorID_~retValue_acc~11#1;getCurrentFloorID_~retValue_acc~11#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~11#1; 171900#getCurrentFloorID_returnLabel#1 stopRequestedAtCurrentFloor_#t~ret45#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~11#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedAtCurrentFloor_~tmp~17#1 := stopRequestedAtCurrentFloor_#t~ret45#1;havoc stopRequestedAtCurrentFloor_#t~ret45#1;assume { :begin_inline_buttonForFloorIsPressed } true;buttonForFloorIsPressed_#in~floorID#1 := stopRequestedAtCurrentFloor_~tmp~17#1;havoc buttonForFloorIsPressed_#res#1;havoc buttonForFloorIsPressed_~floorID#1, buttonForFloorIsPressed_~retValue_acc~13#1;buttonForFloorIsPressed_~floorID#1 := buttonForFloorIsPressed_#in~floorID#1;havoc buttonForFloorIsPressed_~retValue_acc~13#1; 171901#L1476 assume 0 == buttonForFloorIsPressed_~floorID#1;buttonForFloorIsPressed_~retValue_acc~13#1 := ~floorButtons_0~0;buttonForFloorIsPressed_#res#1 := buttonForFloorIsPressed_~retValue_acc~13#1; 169443#buttonForFloorIsPressed_returnLabel#1 stopRequestedAtCurrentFloor_#t~ret46#1 := buttonForFloorIsPressed_#res#1;havoc buttonForFloorIsPressed_~floorID#1, buttonForFloorIsPressed_~retValue_acc~13#1;havoc buttonForFloorIsPressed_#in~floorID#1;assume { :end_inline_buttonForFloorIsPressed } true;stopRequestedAtCurrentFloor_~tmp___0~5#1 := stopRequestedAtCurrentFloor_#t~ret46#1;havoc stopRequestedAtCurrentFloor_#t~ret46#1;stopRequestedAtCurrentFloor_~retValue_acc~22#1 := (if 1 == stopRequestedAtCurrentFloor_~tmp___0~5#1 then 1 else 0);stopRequestedAtCurrentFloor_#res#1 := stopRequestedAtCurrentFloor_~retValue_acc~22#1; 166600#stopRequestedAtCurrentFloor_returnLabel#1 timeShift_#t~ret60#1 := stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret45#1, stopRequestedAtCurrentFloor_#t~ret46#1, stopRequestedAtCurrentFloor_#t~ret47#1, stopRequestedAtCurrentFloor_~retValue_acc~22#1, stopRequestedAtCurrentFloor_~tmp~17#1, stopRequestedAtCurrentFloor_~tmp___0~5#1, stopRequestedAtCurrentFloor_~__cil_tmp4~1#1, stopRequestedAtCurrentFloor_~__cil_tmp5~0#1;assume { :end_inline_stopRequestedAtCurrentFloor } true;timeShift_~tmp___9~2#1 := timeShift_#t~ret60#1;havoc timeShift_#t~ret60#1; 166601#L2290 assume !(0 != timeShift_~tmp___9~2#1); 169146#L2381 assume 1 == ~doorState~0;~doorState~0 := 0; 169147#L2381-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~ret38#1, stopRequestedInDirection_#t~ret39#1, stopRequestedInDirection_#t~ret40#1, stopRequestedInDirection_#t~ret41#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~19#1, stopRequestedInDirection_~overload~0#1, stopRequestedInDirection_~buttonPressed~0#1, stopRequestedInDirection_~tmp~14#1, stopRequestedInDirection_~__cil_tmp8~0#1, stopRequestedInDirection_~__cil_tmp9~0#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~19#1;havoc stopRequestedInDirection_~overload~0#1;havoc stopRequestedInDirection_~buttonPressed~0#1;havoc stopRequestedInDirection_~tmp~14#1;havoc stopRequestedInDirection_~__cil_tmp8~0#1;havoc stopRequestedInDirection_~__cil_tmp9~0#1;stopRequestedInDirection_~__cil_tmp8~0#1 := 2 * ~maximumWeight~0;stopRequestedInDirection_~__cil_tmp9~0#1 := (if stopRequestedInDirection_~__cil_tmp8~0#1 < 0 && 0 != stopRequestedInDirection_~__cil_tmp8~0#1 % 3 then 1 + stopRequestedInDirection_~__cil_tmp8~0#1 / 3 else stopRequestedInDirection_~__cil_tmp8~0#1 / 3);stopRequestedInDirection_~overload~0#1 := (if ~weight~0 > stopRequestedInDirection_~__cil_tmp9~0#1 then 1 else 0);assume { :begin_inline_isAnyLiftButtonPressed } true;havoc isAnyLiftButtonPressed_#res#1;havoc isAnyLiftButtonPressed_~retValue_acc~20#1;havoc isAnyLiftButtonPressed_~retValue_acc~20#1; 173494#L2043 assume 0 != ~floorButtons_0~0;isAnyLiftButtonPressed_~retValue_acc~20#1 := 1;isAnyLiftButtonPressed_#res#1 := isAnyLiftButtonPressed_~retValue_acc~20#1; 168968#isAnyLiftButtonPressed_returnLabel#1 stopRequestedInDirection_#t~ret38#1 := isAnyLiftButtonPressed_#res#1;havoc isAnyLiftButtonPressed_~retValue_acc~20#1;assume { :end_inline_isAnyLiftButtonPressed } true;stopRequestedInDirection_~tmp~14#1 := stopRequestedInDirection_#t~ret38#1;havoc stopRequestedInDirection_#t~ret38#1;stopRequestedInDirection_~buttonPressed~0#1 := stopRequestedInDirection_~tmp~14#1; 171861#L2016 assume !(0 != stopRequestedInDirection_~overload~0#1);assume { :begin_inline_stopRequestedInDirection__wrappee__weight } true;stopRequestedInDirection__wrappee__weight_#in~dir#1, stopRequestedInDirection__wrappee__weight_#in~respectFloorCalls#1, stopRequestedInDirection__wrappee__weight_#in~respectInLiftCalls#1 := stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1;havoc stopRequestedInDirection__wrappee__weight_#res#1;havoc stopRequestedInDirection__wrappee__weight_#t~ret27#1, stopRequestedInDirection__wrappee__weight_#t~ret28#1, stopRequestedInDirection__wrappee__weight_#t~ret29#1, stopRequestedInDirection__wrappee__weight_#t~ret30#1, stopRequestedInDirection__wrappee__weight_#t~ret31#1, stopRequestedInDirection__wrappee__weight_#t~ret32#1, stopRequestedInDirection__wrappee__weight_#t~ret33#1, stopRequestedInDirection__wrappee__weight_#t~ret34#1, stopRequestedInDirection__wrappee__weight_#t~ret35#1, stopRequestedInDirection__wrappee__weight_#t~ret36#1, stopRequestedInDirection__wrappee__weight_#t~ret37#1, stopRequestedInDirection__wrappee__weight_~dir#1, stopRequestedInDirection__wrappee__weight_~respectFloorCalls#1, stopRequestedInDirection__wrappee__weight_~respectInLiftCalls#1, stopRequestedInDirection__wrappee__weight_~retValue_acc~18#1, stopRequestedInDirection__wrappee__weight_~tmp~13#1, stopRequestedInDirection__wrappee__weight_~tmp___0~3#1, stopRequestedInDirection__wrappee__weight_~tmp___1~2#1, stopRequestedInDirection__wrappee__weight_~tmp___2~2#1, stopRequestedInDirection__wrappee__weight_~tmp___3~1#1, stopRequestedInDirection__wrappee__weight_~tmp___4~0#1, stopRequestedInDirection__wrappee__weight_~tmp___5~0#1, stopRequestedInDirection__wrappee__weight_~tmp___6~0#1, stopRequestedInDirection__wrappee__weight_~tmp___7~0#1, stopRequestedInDirection__wrappee__weight_~tmp___8~0#1, stopRequestedInDirection__wrappee__weight_~tmp___9~0#1;stopRequestedInDirection__wrappee__weight_~dir#1 := stopRequestedInDirection__wrappee__weight_#in~dir#1;stopRequestedInDirection__wrappee__weight_~respectFloorCalls#1 := stopRequestedInDirection__wrappee__weight_#in~respectFloorCalls#1;stopRequestedInDirection__wrappee__weight_~respectInLiftCalls#1 := stopRequestedInDirection__wrappee__weight_#in~respectInLiftCalls#1;havoc stopRequestedInDirection__wrappee__weight_~retValue_acc~18#1;havoc stopRequestedInDirection__wrappee__weight_~tmp~13#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___0~3#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___1~2#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___2~2#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___3~1#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___4~0#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___5~0#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___6~0#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___7~0#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___8~0#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___9~0#1; 170230#L1663-2 assume !(1 == stopRequestedInDirection__wrappee__weight_~dir#1); 170231#L1832-2 assume 0 == ~currentFloorID~0;stopRequestedInDirection__wrappee__weight_~retValue_acc~18#1 := 0;stopRequestedInDirection__wrappee__weight_#res#1 := stopRequestedInDirection__wrappee__weight_~retValue_acc~18#1; 167061#stopRequestedInDirection__wrappee__weight_returnLabel#3 stopRequestedInDirection_#t~ret41#1 := stopRequestedInDirection__wrappee__weight_#res#1;havoc stopRequestedInDirection__wrappee__weight_#t~ret27#1, stopRequestedInDirection__wrappee__weight_#t~ret28#1, stopRequestedInDirection__wrappee__weight_#t~ret29#1, stopRequestedInDirection__wrappee__weight_#t~ret30#1, stopRequestedInDirection__wrappee__weight_#t~ret31#1, stopRequestedInDirection__wrappee__weight_#t~ret32#1, stopRequestedInDirection__wrappee__weight_#t~ret33#1, stopRequestedInDirection__wrappee__weight_#t~ret34#1, stopRequestedInDirection__wrappee__weight_#t~ret35#1, stopRequestedInDirection__wrappee__weight_#t~ret36#1, stopRequestedInDirection__wrappee__weight_#t~ret37#1, stopRequestedInDirection__wrappee__weight_~dir#1, stopRequestedInDirection__wrappee__weight_~respectFloorCalls#1, stopRequestedInDirection__wrappee__weight_~respectInLiftCalls#1, stopRequestedInDirection__wrappee__weight_~retValue_acc~18#1, stopRequestedInDirection__wrappee__weight_~tmp~13#1, stopRequestedInDirection__wrappee__weight_~tmp___0~3#1, stopRequestedInDirection__wrappee__weight_~tmp___1~2#1, stopRequestedInDirection__wrappee__weight_~tmp___2~2#1, stopRequestedInDirection__wrappee__weight_~tmp___3~1#1, stopRequestedInDirection__wrappee__weight_~tmp___4~0#1, stopRequestedInDirection__wrappee__weight_~tmp___5~0#1, stopRequestedInDirection__wrappee__weight_~tmp___6~0#1, stopRequestedInDirection__wrappee__weight_~tmp___7~0#1, stopRequestedInDirection__wrappee__weight_~tmp___8~0#1, stopRequestedInDirection__wrappee__weight_~tmp___9~0#1;havoc stopRequestedInDirection__wrappee__weight_#in~dir#1, stopRequestedInDirection__wrappee__weight_#in~respectFloorCalls#1, stopRequestedInDirection__wrappee__weight_#in~respectInLiftCalls#1;assume { :end_inline_stopRequestedInDirection__wrappee__weight } true;stopRequestedInDirection_~retValue_acc~19#1 := stopRequestedInDirection_#t~ret41#1;havoc stopRequestedInDirection_#t~ret41#1;stopRequestedInDirection_#res#1 := stopRequestedInDirection_~retValue_acc~19#1; 167936#stopRequestedInDirection_returnLabel#1 timeShift_#t~ret67#1 := stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret38#1, stopRequestedInDirection_#t~ret39#1, stopRequestedInDirection_#t~ret40#1, stopRequestedInDirection_#t~ret41#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~19#1, stopRequestedInDirection_~overload~0#1, stopRequestedInDirection_~buttonPressed~0#1, stopRequestedInDirection_~tmp~14#1, stopRequestedInDirection_~__cil_tmp8~0#1, stopRequestedInDirection_~__cil_tmp9~0#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~ret67#1;havoc timeShift_#t~ret67#1; 169337#L2389 assume 0 != timeShift_~tmp___8~2#1;assume { :begin_inline_continueInDirection } true;continueInDirection_#in~dir#1 := ~currentHeading~0;havoc continueInDirection_#t~ret42#1, continueInDirection_~dir#1, continueInDirection_~tmp~15#1;continueInDirection_~dir#1 := continueInDirection_#in~dir#1;havoc continueInDirection_~tmp~15#1;~currentHeading~0 := continueInDirection_~dir#1; 174264#L2078 assume !(1 == ~currentHeading~0); 174544#L2088 assume !(0 == ~currentFloorID~0); 173123#L2088-2 assume 1 == ~currentHeading~0;~currentFloorID~0 := 1 + ~currentFloorID~0; 168190#L2094-1 havoc continueInDirection_#t~ret42#1, continueInDirection_~dir#1, continueInDirection_~tmp~15#1;havoc continueInDirection_#in~dir#1;assume { :end_inline_continueInDirection } true; 166560#L2398-2 assume { :begin_inline___utac_acc__Specification13_spec__2 } true;havoc __utac_acc__Specification13_spec__2_#t~ret104#1, __utac_acc__Specification13_spec__2_#t~ret105#1, __utac_acc__Specification13_spec__2_#t~ret106#1, __utac_acc__Specification13_spec__2_#t~ret107#1, __utac_acc__Specification13_spec__2_#t~ret108#1, __utac_acc__Specification13_spec__2_#t~ret109#1, __utac_acc__Specification13_spec__2_~tmp~23#1, __utac_acc__Specification13_spec__2_~tmp___0~11#1, __utac_acc__Specification13_spec__2_~tmp___1~8#1, __utac_acc__Specification13_spec__2_~tmp___2~6#1, __utac_acc__Specification13_spec__2_~tmp___3~5#1, __utac_acc__Specification13_spec__2_~tmp___4~3#1, __utac_acc__Specification13_spec__2_~__cil_tmp7~1#1, __utac_acc__Specification13_spec__2_~__cil_tmp8~2#1;havoc __utac_acc__Specification13_spec__2_~tmp~23#1;havoc __utac_acc__Specification13_spec__2_~tmp___0~11#1;havoc __utac_acc__Specification13_spec__2_~tmp___1~8#1;havoc __utac_acc__Specification13_spec__2_~tmp___2~6#1;havoc __utac_acc__Specification13_spec__2_~tmp___3~5#1;havoc __utac_acc__Specification13_spec__2_~tmp___4~3#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp7~1#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp8~2#1;__utac_acc__Specification13_spec__2_~__cil_tmp7~1#1 := 2 * ~maximumWeight~0;__utac_acc__Specification13_spec__2_~__cil_tmp8~2#1 := (if __utac_acc__Specification13_spec__2_~__cil_tmp7~1#1 < 0 && 0 != __utac_acc__Specification13_spec__2_~__cil_tmp7~1#1 % 3 then 1 + __utac_acc__Specification13_spec__2_~__cil_tmp7~1#1 / 3 else __utac_acc__Specification13_spec__2_~__cil_tmp7~1#1 / 3); 166561#L2887 assume ~weight~0 > __utac_acc__Specification13_spec__2_~__cil_tmp8~2#1; 170878#L2888 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~24#1, existInLiftCallsInDirection_~i~1#1, existInLiftCallsInDirection_~i___0~0#1;existInLiftCallsInDirection_~d#1 := existInLiftCallsInDirection_#in~d#1;havoc existInLiftCallsInDirection_~retValue_acc~24#1;havoc existInLiftCallsInDirection_~i~1#1;havoc existInLiftCallsInDirection_~i___0~0#1; 167132#L2593 assume !(1 == existInLiftCallsInDirection_~d#1); 167133#L2659 assume 0 == existInLiftCallsInDirection_~d#1;existInLiftCallsInDirection_~i___0~0#1 := 0;existInLiftCallsInDirection_~i___0~0#1 := ~currentFloorID~0 - 1; 172738#L2663-2 [2024-10-12 00:47:25,409 INFO L747 eck$LassoCheckResult]: Loop: 172738#L2663-2 assume !false; 169858#L2664 assume existInLiftCallsInDirection_~i___0~0#1 >= 0; 169859#L2665 existInLiftCallsInDirection_~i___0~0#1 := 1 + ~currentFloorID~0; 167548#L2672-2 assume !false; 167549#L2673 assume !(existInLiftCallsInDirection_~i___0~0#1 < 5); 172540#L2731 existInLiftCallsInDirection_~i___0~0#1 := existInLiftCallsInDirection_~i___0~0#1 - 1; 172738#L2663-2 [2024-10-12 00:47:25,409 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-12 00:47:25,409 INFO L85 PathProgramCache]: Analyzing trace with hash 1914103157, now seen corresponding path program 1 times [2024-10-12 00:47:25,410 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-12 00:47:25,410 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [331210352] [2024-10-12 00:47:25,410 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-12 00:47:25,410 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-12 00:47:25,432 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-12 00:47:25,497 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,498 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-10-12 00:47:25,498 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [331210352] [2024-10-12 00:47:25,498 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [331210352] provided 1 perfect and 0 imperfect interpolant sequences [2024-10-12 00:47:25,498 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-10-12 00:47:25,498 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2024-10-12 00:47:25,498 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1551592893] [2024-10-12 00:47:25,499 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-10-12 00:47:25,499 INFO L750 eck$LassoCheckResult]: stem already infeasible [2024-10-12 00:47:25,499 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-12 00:47:25,499 INFO L85 PathProgramCache]: Analyzing trace with hash 964799947, now seen corresponding path program 4 times [2024-10-12 00:47:25,500 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-12 00:47:25,500 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [794461765] [2024-10-12 00:47:25,500 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-12 00:47:25,500 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-12 00:47:25,508 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-12 00:47:25,509 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-10-12 00:47:25,510 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-12 00:47:25,517 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-10-12 00:47:25,539 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-10-12 00:47:25,540 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2024-10-12 00:47:25,540 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2024-10-12 00:47:25,540 INFO L87 Difference]: Start difference. First operand 9188 states and 17141 transitions. cyclomatic complexity: 7988 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:25,900 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-10-12 00:47:25,901 INFO L93 Difference]: Finished difference Result 9194 states and 17146 transitions. [2024-10-12 00:47:25,901 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 9194 states and 17146 transitions. [2024-10-12 00:47:25,943 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 2326 [2024-10-12 00:47:25,977 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 9194 states to 9194 states and 17146 transitions. [2024-10-12 00:47:25,978 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 9156 [2024-10-12 00:47:25,985 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 9156 [2024-10-12 00:47:25,986 INFO L73 IsDeterministic]: Start isDeterministic. Operand 9194 states and 17146 transitions. [2024-10-12 00:47:25,994 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-10-12 00:47:25,994 INFO L218 hiAutomatonCegarLoop]: Abstraction has 9194 states and 17146 transitions. [2024-10-12 00:47:26,006 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 9194 states and 17146 transitions. [2024-10-12 00:47:26,102 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 9194 to 9194. [2024-10-12 00:47:26,121 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9194 states, 9194 states have (on average 1.8649118990646074) internal successors, (17146), 9193 states have internal predecessors, (17146), 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,146 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9194 states to 9194 states and 17146 transitions. [2024-10-12 00:47:26,147 INFO L240 hiAutomatonCegarLoop]: Abstraction has 9194 states and 17146 transitions. [2024-10-12 00:47:26,147 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2024-10-12 00:47:26,150 INFO L425 stractBuchiCegarLoop]: Abstraction has 9194 states and 17146 transitions. [2024-10-12 00:47:26,151 INFO L332 stractBuchiCegarLoop]: ======== Iteration 7 ============ [2024-10-12 00:47:26,151 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 9194 states and 17146 transitions. [2024-10-12 00:47:26,183 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 2326 [2024-10-12 00:47:26,183 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-10-12 00:47:26,183 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-10-12 00:47:26,185 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:26,185 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1] [2024-10-12 00:47:26,186 INFO L745 eck$LassoCheckResult]: Stem: 191687#$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(10, 4);call #Ultimate.allocInit(4, 5);call write~init~int#1(91, 5, 0, 1);call write~init~int#1(95, 5, 1, 1);call write~init~int#1(93, 5, 2, 1);call write~init~int#1(0, 5, 3, 1);call #Ultimate.allocInit(4, 6);call write~init~int#2(91, 6, 0, 1);call write~init~int#2(93, 6, 1, 1);call write~init~int#2(32, 6, 2, 1);call write~init~int#2(0, 6, 3, 1);call #Ultimate.allocInit(5, 7);call write~init~int#3(32, 7, 0, 1);call write~init~int#3(97, 7, 1, 1);call write~init~int#3(116, 7, 2, 1);call write~init~int#3(32, 7, 3, 1);call write~init~int#3(0, 7, 4, 1);call #Ultimate.allocInit(3, 8);call write~init~int#4(37, 8, 0, 1);call write~init~int#4(105, 8, 1, 1);call write~init~int#4(0, 8, 2, 1);call #Ultimate.allocInit(10, 9);call #Ultimate.allocInit(3, 10);call write~init~int#5(117, 10, 0, 1);call write~init~int#5(112, 10, 1, 1);call write~init~int#5(0, 10, 2, 1);call #Ultimate.allocInit(5, 11);call write~init~int#6(100, 11, 0, 1);call write~init~int#6(111, 11, 1, 1);call write~init~int#6(119, 11, 2, 1);call write~init~int#6(110, 11, 3, 1);call write~init~int#6(0, 11, 4, 1);call #Ultimate.allocInit(7, 12);call write~init~int#7(32, 12, 0, 1);call write~init~int#7(73, 12, 1, 1);call write~init~int#7(76, 12, 2, 1);call write~init~int#7(95, 12, 3, 1);call write~init~int#7(112, 12, 4, 1);call write~init~int#7(58, 12, 5, 1);call write~init~int#7(0, 12, 6, 1);call #Ultimate.allocInit(4, 13);call write~init~int#8(32, 13, 0, 1);call write~init~int#8(37, 13, 1, 1);call write~init~int#8(105, 13, 2, 1);call write~init~int#8(0, 13, 3, 1);call #Ultimate.allocInit(4, 14);call write~init~int#9(32, 14, 0, 1);call write~init~int#9(37, 14, 1, 1);call write~init~int#9(105, 14, 2, 1);call write~init~int#9(0, 14, 3, 1);call #Ultimate.allocInit(4, 15);call write~init~int#10(32, 15, 0, 1);call write~init~int#10(37, 15, 1, 1);call write~init~int#10(105, 15, 2, 1);call write~init~int#10(0, 15, 3, 1);call #Ultimate.allocInit(4, 16);call write~init~int#11(32, 16, 0, 1);call write~init~int#11(37, 16, 1, 1);call write~init~int#11(105, 16, 2, 1);call write~init~int#11(0, 16, 3, 1);call #Ultimate.allocInit(4, 17);call write~init~int#12(32, 17, 0, 1);call write~init~int#12(37, 17, 1, 1);call write~init~int#12(105, 17, 2, 1);call write~init~int#12(0, 17, 3, 1);call #Ultimate.allocInit(6, 18);call write~init~int#13(32, 18, 0, 1);call write~init~int#13(70, 18, 1, 1);call write~init~int#13(95, 18, 2, 1);call write~init~int#13(112, 18, 3, 1);call write~init~int#13(58, 18, 4, 1);call write~init~int#13(0, 18, 5, 1);call #Ultimate.allocInit(4, 19);call write~init~int#14(32, 19, 0, 1);call write~init~int#14(37, 19, 1, 1);call write~init~int#14(105, 19, 2, 1);call write~init~int#14(0, 19, 3, 1);call #Ultimate.allocInit(4, 20);call write~init~int#15(32, 20, 0, 1);call write~init~int#15(37, 20, 1, 1);call write~init~int#15(105, 20, 2, 1);call write~init~int#15(0, 20, 3, 1);call #Ultimate.allocInit(4, 21);call write~init~int#16(32, 21, 0, 1);call write~init~int#16(37, 21, 1, 1);call write~init~int#16(105, 21, 2, 1);call write~init~int#16(0, 21, 3, 1);call #Ultimate.allocInit(4, 22);call write~init~int#17(32, 22, 0, 1);call write~init~int#17(37, 22, 1, 1);call write~init~int#17(105, 22, 2, 1);call write~init~int#17(0, 22, 3, 1);call #Ultimate.allocInit(4, 23);call write~init~int#18(32, 23, 0, 1);call write~init~int#18(37, 23, 1, 1);call write~init~int#18(105, 23, 2, 1);call write~init~int#18(0, 23, 3, 1);call #Ultimate.allocInit(2, 24);call write~init~int#19(10, 24, 0, 1);call write~init~int#19(0, 24, 1, 1);call #Ultimate.allocInit(30, 25);call #Ultimate.allocInit(9, 26);call #Ultimate.allocInit(21, 27);call #Ultimate.allocInit(30, 28);call #Ultimate.allocInit(9, 29);call #Ultimate.allocInit(21, 30);call #Ultimate.allocInit(30, 31);call #Ultimate.allocInit(9, 32);call #Ultimate.allocInit(25, 33);call #Ultimate.allocInit(30, 34);call #Ultimate.allocInit(9, 35);call #Ultimate.allocInit(25, 36);~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;~weight~0 := 0;~maximumWeight~0 := 100;~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;~prevDir~0 := 0;~head~0.base, ~head~0.offset := 0, 0; 191425#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret18#1, main_~retValue_acc~9#1, main_~tmp~8#1;havoc main_~retValue_acc~9#1;havoc main_~tmp~8#1;assume { :begin_inline_select_helpers } true; 191426#select_helpers_returnLabel#1 assume { :end_inline_select_helpers } true;assume { :begin_inline_select_features } true; 193245#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~4#1;havoc valid_product_~retValue_acc~4#1;valid_product_~retValue_acc~4#1 := 1;valid_product_#res#1 := valid_product_~retValue_acc~4#1; 185949#valid_product_returnLabel#1 main_#t~ret18#1 := valid_product_#res#1;havoc valid_product_~retValue_acc~4#1;assume { :end_inline_valid_product } true;main_~tmp~8#1 := main_#t~ret18#1;havoc main_#t~ret18#1; 185950#L1217 assume 0 != main_~tmp~8#1;assume { :begin_inline_setup } true; 187545#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~ret7#1, aliceCall_~tmp~1#1;havoc aliceCall_~tmp~1#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 1;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~6#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~6#1; 186258#L801 assume !(0 == getOrigin_~person#1); 186259#L805 assume 1 == getOrigin_~person#1;getOrigin_~retValue_acc~6#1 := 3;getOrigin_#res#1 := getOrigin_~retValue_acc~6#1; 187576#getOrigin_returnLabel#1 aliceCall_#t~ret7#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~6#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;aliceCall_~tmp~1#1 := aliceCall_#t~ret7#1;havoc aliceCall_#t~ret7#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 1, aliceCall_~tmp~1#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 189135#L409 assume !(0 == initPersonOnFloor_~floor#1); 185515#L436 assume !(1 == initPersonOnFloor_~floor#1); 185516#L463 assume !(2 == initPersonOnFloor_~floor#1); 186627#L490 assume 3 == initPersonOnFloor_~floor#1; 186628#L491 assume !(0 == initPersonOnFloor_~person#1); 188352#L494 assume 1 == initPersonOnFloor_~person#1;~personOnFloor_1_3~0 := 1; 185361#L517-1 assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 186634#L201 assume !(0 == callOnFloor_~floorID#1); 189173#L204 assume !(1 == callOnFloor_~floorID#1); 186463#L207 assume 2 == callOnFloor_~floorID#1;~calls_2~0 := 1; 186464#L213-2 havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true; 186505#initPersonOnFloor_returnLabel#1 havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true; 186506#aliceCall_returnLabel#1 havoc aliceCall_#t~ret7#1, aliceCall_~tmp~1#1;assume { :end_inline_aliceCall } true;assume { :begin_inline_angelinaCall } true;havoc angelinaCall_#t~ret8#1, angelinaCall_~tmp~2#1;havoc angelinaCall_~tmp~2#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 2;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~6#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~6#1; 185525#L801-1 assume !(0 == getOrigin_~person#1); 185526#L805-1 assume !(1 == getOrigin_~person#1); 190013#L809-1 assume 2 == getOrigin_~person#1;getOrigin_~retValue_acc~6#1 := 2;getOrigin_#res#1 := getOrigin_~retValue_acc~6#1; 186305#getOrigin_returnLabel#2 angelinaCall_#t~ret8#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~6#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;angelinaCall_~tmp~2#1 := angelinaCall_#t~ret8#1;havoc angelinaCall_#t~ret8#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 2, angelinaCall_~tmp~2#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 193534#L409-1 assume 0 == initPersonOnFloor_~floor#1; 192553#L410-2 assume !(0 == initPersonOnFloor_~person#1); 188777#L413-2 assume 1 == initPersonOnFloor_~person#1;~personOnFloor_1_0~0 := 1; 188336#L517-3 assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 193532#L201-2 assume 0 == callOnFloor_~floorID#1;~calls_0~0 := 1; 190873#L213-5 havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true; 190218#initPersonOnFloor_returnLabel#2 havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true; 190219#angelinaCall_returnLabel#1 havoc angelinaCall_#t~ret8#1, angelinaCall_~tmp~2#1;assume { :end_inline_angelinaCall } true;assume { :begin_inline_threeTS } true;assume { :begin_inline_timeShift } true;havoc timeShift_#t~ret60#1, timeShift_#t~ret61#1, timeShift_#t~ret62#1, timeShift_#t~ret63#1, timeShift_#t~ret64#1, timeShift_#t~ret65#1, timeShift_#t~ret66#1, timeShift_#t~ret67#1, timeShift_#t~ret68#1, timeShift_#t~ret69#1, timeShift_#t~ret70#1, timeShift_~tmp~19#1, timeShift_~tmp___0~7#1, timeShift_~tmp___1~4#1, timeShift_~tmp___2~4#1, timeShift_~tmp___3~3#1, timeShift_~tmp___4~2#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~19#1;havoc timeShift_~tmp___0~7#1;havoc timeShift_~tmp___1~4#1;havoc timeShift_~tmp___2~4#1;havoc timeShift_~tmp___3~3#1;havoc timeShift_~tmp___4~2#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~ret103#1;assume { :begin_inline_getCurrentHeading } true;havoc getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~14#1;havoc getCurrentHeading_~retValue_acc~14#1;getCurrentHeading_~retValue_acc~14#1 := ~currentHeading~0;getCurrentHeading_#res#1 := getCurrentHeading_~retValue_acc~14#1; 193069#getCurrentHeading_returnLabel#1 __utac_acc__Specification13_spec__1_#t~ret103#1 := getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~14#1;assume { :end_inline_getCurrentHeading } true;~prevDir~0 := __utac_acc__Specification13_spec__1_#t~ret103#1;havoc __utac_acc__Specification13_spec__1_#t~ret103#1; 190552#__utac_acc__Specification13_spec__1_returnLabel#1 havoc __utac_acc__Specification13_spec__1_#t~ret103#1;assume { :end_inline___utac_acc__Specification13_spec__1 } true;assume { :begin_inline_stopRequestedAtCurrentFloor } true;havoc stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret45#1, stopRequestedAtCurrentFloor_#t~ret46#1, stopRequestedAtCurrentFloor_#t~ret47#1, stopRequestedAtCurrentFloor_~retValue_acc~22#1, stopRequestedAtCurrentFloor_~tmp~17#1, stopRequestedAtCurrentFloor_~tmp___0~5#1, stopRequestedAtCurrentFloor_~__cil_tmp4~1#1, stopRequestedAtCurrentFloor_~__cil_tmp5~0#1;havoc stopRequestedAtCurrentFloor_~retValue_acc~22#1;havoc stopRequestedAtCurrentFloor_~tmp~17#1;havoc stopRequestedAtCurrentFloor_~tmp___0~5#1;havoc stopRequestedAtCurrentFloor_~__cil_tmp4~1#1;havoc stopRequestedAtCurrentFloor_~__cil_tmp5~0#1;stopRequestedAtCurrentFloor_~__cil_tmp4~1#1 := 2 * ~maximumWeight~0;stopRequestedAtCurrentFloor_~__cil_tmp5~0#1 := (if stopRequestedAtCurrentFloor_~__cil_tmp4~1#1 < 0 && 0 != stopRequestedAtCurrentFloor_~__cil_tmp4~1#1 % 3 then 1 + stopRequestedAtCurrentFloor_~__cil_tmp4~1#1 / 3 else stopRequestedAtCurrentFloor_~__cil_tmp4~1#1 / 3); 190553#L2140 assume ~weight~0 > stopRequestedAtCurrentFloor_~__cil_tmp5~0#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~11#1;havoc getCurrentFloorID_~retValue_acc~11#1;getCurrentFloorID_~retValue_acc~11#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~11#1; 190291#getCurrentFloorID_returnLabel#1 stopRequestedAtCurrentFloor_#t~ret45#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~11#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedAtCurrentFloor_~tmp~17#1 := stopRequestedAtCurrentFloor_#t~ret45#1;havoc stopRequestedAtCurrentFloor_#t~ret45#1;assume { :begin_inline_buttonForFloorIsPressed } true;buttonForFloorIsPressed_#in~floorID#1 := stopRequestedAtCurrentFloor_~tmp~17#1;havoc buttonForFloorIsPressed_#res#1;havoc buttonForFloorIsPressed_~floorID#1, buttonForFloorIsPressed_~retValue_acc~13#1;buttonForFloorIsPressed_~floorID#1 := buttonForFloorIsPressed_#in~floorID#1;havoc buttonForFloorIsPressed_~retValue_acc~13#1; 190292#L1476 assume 0 == buttonForFloorIsPressed_~floorID#1;buttonForFloorIsPressed_~retValue_acc~13#1 := ~floorButtons_0~0;buttonForFloorIsPressed_#res#1 := buttonForFloorIsPressed_~retValue_acc~13#1; 187833#buttonForFloorIsPressed_returnLabel#1 stopRequestedAtCurrentFloor_#t~ret46#1 := buttonForFloorIsPressed_#res#1;havoc buttonForFloorIsPressed_~floorID#1, buttonForFloorIsPressed_~retValue_acc~13#1;havoc buttonForFloorIsPressed_#in~floorID#1;assume { :end_inline_buttonForFloorIsPressed } true;stopRequestedAtCurrentFloor_~tmp___0~5#1 := stopRequestedAtCurrentFloor_#t~ret46#1;havoc stopRequestedAtCurrentFloor_#t~ret46#1;stopRequestedAtCurrentFloor_~retValue_acc~22#1 := (if 1 == stopRequestedAtCurrentFloor_~tmp___0~5#1 then 1 else 0);stopRequestedAtCurrentFloor_#res#1 := stopRequestedAtCurrentFloor_~retValue_acc~22#1; 184992#stopRequestedAtCurrentFloor_returnLabel#1 timeShift_#t~ret60#1 := stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret45#1, stopRequestedAtCurrentFloor_#t~ret46#1, stopRequestedAtCurrentFloor_#t~ret47#1, stopRequestedAtCurrentFloor_~retValue_acc~22#1, stopRequestedAtCurrentFloor_~tmp~17#1, stopRequestedAtCurrentFloor_~tmp___0~5#1, stopRequestedAtCurrentFloor_~__cil_tmp4~1#1, stopRequestedAtCurrentFloor_~__cil_tmp5~0#1;assume { :end_inline_stopRequestedAtCurrentFloor } true;timeShift_~tmp___9~2#1 := timeShift_#t~ret60#1;havoc timeShift_#t~ret60#1; 184993#L2290 assume !(0 != timeShift_~tmp___9~2#1); 187536#L2381 assume 1 == ~doorState~0;~doorState~0 := 0; 187537#L2381-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~ret38#1, stopRequestedInDirection_#t~ret39#1, stopRequestedInDirection_#t~ret40#1, stopRequestedInDirection_#t~ret41#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~19#1, stopRequestedInDirection_~overload~0#1, stopRequestedInDirection_~buttonPressed~0#1, stopRequestedInDirection_~tmp~14#1, stopRequestedInDirection_~__cil_tmp8~0#1, stopRequestedInDirection_~__cil_tmp9~0#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~19#1;havoc stopRequestedInDirection_~overload~0#1;havoc stopRequestedInDirection_~buttonPressed~0#1;havoc stopRequestedInDirection_~tmp~14#1;havoc stopRequestedInDirection_~__cil_tmp8~0#1;havoc stopRequestedInDirection_~__cil_tmp9~0#1;stopRequestedInDirection_~__cil_tmp8~0#1 := 2 * ~maximumWeight~0;stopRequestedInDirection_~__cil_tmp9~0#1 := (if stopRequestedInDirection_~__cil_tmp8~0#1 < 0 && 0 != stopRequestedInDirection_~__cil_tmp8~0#1 % 3 then 1 + stopRequestedInDirection_~__cil_tmp8~0#1 / 3 else stopRequestedInDirection_~__cil_tmp8~0#1 / 3);stopRequestedInDirection_~overload~0#1 := (if ~weight~0 > stopRequestedInDirection_~__cil_tmp9~0#1 then 1 else 0);assume { :begin_inline_isAnyLiftButtonPressed } true;havoc isAnyLiftButtonPressed_#res#1;havoc isAnyLiftButtonPressed_~retValue_acc~20#1;havoc isAnyLiftButtonPressed_~retValue_acc~20#1; 191885#L2043 assume 0 != ~floorButtons_0~0;isAnyLiftButtonPressed_~retValue_acc~20#1 := 1;isAnyLiftButtonPressed_#res#1 := isAnyLiftButtonPressed_~retValue_acc~20#1; 187358#isAnyLiftButtonPressed_returnLabel#1 stopRequestedInDirection_#t~ret38#1 := isAnyLiftButtonPressed_#res#1;havoc isAnyLiftButtonPressed_~retValue_acc~20#1;assume { :end_inline_isAnyLiftButtonPressed } true;stopRequestedInDirection_~tmp~14#1 := stopRequestedInDirection_#t~ret38#1;havoc stopRequestedInDirection_#t~ret38#1;stopRequestedInDirection_~buttonPressed~0#1 := stopRequestedInDirection_~tmp~14#1; 190252#L2016 assume !(0 != stopRequestedInDirection_~overload~0#1);assume { :begin_inline_stopRequestedInDirection__wrappee__weight } true;stopRequestedInDirection__wrappee__weight_#in~dir#1, stopRequestedInDirection__wrappee__weight_#in~respectFloorCalls#1, stopRequestedInDirection__wrappee__weight_#in~respectInLiftCalls#1 := stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1;havoc stopRequestedInDirection__wrappee__weight_#res#1;havoc stopRequestedInDirection__wrappee__weight_#t~ret27#1, stopRequestedInDirection__wrappee__weight_#t~ret28#1, stopRequestedInDirection__wrappee__weight_#t~ret29#1, stopRequestedInDirection__wrappee__weight_#t~ret30#1, stopRequestedInDirection__wrappee__weight_#t~ret31#1, stopRequestedInDirection__wrappee__weight_#t~ret32#1, stopRequestedInDirection__wrappee__weight_#t~ret33#1, stopRequestedInDirection__wrappee__weight_#t~ret34#1, stopRequestedInDirection__wrappee__weight_#t~ret35#1, stopRequestedInDirection__wrappee__weight_#t~ret36#1, stopRequestedInDirection__wrappee__weight_#t~ret37#1, stopRequestedInDirection__wrappee__weight_~dir#1, stopRequestedInDirection__wrappee__weight_~respectFloorCalls#1, stopRequestedInDirection__wrappee__weight_~respectInLiftCalls#1, stopRequestedInDirection__wrappee__weight_~retValue_acc~18#1, stopRequestedInDirection__wrappee__weight_~tmp~13#1, stopRequestedInDirection__wrappee__weight_~tmp___0~3#1, stopRequestedInDirection__wrappee__weight_~tmp___1~2#1, stopRequestedInDirection__wrappee__weight_~tmp___2~2#1, stopRequestedInDirection__wrappee__weight_~tmp___3~1#1, stopRequestedInDirection__wrappee__weight_~tmp___4~0#1, stopRequestedInDirection__wrappee__weight_~tmp___5~0#1, stopRequestedInDirection__wrappee__weight_~tmp___6~0#1, stopRequestedInDirection__wrappee__weight_~tmp___7~0#1, stopRequestedInDirection__wrappee__weight_~tmp___8~0#1, stopRequestedInDirection__wrappee__weight_~tmp___9~0#1;stopRequestedInDirection__wrappee__weight_~dir#1 := stopRequestedInDirection__wrappee__weight_#in~dir#1;stopRequestedInDirection__wrappee__weight_~respectFloorCalls#1 := stopRequestedInDirection__wrappee__weight_#in~respectFloorCalls#1;stopRequestedInDirection__wrappee__weight_~respectInLiftCalls#1 := stopRequestedInDirection__wrappee__weight_#in~respectInLiftCalls#1;havoc stopRequestedInDirection__wrappee__weight_~retValue_acc~18#1;havoc stopRequestedInDirection__wrappee__weight_~tmp~13#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___0~3#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___1~2#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___2~2#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___3~1#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___4~0#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___5~0#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___6~0#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___7~0#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___8~0#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___9~0#1; 188621#L1663-2 assume !(1 == stopRequestedInDirection__wrappee__weight_~dir#1); 188622#L1832-2 assume 0 == ~currentFloorID~0;stopRequestedInDirection__wrappee__weight_~retValue_acc~18#1 := 0;stopRequestedInDirection__wrappee__weight_#res#1 := stopRequestedInDirection__wrappee__weight_~retValue_acc~18#1; 185454#stopRequestedInDirection__wrappee__weight_returnLabel#3 stopRequestedInDirection_#t~ret41#1 := stopRequestedInDirection__wrappee__weight_#res#1;havoc stopRequestedInDirection__wrappee__weight_#t~ret27#1, stopRequestedInDirection__wrappee__weight_#t~ret28#1, stopRequestedInDirection__wrappee__weight_#t~ret29#1, stopRequestedInDirection__wrappee__weight_#t~ret30#1, stopRequestedInDirection__wrappee__weight_#t~ret31#1, stopRequestedInDirection__wrappee__weight_#t~ret32#1, stopRequestedInDirection__wrappee__weight_#t~ret33#1, stopRequestedInDirection__wrappee__weight_#t~ret34#1, stopRequestedInDirection__wrappee__weight_#t~ret35#1, stopRequestedInDirection__wrappee__weight_#t~ret36#1, stopRequestedInDirection__wrappee__weight_#t~ret37#1, stopRequestedInDirection__wrappee__weight_~dir#1, stopRequestedInDirection__wrappee__weight_~respectFloorCalls#1, stopRequestedInDirection__wrappee__weight_~respectInLiftCalls#1, stopRequestedInDirection__wrappee__weight_~retValue_acc~18#1, stopRequestedInDirection__wrappee__weight_~tmp~13#1, stopRequestedInDirection__wrappee__weight_~tmp___0~3#1, stopRequestedInDirection__wrappee__weight_~tmp___1~2#1, stopRequestedInDirection__wrappee__weight_~tmp___2~2#1, stopRequestedInDirection__wrappee__weight_~tmp___3~1#1, stopRequestedInDirection__wrappee__weight_~tmp___4~0#1, stopRequestedInDirection__wrappee__weight_~tmp___5~0#1, stopRequestedInDirection__wrappee__weight_~tmp___6~0#1, stopRequestedInDirection__wrappee__weight_~tmp___7~0#1, stopRequestedInDirection__wrappee__weight_~tmp___8~0#1, stopRequestedInDirection__wrappee__weight_~tmp___9~0#1;havoc stopRequestedInDirection__wrappee__weight_#in~dir#1, stopRequestedInDirection__wrappee__weight_#in~respectFloorCalls#1, stopRequestedInDirection__wrappee__weight_#in~respectInLiftCalls#1;assume { :end_inline_stopRequestedInDirection__wrappee__weight } true;stopRequestedInDirection_~retValue_acc~19#1 := stopRequestedInDirection_#t~ret41#1;havoc stopRequestedInDirection_#t~ret41#1;stopRequestedInDirection_#res#1 := stopRequestedInDirection_~retValue_acc~19#1; 186326#stopRequestedInDirection_returnLabel#1 timeShift_#t~ret67#1 := stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret38#1, stopRequestedInDirection_#t~ret39#1, stopRequestedInDirection_#t~ret40#1, stopRequestedInDirection_#t~ret41#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~19#1, stopRequestedInDirection_~overload~0#1, stopRequestedInDirection_~buttonPressed~0#1, stopRequestedInDirection_~tmp~14#1, stopRequestedInDirection_~__cil_tmp8~0#1, stopRequestedInDirection_~__cil_tmp9~0#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~ret67#1;havoc timeShift_#t~ret67#1; 187727#L2389 assume 0 != timeShift_~tmp___8~2#1;assume { :begin_inline_continueInDirection } true;continueInDirection_#in~dir#1 := ~currentHeading~0;havoc continueInDirection_#t~ret42#1, continueInDirection_~dir#1, continueInDirection_~tmp~15#1;continueInDirection_~dir#1 := continueInDirection_#in~dir#1;havoc continueInDirection_~tmp~15#1;~currentHeading~0 := continueInDirection_~dir#1; 192655#L2078 assume !(1 == ~currentHeading~0); 192935#L2088 assume !(0 == ~currentFloorID~0); 191514#L2088-2 assume 1 == ~currentHeading~0;~currentFloorID~0 := 1 + ~currentFloorID~0; 186580#L2094-1 havoc continueInDirection_#t~ret42#1, continueInDirection_~dir#1, continueInDirection_~tmp~15#1;havoc continueInDirection_#in~dir#1;assume { :end_inline_continueInDirection } true; 184950#L2398-2 assume { :begin_inline___utac_acc__Specification13_spec__2 } true;havoc __utac_acc__Specification13_spec__2_#t~ret104#1, __utac_acc__Specification13_spec__2_#t~ret105#1, __utac_acc__Specification13_spec__2_#t~ret106#1, __utac_acc__Specification13_spec__2_#t~ret107#1, __utac_acc__Specification13_spec__2_#t~ret108#1, __utac_acc__Specification13_spec__2_#t~ret109#1, __utac_acc__Specification13_spec__2_~tmp~23#1, __utac_acc__Specification13_spec__2_~tmp___0~11#1, __utac_acc__Specification13_spec__2_~tmp___1~8#1, __utac_acc__Specification13_spec__2_~tmp___2~6#1, __utac_acc__Specification13_spec__2_~tmp___3~5#1, __utac_acc__Specification13_spec__2_~tmp___4~3#1, __utac_acc__Specification13_spec__2_~__cil_tmp7~1#1, __utac_acc__Specification13_spec__2_~__cil_tmp8~2#1;havoc __utac_acc__Specification13_spec__2_~tmp~23#1;havoc __utac_acc__Specification13_spec__2_~tmp___0~11#1;havoc __utac_acc__Specification13_spec__2_~tmp___1~8#1;havoc __utac_acc__Specification13_spec__2_~tmp___2~6#1;havoc __utac_acc__Specification13_spec__2_~tmp___3~5#1;havoc __utac_acc__Specification13_spec__2_~tmp___4~3#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp7~1#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp8~2#1;__utac_acc__Specification13_spec__2_~__cil_tmp7~1#1 := 2 * ~maximumWeight~0;__utac_acc__Specification13_spec__2_~__cil_tmp8~2#1 := (if __utac_acc__Specification13_spec__2_~__cil_tmp7~1#1 < 0 && 0 != __utac_acc__Specification13_spec__2_~__cil_tmp7~1#1 % 3 then 1 + __utac_acc__Specification13_spec__2_~__cil_tmp7~1#1 / 3 else __utac_acc__Specification13_spec__2_~__cil_tmp7~1#1 / 3); 184951#L2887 assume ~weight~0 > __utac_acc__Specification13_spec__2_~__cil_tmp8~2#1; 189269#L2888 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~24#1, existInLiftCallsInDirection_~i~1#1, existInLiftCallsInDirection_~i___0~0#1;existInLiftCallsInDirection_~d#1 := existInLiftCallsInDirection_#in~d#1;havoc existInLiftCallsInDirection_~retValue_acc~24#1;havoc existInLiftCallsInDirection_~i~1#1;havoc existInLiftCallsInDirection_~i___0~0#1; 185522#L2593 assume !(1 == existInLiftCallsInDirection_~d#1); 185523#L2659 assume 0 == existInLiftCallsInDirection_~d#1;existInLiftCallsInDirection_~i___0~0#1 := 0;existInLiftCallsInDirection_~i___0~0#1 := ~currentFloorID~0 - 1; 191129#L2663-2 [2024-10-12 00:47:26,186 INFO L747 eck$LassoCheckResult]: Loop: 191129#L2663-2 assume !false; 188248#L2664 assume existInLiftCallsInDirection_~i___0~0#1 >= 0; 188249#L2665 existInLiftCallsInDirection_~i___0~0#1 := 1 + ~currentFloorID~0; 185938#L2672-2 assume !false; 185939#L2673 assume !(existInLiftCallsInDirection_~i___0~0#1 < 5); 190931#L2731 existInLiftCallsInDirection_~i___0~0#1 := existInLiftCallsInDirection_~i___0~0#1 - 1; 191129#L2663-2 [2024-10-12 00:47:26,186 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-12 00:47:26,186 INFO L85 PathProgramCache]: Analyzing trace with hash -1147621675, now seen corresponding path program 1 times [2024-10-12 00:47:26,187 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-12 00:47:26,187 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1563801180] [2024-10-12 00:47:26,187 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-12 00:47:26,187 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-12 00:47:26,215 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-12 00:47:26,289 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:26,289 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-10-12 00:47:26,289 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1563801180] [2024-10-12 00:47:26,289 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1563801180] provided 1 perfect and 0 imperfect interpolant sequences [2024-10-12 00:47:26,289 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-10-12 00:47:26,289 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2024-10-12 00:47:26,290 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2139217688] [2024-10-12 00:47:26,290 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-10-12 00:47:26,290 INFO L750 eck$LassoCheckResult]: stem already infeasible [2024-10-12 00:47:26,290 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-12 00:47:26,290 INFO L85 PathProgramCache]: Analyzing trace with hash 964799947, now seen corresponding path program 5 times [2024-10-12 00:47:26,290 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-12 00:47:26,290 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [915689027] [2024-10-12 00:47:26,290 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-12 00:47:26,291 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-12 00:47:26,301 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-12 00:47:26,301 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-10-12 00:47:26,302 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-12 00:47:26,309 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-10-12 00:47:26,330 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-10-12 00:47:26,331 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2024-10-12 00:47:26,331 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2024-10-12 00:47:26,331 INFO L87 Difference]: Start difference. First operand 9194 states and 17146 transitions. cyclomatic complexity: 7987 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:26,625 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-10-12 00:47:26,625 INFO L93 Difference]: Finished difference Result 9202 states and 17153 transitions. [2024-10-12 00:47:26,626 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 9202 states and 17153 transitions. [2024-10-12 00:47:26,674 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 2326 [2024-10-12 00:47:26,708 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 9202 states to 9202 states and 17153 transitions. [2024-10-12 00:47:26,708 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 9164 [2024-10-12 00:47:26,717 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 9164 [2024-10-12 00:47:26,718 INFO L73 IsDeterministic]: Start isDeterministic. Operand 9202 states and 17153 transitions. [2024-10-12 00:47:26,731 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-10-12 00:47:26,732 INFO L218 hiAutomatonCegarLoop]: Abstraction has 9202 states and 17153 transitions. [2024-10-12 00:47:26,747 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 9202 states and 17153 transitions. [2024-10-12 00:47:26,857 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 9202 to 9202. [2024-10-12 00:47:26,871 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9202 states, 9202 states have (on average 1.8640512931971311) internal successors, (17153), 9201 states have internal predecessors, (17153), 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,895 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9202 states to 9202 states and 17153 transitions. [2024-10-12 00:47:26,895 INFO L240 hiAutomatonCegarLoop]: Abstraction has 9202 states and 17153 transitions. [2024-10-12 00:47:26,895 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2024-10-12 00:47:26,896 INFO L425 stractBuchiCegarLoop]: Abstraction has 9202 states and 17153 transitions. [2024-10-12 00:47:26,896 INFO L332 stractBuchiCegarLoop]: ======== Iteration 8 ============ [2024-10-12 00:47:26,896 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 9202 states and 17153 transitions. [2024-10-12 00:47:26,938 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 2326 [2024-10-12 00:47:26,938 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-10-12 00:47:26,938 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-10-12 00:47:26,939 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:26,939 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1] [2024-10-12 00:47:26,940 INFO L745 eck$LassoCheckResult]: Stem: 210092#$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(10, 4);call #Ultimate.allocInit(4, 5);call write~init~int#1(91, 5, 0, 1);call write~init~int#1(95, 5, 1, 1);call write~init~int#1(93, 5, 2, 1);call write~init~int#1(0, 5, 3, 1);call #Ultimate.allocInit(4, 6);call write~init~int#2(91, 6, 0, 1);call write~init~int#2(93, 6, 1, 1);call write~init~int#2(32, 6, 2, 1);call write~init~int#2(0, 6, 3, 1);call #Ultimate.allocInit(5, 7);call write~init~int#3(32, 7, 0, 1);call write~init~int#3(97, 7, 1, 1);call write~init~int#3(116, 7, 2, 1);call write~init~int#3(32, 7, 3, 1);call write~init~int#3(0, 7, 4, 1);call #Ultimate.allocInit(3, 8);call write~init~int#4(37, 8, 0, 1);call write~init~int#4(105, 8, 1, 1);call write~init~int#4(0, 8, 2, 1);call #Ultimate.allocInit(10, 9);call #Ultimate.allocInit(3, 10);call write~init~int#5(117, 10, 0, 1);call write~init~int#5(112, 10, 1, 1);call write~init~int#5(0, 10, 2, 1);call #Ultimate.allocInit(5, 11);call write~init~int#6(100, 11, 0, 1);call write~init~int#6(111, 11, 1, 1);call write~init~int#6(119, 11, 2, 1);call write~init~int#6(110, 11, 3, 1);call write~init~int#6(0, 11, 4, 1);call #Ultimate.allocInit(7, 12);call write~init~int#7(32, 12, 0, 1);call write~init~int#7(73, 12, 1, 1);call write~init~int#7(76, 12, 2, 1);call write~init~int#7(95, 12, 3, 1);call write~init~int#7(112, 12, 4, 1);call write~init~int#7(58, 12, 5, 1);call write~init~int#7(0, 12, 6, 1);call #Ultimate.allocInit(4, 13);call write~init~int#8(32, 13, 0, 1);call write~init~int#8(37, 13, 1, 1);call write~init~int#8(105, 13, 2, 1);call write~init~int#8(0, 13, 3, 1);call #Ultimate.allocInit(4, 14);call write~init~int#9(32, 14, 0, 1);call write~init~int#9(37, 14, 1, 1);call write~init~int#9(105, 14, 2, 1);call write~init~int#9(0, 14, 3, 1);call #Ultimate.allocInit(4, 15);call write~init~int#10(32, 15, 0, 1);call write~init~int#10(37, 15, 1, 1);call write~init~int#10(105, 15, 2, 1);call write~init~int#10(0, 15, 3, 1);call #Ultimate.allocInit(4, 16);call write~init~int#11(32, 16, 0, 1);call write~init~int#11(37, 16, 1, 1);call write~init~int#11(105, 16, 2, 1);call write~init~int#11(0, 16, 3, 1);call #Ultimate.allocInit(4, 17);call write~init~int#12(32, 17, 0, 1);call write~init~int#12(37, 17, 1, 1);call write~init~int#12(105, 17, 2, 1);call write~init~int#12(0, 17, 3, 1);call #Ultimate.allocInit(6, 18);call write~init~int#13(32, 18, 0, 1);call write~init~int#13(70, 18, 1, 1);call write~init~int#13(95, 18, 2, 1);call write~init~int#13(112, 18, 3, 1);call write~init~int#13(58, 18, 4, 1);call write~init~int#13(0, 18, 5, 1);call #Ultimate.allocInit(4, 19);call write~init~int#14(32, 19, 0, 1);call write~init~int#14(37, 19, 1, 1);call write~init~int#14(105, 19, 2, 1);call write~init~int#14(0, 19, 3, 1);call #Ultimate.allocInit(4, 20);call write~init~int#15(32, 20, 0, 1);call write~init~int#15(37, 20, 1, 1);call write~init~int#15(105, 20, 2, 1);call write~init~int#15(0, 20, 3, 1);call #Ultimate.allocInit(4, 21);call write~init~int#16(32, 21, 0, 1);call write~init~int#16(37, 21, 1, 1);call write~init~int#16(105, 21, 2, 1);call write~init~int#16(0, 21, 3, 1);call #Ultimate.allocInit(4, 22);call write~init~int#17(32, 22, 0, 1);call write~init~int#17(37, 22, 1, 1);call write~init~int#17(105, 22, 2, 1);call write~init~int#17(0, 22, 3, 1);call #Ultimate.allocInit(4, 23);call write~init~int#18(32, 23, 0, 1);call write~init~int#18(37, 23, 1, 1);call write~init~int#18(105, 23, 2, 1);call write~init~int#18(0, 23, 3, 1);call #Ultimate.allocInit(2, 24);call write~init~int#19(10, 24, 0, 1);call write~init~int#19(0, 24, 1, 1);call #Ultimate.allocInit(30, 25);call #Ultimate.allocInit(9, 26);call #Ultimate.allocInit(21, 27);call #Ultimate.allocInit(30, 28);call #Ultimate.allocInit(9, 29);call #Ultimate.allocInit(21, 30);call #Ultimate.allocInit(30, 31);call #Ultimate.allocInit(9, 32);call #Ultimate.allocInit(25, 33);call #Ultimate.allocInit(30, 34);call #Ultimate.allocInit(9, 35);call #Ultimate.allocInit(25, 36);~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;~weight~0 := 0;~maximumWeight~0 := 100;~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;~prevDir~0 := 0;~head~0.base, ~head~0.offset := 0, 0; 209830#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret18#1, main_~retValue_acc~9#1, main_~tmp~8#1;havoc main_~retValue_acc~9#1;havoc main_~tmp~8#1;assume { :begin_inline_select_helpers } true; 209831#select_helpers_returnLabel#1 assume { :end_inline_select_helpers } true;assume { :begin_inline_select_features } true; 211650#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~4#1;havoc valid_product_~retValue_acc~4#1;valid_product_~retValue_acc~4#1 := 1;valid_product_#res#1 := valid_product_~retValue_acc~4#1; 204352#valid_product_returnLabel#1 main_#t~ret18#1 := valid_product_#res#1;havoc valid_product_~retValue_acc~4#1;assume { :end_inline_valid_product } true;main_~tmp~8#1 := main_#t~ret18#1;havoc main_#t~ret18#1; 204353#L1217 assume 0 != main_~tmp~8#1;assume { :begin_inline_setup } true; 205949#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~ret7#1, aliceCall_~tmp~1#1;havoc aliceCall_~tmp~1#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 1;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~6#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~6#1; 204661#L801 assume !(0 == getOrigin_~person#1); 204662#L805 assume 1 == getOrigin_~person#1;getOrigin_~retValue_acc~6#1 := 3;getOrigin_#res#1 := getOrigin_~retValue_acc~6#1; 205980#getOrigin_returnLabel#1 aliceCall_#t~ret7#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~6#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;aliceCall_~tmp~1#1 := aliceCall_#t~ret7#1;havoc aliceCall_#t~ret7#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 1, aliceCall_~tmp~1#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 207539#L409 assume !(0 == initPersonOnFloor_~floor#1); 203918#L436 assume !(1 == initPersonOnFloor_~floor#1); 203919#L463 assume !(2 == initPersonOnFloor_~floor#1); 205029#L490 assume 3 == initPersonOnFloor_~floor#1; 205030#L491 assume !(0 == initPersonOnFloor_~person#1); 206756#L494 assume 1 == initPersonOnFloor_~person#1;~personOnFloor_1_3~0 := 1; 203764#L517-1 assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 205036#L201 assume !(0 == callOnFloor_~floorID#1); 207577#L204 assume !(1 == callOnFloor_~floorID#1); 204866#L207 assume !(2 == callOnFloor_~floorID#1); 204867#L210 assume 3 == callOnFloor_~floorID#1;~calls_3~0 := 1; 205537#L213-2 havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true; 204907#initPersonOnFloor_returnLabel#1 havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true; 204908#aliceCall_returnLabel#1 havoc aliceCall_#t~ret7#1, aliceCall_~tmp~1#1;assume { :end_inline_aliceCall } true;assume { :begin_inline_angelinaCall } true;havoc angelinaCall_#t~ret8#1, angelinaCall_~tmp~2#1;havoc angelinaCall_~tmp~2#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 2;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~6#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~6#1; 203928#L801-1 assume !(0 == getOrigin_~person#1); 203929#L805-1 assume !(1 == getOrigin_~person#1); 208418#L809-1 assume 2 == getOrigin_~person#1;getOrigin_~retValue_acc~6#1 := 2;getOrigin_#res#1 := getOrigin_~retValue_acc~6#1; 204708#getOrigin_returnLabel#2 angelinaCall_#t~ret8#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~6#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;angelinaCall_~tmp~2#1 := angelinaCall_#t~ret8#1;havoc angelinaCall_#t~ret8#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 2, angelinaCall_~tmp~2#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 211942#L409-1 assume 0 == initPersonOnFloor_~floor#1; 210958#L410-2 assume !(0 == initPersonOnFloor_~person#1); 207181#L413-2 assume 1 == initPersonOnFloor_~person#1;~personOnFloor_1_0~0 := 1; 206740#L517-3 assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 211938#L201-2 assume 0 == callOnFloor_~floorID#1;~calls_0~0 := 1; 209278#L213-5 havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true; 208623#initPersonOnFloor_returnLabel#2 havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true; 208624#angelinaCall_returnLabel#1 havoc angelinaCall_#t~ret8#1, angelinaCall_~tmp~2#1;assume { :end_inline_angelinaCall } true;assume { :begin_inline_threeTS } true;assume { :begin_inline_timeShift } true;havoc timeShift_#t~ret60#1, timeShift_#t~ret61#1, timeShift_#t~ret62#1, timeShift_#t~ret63#1, timeShift_#t~ret64#1, timeShift_#t~ret65#1, timeShift_#t~ret66#1, timeShift_#t~ret67#1, timeShift_#t~ret68#1, timeShift_#t~ret69#1, timeShift_#t~ret70#1, timeShift_~tmp~19#1, timeShift_~tmp___0~7#1, timeShift_~tmp___1~4#1, timeShift_~tmp___2~4#1, timeShift_~tmp___3~3#1, timeShift_~tmp___4~2#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~19#1;havoc timeShift_~tmp___0~7#1;havoc timeShift_~tmp___1~4#1;havoc timeShift_~tmp___2~4#1;havoc timeShift_~tmp___3~3#1;havoc timeShift_~tmp___4~2#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~ret103#1;assume { :begin_inline_getCurrentHeading } true;havoc getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~14#1;havoc getCurrentHeading_~retValue_acc~14#1;getCurrentHeading_~retValue_acc~14#1 := ~currentHeading~0;getCurrentHeading_#res#1 := getCurrentHeading_~retValue_acc~14#1; 211474#getCurrentHeading_returnLabel#1 __utac_acc__Specification13_spec__1_#t~ret103#1 := getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~14#1;assume { :end_inline_getCurrentHeading } true;~prevDir~0 := __utac_acc__Specification13_spec__1_#t~ret103#1;havoc __utac_acc__Specification13_spec__1_#t~ret103#1; 208957#__utac_acc__Specification13_spec__1_returnLabel#1 havoc __utac_acc__Specification13_spec__1_#t~ret103#1;assume { :end_inline___utac_acc__Specification13_spec__1 } true;assume { :begin_inline_stopRequestedAtCurrentFloor } true;havoc stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret45#1, stopRequestedAtCurrentFloor_#t~ret46#1, stopRequestedAtCurrentFloor_#t~ret47#1, stopRequestedAtCurrentFloor_~retValue_acc~22#1, stopRequestedAtCurrentFloor_~tmp~17#1, stopRequestedAtCurrentFloor_~tmp___0~5#1, stopRequestedAtCurrentFloor_~__cil_tmp4~1#1, stopRequestedAtCurrentFloor_~__cil_tmp5~0#1;havoc stopRequestedAtCurrentFloor_~retValue_acc~22#1;havoc stopRequestedAtCurrentFloor_~tmp~17#1;havoc stopRequestedAtCurrentFloor_~tmp___0~5#1;havoc stopRequestedAtCurrentFloor_~__cil_tmp4~1#1;havoc stopRequestedAtCurrentFloor_~__cil_tmp5~0#1;stopRequestedAtCurrentFloor_~__cil_tmp4~1#1 := 2 * ~maximumWeight~0;stopRequestedAtCurrentFloor_~__cil_tmp5~0#1 := (if stopRequestedAtCurrentFloor_~__cil_tmp4~1#1 < 0 && 0 != stopRequestedAtCurrentFloor_~__cil_tmp4~1#1 % 3 then 1 + stopRequestedAtCurrentFloor_~__cil_tmp4~1#1 / 3 else stopRequestedAtCurrentFloor_~__cil_tmp4~1#1 / 3); 208958#L2140 assume ~weight~0 > stopRequestedAtCurrentFloor_~__cil_tmp5~0#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~11#1;havoc getCurrentFloorID_~retValue_acc~11#1;getCurrentFloorID_~retValue_acc~11#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~11#1; 208696#getCurrentFloorID_returnLabel#1 stopRequestedAtCurrentFloor_#t~ret45#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~11#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedAtCurrentFloor_~tmp~17#1 := stopRequestedAtCurrentFloor_#t~ret45#1;havoc stopRequestedAtCurrentFloor_#t~ret45#1;assume { :begin_inline_buttonForFloorIsPressed } true;buttonForFloorIsPressed_#in~floorID#1 := stopRequestedAtCurrentFloor_~tmp~17#1;havoc buttonForFloorIsPressed_#res#1;havoc buttonForFloorIsPressed_~floorID#1, buttonForFloorIsPressed_~retValue_acc~13#1;buttonForFloorIsPressed_~floorID#1 := buttonForFloorIsPressed_#in~floorID#1;havoc buttonForFloorIsPressed_~retValue_acc~13#1; 208697#L1476 assume 0 == buttonForFloorIsPressed_~floorID#1;buttonForFloorIsPressed_~retValue_acc~13#1 := ~floorButtons_0~0;buttonForFloorIsPressed_#res#1 := buttonForFloorIsPressed_~retValue_acc~13#1; 206238#buttonForFloorIsPressed_returnLabel#1 stopRequestedAtCurrentFloor_#t~ret46#1 := buttonForFloorIsPressed_#res#1;havoc buttonForFloorIsPressed_~floorID#1, buttonForFloorIsPressed_~retValue_acc~13#1;havoc buttonForFloorIsPressed_#in~floorID#1;assume { :end_inline_buttonForFloorIsPressed } true;stopRequestedAtCurrentFloor_~tmp___0~5#1 := stopRequestedAtCurrentFloor_#t~ret46#1;havoc stopRequestedAtCurrentFloor_#t~ret46#1;stopRequestedAtCurrentFloor_~retValue_acc~22#1 := (if 1 == stopRequestedAtCurrentFloor_~tmp___0~5#1 then 1 else 0);stopRequestedAtCurrentFloor_#res#1 := stopRequestedAtCurrentFloor_~retValue_acc~22#1; 203395#stopRequestedAtCurrentFloor_returnLabel#1 timeShift_#t~ret60#1 := stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret45#1, stopRequestedAtCurrentFloor_#t~ret46#1, stopRequestedAtCurrentFloor_#t~ret47#1, stopRequestedAtCurrentFloor_~retValue_acc~22#1, stopRequestedAtCurrentFloor_~tmp~17#1, stopRequestedAtCurrentFloor_~tmp___0~5#1, stopRequestedAtCurrentFloor_~__cil_tmp4~1#1, stopRequestedAtCurrentFloor_~__cil_tmp5~0#1;assume { :end_inline_stopRequestedAtCurrentFloor } true;timeShift_~tmp___9~2#1 := timeShift_#t~ret60#1;havoc timeShift_#t~ret60#1; 203396#L2290 assume !(0 != timeShift_~tmp___9~2#1); 205940#L2381 assume 1 == ~doorState~0;~doorState~0 := 0; 205941#L2381-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~ret38#1, stopRequestedInDirection_#t~ret39#1, stopRequestedInDirection_#t~ret40#1, stopRequestedInDirection_#t~ret41#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~19#1, stopRequestedInDirection_~overload~0#1, stopRequestedInDirection_~buttonPressed~0#1, stopRequestedInDirection_~tmp~14#1, stopRequestedInDirection_~__cil_tmp8~0#1, stopRequestedInDirection_~__cil_tmp9~0#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~19#1;havoc stopRequestedInDirection_~overload~0#1;havoc stopRequestedInDirection_~buttonPressed~0#1;havoc stopRequestedInDirection_~tmp~14#1;havoc stopRequestedInDirection_~__cil_tmp8~0#1;havoc stopRequestedInDirection_~__cil_tmp9~0#1;stopRequestedInDirection_~__cil_tmp8~0#1 := 2 * ~maximumWeight~0;stopRequestedInDirection_~__cil_tmp9~0#1 := (if stopRequestedInDirection_~__cil_tmp8~0#1 < 0 && 0 != stopRequestedInDirection_~__cil_tmp8~0#1 % 3 then 1 + stopRequestedInDirection_~__cil_tmp8~0#1 / 3 else stopRequestedInDirection_~__cil_tmp8~0#1 / 3);stopRequestedInDirection_~overload~0#1 := (if ~weight~0 > stopRequestedInDirection_~__cil_tmp9~0#1 then 1 else 0);assume { :begin_inline_isAnyLiftButtonPressed } true;havoc isAnyLiftButtonPressed_#res#1;havoc isAnyLiftButtonPressed_~retValue_acc~20#1;havoc isAnyLiftButtonPressed_~retValue_acc~20#1; 210290#L2043 assume 0 != ~floorButtons_0~0;isAnyLiftButtonPressed_~retValue_acc~20#1 := 1;isAnyLiftButtonPressed_#res#1 := isAnyLiftButtonPressed_~retValue_acc~20#1; 205762#isAnyLiftButtonPressed_returnLabel#1 stopRequestedInDirection_#t~ret38#1 := isAnyLiftButtonPressed_#res#1;havoc isAnyLiftButtonPressed_~retValue_acc~20#1;assume { :end_inline_isAnyLiftButtonPressed } true;stopRequestedInDirection_~tmp~14#1 := stopRequestedInDirection_#t~ret38#1;havoc stopRequestedInDirection_#t~ret38#1;stopRequestedInDirection_~buttonPressed~0#1 := stopRequestedInDirection_~tmp~14#1; 208657#L2016 assume !(0 != stopRequestedInDirection_~overload~0#1);assume { :begin_inline_stopRequestedInDirection__wrappee__weight } true;stopRequestedInDirection__wrappee__weight_#in~dir#1, stopRequestedInDirection__wrappee__weight_#in~respectFloorCalls#1, stopRequestedInDirection__wrappee__weight_#in~respectInLiftCalls#1 := stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1;havoc stopRequestedInDirection__wrappee__weight_#res#1;havoc stopRequestedInDirection__wrappee__weight_#t~ret27#1, stopRequestedInDirection__wrappee__weight_#t~ret28#1, stopRequestedInDirection__wrappee__weight_#t~ret29#1, stopRequestedInDirection__wrappee__weight_#t~ret30#1, stopRequestedInDirection__wrappee__weight_#t~ret31#1, stopRequestedInDirection__wrappee__weight_#t~ret32#1, stopRequestedInDirection__wrappee__weight_#t~ret33#1, stopRequestedInDirection__wrappee__weight_#t~ret34#1, stopRequestedInDirection__wrappee__weight_#t~ret35#1, stopRequestedInDirection__wrappee__weight_#t~ret36#1, stopRequestedInDirection__wrappee__weight_#t~ret37#1, stopRequestedInDirection__wrappee__weight_~dir#1, stopRequestedInDirection__wrappee__weight_~respectFloorCalls#1, stopRequestedInDirection__wrappee__weight_~respectInLiftCalls#1, stopRequestedInDirection__wrappee__weight_~retValue_acc~18#1, stopRequestedInDirection__wrappee__weight_~tmp~13#1, stopRequestedInDirection__wrappee__weight_~tmp___0~3#1, stopRequestedInDirection__wrappee__weight_~tmp___1~2#1, stopRequestedInDirection__wrappee__weight_~tmp___2~2#1, stopRequestedInDirection__wrappee__weight_~tmp___3~1#1, stopRequestedInDirection__wrappee__weight_~tmp___4~0#1, stopRequestedInDirection__wrappee__weight_~tmp___5~0#1, stopRequestedInDirection__wrappee__weight_~tmp___6~0#1, stopRequestedInDirection__wrappee__weight_~tmp___7~0#1, stopRequestedInDirection__wrappee__weight_~tmp___8~0#1, stopRequestedInDirection__wrappee__weight_~tmp___9~0#1;stopRequestedInDirection__wrappee__weight_~dir#1 := stopRequestedInDirection__wrappee__weight_#in~dir#1;stopRequestedInDirection__wrappee__weight_~respectFloorCalls#1 := stopRequestedInDirection__wrappee__weight_#in~respectFloorCalls#1;stopRequestedInDirection__wrappee__weight_~respectInLiftCalls#1 := stopRequestedInDirection__wrappee__weight_#in~respectInLiftCalls#1;havoc stopRequestedInDirection__wrappee__weight_~retValue_acc~18#1;havoc stopRequestedInDirection__wrappee__weight_~tmp~13#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___0~3#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___1~2#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___2~2#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___3~1#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___4~0#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___5~0#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___6~0#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___7~0#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___8~0#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___9~0#1; 207025#L1663-2 assume !(1 == stopRequestedInDirection__wrappee__weight_~dir#1); 207026#L1832-2 assume 0 == ~currentFloorID~0;stopRequestedInDirection__wrappee__weight_~retValue_acc~18#1 := 0;stopRequestedInDirection__wrappee__weight_#res#1 := stopRequestedInDirection__wrappee__weight_~retValue_acc~18#1; 203857#stopRequestedInDirection__wrappee__weight_returnLabel#3 stopRequestedInDirection_#t~ret41#1 := stopRequestedInDirection__wrappee__weight_#res#1;havoc stopRequestedInDirection__wrappee__weight_#t~ret27#1, stopRequestedInDirection__wrappee__weight_#t~ret28#1, stopRequestedInDirection__wrappee__weight_#t~ret29#1, stopRequestedInDirection__wrappee__weight_#t~ret30#1, stopRequestedInDirection__wrappee__weight_#t~ret31#1, stopRequestedInDirection__wrappee__weight_#t~ret32#1, stopRequestedInDirection__wrappee__weight_#t~ret33#1, stopRequestedInDirection__wrappee__weight_#t~ret34#1, stopRequestedInDirection__wrappee__weight_#t~ret35#1, stopRequestedInDirection__wrappee__weight_#t~ret36#1, stopRequestedInDirection__wrappee__weight_#t~ret37#1, stopRequestedInDirection__wrappee__weight_~dir#1, stopRequestedInDirection__wrappee__weight_~respectFloorCalls#1, stopRequestedInDirection__wrappee__weight_~respectInLiftCalls#1, stopRequestedInDirection__wrappee__weight_~retValue_acc~18#1, stopRequestedInDirection__wrappee__weight_~tmp~13#1, stopRequestedInDirection__wrappee__weight_~tmp___0~3#1, stopRequestedInDirection__wrappee__weight_~tmp___1~2#1, stopRequestedInDirection__wrappee__weight_~tmp___2~2#1, stopRequestedInDirection__wrappee__weight_~tmp___3~1#1, stopRequestedInDirection__wrappee__weight_~tmp___4~0#1, stopRequestedInDirection__wrappee__weight_~tmp___5~0#1, stopRequestedInDirection__wrappee__weight_~tmp___6~0#1, stopRequestedInDirection__wrappee__weight_~tmp___7~0#1, stopRequestedInDirection__wrappee__weight_~tmp___8~0#1, stopRequestedInDirection__wrappee__weight_~tmp___9~0#1;havoc stopRequestedInDirection__wrappee__weight_#in~dir#1, stopRequestedInDirection__wrappee__weight_#in~respectFloorCalls#1, stopRequestedInDirection__wrappee__weight_#in~respectInLiftCalls#1;assume { :end_inline_stopRequestedInDirection__wrappee__weight } true;stopRequestedInDirection_~retValue_acc~19#1 := stopRequestedInDirection_#t~ret41#1;havoc stopRequestedInDirection_#t~ret41#1;stopRequestedInDirection_#res#1 := stopRequestedInDirection_~retValue_acc~19#1; 204729#stopRequestedInDirection_returnLabel#1 timeShift_#t~ret67#1 := stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret38#1, stopRequestedInDirection_#t~ret39#1, stopRequestedInDirection_#t~ret40#1, stopRequestedInDirection_#t~ret41#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~19#1, stopRequestedInDirection_~overload~0#1, stopRequestedInDirection_~buttonPressed~0#1, stopRequestedInDirection_~tmp~14#1, stopRequestedInDirection_~__cil_tmp8~0#1, stopRequestedInDirection_~__cil_tmp9~0#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~ret67#1;havoc timeShift_#t~ret67#1; 206131#L2389 assume 0 != timeShift_~tmp___8~2#1;assume { :begin_inline_continueInDirection } true;continueInDirection_#in~dir#1 := ~currentHeading~0;havoc continueInDirection_#t~ret42#1, continueInDirection_~dir#1, continueInDirection_~tmp~15#1;continueInDirection_~dir#1 := continueInDirection_#in~dir#1;havoc continueInDirection_~tmp~15#1;~currentHeading~0 := continueInDirection_~dir#1; 211060#L2078 assume !(1 == ~currentHeading~0); 211340#L2088 assume !(0 == ~currentFloorID~0); 209920#L2088-2 assume 1 == ~currentHeading~0;~currentFloorID~0 := 1 + ~currentFloorID~0; 204982#L2094-1 havoc continueInDirection_#t~ret42#1, continueInDirection_~dir#1, continueInDirection_~tmp~15#1;havoc continueInDirection_#in~dir#1;assume { :end_inline_continueInDirection } true; 203353#L2398-2 assume { :begin_inline___utac_acc__Specification13_spec__2 } true;havoc __utac_acc__Specification13_spec__2_#t~ret104#1, __utac_acc__Specification13_spec__2_#t~ret105#1, __utac_acc__Specification13_spec__2_#t~ret106#1, __utac_acc__Specification13_spec__2_#t~ret107#1, __utac_acc__Specification13_spec__2_#t~ret108#1, __utac_acc__Specification13_spec__2_#t~ret109#1, __utac_acc__Specification13_spec__2_~tmp~23#1, __utac_acc__Specification13_spec__2_~tmp___0~11#1, __utac_acc__Specification13_spec__2_~tmp___1~8#1, __utac_acc__Specification13_spec__2_~tmp___2~6#1, __utac_acc__Specification13_spec__2_~tmp___3~5#1, __utac_acc__Specification13_spec__2_~tmp___4~3#1, __utac_acc__Specification13_spec__2_~__cil_tmp7~1#1, __utac_acc__Specification13_spec__2_~__cil_tmp8~2#1;havoc __utac_acc__Specification13_spec__2_~tmp~23#1;havoc __utac_acc__Specification13_spec__2_~tmp___0~11#1;havoc __utac_acc__Specification13_spec__2_~tmp___1~8#1;havoc __utac_acc__Specification13_spec__2_~tmp___2~6#1;havoc __utac_acc__Specification13_spec__2_~tmp___3~5#1;havoc __utac_acc__Specification13_spec__2_~tmp___4~3#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp7~1#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp8~2#1;__utac_acc__Specification13_spec__2_~__cil_tmp7~1#1 := 2 * ~maximumWeight~0;__utac_acc__Specification13_spec__2_~__cil_tmp8~2#1 := (if __utac_acc__Specification13_spec__2_~__cil_tmp7~1#1 < 0 && 0 != __utac_acc__Specification13_spec__2_~__cil_tmp7~1#1 % 3 then 1 + __utac_acc__Specification13_spec__2_~__cil_tmp7~1#1 / 3 else __utac_acc__Specification13_spec__2_~__cil_tmp7~1#1 / 3); 203354#L2887 assume ~weight~0 > __utac_acc__Specification13_spec__2_~__cil_tmp8~2#1; 207673#L2888 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~24#1, existInLiftCallsInDirection_~i~1#1, existInLiftCallsInDirection_~i___0~0#1;existInLiftCallsInDirection_~d#1 := existInLiftCallsInDirection_#in~d#1;havoc existInLiftCallsInDirection_~retValue_acc~24#1;havoc existInLiftCallsInDirection_~i~1#1;havoc existInLiftCallsInDirection_~i___0~0#1; 203925#L2593 assume !(1 == existInLiftCallsInDirection_~d#1); 203926#L2659 assume 0 == existInLiftCallsInDirection_~d#1;existInLiftCallsInDirection_~i___0~0#1 := 0;existInLiftCallsInDirection_~i___0~0#1 := ~currentFloorID~0 - 1; 209535#L2663-2 [2024-10-12 00:47:26,940 INFO L747 eck$LassoCheckResult]: Loop: 209535#L2663-2 assume !false; 206652#L2664 assume existInLiftCallsInDirection_~i___0~0#1 >= 0; 206653#L2665 existInLiftCallsInDirection_~i___0~0#1 := 1 + ~currentFloorID~0; 204341#L2672-2 assume !false; 204342#L2673 assume !(existInLiftCallsInDirection_~i___0~0#1 < 5); 209336#L2731 existInLiftCallsInDirection_~i___0~0#1 := existInLiftCallsInDirection_~i___0~0#1 - 1; 209535#L2663-2 [2024-10-12 00:47:26,940 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-12 00:47:26,941 INFO L85 PathProgramCache]: Analyzing trace with hash 479673146, now seen corresponding path program 1 times [2024-10-12 00:47:26,941 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-12 00:47:26,941 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [4400529] [2024-10-12 00:47:26,941 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-12 00:47:26,941 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-12 00:47:26,971 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-12 00:47:27,110 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,111 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-10-12 00:47:27,111 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [4400529] [2024-10-12 00:47:27,111 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [4400529] provided 1 perfect and 0 imperfect interpolant sequences [2024-10-12 00:47:27,111 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-10-12 00:47:27,111 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2024-10-12 00:47:27,112 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [684718088] [2024-10-12 00:47:27,112 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-10-12 00:47:27,112 INFO L750 eck$LassoCheckResult]: stem already infeasible [2024-10-12 00:47:27,112 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-12 00:47:27,113 INFO L85 PathProgramCache]: Analyzing trace with hash 964799947, now seen corresponding path program 6 times [2024-10-12 00:47:27,113 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-12 00:47:27,113 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1958462888] [2024-10-12 00:47:27,114 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-12 00:47:27,115 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-12 00:47:27,127 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-12 00:47:27,127 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-10-12 00:47:27,129 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-12 00:47:27,143 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-10-12 00:47:27,169 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-10-12 00:47:27,170 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2024-10-12 00:47:27,170 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2024-10-12 00:47:27,170 INFO L87 Difference]: Start difference. First operand 9202 states and 17153 transitions. cyclomatic complexity: 7986 Second operand has 5 states, 5 states have (on average 12.6) internal successors, (63), 5 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:27,627 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-10-12 00:47:27,628 INFO L93 Difference]: Finished difference Result 9188 states and 17127 transitions. [2024-10-12 00:47:27,628 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 9188 states and 17127 transitions. [2024-10-12 00:47:27,669 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 2326 [2024-10-12 00:47:27,701 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 9188 states to 9188 states and 17127 transitions. [2024-10-12 00:47:27,701 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 9150 [2024-10-12 00:47:27,709 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 9150 [2024-10-12 00:47:27,710 INFO L73 IsDeterministic]: Start isDeterministic. Operand 9188 states and 17127 transitions. [2024-10-12 00:47:27,710 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-10-12 00:47:27,710 INFO L218 hiAutomatonCegarLoop]: Abstraction has 9188 states and 17127 transitions. [2024-10-12 00:47:27,724 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 9188 states and 17127 transitions. [2024-10-12 00:47:27,822 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 9188 to 9188. [2024-10-12 00:47:27,836 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9188 states, 9188 states have (on average 1.8640618197649108) internal successors, (17127), 9187 states have internal predecessors, (17127), 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,857 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9188 states to 9188 states and 17127 transitions. [2024-10-12 00:47:27,858 INFO L240 hiAutomatonCegarLoop]: Abstraction has 9188 states and 17127 transitions. [2024-10-12 00:47:27,858 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2024-10-12 00:47:27,859 INFO L425 stractBuchiCegarLoop]: Abstraction has 9188 states and 17127 transitions. [2024-10-12 00:47:27,859 INFO L332 stractBuchiCegarLoop]: ======== Iteration 9 ============ [2024-10-12 00:47:27,859 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 9188 states and 17127 transitions. [2024-10-12 00:47:27,888 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 2326 [2024-10-12 00:47:27,889 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-10-12 00:47:27,889 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-10-12 00:47:27,890 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] [2024-10-12 00:47:27,890 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1] [2024-10-12 00:47:27,891 INFO L745 eck$LassoCheckResult]: Stem: 228481#$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(10, 4);call #Ultimate.allocInit(4, 5);call write~init~int#1(91, 5, 0, 1);call write~init~int#1(95, 5, 1, 1);call write~init~int#1(93, 5, 2, 1);call write~init~int#1(0, 5, 3, 1);call #Ultimate.allocInit(4, 6);call write~init~int#2(91, 6, 0, 1);call write~init~int#2(93, 6, 1, 1);call write~init~int#2(32, 6, 2, 1);call write~init~int#2(0, 6, 3, 1);call #Ultimate.allocInit(5, 7);call write~init~int#3(32, 7, 0, 1);call write~init~int#3(97, 7, 1, 1);call write~init~int#3(116, 7, 2, 1);call write~init~int#3(32, 7, 3, 1);call write~init~int#3(0, 7, 4, 1);call #Ultimate.allocInit(3, 8);call write~init~int#4(37, 8, 0, 1);call write~init~int#4(105, 8, 1, 1);call write~init~int#4(0, 8, 2, 1);call #Ultimate.allocInit(10, 9);call #Ultimate.allocInit(3, 10);call write~init~int#5(117, 10, 0, 1);call write~init~int#5(112, 10, 1, 1);call write~init~int#5(0, 10, 2, 1);call #Ultimate.allocInit(5, 11);call write~init~int#6(100, 11, 0, 1);call write~init~int#6(111, 11, 1, 1);call write~init~int#6(119, 11, 2, 1);call write~init~int#6(110, 11, 3, 1);call write~init~int#6(0, 11, 4, 1);call #Ultimate.allocInit(7, 12);call write~init~int#7(32, 12, 0, 1);call write~init~int#7(73, 12, 1, 1);call write~init~int#7(76, 12, 2, 1);call write~init~int#7(95, 12, 3, 1);call write~init~int#7(112, 12, 4, 1);call write~init~int#7(58, 12, 5, 1);call write~init~int#7(0, 12, 6, 1);call #Ultimate.allocInit(4, 13);call write~init~int#8(32, 13, 0, 1);call write~init~int#8(37, 13, 1, 1);call write~init~int#8(105, 13, 2, 1);call write~init~int#8(0, 13, 3, 1);call #Ultimate.allocInit(4, 14);call write~init~int#9(32, 14, 0, 1);call write~init~int#9(37, 14, 1, 1);call write~init~int#9(105, 14, 2, 1);call write~init~int#9(0, 14, 3, 1);call #Ultimate.allocInit(4, 15);call write~init~int#10(32, 15, 0, 1);call write~init~int#10(37, 15, 1, 1);call write~init~int#10(105, 15, 2, 1);call write~init~int#10(0, 15, 3, 1);call #Ultimate.allocInit(4, 16);call write~init~int#11(32, 16, 0, 1);call write~init~int#11(37, 16, 1, 1);call write~init~int#11(105, 16, 2, 1);call write~init~int#11(0, 16, 3, 1);call #Ultimate.allocInit(4, 17);call write~init~int#12(32, 17, 0, 1);call write~init~int#12(37, 17, 1, 1);call write~init~int#12(105, 17, 2, 1);call write~init~int#12(0, 17, 3, 1);call #Ultimate.allocInit(6, 18);call write~init~int#13(32, 18, 0, 1);call write~init~int#13(70, 18, 1, 1);call write~init~int#13(95, 18, 2, 1);call write~init~int#13(112, 18, 3, 1);call write~init~int#13(58, 18, 4, 1);call write~init~int#13(0, 18, 5, 1);call #Ultimate.allocInit(4, 19);call write~init~int#14(32, 19, 0, 1);call write~init~int#14(37, 19, 1, 1);call write~init~int#14(105, 19, 2, 1);call write~init~int#14(0, 19, 3, 1);call #Ultimate.allocInit(4, 20);call write~init~int#15(32, 20, 0, 1);call write~init~int#15(37, 20, 1, 1);call write~init~int#15(105, 20, 2, 1);call write~init~int#15(0, 20, 3, 1);call #Ultimate.allocInit(4, 21);call write~init~int#16(32, 21, 0, 1);call write~init~int#16(37, 21, 1, 1);call write~init~int#16(105, 21, 2, 1);call write~init~int#16(0, 21, 3, 1);call #Ultimate.allocInit(4, 22);call write~init~int#17(32, 22, 0, 1);call write~init~int#17(37, 22, 1, 1);call write~init~int#17(105, 22, 2, 1);call write~init~int#17(0, 22, 3, 1);call #Ultimate.allocInit(4, 23);call write~init~int#18(32, 23, 0, 1);call write~init~int#18(37, 23, 1, 1);call write~init~int#18(105, 23, 2, 1);call write~init~int#18(0, 23, 3, 1);call #Ultimate.allocInit(2, 24);call write~init~int#19(10, 24, 0, 1);call write~init~int#19(0, 24, 1, 1);call #Ultimate.allocInit(30, 25);call #Ultimate.allocInit(9, 26);call #Ultimate.allocInit(21, 27);call #Ultimate.allocInit(30, 28);call #Ultimate.allocInit(9, 29);call #Ultimate.allocInit(21, 30);call #Ultimate.allocInit(30, 31);call #Ultimate.allocInit(9, 32);call #Ultimate.allocInit(25, 33);call #Ultimate.allocInit(30, 34);call #Ultimate.allocInit(9, 35);call #Ultimate.allocInit(25, 36);~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;~weight~0 := 0;~maximumWeight~0 := 100;~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;~prevDir~0 := 0;~head~0.base, ~head~0.offset := 0, 0; 228219#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret18#1, main_~retValue_acc~9#1, main_~tmp~8#1;havoc main_~retValue_acc~9#1;havoc main_~tmp~8#1;assume { :begin_inline_select_helpers } true; 228220#select_helpers_returnLabel#1 assume { :end_inline_select_helpers } true;assume { :begin_inline_select_features } true; 230038#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~4#1;havoc valid_product_~retValue_acc~4#1;valid_product_~retValue_acc~4#1 := 1;valid_product_#res#1 := valid_product_~retValue_acc~4#1; 222750#valid_product_returnLabel#1 main_#t~ret18#1 := valid_product_#res#1;havoc valid_product_~retValue_acc~4#1;assume { :end_inline_valid_product } true;main_~tmp~8#1 := main_#t~ret18#1;havoc main_#t~ret18#1; 222751#L1217 assume 0 != main_~tmp~8#1;assume { :begin_inline_setup } true; 224346#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~ret7#1, aliceCall_~tmp~1#1;havoc aliceCall_~tmp~1#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 1;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~6#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~6#1; 223059#L801 assume !(0 == getOrigin_~person#1); 223060#L805 assume 1 == getOrigin_~person#1;getOrigin_~retValue_acc~6#1 := 3;getOrigin_#res#1 := getOrigin_~retValue_acc~6#1; 224376#getOrigin_returnLabel#1 aliceCall_#t~ret7#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~6#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;aliceCall_~tmp~1#1 := aliceCall_#t~ret7#1;havoc aliceCall_#t~ret7#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 1, aliceCall_~tmp~1#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 225930#L409 assume !(0 == initPersonOnFloor_~floor#1); 222316#L436 assume !(1 == initPersonOnFloor_~floor#1); 222317#L463 assume !(2 == initPersonOnFloor_~floor#1); 223425#L490 assume 3 == initPersonOnFloor_~floor#1; 223426#L491 assume !(0 == initPersonOnFloor_~person#1); 225149#L494 assume 1 == initPersonOnFloor_~person#1;~personOnFloor_1_3~0 := 1; 222162#L517-1 assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 223432#L201 assume !(0 == callOnFloor_~floorID#1); 225968#L204 assume !(1 == callOnFloor_~floorID#1); 223262#L207 assume !(2 == callOnFloor_~floorID#1); 223263#L210 assume 3 == callOnFloor_~floorID#1;~calls_3~0 := 1; 223933#L213-2 havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true; 223305#initPersonOnFloor_returnLabel#1 havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true; 223306#aliceCall_returnLabel#1 havoc aliceCall_#t~ret7#1, aliceCall_~tmp~1#1;assume { :end_inline_aliceCall } true;assume { :begin_inline_angelinaCall } true;havoc angelinaCall_#t~ret8#1, angelinaCall_~tmp~2#1;havoc angelinaCall_~tmp~2#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 2;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~6#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~6#1; 222326#L801-1 assume !(0 == getOrigin_~person#1); 222327#L805-1 assume !(1 == getOrigin_~person#1); 226810#L809-1 assume 2 == getOrigin_~person#1;getOrigin_~retValue_acc~6#1 := 2;getOrigin_#res#1 := getOrigin_~retValue_acc~6#1; 222103#getOrigin_returnLabel#2 angelinaCall_#t~ret8#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~6#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;angelinaCall_~tmp~2#1 := angelinaCall_#t~ret8#1;havoc angelinaCall_#t~ret8#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 2, angelinaCall_~tmp~2#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 222104#L409-1 assume !(0 == initPersonOnFloor_~floor#1); 226082#L436-1 assume 1 == initPersonOnFloor_~floor#1; 226083#L437-2 assume !(0 == initPersonOnFloor_~person#1); 228289#L440-2 assume 1 == initPersonOnFloor_~person#1;~personOnFloor_1_1~0 := 1; 225116#L517-3 assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 230328#L201-2 assume !(0 == callOnFloor_~floorID#1); 230325#L204-2 assume 1 == callOnFloor_~floorID#1;~calls_1~0 := 1; 227669#L213-5 havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true; 227015#initPersonOnFloor_returnLabel#2 havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true; 227016#angelinaCall_returnLabel#1 havoc angelinaCall_#t~ret8#1, angelinaCall_~tmp~2#1;assume { :end_inline_angelinaCall } true;assume { :begin_inline_threeTS } true;assume { :begin_inline_timeShift } true;havoc timeShift_#t~ret60#1, timeShift_#t~ret61#1, timeShift_#t~ret62#1, timeShift_#t~ret63#1, timeShift_#t~ret64#1, timeShift_#t~ret65#1, timeShift_#t~ret66#1, timeShift_#t~ret67#1, timeShift_#t~ret68#1, timeShift_#t~ret69#1, timeShift_#t~ret70#1, timeShift_~tmp~19#1, timeShift_~tmp___0~7#1, timeShift_~tmp___1~4#1, timeShift_~tmp___2~4#1, timeShift_~tmp___3~3#1, timeShift_~tmp___4~2#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~19#1;havoc timeShift_~tmp___0~7#1;havoc timeShift_~tmp___1~4#1;havoc timeShift_~tmp___2~4#1;havoc timeShift_~tmp___3~3#1;havoc timeShift_~tmp___4~2#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~ret103#1;assume { :begin_inline_getCurrentHeading } true;havoc getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~14#1;havoc getCurrentHeading_~retValue_acc~14#1;getCurrentHeading_~retValue_acc~14#1 := ~currentHeading~0;getCurrentHeading_#res#1 := getCurrentHeading_~retValue_acc~14#1; 229862#getCurrentHeading_returnLabel#1 __utac_acc__Specification13_spec__1_#t~ret103#1 := getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~14#1;assume { :end_inline_getCurrentHeading } true;~prevDir~0 := __utac_acc__Specification13_spec__1_#t~ret103#1;havoc __utac_acc__Specification13_spec__1_#t~ret103#1; 227351#__utac_acc__Specification13_spec__1_returnLabel#1 havoc __utac_acc__Specification13_spec__1_#t~ret103#1;assume { :end_inline___utac_acc__Specification13_spec__1 } true;assume { :begin_inline_stopRequestedAtCurrentFloor } true;havoc stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret45#1, stopRequestedAtCurrentFloor_#t~ret46#1, stopRequestedAtCurrentFloor_#t~ret47#1, stopRequestedAtCurrentFloor_~retValue_acc~22#1, stopRequestedAtCurrentFloor_~tmp~17#1, stopRequestedAtCurrentFloor_~tmp___0~5#1, stopRequestedAtCurrentFloor_~__cil_tmp4~1#1, stopRequestedAtCurrentFloor_~__cil_tmp5~0#1;havoc stopRequestedAtCurrentFloor_~retValue_acc~22#1;havoc stopRequestedAtCurrentFloor_~tmp~17#1;havoc stopRequestedAtCurrentFloor_~tmp___0~5#1;havoc stopRequestedAtCurrentFloor_~__cil_tmp4~1#1;havoc stopRequestedAtCurrentFloor_~__cil_tmp5~0#1;stopRequestedAtCurrentFloor_~__cil_tmp4~1#1 := 2 * ~maximumWeight~0;stopRequestedAtCurrentFloor_~__cil_tmp5~0#1 := (if stopRequestedAtCurrentFloor_~__cil_tmp4~1#1 < 0 && 0 != stopRequestedAtCurrentFloor_~__cil_tmp4~1#1 % 3 then 1 + stopRequestedAtCurrentFloor_~__cil_tmp4~1#1 / 3 else stopRequestedAtCurrentFloor_~__cil_tmp4~1#1 / 3); 227352#L2140 assume ~weight~0 > stopRequestedAtCurrentFloor_~__cil_tmp5~0#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~11#1;havoc getCurrentFloorID_~retValue_acc~11#1;getCurrentFloorID_~retValue_acc~11#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~11#1; 227088#getCurrentFloorID_returnLabel#1 stopRequestedAtCurrentFloor_#t~ret45#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~11#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedAtCurrentFloor_~tmp~17#1 := stopRequestedAtCurrentFloor_#t~ret45#1;havoc stopRequestedAtCurrentFloor_#t~ret45#1;assume { :begin_inline_buttonForFloorIsPressed } true;buttonForFloorIsPressed_#in~floorID#1 := stopRequestedAtCurrentFloor_~tmp~17#1;havoc buttonForFloorIsPressed_#res#1;havoc buttonForFloorIsPressed_~floorID#1, buttonForFloorIsPressed_~retValue_acc~13#1;buttonForFloorIsPressed_~floorID#1 := buttonForFloorIsPressed_#in~floorID#1;havoc buttonForFloorIsPressed_~retValue_acc~13#1; 227089#L1476 assume 0 == buttonForFloorIsPressed_~floorID#1;buttonForFloorIsPressed_~retValue_acc~13#1 := ~floorButtons_0~0;buttonForFloorIsPressed_#res#1 := buttonForFloorIsPressed_~retValue_acc~13#1; 224634#buttonForFloorIsPressed_returnLabel#1 stopRequestedAtCurrentFloor_#t~ret46#1 := buttonForFloorIsPressed_#res#1;havoc buttonForFloorIsPressed_~floorID#1, buttonForFloorIsPressed_~retValue_acc~13#1;havoc buttonForFloorIsPressed_#in~floorID#1;assume { :end_inline_buttonForFloorIsPressed } true;stopRequestedAtCurrentFloor_~tmp___0~5#1 := stopRequestedAtCurrentFloor_#t~ret46#1;havoc stopRequestedAtCurrentFloor_#t~ret46#1;stopRequestedAtCurrentFloor_~retValue_acc~22#1 := (if 1 == stopRequestedAtCurrentFloor_~tmp___0~5#1 then 1 else 0);stopRequestedAtCurrentFloor_#res#1 := stopRequestedAtCurrentFloor_~retValue_acc~22#1; 221796#stopRequestedAtCurrentFloor_returnLabel#1 timeShift_#t~ret60#1 := stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret45#1, stopRequestedAtCurrentFloor_#t~ret46#1, stopRequestedAtCurrentFloor_#t~ret47#1, stopRequestedAtCurrentFloor_~retValue_acc~22#1, stopRequestedAtCurrentFloor_~tmp~17#1, stopRequestedAtCurrentFloor_~tmp___0~5#1, stopRequestedAtCurrentFloor_~__cil_tmp4~1#1, stopRequestedAtCurrentFloor_~__cil_tmp5~0#1;assume { :end_inline_stopRequestedAtCurrentFloor } true;timeShift_~tmp___9~2#1 := timeShift_#t~ret60#1;havoc timeShift_#t~ret60#1; 221797#L2290 assume !(0 != timeShift_~tmp___9~2#1); 224336#L2381 assume 1 == ~doorState~0;~doorState~0 := 0; 224337#L2381-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~ret38#1, stopRequestedInDirection_#t~ret39#1, stopRequestedInDirection_#t~ret40#1, stopRequestedInDirection_#t~ret41#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~19#1, stopRequestedInDirection_~overload~0#1, stopRequestedInDirection_~buttonPressed~0#1, stopRequestedInDirection_~tmp~14#1, stopRequestedInDirection_~__cil_tmp8~0#1, stopRequestedInDirection_~__cil_tmp9~0#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~19#1;havoc stopRequestedInDirection_~overload~0#1;havoc stopRequestedInDirection_~buttonPressed~0#1;havoc stopRequestedInDirection_~tmp~14#1;havoc stopRequestedInDirection_~__cil_tmp8~0#1;havoc stopRequestedInDirection_~__cil_tmp9~0#1;stopRequestedInDirection_~__cil_tmp8~0#1 := 2 * ~maximumWeight~0;stopRequestedInDirection_~__cil_tmp9~0#1 := (if stopRequestedInDirection_~__cil_tmp8~0#1 < 0 && 0 != stopRequestedInDirection_~__cil_tmp8~0#1 % 3 then 1 + stopRequestedInDirection_~__cil_tmp8~0#1 / 3 else stopRequestedInDirection_~__cil_tmp8~0#1 / 3);stopRequestedInDirection_~overload~0#1 := (if ~weight~0 > stopRequestedInDirection_~__cil_tmp9~0#1 then 1 else 0);assume { :begin_inline_isAnyLiftButtonPressed } true;havoc isAnyLiftButtonPressed_#res#1;havoc isAnyLiftButtonPressed_~retValue_acc~20#1;havoc isAnyLiftButtonPressed_~retValue_acc~20#1; 228679#L2043 assume 0 != ~floorButtons_0~0;isAnyLiftButtonPressed_~retValue_acc~20#1 := 1;isAnyLiftButtonPressed_#res#1 := isAnyLiftButtonPressed_~retValue_acc~20#1; 224158#isAnyLiftButtonPressed_returnLabel#1 stopRequestedInDirection_#t~ret38#1 := isAnyLiftButtonPressed_#res#1;havoc isAnyLiftButtonPressed_~retValue_acc~20#1;assume { :end_inline_isAnyLiftButtonPressed } true;stopRequestedInDirection_~tmp~14#1 := stopRequestedInDirection_#t~ret38#1;havoc stopRequestedInDirection_#t~ret38#1;stopRequestedInDirection_~buttonPressed~0#1 := stopRequestedInDirection_~tmp~14#1; 227049#L2016 assume !(0 != stopRequestedInDirection_~overload~0#1);assume { :begin_inline_stopRequestedInDirection__wrappee__weight } true;stopRequestedInDirection__wrappee__weight_#in~dir#1, stopRequestedInDirection__wrappee__weight_#in~respectFloorCalls#1, stopRequestedInDirection__wrappee__weight_#in~respectInLiftCalls#1 := stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1;havoc stopRequestedInDirection__wrappee__weight_#res#1;havoc stopRequestedInDirection__wrappee__weight_#t~ret27#1, stopRequestedInDirection__wrappee__weight_#t~ret28#1, stopRequestedInDirection__wrappee__weight_#t~ret29#1, stopRequestedInDirection__wrappee__weight_#t~ret30#1, stopRequestedInDirection__wrappee__weight_#t~ret31#1, stopRequestedInDirection__wrappee__weight_#t~ret32#1, stopRequestedInDirection__wrappee__weight_#t~ret33#1, stopRequestedInDirection__wrappee__weight_#t~ret34#1, stopRequestedInDirection__wrappee__weight_#t~ret35#1, stopRequestedInDirection__wrappee__weight_#t~ret36#1, stopRequestedInDirection__wrappee__weight_#t~ret37#1, stopRequestedInDirection__wrappee__weight_~dir#1, stopRequestedInDirection__wrappee__weight_~respectFloorCalls#1, stopRequestedInDirection__wrappee__weight_~respectInLiftCalls#1, stopRequestedInDirection__wrappee__weight_~retValue_acc~18#1, stopRequestedInDirection__wrappee__weight_~tmp~13#1, stopRequestedInDirection__wrappee__weight_~tmp___0~3#1, stopRequestedInDirection__wrappee__weight_~tmp___1~2#1, stopRequestedInDirection__wrappee__weight_~tmp___2~2#1, stopRequestedInDirection__wrappee__weight_~tmp___3~1#1, stopRequestedInDirection__wrappee__weight_~tmp___4~0#1, stopRequestedInDirection__wrappee__weight_~tmp___5~0#1, stopRequestedInDirection__wrappee__weight_~tmp___6~0#1, stopRequestedInDirection__wrappee__weight_~tmp___7~0#1, stopRequestedInDirection__wrappee__weight_~tmp___8~0#1, stopRequestedInDirection__wrappee__weight_~tmp___9~0#1;stopRequestedInDirection__wrappee__weight_~dir#1 := stopRequestedInDirection__wrappee__weight_#in~dir#1;stopRequestedInDirection__wrappee__weight_~respectFloorCalls#1 := stopRequestedInDirection__wrappee__weight_#in~respectFloorCalls#1;stopRequestedInDirection__wrappee__weight_~respectInLiftCalls#1 := stopRequestedInDirection__wrappee__weight_#in~respectInLiftCalls#1;havoc stopRequestedInDirection__wrappee__weight_~retValue_acc~18#1;havoc stopRequestedInDirection__wrappee__weight_~tmp~13#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___0~3#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___1~2#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___2~2#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___3~1#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___4~0#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___5~0#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___6~0#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___7~0#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___8~0#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___9~0#1; 225418#L1663-2 assume !(1 == stopRequestedInDirection__wrappee__weight_~dir#1); 225419#L1832-2 assume 0 == ~currentFloorID~0;stopRequestedInDirection__wrappee__weight_~retValue_acc~18#1 := 0;stopRequestedInDirection__wrappee__weight_#res#1 := stopRequestedInDirection__wrappee__weight_~retValue_acc~18#1; 222255#stopRequestedInDirection__wrappee__weight_returnLabel#3 stopRequestedInDirection_#t~ret41#1 := stopRequestedInDirection__wrappee__weight_#res#1;havoc stopRequestedInDirection__wrappee__weight_#t~ret27#1, stopRequestedInDirection__wrappee__weight_#t~ret28#1, stopRequestedInDirection__wrappee__weight_#t~ret29#1, stopRequestedInDirection__wrappee__weight_#t~ret30#1, stopRequestedInDirection__wrappee__weight_#t~ret31#1, stopRequestedInDirection__wrappee__weight_#t~ret32#1, stopRequestedInDirection__wrappee__weight_#t~ret33#1, stopRequestedInDirection__wrappee__weight_#t~ret34#1, stopRequestedInDirection__wrappee__weight_#t~ret35#1, stopRequestedInDirection__wrappee__weight_#t~ret36#1, stopRequestedInDirection__wrappee__weight_#t~ret37#1, stopRequestedInDirection__wrappee__weight_~dir#1, stopRequestedInDirection__wrappee__weight_~respectFloorCalls#1, stopRequestedInDirection__wrappee__weight_~respectInLiftCalls#1, stopRequestedInDirection__wrappee__weight_~retValue_acc~18#1, stopRequestedInDirection__wrappee__weight_~tmp~13#1, stopRequestedInDirection__wrappee__weight_~tmp___0~3#1, stopRequestedInDirection__wrappee__weight_~tmp___1~2#1, stopRequestedInDirection__wrappee__weight_~tmp___2~2#1, stopRequestedInDirection__wrappee__weight_~tmp___3~1#1, stopRequestedInDirection__wrappee__weight_~tmp___4~0#1, stopRequestedInDirection__wrappee__weight_~tmp___5~0#1, stopRequestedInDirection__wrappee__weight_~tmp___6~0#1, stopRequestedInDirection__wrappee__weight_~tmp___7~0#1, stopRequestedInDirection__wrappee__weight_~tmp___8~0#1, stopRequestedInDirection__wrappee__weight_~tmp___9~0#1;havoc stopRequestedInDirection__wrappee__weight_#in~dir#1, stopRequestedInDirection__wrappee__weight_#in~respectFloorCalls#1, stopRequestedInDirection__wrappee__weight_#in~respectInLiftCalls#1;assume { :end_inline_stopRequestedInDirection__wrappee__weight } true;stopRequestedInDirection_~retValue_acc~19#1 := stopRequestedInDirection_#t~ret41#1;havoc stopRequestedInDirection_#t~ret41#1;stopRequestedInDirection_#res#1 := stopRequestedInDirection_~retValue_acc~19#1; 223125#stopRequestedInDirection_returnLabel#1 timeShift_#t~ret67#1 := stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret38#1, stopRequestedInDirection_#t~ret39#1, stopRequestedInDirection_#t~ret40#1, stopRequestedInDirection_#t~ret41#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~19#1, stopRequestedInDirection_~overload~0#1, stopRequestedInDirection_~buttonPressed~0#1, stopRequestedInDirection_~tmp~14#1, stopRequestedInDirection_~__cil_tmp8~0#1, stopRequestedInDirection_~__cil_tmp9~0#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~ret67#1;havoc timeShift_#t~ret67#1; 224527#L2389 assume 0 != timeShift_~tmp___8~2#1;assume { :begin_inline_continueInDirection } true;continueInDirection_#in~dir#1 := ~currentHeading~0;havoc continueInDirection_#t~ret42#1, continueInDirection_~dir#1, continueInDirection_~tmp~15#1;continueInDirection_~dir#1 := continueInDirection_#in~dir#1;havoc continueInDirection_~tmp~15#1;~currentHeading~0 := continueInDirection_~dir#1; 229448#L2078 assume !(1 == ~currentHeading~0); 229728#L2088 assume !(0 == ~currentFloorID~0); 228309#L2088-2 assume 1 == ~currentHeading~0;~currentFloorID~0 := 1 + ~currentFloorID~0; 223378#L2094-1 havoc continueInDirection_#t~ret42#1, continueInDirection_~dir#1, continueInDirection_~tmp~15#1;havoc continueInDirection_#in~dir#1;assume { :end_inline_continueInDirection } true; 221751#L2398-2 assume { :begin_inline___utac_acc__Specification13_spec__2 } true;havoc __utac_acc__Specification13_spec__2_#t~ret104#1, __utac_acc__Specification13_spec__2_#t~ret105#1, __utac_acc__Specification13_spec__2_#t~ret106#1, __utac_acc__Specification13_spec__2_#t~ret107#1, __utac_acc__Specification13_spec__2_#t~ret108#1, __utac_acc__Specification13_spec__2_#t~ret109#1, __utac_acc__Specification13_spec__2_~tmp~23#1, __utac_acc__Specification13_spec__2_~tmp___0~11#1, __utac_acc__Specification13_spec__2_~tmp___1~8#1, __utac_acc__Specification13_spec__2_~tmp___2~6#1, __utac_acc__Specification13_spec__2_~tmp___3~5#1, __utac_acc__Specification13_spec__2_~tmp___4~3#1, __utac_acc__Specification13_spec__2_~__cil_tmp7~1#1, __utac_acc__Specification13_spec__2_~__cil_tmp8~2#1;havoc __utac_acc__Specification13_spec__2_~tmp~23#1;havoc __utac_acc__Specification13_spec__2_~tmp___0~11#1;havoc __utac_acc__Specification13_spec__2_~tmp___1~8#1;havoc __utac_acc__Specification13_spec__2_~tmp___2~6#1;havoc __utac_acc__Specification13_spec__2_~tmp___3~5#1;havoc __utac_acc__Specification13_spec__2_~tmp___4~3#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp7~1#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp8~2#1;__utac_acc__Specification13_spec__2_~__cil_tmp7~1#1 := 2 * ~maximumWeight~0;__utac_acc__Specification13_spec__2_~__cil_tmp8~2#1 := (if __utac_acc__Specification13_spec__2_~__cil_tmp7~1#1 < 0 && 0 != __utac_acc__Specification13_spec__2_~__cil_tmp7~1#1 % 3 then 1 + __utac_acc__Specification13_spec__2_~__cil_tmp7~1#1 / 3 else __utac_acc__Specification13_spec__2_~__cil_tmp7~1#1 / 3); 221752#L2887 assume ~weight~0 > __utac_acc__Specification13_spec__2_~__cil_tmp8~2#1; 226064#L2888 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~24#1, existInLiftCallsInDirection_~i~1#1, existInLiftCallsInDirection_~i___0~0#1;existInLiftCallsInDirection_~d#1 := existInLiftCallsInDirection_#in~d#1;havoc existInLiftCallsInDirection_~retValue_acc~24#1;havoc existInLiftCallsInDirection_~i~1#1;havoc existInLiftCallsInDirection_~i___0~0#1; 222323#L2593 assume !(1 == existInLiftCallsInDirection_~d#1); 222324#L2659 assume 0 == existInLiftCallsInDirection_~d#1;existInLiftCallsInDirection_~i___0~0#1 := 0;existInLiftCallsInDirection_~i___0~0#1 := ~currentFloorID~0 - 1; 227923#L2663-2 [2024-10-12 00:47:27,892 INFO L747 eck$LassoCheckResult]: Loop: 227923#L2663-2 assume !false; 225048#L2664 assume existInLiftCallsInDirection_~i___0~0#1 >= 0; 225049#L2665 existInLiftCallsInDirection_~i___0~0#1 := 1 + ~currentFloorID~0; 222739#L2672-2 assume !false; 222740#L2673 assume !(existInLiftCallsInDirection_~i___0~0#1 < 5); 227727#L2731 existInLiftCallsInDirection_~i___0~0#1 := existInLiftCallsInDirection_~i___0~0#1 - 1; 227923#L2663-2 [2024-10-12 00:47:27,892 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-12 00:47:27,892 INFO L85 PathProgramCache]: Analyzing trace with hash 1916939940, now seen corresponding path program 1 times [2024-10-12 00:47:27,892 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-12 00:47:27,895 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2103992440] [2024-10-12 00:47:27,895 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-12 00:47:27,895 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-12 00:47:27,927 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-12 00:47:28,031 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,031 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-10-12 00:47:28,031 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2103992440] [2024-10-12 00:47:28,031 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2103992440] provided 1 perfect and 0 imperfect interpolant sequences [2024-10-12 00:47:28,031 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-10-12 00:47:28,032 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2024-10-12 00:47:28,032 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1023158593] [2024-10-12 00:47:28,032 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-10-12 00:47:28,032 INFO L750 eck$LassoCheckResult]: stem already infeasible [2024-10-12 00:47:28,032 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-12 00:47:28,033 INFO L85 PathProgramCache]: Analyzing trace with hash 964799947, now seen corresponding path program 7 times [2024-10-12 00:47:28,033 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-12 00:47:28,033 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [462388715] [2024-10-12 00:47:28,033 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-12 00:47:28,033 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-12 00:47:28,041 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-12 00:47:28,042 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-10-12 00:47:28,043 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-12 00:47:28,050 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-10-12 00:47:28,070 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-10-12 00:47:28,071 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2024-10-12 00:47:28,071 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2024-10-12 00:47:28,071 INFO L87 Difference]: Start difference. First operand 9188 states and 17127 transitions. cyclomatic complexity: 7974 Second operand has 5 states, 5 states have (on average 13.0) internal successors, (65), 5 states have internal predecessors, (65), 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,416 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-10-12 00:47:28,416 INFO L93 Difference]: Finished difference Result 9182 states and 17114 transitions. [2024-10-12 00:47:28,417 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 9182 states and 17114 transitions. [2024-10-12 00:47:28,447 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 2326 [2024-10-12 00:47:28,468 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 9182 states to 9182 states and 17114 transitions. [2024-10-12 00:47:28,468 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 9144 [2024-10-12 00:47:28,475 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 9144 [2024-10-12 00:47:28,475 INFO L73 IsDeterministic]: Start isDeterministic. Operand 9182 states and 17114 transitions. [2024-10-12 00:47:28,477 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-10-12 00:47:28,477 INFO L218 hiAutomatonCegarLoop]: Abstraction has 9182 states and 17114 transitions. [2024-10-12 00:47:28,490 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 9182 states and 17114 transitions. [2024-10-12 00:47:28,572 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 9182 to 9182. [2024-10-12 00:47:28,586 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9182 states, 9182 states have (on average 1.8638640818993684) internal successors, (17114), 9181 states have internal predecessors, (17114), 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,607 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9182 states to 9182 states and 17114 transitions. [2024-10-12 00:47:28,607 INFO L240 hiAutomatonCegarLoop]: Abstraction has 9182 states and 17114 transitions. [2024-10-12 00:47:28,607 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2024-10-12 00:47:28,608 INFO L425 stractBuchiCegarLoop]: Abstraction has 9182 states and 17114 transitions. [2024-10-12 00:47:28,608 INFO L332 stractBuchiCegarLoop]: ======== Iteration 10 ============ [2024-10-12 00:47:28,608 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 9182 states and 17114 transitions. [2024-10-12 00:47:28,643 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 2326 [2024-10-12 00:47:28,643 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-10-12 00:47:28,644 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-10-12 00:47:28,644 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] [2024-10-12 00:47:28,644 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1] [2024-10-12 00:47:28,645 INFO L745 eck$LassoCheckResult]: Stem: 246852#$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(10, 4);call #Ultimate.allocInit(4, 5);call write~init~int#1(91, 5, 0, 1);call write~init~int#1(95, 5, 1, 1);call write~init~int#1(93, 5, 2, 1);call write~init~int#1(0, 5, 3, 1);call #Ultimate.allocInit(4, 6);call write~init~int#2(91, 6, 0, 1);call write~init~int#2(93, 6, 1, 1);call write~init~int#2(32, 6, 2, 1);call write~init~int#2(0, 6, 3, 1);call #Ultimate.allocInit(5, 7);call write~init~int#3(32, 7, 0, 1);call write~init~int#3(97, 7, 1, 1);call write~init~int#3(116, 7, 2, 1);call write~init~int#3(32, 7, 3, 1);call write~init~int#3(0, 7, 4, 1);call #Ultimate.allocInit(3, 8);call write~init~int#4(37, 8, 0, 1);call write~init~int#4(105, 8, 1, 1);call write~init~int#4(0, 8, 2, 1);call #Ultimate.allocInit(10, 9);call #Ultimate.allocInit(3, 10);call write~init~int#5(117, 10, 0, 1);call write~init~int#5(112, 10, 1, 1);call write~init~int#5(0, 10, 2, 1);call #Ultimate.allocInit(5, 11);call write~init~int#6(100, 11, 0, 1);call write~init~int#6(111, 11, 1, 1);call write~init~int#6(119, 11, 2, 1);call write~init~int#6(110, 11, 3, 1);call write~init~int#6(0, 11, 4, 1);call #Ultimate.allocInit(7, 12);call write~init~int#7(32, 12, 0, 1);call write~init~int#7(73, 12, 1, 1);call write~init~int#7(76, 12, 2, 1);call write~init~int#7(95, 12, 3, 1);call write~init~int#7(112, 12, 4, 1);call write~init~int#7(58, 12, 5, 1);call write~init~int#7(0, 12, 6, 1);call #Ultimate.allocInit(4, 13);call write~init~int#8(32, 13, 0, 1);call write~init~int#8(37, 13, 1, 1);call write~init~int#8(105, 13, 2, 1);call write~init~int#8(0, 13, 3, 1);call #Ultimate.allocInit(4, 14);call write~init~int#9(32, 14, 0, 1);call write~init~int#9(37, 14, 1, 1);call write~init~int#9(105, 14, 2, 1);call write~init~int#9(0, 14, 3, 1);call #Ultimate.allocInit(4, 15);call write~init~int#10(32, 15, 0, 1);call write~init~int#10(37, 15, 1, 1);call write~init~int#10(105, 15, 2, 1);call write~init~int#10(0, 15, 3, 1);call #Ultimate.allocInit(4, 16);call write~init~int#11(32, 16, 0, 1);call write~init~int#11(37, 16, 1, 1);call write~init~int#11(105, 16, 2, 1);call write~init~int#11(0, 16, 3, 1);call #Ultimate.allocInit(4, 17);call write~init~int#12(32, 17, 0, 1);call write~init~int#12(37, 17, 1, 1);call write~init~int#12(105, 17, 2, 1);call write~init~int#12(0, 17, 3, 1);call #Ultimate.allocInit(6, 18);call write~init~int#13(32, 18, 0, 1);call write~init~int#13(70, 18, 1, 1);call write~init~int#13(95, 18, 2, 1);call write~init~int#13(112, 18, 3, 1);call write~init~int#13(58, 18, 4, 1);call write~init~int#13(0, 18, 5, 1);call #Ultimate.allocInit(4, 19);call write~init~int#14(32, 19, 0, 1);call write~init~int#14(37, 19, 1, 1);call write~init~int#14(105, 19, 2, 1);call write~init~int#14(0, 19, 3, 1);call #Ultimate.allocInit(4, 20);call write~init~int#15(32, 20, 0, 1);call write~init~int#15(37, 20, 1, 1);call write~init~int#15(105, 20, 2, 1);call write~init~int#15(0, 20, 3, 1);call #Ultimate.allocInit(4, 21);call write~init~int#16(32, 21, 0, 1);call write~init~int#16(37, 21, 1, 1);call write~init~int#16(105, 21, 2, 1);call write~init~int#16(0, 21, 3, 1);call #Ultimate.allocInit(4, 22);call write~init~int#17(32, 22, 0, 1);call write~init~int#17(37, 22, 1, 1);call write~init~int#17(105, 22, 2, 1);call write~init~int#17(0, 22, 3, 1);call #Ultimate.allocInit(4, 23);call write~init~int#18(32, 23, 0, 1);call write~init~int#18(37, 23, 1, 1);call write~init~int#18(105, 23, 2, 1);call write~init~int#18(0, 23, 3, 1);call #Ultimate.allocInit(2, 24);call write~init~int#19(10, 24, 0, 1);call write~init~int#19(0, 24, 1, 1);call #Ultimate.allocInit(30, 25);call #Ultimate.allocInit(9, 26);call #Ultimate.allocInit(21, 27);call #Ultimate.allocInit(30, 28);call #Ultimate.allocInit(9, 29);call #Ultimate.allocInit(21, 30);call #Ultimate.allocInit(30, 31);call #Ultimate.allocInit(9, 32);call #Ultimate.allocInit(25, 33);call #Ultimate.allocInit(30, 34);call #Ultimate.allocInit(9, 35);call #Ultimate.allocInit(25, 36);~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;~weight~0 := 0;~maximumWeight~0 := 100;~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;~prevDir~0 := 0;~head~0.base, ~head~0.offset := 0, 0; 246592#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret18#1, main_~retValue_acc~9#1, main_~tmp~8#1;havoc main_~retValue_acc~9#1;havoc main_~tmp~8#1;assume { :begin_inline_select_helpers } true; 246593#select_helpers_returnLabel#1 assume { :end_inline_select_helpers } true;assume { :begin_inline_select_features } true; 248408#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~4#1;havoc valid_product_~retValue_acc~4#1;valid_product_~retValue_acc~4#1 := 1;valid_product_#res#1 := valid_product_~retValue_acc~4#1; 241128#valid_product_returnLabel#1 main_#t~ret18#1 := valid_product_#res#1;havoc valid_product_~retValue_acc~4#1;assume { :end_inline_valid_product } true;main_~tmp~8#1 := main_#t~ret18#1;havoc main_#t~ret18#1; 241129#L1217 assume 0 != main_~tmp~8#1;assume { :begin_inline_setup } true; 242723#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~ret7#1, aliceCall_~tmp~1#1;havoc aliceCall_~tmp~1#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 1;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~6#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~6#1; 241437#L801 assume !(0 == getOrigin_~person#1); 241438#L805 assume 1 == getOrigin_~person#1;getOrigin_~retValue_acc~6#1 := 3;getOrigin_#res#1 := getOrigin_~retValue_acc~6#1; 242754#getOrigin_returnLabel#1 aliceCall_#t~ret7#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~6#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;aliceCall_~tmp~1#1 := aliceCall_#t~ret7#1;havoc aliceCall_#t~ret7#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 1, aliceCall_~tmp~1#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 244306#L409 assume !(0 == initPersonOnFloor_~floor#1); 240694#L436 assume !(1 == initPersonOnFloor_~floor#1); 240695#L463 assume !(2 == initPersonOnFloor_~floor#1); 241803#L490 assume 3 == initPersonOnFloor_~floor#1; 241804#L491 assume !(0 == initPersonOnFloor_~person#1); 243525#L494 assume 1 == initPersonOnFloor_~person#1;~personOnFloor_1_3~0 := 1; 240540#L517-1 assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 241810#L201 assume !(0 == callOnFloor_~floorID#1); 244344#L204 assume !(1 == callOnFloor_~floorID#1); 241640#L207 assume !(2 == callOnFloor_~floorID#1); 241641#L210 assume 3 == callOnFloor_~floorID#1;~calls_3~0 := 1; 242311#L213-2 havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true; 241681#initPersonOnFloor_returnLabel#1 havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true; 241682#aliceCall_returnLabel#1 havoc aliceCall_#t~ret7#1, aliceCall_~tmp~1#1;assume { :end_inline_aliceCall } true;assume { :begin_inline_angelinaCall } true;havoc angelinaCall_#t~ret8#1, angelinaCall_~tmp~2#1;havoc angelinaCall_~tmp~2#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 2;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~6#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~6#1; 240704#L801-1 assume !(0 == getOrigin_~person#1); 240705#L805-1 assume !(1 == getOrigin_~person#1); 245183#L809-1 assume 2 == getOrigin_~person#1;getOrigin_~retValue_acc~6#1 := 2;getOrigin_#res#1 := getOrigin_~retValue_acc~6#1; 240481#getOrigin_returnLabel#2 angelinaCall_#t~ret8#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~6#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;angelinaCall_~tmp~2#1 := angelinaCall_#t~ret8#1;havoc angelinaCall_#t~ret8#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 2, angelinaCall_~tmp~2#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 240482#L409-1 assume !(0 == initPersonOnFloor_~floor#1); 244458#L436-1 assume !(1 == initPersonOnFloor_~floor#1); 244459#L463-1 assume 2 == initPersonOnFloor_~floor#1; 245801#L464-2 assume !(0 == initPersonOnFloor_~person#1); 245802#L467-2 assume 1 == initPersonOnFloor_~person#1;~personOnFloor_1_2~0 := 1; 244934#L517-3 assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 248701#L201-2 assume !(0 == callOnFloor_~floorID#1); 248700#L204-2 assume !(1 == callOnFloor_~floorID#1); 248699#L207-2 assume 2 == callOnFloor_~floorID#1;~calls_2~0 := 1; 246042#L213-5 havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true; 245386#initPersonOnFloor_returnLabel#2 havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true; 245387#angelinaCall_returnLabel#1 havoc angelinaCall_#t~ret8#1, angelinaCall_~tmp~2#1;assume { :end_inline_angelinaCall } true;assume { :begin_inline_threeTS } true;assume { :begin_inline_timeShift } true;havoc timeShift_#t~ret60#1, timeShift_#t~ret61#1, timeShift_#t~ret62#1, timeShift_#t~ret63#1, timeShift_#t~ret64#1, timeShift_#t~ret65#1, timeShift_#t~ret66#1, timeShift_#t~ret67#1, timeShift_#t~ret68#1, timeShift_#t~ret69#1, timeShift_#t~ret70#1, timeShift_~tmp~19#1, timeShift_~tmp___0~7#1, timeShift_~tmp___1~4#1, timeShift_~tmp___2~4#1, timeShift_~tmp___3~3#1, timeShift_~tmp___4~2#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~19#1;havoc timeShift_~tmp___0~7#1;havoc timeShift_~tmp___1~4#1;havoc timeShift_~tmp___2~4#1;havoc timeShift_~tmp___3~3#1;havoc timeShift_~tmp___4~2#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~ret103#1;assume { :begin_inline_getCurrentHeading } true;havoc getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~14#1;havoc getCurrentHeading_~retValue_acc~14#1;getCurrentHeading_~retValue_acc~14#1 := ~currentHeading~0;getCurrentHeading_#res#1 := getCurrentHeading_~retValue_acc~14#1; 248232#getCurrentHeading_returnLabel#1 __utac_acc__Specification13_spec__1_#t~ret103#1 := getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~14#1;assume { :end_inline_getCurrentHeading } true;~prevDir~0 := __utac_acc__Specification13_spec__1_#t~ret103#1;havoc __utac_acc__Specification13_spec__1_#t~ret103#1; 245722#__utac_acc__Specification13_spec__1_returnLabel#1 havoc __utac_acc__Specification13_spec__1_#t~ret103#1;assume { :end_inline___utac_acc__Specification13_spec__1 } true;assume { :begin_inline_stopRequestedAtCurrentFloor } true;havoc stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret45#1, stopRequestedAtCurrentFloor_#t~ret46#1, stopRequestedAtCurrentFloor_#t~ret47#1, stopRequestedAtCurrentFloor_~retValue_acc~22#1, stopRequestedAtCurrentFloor_~tmp~17#1, stopRequestedAtCurrentFloor_~tmp___0~5#1, stopRequestedAtCurrentFloor_~__cil_tmp4~1#1, stopRequestedAtCurrentFloor_~__cil_tmp5~0#1;havoc stopRequestedAtCurrentFloor_~retValue_acc~22#1;havoc stopRequestedAtCurrentFloor_~tmp~17#1;havoc stopRequestedAtCurrentFloor_~tmp___0~5#1;havoc stopRequestedAtCurrentFloor_~__cil_tmp4~1#1;havoc stopRequestedAtCurrentFloor_~__cil_tmp5~0#1;stopRequestedAtCurrentFloor_~__cil_tmp4~1#1 := 2 * ~maximumWeight~0;stopRequestedAtCurrentFloor_~__cil_tmp5~0#1 := (if stopRequestedAtCurrentFloor_~__cil_tmp4~1#1 < 0 && 0 != stopRequestedAtCurrentFloor_~__cil_tmp4~1#1 % 3 then 1 + stopRequestedAtCurrentFloor_~__cil_tmp4~1#1 / 3 else stopRequestedAtCurrentFloor_~__cil_tmp4~1#1 / 3); 245723#L2140 assume ~weight~0 > stopRequestedAtCurrentFloor_~__cil_tmp5~0#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~11#1;havoc getCurrentFloorID_~retValue_acc~11#1;getCurrentFloorID_~retValue_acc~11#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~11#1; 245461#getCurrentFloorID_returnLabel#1 stopRequestedAtCurrentFloor_#t~ret45#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~11#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedAtCurrentFloor_~tmp~17#1 := stopRequestedAtCurrentFloor_#t~ret45#1;havoc stopRequestedAtCurrentFloor_#t~ret45#1;assume { :begin_inline_buttonForFloorIsPressed } true;buttonForFloorIsPressed_#in~floorID#1 := stopRequestedAtCurrentFloor_~tmp~17#1;havoc buttonForFloorIsPressed_#res#1;havoc buttonForFloorIsPressed_~floorID#1, buttonForFloorIsPressed_~retValue_acc~13#1;buttonForFloorIsPressed_~floorID#1 := buttonForFloorIsPressed_#in~floorID#1;havoc buttonForFloorIsPressed_~retValue_acc~13#1; 245462#L1476 assume 0 == buttonForFloorIsPressed_~floorID#1;buttonForFloorIsPressed_~retValue_acc~13#1 := ~floorButtons_0~0;buttonForFloorIsPressed_#res#1 := buttonForFloorIsPressed_~retValue_acc~13#1; 243011#buttonForFloorIsPressed_returnLabel#1 stopRequestedAtCurrentFloor_#t~ret46#1 := buttonForFloorIsPressed_#res#1;havoc buttonForFloorIsPressed_~floorID#1, buttonForFloorIsPressed_~retValue_acc~13#1;havoc buttonForFloorIsPressed_#in~floorID#1;assume { :end_inline_buttonForFloorIsPressed } true;stopRequestedAtCurrentFloor_~tmp___0~5#1 := stopRequestedAtCurrentFloor_#t~ret46#1;havoc stopRequestedAtCurrentFloor_#t~ret46#1;stopRequestedAtCurrentFloor_~retValue_acc~22#1 := (if 1 == stopRequestedAtCurrentFloor_~tmp___0~5#1 then 1 else 0);stopRequestedAtCurrentFloor_#res#1 := stopRequestedAtCurrentFloor_~retValue_acc~22#1; 240169#stopRequestedAtCurrentFloor_returnLabel#1 timeShift_#t~ret60#1 := stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret45#1, stopRequestedAtCurrentFloor_#t~ret46#1, stopRequestedAtCurrentFloor_#t~ret47#1, stopRequestedAtCurrentFloor_~retValue_acc~22#1, stopRequestedAtCurrentFloor_~tmp~17#1, stopRequestedAtCurrentFloor_~tmp___0~5#1, stopRequestedAtCurrentFloor_~__cil_tmp4~1#1, stopRequestedAtCurrentFloor_~__cil_tmp5~0#1;assume { :end_inline_stopRequestedAtCurrentFloor } true;timeShift_~tmp___9~2#1 := timeShift_#t~ret60#1;havoc timeShift_#t~ret60#1; 240170#L2290 assume !(0 != timeShift_~tmp___9~2#1); 242714#L2381 assume 1 == ~doorState~0;~doorState~0 := 0; 242715#L2381-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~ret38#1, stopRequestedInDirection_#t~ret39#1, stopRequestedInDirection_#t~ret40#1, stopRequestedInDirection_#t~ret41#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~19#1, stopRequestedInDirection_~overload~0#1, stopRequestedInDirection_~buttonPressed~0#1, stopRequestedInDirection_~tmp~14#1, stopRequestedInDirection_~__cil_tmp8~0#1, stopRequestedInDirection_~__cil_tmp9~0#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~19#1;havoc stopRequestedInDirection_~overload~0#1;havoc stopRequestedInDirection_~buttonPressed~0#1;havoc stopRequestedInDirection_~tmp~14#1;havoc stopRequestedInDirection_~__cil_tmp8~0#1;havoc stopRequestedInDirection_~__cil_tmp9~0#1;stopRequestedInDirection_~__cil_tmp8~0#1 := 2 * ~maximumWeight~0;stopRequestedInDirection_~__cil_tmp9~0#1 := (if stopRequestedInDirection_~__cil_tmp8~0#1 < 0 && 0 != stopRequestedInDirection_~__cil_tmp8~0#1 % 3 then 1 + stopRequestedInDirection_~__cil_tmp8~0#1 / 3 else stopRequestedInDirection_~__cil_tmp8~0#1 / 3);stopRequestedInDirection_~overload~0#1 := (if ~weight~0 > stopRequestedInDirection_~__cil_tmp9~0#1 then 1 else 0);assume { :begin_inline_isAnyLiftButtonPressed } true;havoc isAnyLiftButtonPressed_#res#1;havoc isAnyLiftButtonPressed_~retValue_acc~20#1;havoc isAnyLiftButtonPressed_~retValue_acc~20#1; 247050#L2043 assume 0 != ~floorButtons_0~0;isAnyLiftButtonPressed_~retValue_acc~20#1 := 1;isAnyLiftButtonPressed_#res#1 := isAnyLiftButtonPressed_~retValue_acc~20#1; 242536#isAnyLiftButtonPressed_returnLabel#1 stopRequestedInDirection_#t~ret38#1 := isAnyLiftButtonPressed_#res#1;havoc isAnyLiftButtonPressed_~retValue_acc~20#1;assume { :end_inline_isAnyLiftButtonPressed } true;stopRequestedInDirection_~tmp~14#1 := stopRequestedInDirection_#t~ret38#1;havoc stopRequestedInDirection_#t~ret38#1;stopRequestedInDirection_~buttonPressed~0#1 := stopRequestedInDirection_~tmp~14#1; 245421#L2016 assume !(0 != stopRequestedInDirection_~overload~0#1);assume { :begin_inline_stopRequestedInDirection__wrappee__weight } true;stopRequestedInDirection__wrappee__weight_#in~dir#1, stopRequestedInDirection__wrappee__weight_#in~respectFloorCalls#1, stopRequestedInDirection__wrappee__weight_#in~respectInLiftCalls#1 := stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1;havoc stopRequestedInDirection__wrappee__weight_#res#1;havoc stopRequestedInDirection__wrappee__weight_#t~ret27#1, stopRequestedInDirection__wrappee__weight_#t~ret28#1, stopRequestedInDirection__wrappee__weight_#t~ret29#1, stopRequestedInDirection__wrappee__weight_#t~ret30#1, stopRequestedInDirection__wrappee__weight_#t~ret31#1, stopRequestedInDirection__wrappee__weight_#t~ret32#1, stopRequestedInDirection__wrappee__weight_#t~ret33#1, stopRequestedInDirection__wrappee__weight_#t~ret34#1, stopRequestedInDirection__wrappee__weight_#t~ret35#1, stopRequestedInDirection__wrappee__weight_#t~ret36#1, stopRequestedInDirection__wrappee__weight_#t~ret37#1, stopRequestedInDirection__wrappee__weight_~dir#1, stopRequestedInDirection__wrappee__weight_~respectFloorCalls#1, stopRequestedInDirection__wrappee__weight_~respectInLiftCalls#1, stopRequestedInDirection__wrappee__weight_~retValue_acc~18#1, stopRequestedInDirection__wrappee__weight_~tmp~13#1, stopRequestedInDirection__wrappee__weight_~tmp___0~3#1, stopRequestedInDirection__wrappee__weight_~tmp___1~2#1, stopRequestedInDirection__wrappee__weight_~tmp___2~2#1, stopRequestedInDirection__wrappee__weight_~tmp___3~1#1, stopRequestedInDirection__wrappee__weight_~tmp___4~0#1, stopRequestedInDirection__wrappee__weight_~tmp___5~0#1, stopRequestedInDirection__wrappee__weight_~tmp___6~0#1, stopRequestedInDirection__wrappee__weight_~tmp___7~0#1, stopRequestedInDirection__wrappee__weight_~tmp___8~0#1, stopRequestedInDirection__wrappee__weight_~tmp___9~0#1;stopRequestedInDirection__wrappee__weight_~dir#1 := stopRequestedInDirection__wrappee__weight_#in~dir#1;stopRequestedInDirection__wrappee__weight_~respectFloorCalls#1 := stopRequestedInDirection__wrappee__weight_#in~respectFloorCalls#1;stopRequestedInDirection__wrappee__weight_~respectInLiftCalls#1 := stopRequestedInDirection__wrappee__weight_#in~respectInLiftCalls#1;havoc stopRequestedInDirection__wrappee__weight_~retValue_acc~18#1;havoc stopRequestedInDirection__wrappee__weight_~tmp~13#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___0~3#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___1~2#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___2~2#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___3~1#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___4~0#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___5~0#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___6~0#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___7~0#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___8~0#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___9~0#1; 243794#L1663-2 assume !(1 == stopRequestedInDirection__wrappee__weight_~dir#1); 243795#L1832-2 assume 0 == ~currentFloorID~0;stopRequestedInDirection__wrappee__weight_~retValue_acc~18#1 := 0;stopRequestedInDirection__wrappee__weight_#res#1 := stopRequestedInDirection__wrappee__weight_~retValue_acc~18#1; 240630#stopRequestedInDirection__wrappee__weight_returnLabel#3 stopRequestedInDirection_#t~ret41#1 := stopRequestedInDirection__wrappee__weight_#res#1;havoc stopRequestedInDirection__wrappee__weight_#t~ret27#1, stopRequestedInDirection__wrappee__weight_#t~ret28#1, stopRequestedInDirection__wrappee__weight_#t~ret29#1, stopRequestedInDirection__wrappee__weight_#t~ret30#1, stopRequestedInDirection__wrappee__weight_#t~ret31#1, stopRequestedInDirection__wrappee__weight_#t~ret32#1, stopRequestedInDirection__wrappee__weight_#t~ret33#1, stopRequestedInDirection__wrappee__weight_#t~ret34#1, stopRequestedInDirection__wrappee__weight_#t~ret35#1, stopRequestedInDirection__wrappee__weight_#t~ret36#1, stopRequestedInDirection__wrappee__weight_#t~ret37#1, stopRequestedInDirection__wrappee__weight_~dir#1, stopRequestedInDirection__wrappee__weight_~respectFloorCalls#1, stopRequestedInDirection__wrappee__weight_~respectInLiftCalls#1, stopRequestedInDirection__wrappee__weight_~retValue_acc~18#1, stopRequestedInDirection__wrappee__weight_~tmp~13#1, stopRequestedInDirection__wrappee__weight_~tmp___0~3#1, stopRequestedInDirection__wrappee__weight_~tmp___1~2#1, stopRequestedInDirection__wrappee__weight_~tmp___2~2#1, stopRequestedInDirection__wrappee__weight_~tmp___3~1#1, stopRequestedInDirection__wrappee__weight_~tmp___4~0#1, stopRequestedInDirection__wrappee__weight_~tmp___5~0#1, stopRequestedInDirection__wrappee__weight_~tmp___6~0#1, stopRequestedInDirection__wrappee__weight_~tmp___7~0#1, stopRequestedInDirection__wrappee__weight_~tmp___8~0#1, stopRequestedInDirection__wrappee__weight_~tmp___9~0#1;havoc stopRequestedInDirection__wrappee__weight_#in~dir#1, stopRequestedInDirection__wrappee__weight_#in~respectFloorCalls#1, stopRequestedInDirection__wrappee__weight_#in~respectInLiftCalls#1;assume { :end_inline_stopRequestedInDirection__wrappee__weight } true;stopRequestedInDirection_~retValue_acc~19#1 := stopRequestedInDirection_#t~ret41#1;havoc stopRequestedInDirection_#t~ret41#1;stopRequestedInDirection_#res#1 := stopRequestedInDirection_~retValue_acc~19#1; 241503#stopRequestedInDirection_returnLabel#1 timeShift_#t~ret67#1 := stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret38#1, stopRequestedInDirection_#t~ret39#1, stopRequestedInDirection_#t~ret40#1, stopRequestedInDirection_#t~ret41#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~19#1, stopRequestedInDirection_~overload~0#1, stopRequestedInDirection_~buttonPressed~0#1, stopRequestedInDirection_~tmp~14#1, stopRequestedInDirection_~__cil_tmp8~0#1, stopRequestedInDirection_~__cil_tmp9~0#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~ret67#1;havoc timeShift_#t~ret67#1; 242905#L2389 assume 0 != timeShift_~tmp___8~2#1;assume { :begin_inline_continueInDirection } true;continueInDirection_#in~dir#1 := ~currentHeading~0;havoc continueInDirection_#t~ret42#1, continueInDirection_~dir#1, continueInDirection_~tmp~15#1;continueInDirection_~dir#1 := continueInDirection_#in~dir#1;havoc continueInDirection_~tmp~15#1;~currentHeading~0 := continueInDirection_~dir#1; 247818#L2078 assume !(1 == ~currentHeading~0); 248098#L2088 assume !(0 == ~currentFloorID~0); 246678#L2088-2 assume 1 == ~currentHeading~0;~currentFloorID~0 := 1 + ~currentFloorID~0; 241756#L2094-1 havoc continueInDirection_#t~ret42#1, continueInDirection_~dir#1, continueInDirection_~tmp~15#1;havoc continueInDirection_#in~dir#1;assume { :end_inline_continueInDirection } true; 240129#L2398-2 assume { :begin_inline___utac_acc__Specification13_spec__2 } true;havoc __utac_acc__Specification13_spec__2_#t~ret104#1, __utac_acc__Specification13_spec__2_#t~ret105#1, __utac_acc__Specification13_spec__2_#t~ret106#1, __utac_acc__Specification13_spec__2_#t~ret107#1, __utac_acc__Specification13_spec__2_#t~ret108#1, __utac_acc__Specification13_spec__2_#t~ret109#1, __utac_acc__Specification13_spec__2_~tmp~23#1, __utac_acc__Specification13_spec__2_~tmp___0~11#1, __utac_acc__Specification13_spec__2_~tmp___1~8#1, __utac_acc__Specification13_spec__2_~tmp___2~6#1, __utac_acc__Specification13_spec__2_~tmp___3~5#1, __utac_acc__Specification13_spec__2_~tmp___4~3#1, __utac_acc__Specification13_spec__2_~__cil_tmp7~1#1, __utac_acc__Specification13_spec__2_~__cil_tmp8~2#1;havoc __utac_acc__Specification13_spec__2_~tmp~23#1;havoc __utac_acc__Specification13_spec__2_~tmp___0~11#1;havoc __utac_acc__Specification13_spec__2_~tmp___1~8#1;havoc __utac_acc__Specification13_spec__2_~tmp___2~6#1;havoc __utac_acc__Specification13_spec__2_~tmp___3~5#1;havoc __utac_acc__Specification13_spec__2_~tmp___4~3#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp7~1#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp8~2#1;__utac_acc__Specification13_spec__2_~__cil_tmp7~1#1 := 2 * ~maximumWeight~0;__utac_acc__Specification13_spec__2_~__cil_tmp8~2#1 := (if __utac_acc__Specification13_spec__2_~__cil_tmp7~1#1 < 0 && 0 != __utac_acc__Specification13_spec__2_~__cil_tmp7~1#1 % 3 then 1 + __utac_acc__Specification13_spec__2_~__cil_tmp7~1#1 / 3 else __utac_acc__Specification13_spec__2_~__cil_tmp7~1#1 / 3); 240130#L2887 assume ~weight~0 > __utac_acc__Specification13_spec__2_~__cil_tmp8~2#1; 244440#L2888 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~24#1, existInLiftCallsInDirection_~i~1#1, existInLiftCallsInDirection_~i___0~0#1;existInLiftCallsInDirection_~d#1 := existInLiftCallsInDirection_#in~d#1;havoc existInLiftCallsInDirection_~retValue_acc~24#1;havoc existInLiftCallsInDirection_~i~1#1;havoc existInLiftCallsInDirection_~i___0~0#1; 240701#L2593 assume !(1 == existInLiftCallsInDirection_~d#1); 240702#L2659 assume 0 == existInLiftCallsInDirection_~d#1;existInLiftCallsInDirection_~i___0~0#1 := 0;existInLiftCallsInDirection_~i___0~0#1 := ~currentFloorID~0 - 1; 246296#L2663-2 [2024-10-12 00:47:28,645 INFO L747 eck$LassoCheckResult]: Loop: 246296#L2663-2 assume !false; 243426#L2664 assume existInLiftCallsInDirection_~i___0~0#1 >= 0; 243427#L2665 existInLiftCallsInDirection_~i___0~0#1 := 1 + ~currentFloorID~0; 241117#L2672-2 assume !false; 241118#L2673 assume !(existInLiftCallsInDirection_~i___0~0#1 < 5); 246100#L2731 existInLiftCallsInDirection_~i___0~0#1 := existInLiftCallsInDirection_~i___0~0#1 - 1; 246296#L2663-2 [2024-10-12 00:47:28,646 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-12 00:47:28,646 INFO L85 PathProgramCache]: Analyzing trace with hash 1773062819, now seen corresponding path program 1 times [2024-10-12 00:47:28,646 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-12 00:47:28,646 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1936010838] [2024-10-12 00:47:28,646 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-12 00:47:28,647 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-12 00:47:28,677 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-12 00:47:28,756 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,757 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-10-12 00:47:28,757 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1936010838] [2024-10-12 00:47:28,757 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1936010838] provided 1 perfect and 0 imperfect interpolant sequences [2024-10-12 00:47:28,757 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-10-12 00:47:28,757 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2024-10-12 00:47:28,758 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [31165454] [2024-10-12 00:47:28,758 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-10-12 00:47:28,758 INFO L750 eck$LassoCheckResult]: stem already infeasible [2024-10-12 00:47:28,758 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-12 00:47:28,759 INFO L85 PathProgramCache]: Analyzing trace with hash 964799947, now seen corresponding path program 8 times [2024-10-12 00:47:28,759 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-12 00:47:28,759 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [527523072] [2024-10-12 00:47:28,759 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-12 00:47:28,759 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-12 00:47:28,768 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-12 00:47:28,769 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-10-12 00:47:28,770 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-12 00:47:28,777 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-10-12 00:47:28,798 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-10-12 00:47:28,799 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2024-10-12 00:47:28,799 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2024-10-12 00:47:28,799 INFO L87 Difference]: Start difference. First operand 9182 states and 17114 transitions. cyclomatic complexity: 7967 Second operand has 4 states, 4 states have (on average 16.75) internal successors, (67), 4 states have internal predecessors, (67), 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,186 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-10-12 00:47:29,187 INFO L93 Difference]: Finished difference Result 9198 states and 17126 transitions. [2024-10-12 00:47:29,187 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 9198 states and 17126 transitions. [2024-10-12 00:47:29,215 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 2326 [2024-10-12 00:47:29,236 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 9198 states to 9198 states and 17126 transitions. [2024-10-12 00:47:29,236 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 9160 [2024-10-12 00:47:29,242 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 9160 [2024-10-12 00:47:29,243 INFO L73 IsDeterministic]: Start isDeterministic. Operand 9198 states and 17126 transitions. [2024-10-12 00:47:29,244 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-10-12 00:47:29,244 INFO L218 hiAutomatonCegarLoop]: Abstraction has 9198 states and 17126 transitions. [2024-10-12 00:47:29,255 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 9198 states and 17126 transitions. [2024-10-12 00:47:29,341 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 9198 to 9182. [2024-10-12 00:47:29,354 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9182 states, 9182 states have (on average 1.8629928120235242) internal successors, (17106), 9181 states have internal predecessors, (17106), 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,374 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9182 states to 9182 states and 17106 transitions. [2024-10-12 00:47:29,374 INFO L240 hiAutomatonCegarLoop]: Abstraction has 9182 states and 17106 transitions. [2024-10-12 00:47:29,375 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2024-10-12 00:47:29,375 INFO L425 stractBuchiCegarLoop]: Abstraction has 9182 states and 17106 transitions. [2024-10-12 00:47:29,375 INFO L332 stractBuchiCegarLoop]: ======== Iteration 11 ============ [2024-10-12 00:47:29,375 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 9182 states and 17106 transitions. [2024-10-12 00:47:29,399 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 2326 [2024-10-12 00:47:29,400 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-10-12 00:47:29,400 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-10-12 00:47:29,400 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:29,400 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1] [2024-10-12 00:47:29,401 INFO L745 eck$LassoCheckResult]: Stem: 265239#$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(10, 4);call #Ultimate.allocInit(4, 5);call write~init~int#1(91, 5, 0, 1);call write~init~int#1(95, 5, 1, 1);call write~init~int#1(93, 5, 2, 1);call write~init~int#1(0, 5, 3, 1);call #Ultimate.allocInit(4, 6);call write~init~int#2(91, 6, 0, 1);call write~init~int#2(93, 6, 1, 1);call write~init~int#2(32, 6, 2, 1);call write~init~int#2(0, 6, 3, 1);call #Ultimate.allocInit(5, 7);call write~init~int#3(32, 7, 0, 1);call write~init~int#3(97, 7, 1, 1);call write~init~int#3(116, 7, 2, 1);call write~init~int#3(32, 7, 3, 1);call write~init~int#3(0, 7, 4, 1);call #Ultimate.allocInit(3, 8);call write~init~int#4(37, 8, 0, 1);call write~init~int#4(105, 8, 1, 1);call write~init~int#4(0, 8, 2, 1);call #Ultimate.allocInit(10, 9);call #Ultimate.allocInit(3, 10);call write~init~int#5(117, 10, 0, 1);call write~init~int#5(112, 10, 1, 1);call write~init~int#5(0, 10, 2, 1);call #Ultimate.allocInit(5, 11);call write~init~int#6(100, 11, 0, 1);call write~init~int#6(111, 11, 1, 1);call write~init~int#6(119, 11, 2, 1);call write~init~int#6(110, 11, 3, 1);call write~init~int#6(0, 11, 4, 1);call #Ultimate.allocInit(7, 12);call write~init~int#7(32, 12, 0, 1);call write~init~int#7(73, 12, 1, 1);call write~init~int#7(76, 12, 2, 1);call write~init~int#7(95, 12, 3, 1);call write~init~int#7(112, 12, 4, 1);call write~init~int#7(58, 12, 5, 1);call write~init~int#7(0, 12, 6, 1);call #Ultimate.allocInit(4, 13);call write~init~int#8(32, 13, 0, 1);call write~init~int#8(37, 13, 1, 1);call write~init~int#8(105, 13, 2, 1);call write~init~int#8(0, 13, 3, 1);call #Ultimate.allocInit(4, 14);call write~init~int#9(32, 14, 0, 1);call write~init~int#9(37, 14, 1, 1);call write~init~int#9(105, 14, 2, 1);call write~init~int#9(0, 14, 3, 1);call #Ultimate.allocInit(4, 15);call write~init~int#10(32, 15, 0, 1);call write~init~int#10(37, 15, 1, 1);call write~init~int#10(105, 15, 2, 1);call write~init~int#10(0, 15, 3, 1);call #Ultimate.allocInit(4, 16);call write~init~int#11(32, 16, 0, 1);call write~init~int#11(37, 16, 1, 1);call write~init~int#11(105, 16, 2, 1);call write~init~int#11(0, 16, 3, 1);call #Ultimate.allocInit(4, 17);call write~init~int#12(32, 17, 0, 1);call write~init~int#12(37, 17, 1, 1);call write~init~int#12(105, 17, 2, 1);call write~init~int#12(0, 17, 3, 1);call #Ultimate.allocInit(6, 18);call write~init~int#13(32, 18, 0, 1);call write~init~int#13(70, 18, 1, 1);call write~init~int#13(95, 18, 2, 1);call write~init~int#13(112, 18, 3, 1);call write~init~int#13(58, 18, 4, 1);call write~init~int#13(0, 18, 5, 1);call #Ultimate.allocInit(4, 19);call write~init~int#14(32, 19, 0, 1);call write~init~int#14(37, 19, 1, 1);call write~init~int#14(105, 19, 2, 1);call write~init~int#14(0, 19, 3, 1);call #Ultimate.allocInit(4, 20);call write~init~int#15(32, 20, 0, 1);call write~init~int#15(37, 20, 1, 1);call write~init~int#15(105, 20, 2, 1);call write~init~int#15(0, 20, 3, 1);call #Ultimate.allocInit(4, 21);call write~init~int#16(32, 21, 0, 1);call write~init~int#16(37, 21, 1, 1);call write~init~int#16(105, 21, 2, 1);call write~init~int#16(0, 21, 3, 1);call #Ultimate.allocInit(4, 22);call write~init~int#17(32, 22, 0, 1);call write~init~int#17(37, 22, 1, 1);call write~init~int#17(105, 22, 2, 1);call write~init~int#17(0, 22, 3, 1);call #Ultimate.allocInit(4, 23);call write~init~int#18(32, 23, 0, 1);call write~init~int#18(37, 23, 1, 1);call write~init~int#18(105, 23, 2, 1);call write~init~int#18(0, 23, 3, 1);call #Ultimate.allocInit(2, 24);call write~init~int#19(10, 24, 0, 1);call write~init~int#19(0, 24, 1, 1);call #Ultimate.allocInit(30, 25);call #Ultimate.allocInit(9, 26);call #Ultimate.allocInit(21, 27);call #Ultimate.allocInit(30, 28);call #Ultimate.allocInit(9, 29);call #Ultimate.allocInit(21, 30);call #Ultimate.allocInit(30, 31);call #Ultimate.allocInit(9, 32);call #Ultimate.allocInit(25, 33);call #Ultimate.allocInit(30, 34);call #Ultimate.allocInit(9, 35);call #Ultimate.allocInit(25, 36);~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;~weight~0 := 0;~maximumWeight~0 := 100;~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;~prevDir~0 := 0;~head~0.base, ~head~0.offset := 0, 0; 264979#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret18#1, main_~retValue_acc~9#1, main_~tmp~8#1;havoc main_~retValue_acc~9#1;havoc main_~tmp~8#1;assume { :begin_inline_select_helpers } true; 264980#select_helpers_returnLabel#1 assume { :end_inline_select_helpers } true;assume { :begin_inline_select_features } true; 266795#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~4#1;havoc valid_product_~retValue_acc~4#1;valid_product_~retValue_acc~4#1 := 1;valid_product_#res#1 := valid_product_~retValue_acc~4#1; 259514#valid_product_returnLabel#1 main_#t~ret18#1 := valid_product_#res#1;havoc valid_product_~retValue_acc~4#1;assume { :end_inline_valid_product } true;main_~tmp~8#1 := main_#t~ret18#1;havoc main_#t~ret18#1; 259515#L1217 assume 0 != main_~tmp~8#1;assume { :begin_inline_setup } true; 261110#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~ret7#1, aliceCall_~tmp~1#1;havoc aliceCall_~tmp~1#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 1;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~6#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~6#1; 259823#L801 assume !(0 == getOrigin_~person#1); 259824#L805 assume 1 == getOrigin_~person#1;getOrigin_~retValue_acc~6#1 := 3;getOrigin_#res#1 := getOrigin_~retValue_acc~6#1; 261141#getOrigin_returnLabel#1 aliceCall_#t~ret7#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~6#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;aliceCall_~tmp~1#1 := aliceCall_#t~ret7#1;havoc aliceCall_#t~ret7#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 1, aliceCall_~tmp~1#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 262693#L409 assume !(0 == initPersonOnFloor_~floor#1); 259079#L436 assume !(1 == initPersonOnFloor_~floor#1); 259080#L463 assume !(2 == initPersonOnFloor_~floor#1); 260189#L490 assume 3 == initPersonOnFloor_~floor#1; 260190#L491 assume !(0 == initPersonOnFloor_~person#1); 261912#L494 assume 1 == initPersonOnFloor_~person#1;~personOnFloor_1_3~0 := 1; 258925#L517-1 assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 260196#L201 assume !(0 == callOnFloor_~floorID#1); 262731#L204 assume !(1 == callOnFloor_~floorID#1); 260026#L207 assume !(2 == callOnFloor_~floorID#1); 260027#L210 assume 3 == callOnFloor_~floorID#1;~calls_3~0 := 1; 260698#L213-2 havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true; 260067#initPersonOnFloor_returnLabel#1 havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true; 260068#aliceCall_returnLabel#1 havoc aliceCall_#t~ret7#1, aliceCall_~tmp~1#1;assume { :end_inline_aliceCall } true;assume { :begin_inline_angelinaCall } true;havoc angelinaCall_#t~ret8#1, angelinaCall_~tmp~2#1;havoc angelinaCall_~tmp~2#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 2;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~6#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~6#1; 259089#L801-1 assume !(0 == getOrigin_~person#1); 259090#L805-1 assume !(1 == getOrigin_~person#1); 263570#L809-1 assume 2 == getOrigin_~person#1;getOrigin_~retValue_acc~6#1 := 2;getOrigin_#res#1 := getOrigin_~retValue_acc~6#1; 258866#getOrigin_returnLabel#2 angelinaCall_#t~ret8#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~6#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;angelinaCall_~tmp~2#1 := angelinaCall_#t~ret8#1;havoc angelinaCall_#t~ret8#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 2, angelinaCall_~tmp~2#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 258867#L409-1 assume !(0 == initPersonOnFloor_~floor#1); 262845#L436-1 assume !(1 == initPersonOnFloor_~floor#1); 262846#L463-1 assume 2 == initPersonOnFloor_~floor#1; 264188#L464-2 assume !(0 == initPersonOnFloor_~person#1); 264189#L467-2 assume !(1 == initPersonOnFloor_~person#1); 264404#L470-2 assume 2 == initPersonOnFloor_~person#1;~personOnFloor_2_2~0 := 1; 263321#L517-3 assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 267098#L201-2 assume !(0 == callOnFloor_~floorID#1); 267097#L204-2 assume !(1 == callOnFloor_~floorID#1); 267096#L207-2 assume 2 == callOnFloor_~floorID#1;~calls_2~0 := 1; 264429#L213-5 havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true; 263773#initPersonOnFloor_returnLabel#2 havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true; 263774#angelinaCall_returnLabel#1 havoc angelinaCall_#t~ret8#1, angelinaCall_~tmp~2#1;assume { :end_inline_angelinaCall } true;assume { :begin_inline_threeTS } true;assume { :begin_inline_timeShift } true;havoc timeShift_#t~ret60#1, timeShift_#t~ret61#1, timeShift_#t~ret62#1, timeShift_#t~ret63#1, timeShift_#t~ret64#1, timeShift_#t~ret65#1, timeShift_#t~ret66#1, timeShift_#t~ret67#1, timeShift_#t~ret68#1, timeShift_#t~ret69#1, timeShift_#t~ret70#1, timeShift_~tmp~19#1, timeShift_~tmp___0~7#1, timeShift_~tmp___1~4#1, timeShift_~tmp___2~4#1, timeShift_~tmp___3~3#1, timeShift_~tmp___4~2#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~19#1;havoc timeShift_~tmp___0~7#1;havoc timeShift_~tmp___1~4#1;havoc timeShift_~tmp___2~4#1;havoc timeShift_~tmp___3~3#1;havoc timeShift_~tmp___4~2#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~ret103#1;assume { :begin_inline_getCurrentHeading } true;havoc getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~14#1;havoc getCurrentHeading_~retValue_acc~14#1;getCurrentHeading_~retValue_acc~14#1 := ~currentHeading~0;getCurrentHeading_#res#1 := getCurrentHeading_~retValue_acc~14#1; 266619#getCurrentHeading_returnLabel#1 __utac_acc__Specification13_spec__1_#t~ret103#1 := getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~14#1;assume { :end_inline_getCurrentHeading } true;~prevDir~0 := __utac_acc__Specification13_spec__1_#t~ret103#1;havoc __utac_acc__Specification13_spec__1_#t~ret103#1; 264109#__utac_acc__Specification13_spec__1_returnLabel#1 havoc __utac_acc__Specification13_spec__1_#t~ret103#1;assume { :end_inline___utac_acc__Specification13_spec__1 } true;assume { :begin_inline_stopRequestedAtCurrentFloor } true;havoc stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret45#1, stopRequestedAtCurrentFloor_#t~ret46#1, stopRequestedAtCurrentFloor_#t~ret47#1, stopRequestedAtCurrentFloor_~retValue_acc~22#1, stopRequestedAtCurrentFloor_~tmp~17#1, stopRequestedAtCurrentFloor_~tmp___0~5#1, stopRequestedAtCurrentFloor_~__cil_tmp4~1#1, stopRequestedAtCurrentFloor_~__cil_tmp5~0#1;havoc stopRequestedAtCurrentFloor_~retValue_acc~22#1;havoc stopRequestedAtCurrentFloor_~tmp~17#1;havoc stopRequestedAtCurrentFloor_~tmp___0~5#1;havoc stopRequestedAtCurrentFloor_~__cil_tmp4~1#1;havoc stopRequestedAtCurrentFloor_~__cil_tmp5~0#1;stopRequestedAtCurrentFloor_~__cil_tmp4~1#1 := 2 * ~maximumWeight~0;stopRequestedAtCurrentFloor_~__cil_tmp5~0#1 := (if stopRequestedAtCurrentFloor_~__cil_tmp4~1#1 < 0 && 0 != stopRequestedAtCurrentFloor_~__cil_tmp4~1#1 % 3 then 1 + stopRequestedAtCurrentFloor_~__cil_tmp4~1#1 / 3 else stopRequestedAtCurrentFloor_~__cil_tmp4~1#1 / 3); 264110#L2140 assume ~weight~0 > stopRequestedAtCurrentFloor_~__cil_tmp5~0#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~11#1;havoc getCurrentFloorID_~retValue_acc~11#1;getCurrentFloorID_~retValue_acc~11#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~11#1; 263848#getCurrentFloorID_returnLabel#1 stopRequestedAtCurrentFloor_#t~ret45#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~11#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedAtCurrentFloor_~tmp~17#1 := stopRequestedAtCurrentFloor_#t~ret45#1;havoc stopRequestedAtCurrentFloor_#t~ret45#1;assume { :begin_inline_buttonForFloorIsPressed } true;buttonForFloorIsPressed_#in~floorID#1 := stopRequestedAtCurrentFloor_~tmp~17#1;havoc buttonForFloorIsPressed_#res#1;havoc buttonForFloorIsPressed_~floorID#1, buttonForFloorIsPressed_~retValue_acc~13#1;buttonForFloorIsPressed_~floorID#1 := buttonForFloorIsPressed_#in~floorID#1;havoc buttonForFloorIsPressed_~retValue_acc~13#1; 263849#L1476 assume 0 == buttonForFloorIsPressed_~floorID#1;buttonForFloorIsPressed_~retValue_acc~13#1 := ~floorButtons_0~0;buttonForFloorIsPressed_#res#1 := buttonForFloorIsPressed_~retValue_acc~13#1; 261398#buttonForFloorIsPressed_returnLabel#1 stopRequestedAtCurrentFloor_#t~ret46#1 := buttonForFloorIsPressed_#res#1;havoc buttonForFloorIsPressed_~floorID#1, buttonForFloorIsPressed_~retValue_acc~13#1;havoc buttonForFloorIsPressed_#in~floorID#1;assume { :end_inline_buttonForFloorIsPressed } true;stopRequestedAtCurrentFloor_~tmp___0~5#1 := stopRequestedAtCurrentFloor_#t~ret46#1;havoc stopRequestedAtCurrentFloor_#t~ret46#1;stopRequestedAtCurrentFloor_~retValue_acc~22#1 := (if 1 == stopRequestedAtCurrentFloor_~tmp___0~5#1 then 1 else 0);stopRequestedAtCurrentFloor_#res#1 := stopRequestedAtCurrentFloor_~retValue_acc~22#1; 258555#stopRequestedAtCurrentFloor_returnLabel#1 timeShift_#t~ret60#1 := stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret45#1, stopRequestedAtCurrentFloor_#t~ret46#1, stopRequestedAtCurrentFloor_#t~ret47#1, stopRequestedAtCurrentFloor_~retValue_acc~22#1, stopRequestedAtCurrentFloor_~tmp~17#1, stopRequestedAtCurrentFloor_~tmp___0~5#1, stopRequestedAtCurrentFloor_~__cil_tmp4~1#1, stopRequestedAtCurrentFloor_~__cil_tmp5~0#1;assume { :end_inline_stopRequestedAtCurrentFloor } true;timeShift_~tmp___9~2#1 := timeShift_#t~ret60#1;havoc timeShift_#t~ret60#1; 258556#L2290 assume !(0 != timeShift_~tmp___9~2#1); 261101#L2381 assume 1 == ~doorState~0;~doorState~0 := 0; 261102#L2381-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~ret38#1, stopRequestedInDirection_#t~ret39#1, stopRequestedInDirection_#t~ret40#1, stopRequestedInDirection_#t~ret41#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~19#1, stopRequestedInDirection_~overload~0#1, stopRequestedInDirection_~buttonPressed~0#1, stopRequestedInDirection_~tmp~14#1, stopRequestedInDirection_~__cil_tmp8~0#1, stopRequestedInDirection_~__cil_tmp9~0#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~19#1;havoc stopRequestedInDirection_~overload~0#1;havoc stopRequestedInDirection_~buttonPressed~0#1;havoc stopRequestedInDirection_~tmp~14#1;havoc stopRequestedInDirection_~__cil_tmp8~0#1;havoc stopRequestedInDirection_~__cil_tmp9~0#1;stopRequestedInDirection_~__cil_tmp8~0#1 := 2 * ~maximumWeight~0;stopRequestedInDirection_~__cil_tmp9~0#1 := (if stopRequestedInDirection_~__cil_tmp8~0#1 < 0 && 0 != stopRequestedInDirection_~__cil_tmp8~0#1 % 3 then 1 + stopRequestedInDirection_~__cil_tmp8~0#1 / 3 else stopRequestedInDirection_~__cil_tmp8~0#1 / 3);stopRequestedInDirection_~overload~0#1 := (if ~weight~0 > stopRequestedInDirection_~__cil_tmp9~0#1 then 1 else 0);assume { :begin_inline_isAnyLiftButtonPressed } true;havoc isAnyLiftButtonPressed_#res#1;havoc isAnyLiftButtonPressed_~retValue_acc~20#1;havoc isAnyLiftButtonPressed_~retValue_acc~20#1; 265437#L2043 assume 0 != ~floorButtons_0~0;isAnyLiftButtonPressed_~retValue_acc~20#1 := 1;isAnyLiftButtonPressed_#res#1 := isAnyLiftButtonPressed_~retValue_acc~20#1; 260923#isAnyLiftButtonPressed_returnLabel#1 stopRequestedInDirection_#t~ret38#1 := isAnyLiftButtonPressed_#res#1;havoc isAnyLiftButtonPressed_~retValue_acc~20#1;assume { :end_inline_isAnyLiftButtonPressed } true;stopRequestedInDirection_~tmp~14#1 := stopRequestedInDirection_#t~ret38#1;havoc stopRequestedInDirection_#t~ret38#1;stopRequestedInDirection_~buttonPressed~0#1 := stopRequestedInDirection_~tmp~14#1; 263808#L2016 assume !(0 != stopRequestedInDirection_~overload~0#1);assume { :begin_inline_stopRequestedInDirection__wrappee__weight } true;stopRequestedInDirection__wrappee__weight_#in~dir#1, stopRequestedInDirection__wrappee__weight_#in~respectFloorCalls#1, stopRequestedInDirection__wrappee__weight_#in~respectInLiftCalls#1 := stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1;havoc stopRequestedInDirection__wrappee__weight_#res#1;havoc stopRequestedInDirection__wrappee__weight_#t~ret27#1, stopRequestedInDirection__wrappee__weight_#t~ret28#1, stopRequestedInDirection__wrappee__weight_#t~ret29#1, stopRequestedInDirection__wrappee__weight_#t~ret30#1, stopRequestedInDirection__wrappee__weight_#t~ret31#1, stopRequestedInDirection__wrappee__weight_#t~ret32#1, stopRequestedInDirection__wrappee__weight_#t~ret33#1, stopRequestedInDirection__wrappee__weight_#t~ret34#1, stopRequestedInDirection__wrappee__weight_#t~ret35#1, stopRequestedInDirection__wrappee__weight_#t~ret36#1, stopRequestedInDirection__wrappee__weight_#t~ret37#1, stopRequestedInDirection__wrappee__weight_~dir#1, stopRequestedInDirection__wrappee__weight_~respectFloorCalls#1, stopRequestedInDirection__wrappee__weight_~respectInLiftCalls#1, stopRequestedInDirection__wrappee__weight_~retValue_acc~18#1, stopRequestedInDirection__wrappee__weight_~tmp~13#1, stopRequestedInDirection__wrappee__weight_~tmp___0~3#1, stopRequestedInDirection__wrappee__weight_~tmp___1~2#1, stopRequestedInDirection__wrappee__weight_~tmp___2~2#1, stopRequestedInDirection__wrappee__weight_~tmp___3~1#1, stopRequestedInDirection__wrappee__weight_~tmp___4~0#1, stopRequestedInDirection__wrappee__weight_~tmp___5~0#1, stopRequestedInDirection__wrappee__weight_~tmp___6~0#1, stopRequestedInDirection__wrappee__weight_~tmp___7~0#1, stopRequestedInDirection__wrappee__weight_~tmp___8~0#1, stopRequestedInDirection__wrappee__weight_~tmp___9~0#1;stopRequestedInDirection__wrappee__weight_~dir#1 := stopRequestedInDirection__wrappee__weight_#in~dir#1;stopRequestedInDirection__wrappee__weight_~respectFloorCalls#1 := stopRequestedInDirection__wrappee__weight_#in~respectFloorCalls#1;stopRequestedInDirection__wrappee__weight_~respectInLiftCalls#1 := stopRequestedInDirection__wrappee__weight_#in~respectInLiftCalls#1;havoc stopRequestedInDirection__wrappee__weight_~retValue_acc~18#1;havoc stopRequestedInDirection__wrappee__weight_~tmp~13#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___0~3#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___1~2#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___2~2#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___3~1#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___4~0#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___5~0#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___6~0#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___7~0#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___8~0#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___9~0#1; 262181#L1663-2 assume !(1 == stopRequestedInDirection__wrappee__weight_~dir#1); 262182#L1832-2 assume 0 == ~currentFloorID~0;stopRequestedInDirection__wrappee__weight_~retValue_acc~18#1 := 0;stopRequestedInDirection__wrappee__weight_#res#1 := stopRequestedInDirection__wrappee__weight_~retValue_acc~18#1; 259015#stopRequestedInDirection__wrappee__weight_returnLabel#3 stopRequestedInDirection_#t~ret41#1 := stopRequestedInDirection__wrappee__weight_#res#1;havoc stopRequestedInDirection__wrappee__weight_#t~ret27#1, stopRequestedInDirection__wrappee__weight_#t~ret28#1, stopRequestedInDirection__wrappee__weight_#t~ret29#1, stopRequestedInDirection__wrappee__weight_#t~ret30#1, stopRequestedInDirection__wrappee__weight_#t~ret31#1, stopRequestedInDirection__wrappee__weight_#t~ret32#1, stopRequestedInDirection__wrappee__weight_#t~ret33#1, stopRequestedInDirection__wrappee__weight_#t~ret34#1, stopRequestedInDirection__wrappee__weight_#t~ret35#1, stopRequestedInDirection__wrappee__weight_#t~ret36#1, stopRequestedInDirection__wrappee__weight_#t~ret37#1, stopRequestedInDirection__wrappee__weight_~dir#1, stopRequestedInDirection__wrappee__weight_~respectFloorCalls#1, stopRequestedInDirection__wrappee__weight_~respectInLiftCalls#1, stopRequestedInDirection__wrappee__weight_~retValue_acc~18#1, stopRequestedInDirection__wrappee__weight_~tmp~13#1, stopRequestedInDirection__wrappee__weight_~tmp___0~3#1, stopRequestedInDirection__wrappee__weight_~tmp___1~2#1, stopRequestedInDirection__wrappee__weight_~tmp___2~2#1, stopRequestedInDirection__wrappee__weight_~tmp___3~1#1, stopRequestedInDirection__wrappee__weight_~tmp___4~0#1, stopRequestedInDirection__wrappee__weight_~tmp___5~0#1, stopRequestedInDirection__wrappee__weight_~tmp___6~0#1, stopRequestedInDirection__wrappee__weight_~tmp___7~0#1, stopRequestedInDirection__wrappee__weight_~tmp___8~0#1, stopRequestedInDirection__wrappee__weight_~tmp___9~0#1;havoc stopRequestedInDirection__wrappee__weight_#in~dir#1, stopRequestedInDirection__wrappee__weight_#in~respectFloorCalls#1, stopRequestedInDirection__wrappee__weight_#in~respectInLiftCalls#1;assume { :end_inline_stopRequestedInDirection__wrappee__weight } true;stopRequestedInDirection_~retValue_acc~19#1 := stopRequestedInDirection_#t~ret41#1;havoc stopRequestedInDirection_#t~ret41#1;stopRequestedInDirection_#res#1 := stopRequestedInDirection_~retValue_acc~19#1; 259889#stopRequestedInDirection_returnLabel#1 timeShift_#t~ret67#1 := stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret38#1, stopRequestedInDirection_#t~ret39#1, stopRequestedInDirection_#t~ret40#1, stopRequestedInDirection_#t~ret41#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~19#1, stopRequestedInDirection_~overload~0#1, stopRequestedInDirection_~buttonPressed~0#1, stopRequestedInDirection_~tmp~14#1, stopRequestedInDirection_~__cil_tmp8~0#1, stopRequestedInDirection_~__cil_tmp9~0#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~ret67#1;havoc timeShift_#t~ret67#1; 261292#L2389 assume 0 != timeShift_~tmp___8~2#1;assume { :begin_inline_continueInDirection } true;continueInDirection_#in~dir#1 := ~currentHeading~0;havoc continueInDirection_#t~ret42#1, continueInDirection_~dir#1, continueInDirection_~tmp~15#1;continueInDirection_~dir#1 := continueInDirection_#in~dir#1;havoc continueInDirection_~tmp~15#1;~currentHeading~0 := continueInDirection_~dir#1; 266205#L2078 assume !(1 == ~currentHeading~0); 266485#L2088 assume !(0 == ~currentFloorID~0); 265065#L2088-2 assume 1 == ~currentHeading~0;~currentFloorID~0 := 1 + ~currentFloorID~0; 260142#L2094-1 havoc continueInDirection_#t~ret42#1, continueInDirection_~dir#1, continueInDirection_~tmp~15#1;havoc continueInDirection_#in~dir#1;assume { :end_inline_continueInDirection } true; 258515#L2398-2 assume { :begin_inline___utac_acc__Specification13_spec__2 } true;havoc __utac_acc__Specification13_spec__2_#t~ret104#1, __utac_acc__Specification13_spec__2_#t~ret105#1, __utac_acc__Specification13_spec__2_#t~ret106#1, __utac_acc__Specification13_spec__2_#t~ret107#1, __utac_acc__Specification13_spec__2_#t~ret108#1, __utac_acc__Specification13_spec__2_#t~ret109#1, __utac_acc__Specification13_spec__2_~tmp~23#1, __utac_acc__Specification13_spec__2_~tmp___0~11#1, __utac_acc__Specification13_spec__2_~tmp___1~8#1, __utac_acc__Specification13_spec__2_~tmp___2~6#1, __utac_acc__Specification13_spec__2_~tmp___3~5#1, __utac_acc__Specification13_spec__2_~tmp___4~3#1, __utac_acc__Specification13_spec__2_~__cil_tmp7~1#1, __utac_acc__Specification13_spec__2_~__cil_tmp8~2#1;havoc __utac_acc__Specification13_spec__2_~tmp~23#1;havoc __utac_acc__Specification13_spec__2_~tmp___0~11#1;havoc __utac_acc__Specification13_spec__2_~tmp___1~8#1;havoc __utac_acc__Specification13_spec__2_~tmp___2~6#1;havoc __utac_acc__Specification13_spec__2_~tmp___3~5#1;havoc __utac_acc__Specification13_spec__2_~tmp___4~3#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp7~1#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp8~2#1;__utac_acc__Specification13_spec__2_~__cil_tmp7~1#1 := 2 * ~maximumWeight~0;__utac_acc__Specification13_spec__2_~__cil_tmp8~2#1 := (if __utac_acc__Specification13_spec__2_~__cil_tmp7~1#1 < 0 && 0 != __utac_acc__Specification13_spec__2_~__cil_tmp7~1#1 % 3 then 1 + __utac_acc__Specification13_spec__2_~__cil_tmp7~1#1 / 3 else __utac_acc__Specification13_spec__2_~__cil_tmp7~1#1 / 3); 258516#L2887 assume ~weight~0 > __utac_acc__Specification13_spec__2_~__cil_tmp8~2#1; 262827#L2888 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~24#1, existInLiftCallsInDirection_~i~1#1, existInLiftCallsInDirection_~i___0~0#1;existInLiftCallsInDirection_~d#1 := existInLiftCallsInDirection_#in~d#1;havoc existInLiftCallsInDirection_~retValue_acc~24#1;havoc existInLiftCallsInDirection_~i~1#1;havoc existInLiftCallsInDirection_~i___0~0#1; 259086#L2593 assume !(1 == existInLiftCallsInDirection_~d#1); 259087#L2659 assume 0 == existInLiftCallsInDirection_~d#1;existInLiftCallsInDirection_~i___0~0#1 := 0;existInLiftCallsInDirection_~i___0~0#1 := ~currentFloorID~0 - 1; 264683#L2663-2 [2024-10-12 00:47:29,401 INFO L747 eck$LassoCheckResult]: Loop: 264683#L2663-2 assume !false; 261813#L2664 assume existInLiftCallsInDirection_~i___0~0#1 >= 0; 261814#L2665 existInLiftCallsInDirection_~i___0~0#1 := 1 + ~currentFloorID~0; 259503#L2672-2 assume !false; 259504#L2673 assume !(existInLiftCallsInDirection_~i___0~0#1 < 5); 264487#L2731 existInLiftCallsInDirection_~i___0~0#1 := existInLiftCallsInDirection_~i___0~0#1 - 1; 264683#L2663-2 [2024-10-12 00:47:29,401 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-12 00:47:29,401 INFO L85 PathProgramCache]: Analyzing trace with hash 1990823420, now seen corresponding path program 1 times [2024-10-12 00:47:29,401 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-12 00:47:29,402 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1976765922] [2024-10-12 00:47:29,402 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-12 00:47:29,402 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-12 00:47:29,430 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-12 00:47:29,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:29,472 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-10-12 00:47:29,472 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1976765922] [2024-10-12 00:47:29,472 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1976765922] provided 1 perfect and 0 imperfect interpolant sequences [2024-10-12 00:47:29,472 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-10-12 00:47:29,473 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2024-10-12 00:47:29,473 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2122712566] [2024-10-12 00:47:29,473 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-10-12 00:47:29,473 INFO L750 eck$LassoCheckResult]: stem already infeasible [2024-10-12 00:47:29,474 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-12 00:47:29,474 INFO L85 PathProgramCache]: Analyzing trace with hash 964799947, now seen corresponding path program 9 times [2024-10-12 00:47:29,474 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-12 00:47:29,474 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [307112168] [2024-10-12 00:47:29,474 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-12 00:47:29,474 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-12 00:47:29,484 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-12 00:47:29,484 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-10-12 00:47:29,486 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-12 00:47:29,491 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-10-12 00:47:29,525 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-10-12 00:47:29,525 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2024-10-12 00:47:29,525 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2024-10-12 00:47:29,525 INFO L87 Difference]: Start difference. First operand 9182 states and 17106 transitions. cyclomatic complexity: 7959 Second operand has 3 states, 3 states have (on average 22.666666666666668) internal successors, (68), 2 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:30,261 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-10-12 00:47:30,261 INFO L93 Difference]: Finished difference Result 17168 states and 31881 transitions. [2024-10-12 00:47:30,261 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 17168 states and 31881 transitions. [2024-10-12 00:47:30,333 INFO L131 ngComponentsAnalysis]: Automaton has 65 accepting balls. 4578 [2024-10-12 00:47:30,381 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 17168 states to 17168 states and 31881 transitions. [2024-10-12 00:47:30,381 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 17094 [2024-10-12 00:47:30,395 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 17094 [2024-10-12 00:47:30,395 INFO L73 IsDeterministic]: Start isDeterministic. Operand 17168 states and 31881 transitions. [2024-10-12 00:47:30,397 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-10-12 00:47:30,397 INFO L218 hiAutomatonCegarLoop]: Abstraction has 17168 states and 31881 transitions. [2024-10-12 00:47:30,416 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 17168 states and 31881 transitions. [2024-10-12 00:47:30,609 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 17168 to 17166. [2024-10-12 00:47:30,631 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17166 states, 17166 states have (on average 1.8571012466503554) internal successors, (31879), 17165 states have internal predecessors, (31879), 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,678 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17166 states to 17166 states and 31879 transitions. [2024-10-12 00:47:30,679 INFO L240 hiAutomatonCegarLoop]: Abstraction has 17166 states and 31879 transitions. [2024-10-12 00:47:30,679 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2024-10-12 00:47:30,680 INFO L425 stractBuchiCegarLoop]: Abstraction has 17166 states and 31879 transitions. [2024-10-12 00:47:30,680 INFO L332 stractBuchiCegarLoop]: ======== Iteration 12 ============ [2024-10-12 00:47:30,680 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 17166 states and 31879 transitions. [2024-10-12 00:47:30,753 INFO L131 ngComponentsAnalysis]: Automaton has 65 accepting balls. 4578 [2024-10-12 00:47:30,753 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-10-12 00:47:30,753 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-10-12 00:47:30,753 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:30,754 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1] [2024-10-12 00:47:30,754 INFO L745 eck$LassoCheckResult]: Stem: 291656#$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(10, 4);call #Ultimate.allocInit(4, 5);call write~init~int#1(91, 5, 0, 1);call write~init~int#1(95, 5, 1, 1);call write~init~int#1(93, 5, 2, 1);call write~init~int#1(0, 5, 3, 1);call #Ultimate.allocInit(4, 6);call write~init~int#2(91, 6, 0, 1);call write~init~int#2(93, 6, 1, 1);call write~init~int#2(32, 6, 2, 1);call write~init~int#2(0, 6, 3, 1);call #Ultimate.allocInit(5, 7);call write~init~int#3(32, 7, 0, 1);call write~init~int#3(97, 7, 1, 1);call write~init~int#3(116, 7, 2, 1);call write~init~int#3(32, 7, 3, 1);call write~init~int#3(0, 7, 4, 1);call #Ultimate.allocInit(3, 8);call write~init~int#4(37, 8, 0, 1);call write~init~int#4(105, 8, 1, 1);call write~init~int#4(0, 8, 2, 1);call #Ultimate.allocInit(10, 9);call #Ultimate.allocInit(3, 10);call write~init~int#5(117, 10, 0, 1);call write~init~int#5(112, 10, 1, 1);call write~init~int#5(0, 10, 2, 1);call #Ultimate.allocInit(5, 11);call write~init~int#6(100, 11, 0, 1);call write~init~int#6(111, 11, 1, 1);call write~init~int#6(119, 11, 2, 1);call write~init~int#6(110, 11, 3, 1);call write~init~int#6(0, 11, 4, 1);call #Ultimate.allocInit(7, 12);call write~init~int#7(32, 12, 0, 1);call write~init~int#7(73, 12, 1, 1);call write~init~int#7(76, 12, 2, 1);call write~init~int#7(95, 12, 3, 1);call write~init~int#7(112, 12, 4, 1);call write~init~int#7(58, 12, 5, 1);call write~init~int#7(0, 12, 6, 1);call #Ultimate.allocInit(4, 13);call write~init~int#8(32, 13, 0, 1);call write~init~int#8(37, 13, 1, 1);call write~init~int#8(105, 13, 2, 1);call write~init~int#8(0, 13, 3, 1);call #Ultimate.allocInit(4, 14);call write~init~int#9(32, 14, 0, 1);call write~init~int#9(37, 14, 1, 1);call write~init~int#9(105, 14, 2, 1);call write~init~int#9(0, 14, 3, 1);call #Ultimate.allocInit(4, 15);call write~init~int#10(32, 15, 0, 1);call write~init~int#10(37, 15, 1, 1);call write~init~int#10(105, 15, 2, 1);call write~init~int#10(0, 15, 3, 1);call #Ultimate.allocInit(4, 16);call write~init~int#11(32, 16, 0, 1);call write~init~int#11(37, 16, 1, 1);call write~init~int#11(105, 16, 2, 1);call write~init~int#11(0, 16, 3, 1);call #Ultimate.allocInit(4, 17);call write~init~int#12(32, 17, 0, 1);call write~init~int#12(37, 17, 1, 1);call write~init~int#12(105, 17, 2, 1);call write~init~int#12(0, 17, 3, 1);call #Ultimate.allocInit(6, 18);call write~init~int#13(32, 18, 0, 1);call write~init~int#13(70, 18, 1, 1);call write~init~int#13(95, 18, 2, 1);call write~init~int#13(112, 18, 3, 1);call write~init~int#13(58, 18, 4, 1);call write~init~int#13(0, 18, 5, 1);call #Ultimate.allocInit(4, 19);call write~init~int#14(32, 19, 0, 1);call write~init~int#14(37, 19, 1, 1);call write~init~int#14(105, 19, 2, 1);call write~init~int#14(0, 19, 3, 1);call #Ultimate.allocInit(4, 20);call write~init~int#15(32, 20, 0, 1);call write~init~int#15(37, 20, 1, 1);call write~init~int#15(105, 20, 2, 1);call write~init~int#15(0, 20, 3, 1);call #Ultimate.allocInit(4, 21);call write~init~int#16(32, 21, 0, 1);call write~init~int#16(37, 21, 1, 1);call write~init~int#16(105, 21, 2, 1);call write~init~int#16(0, 21, 3, 1);call #Ultimate.allocInit(4, 22);call write~init~int#17(32, 22, 0, 1);call write~init~int#17(37, 22, 1, 1);call write~init~int#17(105, 22, 2, 1);call write~init~int#17(0, 22, 3, 1);call #Ultimate.allocInit(4, 23);call write~init~int#18(32, 23, 0, 1);call write~init~int#18(37, 23, 1, 1);call write~init~int#18(105, 23, 2, 1);call write~init~int#18(0, 23, 3, 1);call #Ultimate.allocInit(2, 24);call write~init~int#19(10, 24, 0, 1);call write~init~int#19(0, 24, 1, 1);call #Ultimate.allocInit(30, 25);call #Ultimate.allocInit(9, 26);call #Ultimate.allocInit(21, 27);call #Ultimate.allocInit(30, 28);call #Ultimate.allocInit(9, 29);call #Ultimate.allocInit(21, 30);call #Ultimate.allocInit(30, 31);call #Ultimate.allocInit(9, 32);call #Ultimate.allocInit(25, 33);call #Ultimate.allocInit(30, 34);call #Ultimate.allocInit(9, 35);call #Ultimate.allocInit(25, 36);~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;~weight~0 := 0;~maximumWeight~0 := 100;~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;~prevDir~0 := 0;~head~0.base, ~head~0.offset := 0, 0; 291387#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret18#1, main_~retValue_acc~9#1, main_~tmp~8#1;havoc main_~retValue_acc~9#1;havoc main_~tmp~8#1;assume { :begin_inline_select_helpers } true; 291388#select_helpers_returnLabel#1 assume { :end_inline_select_helpers } true;assume { :begin_inline_select_features } true; 293279#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~4#1;havoc valid_product_~retValue_acc~4#1;valid_product_~retValue_acc~4#1 := 1;valid_product_#res#1 := valid_product_~retValue_acc~4#1; 285868#valid_product_returnLabel#1 main_#t~ret18#1 := valid_product_#res#1;havoc valid_product_~retValue_acc~4#1;assume { :end_inline_valid_product } true;main_~tmp~8#1 := main_#t~ret18#1;havoc main_#t~ret18#1; 285869#L1217 assume 0 != main_~tmp~8#1;assume { :begin_inline_setup } true; 287474#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~ret7#1, aliceCall_~tmp~1#1;havoc aliceCall_~tmp~1#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 1;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~6#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~6#1; 286178#L801 assume !(0 == getOrigin_~person#1); 286179#L805 assume 1 == getOrigin_~person#1;getOrigin_~retValue_acc~6#1 := 3;getOrigin_#res#1 := getOrigin_~retValue_acc~6#1; 287505#getOrigin_returnLabel#1 aliceCall_#t~ret7#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~6#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;aliceCall_~tmp~1#1 := aliceCall_#t~ret7#1;havoc aliceCall_#t~ret7#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 1, aliceCall_~tmp~1#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 289073#L409 assume !(0 == initPersonOnFloor_~floor#1); 285433#L436 assume !(1 == initPersonOnFloor_~floor#1); 285434#L463 assume !(2 == initPersonOnFloor_~floor#1); 286546#L490 assume 3 == initPersonOnFloor_~floor#1; 286547#L491 assume !(0 == initPersonOnFloor_~person#1); 288284#L494 assume 1 == initPersonOnFloor_~person#1;~personOnFloor_1_3~0 := 1; 285280#L517-1 assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 286553#L201 assume !(0 == callOnFloor_~floorID#1); 289111#L204 assume !(1 == callOnFloor_~floorID#1); 286381#L207 assume !(2 == callOnFloor_~floorID#1); 286382#L210 assume 3 == callOnFloor_~floorID#1;~calls_3~0 := 1; 287057#L213-2 havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true; 286422#initPersonOnFloor_returnLabel#1 havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true; 286423#aliceCall_returnLabel#1 havoc aliceCall_#t~ret7#1, aliceCall_~tmp~1#1;assume { :end_inline_aliceCall } true;assume { :begin_inline_angelinaCall } true;havoc angelinaCall_#t~ret8#1, angelinaCall_~tmp~2#1;havoc angelinaCall_~tmp~2#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 2;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~6#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~6#1; 285443#L801-1 assume !(0 == getOrigin_~person#1); 285444#L805-1 assume !(1 == getOrigin_~person#1); 289958#L809-1 assume 2 == getOrigin_~person#1;getOrigin_~retValue_acc~6#1 := 2;getOrigin_#res#1 := getOrigin_~retValue_acc~6#1; 285221#getOrigin_returnLabel#2 angelinaCall_#t~ret8#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~6#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;angelinaCall_~tmp~2#1 := angelinaCall_#t~ret8#1;havoc angelinaCall_#t~ret8#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 2, angelinaCall_~tmp~2#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 285222#L409-1 assume !(0 == initPersonOnFloor_~floor#1); 289227#L436-1 assume !(1 == initPersonOnFloor_~floor#1); 289228#L463-1 assume 2 == initPersonOnFloor_~floor#1; 290585#L464-2 assume !(0 == initPersonOnFloor_~person#1); 290586#L467-2 assume !(1 == initPersonOnFloor_~person#1); 290802#L470-2 assume 2 == initPersonOnFloor_~person#1;~personOnFloor_2_2~0 := 1; 289704#L517-3 assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 293603#L201-2 assume !(0 == callOnFloor_~floorID#1); 293602#L204-2 assume !(1 == callOnFloor_~floorID#1); 293601#L207-2 assume 2 == callOnFloor_~floorID#1;~calls_2~0 := 1; 290829#L213-5 havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true; 290165#initPersonOnFloor_returnLabel#2 havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true; 290166#angelinaCall_returnLabel#1 havoc angelinaCall_#t~ret8#1, angelinaCall_~tmp~2#1;assume { :end_inline_angelinaCall } true;assume { :begin_inline_threeTS } true;assume { :begin_inline_timeShift } true;havoc timeShift_#t~ret60#1, timeShift_#t~ret61#1, timeShift_#t~ret62#1, timeShift_#t~ret63#1, timeShift_#t~ret64#1, timeShift_#t~ret65#1, timeShift_#t~ret66#1, timeShift_#t~ret67#1, timeShift_#t~ret68#1, timeShift_#t~ret69#1, timeShift_#t~ret70#1, timeShift_~tmp~19#1, timeShift_~tmp___0~7#1, timeShift_~tmp___1~4#1, timeShift_~tmp___2~4#1, timeShift_~tmp___3~3#1, timeShift_~tmp___4~2#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~19#1;havoc timeShift_~tmp___0~7#1;havoc timeShift_~tmp___1~4#1;havoc timeShift_~tmp___2~4#1;havoc timeShift_~tmp___3~3#1;havoc timeShift_~tmp___4~2#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~ret103#1;assume { :begin_inline_getCurrentHeading } true;havoc getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~14#1;havoc getCurrentHeading_~retValue_acc~14#1;getCurrentHeading_~retValue_acc~14#1 := ~currentHeading~0;getCurrentHeading_#res#1 := getCurrentHeading_~retValue_acc~14#1; 293092#getCurrentHeading_returnLabel#1 __utac_acc__Specification13_spec__1_#t~ret103#1 := getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~14#1;assume { :end_inline_getCurrentHeading } true;~prevDir~0 := __utac_acc__Specification13_spec__1_#t~ret103#1;havoc __utac_acc__Specification13_spec__1_#t~ret103#1; 290506#__utac_acc__Specification13_spec__1_returnLabel#1 havoc __utac_acc__Specification13_spec__1_#t~ret103#1;assume { :end_inline___utac_acc__Specification13_spec__1 } true;assume { :begin_inline_stopRequestedAtCurrentFloor } true;havoc stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret45#1, stopRequestedAtCurrentFloor_#t~ret46#1, stopRequestedAtCurrentFloor_#t~ret47#1, stopRequestedAtCurrentFloor_~retValue_acc~22#1, stopRequestedAtCurrentFloor_~tmp~17#1, stopRequestedAtCurrentFloor_~tmp___0~5#1, stopRequestedAtCurrentFloor_~__cil_tmp4~1#1, stopRequestedAtCurrentFloor_~__cil_tmp5~0#1;havoc stopRequestedAtCurrentFloor_~retValue_acc~22#1;havoc stopRequestedAtCurrentFloor_~tmp~17#1;havoc stopRequestedAtCurrentFloor_~tmp___0~5#1;havoc stopRequestedAtCurrentFloor_~__cil_tmp4~1#1;havoc stopRequestedAtCurrentFloor_~__cil_tmp5~0#1;stopRequestedAtCurrentFloor_~__cil_tmp4~1#1 := 2 * ~maximumWeight~0;stopRequestedAtCurrentFloor_~__cil_tmp5~0#1 := (if stopRequestedAtCurrentFloor_~__cil_tmp4~1#1 < 0 && 0 != stopRequestedAtCurrentFloor_~__cil_tmp4~1#1 % 3 then 1 + stopRequestedAtCurrentFloor_~__cil_tmp4~1#1 / 3 else stopRequestedAtCurrentFloor_~__cil_tmp4~1#1 / 3); 290507#L2140 assume ~weight~0 > stopRequestedAtCurrentFloor_~__cil_tmp5~0#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~11#1;havoc getCurrentFloorID_~retValue_acc~11#1;getCurrentFloorID_~retValue_acc~11#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~11#1; 290240#getCurrentFloorID_returnLabel#1 stopRequestedAtCurrentFloor_#t~ret45#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~11#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedAtCurrentFloor_~tmp~17#1 := stopRequestedAtCurrentFloor_#t~ret45#1;havoc stopRequestedAtCurrentFloor_#t~ret45#1;assume { :begin_inline_buttonForFloorIsPressed } true;buttonForFloorIsPressed_#in~floorID#1 := stopRequestedAtCurrentFloor_~tmp~17#1;havoc buttonForFloorIsPressed_#res#1;havoc buttonForFloorIsPressed_~floorID#1, buttonForFloorIsPressed_~retValue_acc~13#1;buttonForFloorIsPressed_~floorID#1 := buttonForFloorIsPressed_#in~floorID#1;havoc buttonForFloorIsPressed_~retValue_acc~13#1; 290241#L1476 assume 0 == buttonForFloorIsPressed_~floorID#1;buttonForFloorIsPressed_~retValue_acc~13#1 := ~floorButtons_0~0;buttonForFloorIsPressed_#res#1 := buttonForFloorIsPressed_~retValue_acc~13#1; 287767#buttonForFloorIsPressed_returnLabel#1 stopRequestedAtCurrentFloor_#t~ret46#1 := buttonForFloorIsPressed_#res#1;havoc buttonForFloorIsPressed_~floorID#1, buttonForFloorIsPressed_~retValue_acc~13#1;havoc buttonForFloorIsPressed_#in~floorID#1;assume { :end_inline_buttonForFloorIsPressed } true;stopRequestedAtCurrentFloor_~tmp___0~5#1 := stopRequestedAtCurrentFloor_#t~ret46#1;havoc stopRequestedAtCurrentFloor_#t~ret46#1;stopRequestedAtCurrentFloor_~retValue_acc~22#1 := (if 1 == stopRequestedAtCurrentFloor_~tmp___0~5#1 then 1 else 0);stopRequestedAtCurrentFloor_#res#1 := stopRequestedAtCurrentFloor_~retValue_acc~22#1; 284911#stopRequestedAtCurrentFloor_returnLabel#1 timeShift_#t~ret60#1 := stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret45#1, stopRequestedAtCurrentFloor_#t~ret46#1, stopRequestedAtCurrentFloor_#t~ret47#1, stopRequestedAtCurrentFloor_~retValue_acc~22#1, stopRequestedAtCurrentFloor_~tmp~17#1, stopRequestedAtCurrentFloor_~tmp___0~5#1, stopRequestedAtCurrentFloor_~__cil_tmp4~1#1, stopRequestedAtCurrentFloor_~__cil_tmp5~0#1;assume { :end_inline_stopRequestedAtCurrentFloor } true;timeShift_~tmp___9~2#1 := timeShift_#t~ret60#1;havoc timeShift_#t~ret60#1; 284912#L2290 assume !(0 != timeShift_~tmp___9~2#1); 287465#L2381 assume 1 == ~doorState~0;~doorState~0 := 0; 287466#L2381-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~ret38#1, stopRequestedInDirection_#t~ret39#1, stopRequestedInDirection_#t~ret40#1, stopRequestedInDirection_#t~ret41#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~19#1, stopRequestedInDirection_~overload~0#1, stopRequestedInDirection_~buttonPressed~0#1, stopRequestedInDirection_~tmp~14#1, stopRequestedInDirection_~__cil_tmp8~0#1, stopRequestedInDirection_~__cil_tmp9~0#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~19#1;havoc stopRequestedInDirection_~overload~0#1;havoc stopRequestedInDirection_~buttonPressed~0#1;havoc stopRequestedInDirection_~tmp~14#1;havoc stopRequestedInDirection_~__cil_tmp8~0#1;havoc stopRequestedInDirection_~__cil_tmp9~0#1;stopRequestedInDirection_~__cil_tmp8~0#1 := 2 * ~maximumWeight~0;stopRequestedInDirection_~__cil_tmp9~0#1 := (if stopRequestedInDirection_~__cil_tmp8~0#1 < 0 && 0 != stopRequestedInDirection_~__cil_tmp8~0#1 % 3 then 1 + stopRequestedInDirection_~__cil_tmp8~0#1 / 3 else stopRequestedInDirection_~__cil_tmp8~0#1 / 3);stopRequestedInDirection_~overload~0#1 := (if ~weight~0 > stopRequestedInDirection_~__cil_tmp9~0#1 then 1 else 0);assume { :begin_inline_isAnyLiftButtonPressed } true;havoc isAnyLiftButtonPressed_#res#1;havoc isAnyLiftButtonPressed_~retValue_acc~20#1;havoc isAnyLiftButtonPressed_~retValue_acc~20#1; 291858#L2043 assume !(0 != ~floorButtons_0~0); 291816#L2047 assume 0 != ~floorButtons_1~0;isAnyLiftButtonPressed_~retValue_acc~20#1 := 1;isAnyLiftButtonPressed_#res#1 := isAnyLiftButtonPressed_~retValue_acc~20#1; 287283#isAnyLiftButtonPressed_returnLabel#1 stopRequestedInDirection_#t~ret38#1 := isAnyLiftButtonPressed_#res#1;havoc isAnyLiftButtonPressed_~retValue_acc~20#1;assume { :end_inline_isAnyLiftButtonPressed } true;stopRequestedInDirection_~tmp~14#1 := stopRequestedInDirection_#t~ret38#1;havoc stopRequestedInDirection_#t~ret38#1;stopRequestedInDirection_~buttonPressed~0#1 := stopRequestedInDirection_~tmp~14#1; 290200#L2016 assume !(0 != stopRequestedInDirection_~overload~0#1);assume { :begin_inline_stopRequestedInDirection__wrappee__weight } true;stopRequestedInDirection__wrappee__weight_#in~dir#1, stopRequestedInDirection__wrappee__weight_#in~respectFloorCalls#1, stopRequestedInDirection__wrappee__weight_#in~respectInLiftCalls#1 := stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1;havoc stopRequestedInDirection__wrappee__weight_#res#1;havoc stopRequestedInDirection__wrappee__weight_#t~ret27#1, stopRequestedInDirection__wrappee__weight_#t~ret28#1, stopRequestedInDirection__wrappee__weight_#t~ret29#1, stopRequestedInDirection__wrappee__weight_#t~ret30#1, stopRequestedInDirection__wrappee__weight_#t~ret31#1, stopRequestedInDirection__wrappee__weight_#t~ret32#1, stopRequestedInDirection__wrappee__weight_#t~ret33#1, stopRequestedInDirection__wrappee__weight_#t~ret34#1, stopRequestedInDirection__wrappee__weight_#t~ret35#1, stopRequestedInDirection__wrappee__weight_#t~ret36#1, stopRequestedInDirection__wrappee__weight_#t~ret37#1, stopRequestedInDirection__wrappee__weight_~dir#1, stopRequestedInDirection__wrappee__weight_~respectFloorCalls#1, stopRequestedInDirection__wrappee__weight_~respectInLiftCalls#1, stopRequestedInDirection__wrappee__weight_~retValue_acc~18#1, stopRequestedInDirection__wrappee__weight_~tmp~13#1, stopRequestedInDirection__wrappee__weight_~tmp___0~3#1, stopRequestedInDirection__wrappee__weight_~tmp___1~2#1, stopRequestedInDirection__wrappee__weight_~tmp___2~2#1, stopRequestedInDirection__wrappee__weight_~tmp___3~1#1, stopRequestedInDirection__wrappee__weight_~tmp___4~0#1, stopRequestedInDirection__wrappee__weight_~tmp___5~0#1, stopRequestedInDirection__wrappee__weight_~tmp___6~0#1, stopRequestedInDirection__wrappee__weight_~tmp___7~0#1, stopRequestedInDirection__wrappee__weight_~tmp___8~0#1, stopRequestedInDirection__wrappee__weight_~tmp___9~0#1;stopRequestedInDirection__wrappee__weight_~dir#1 := stopRequestedInDirection__wrappee__weight_#in~dir#1;stopRequestedInDirection__wrappee__weight_~respectFloorCalls#1 := stopRequestedInDirection__wrappee__weight_#in~respectFloorCalls#1;stopRequestedInDirection__wrappee__weight_~respectInLiftCalls#1 := stopRequestedInDirection__wrappee__weight_#in~respectInLiftCalls#1;havoc stopRequestedInDirection__wrappee__weight_~retValue_acc~18#1;havoc stopRequestedInDirection__wrappee__weight_~tmp~13#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___0~3#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___1~2#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___2~2#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___3~1#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___4~0#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___5~0#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___6~0#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___7~0#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___8~0#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___9~0#1; 288557#L1663-2 assume !(1 == stopRequestedInDirection__wrappee__weight_~dir#1); 288558#L1832-2 assume 0 == ~currentFloorID~0;stopRequestedInDirection__wrappee__weight_~retValue_acc~18#1 := 0;stopRequestedInDirection__wrappee__weight_#res#1 := stopRequestedInDirection__wrappee__weight_~retValue_acc~18#1; 285370#stopRequestedInDirection__wrappee__weight_returnLabel#3 stopRequestedInDirection_#t~ret41#1 := stopRequestedInDirection__wrappee__weight_#res#1;havoc stopRequestedInDirection__wrappee__weight_#t~ret27#1, stopRequestedInDirection__wrappee__weight_#t~ret28#1, stopRequestedInDirection__wrappee__weight_#t~ret29#1, stopRequestedInDirection__wrappee__weight_#t~ret30#1, stopRequestedInDirection__wrappee__weight_#t~ret31#1, stopRequestedInDirection__wrappee__weight_#t~ret32#1, stopRequestedInDirection__wrappee__weight_#t~ret33#1, stopRequestedInDirection__wrappee__weight_#t~ret34#1, stopRequestedInDirection__wrappee__weight_#t~ret35#1, stopRequestedInDirection__wrappee__weight_#t~ret36#1, stopRequestedInDirection__wrappee__weight_#t~ret37#1, stopRequestedInDirection__wrappee__weight_~dir#1, stopRequestedInDirection__wrappee__weight_~respectFloorCalls#1, stopRequestedInDirection__wrappee__weight_~respectInLiftCalls#1, stopRequestedInDirection__wrappee__weight_~retValue_acc~18#1, stopRequestedInDirection__wrappee__weight_~tmp~13#1, stopRequestedInDirection__wrappee__weight_~tmp___0~3#1, stopRequestedInDirection__wrappee__weight_~tmp___1~2#1, stopRequestedInDirection__wrappee__weight_~tmp___2~2#1, stopRequestedInDirection__wrappee__weight_~tmp___3~1#1, stopRequestedInDirection__wrappee__weight_~tmp___4~0#1, stopRequestedInDirection__wrappee__weight_~tmp___5~0#1, stopRequestedInDirection__wrappee__weight_~tmp___6~0#1, stopRequestedInDirection__wrappee__weight_~tmp___7~0#1, stopRequestedInDirection__wrappee__weight_~tmp___8~0#1, stopRequestedInDirection__wrappee__weight_~tmp___9~0#1;havoc stopRequestedInDirection__wrappee__weight_#in~dir#1, stopRequestedInDirection__wrappee__weight_#in~respectFloorCalls#1, stopRequestedInDirection__wrappee__weight_#in~respectInLiftCalls#1;assume { :end_inline_stopRequestedInDirection__wrappee__weight } true;stopRequestedInDirection_~retValue_acc~19#1 := stopRequestedInDirection_#t~ret41#1;havoc stopRequestedInDirection_#t~ret41#1;stopRequestedInDirection_#res#1 := stopRequestedInDirection_~retValue_acc~19#1; 286244#stopRequestedInDirection_returnLabel#1 timeShift_#t~ret67#1 := stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret38#1, stopRequestedInDirection_#t~ret39#1, stopRequestedInDirection_#t~ret40#1, stopRequestedInDirection_#t~ret41#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~19#1, stopRequestedInDirection_~overload~0#1, stopRequestedInDirection_~buttonPressed~0#1, stopRequestedInDirection_~tmp~14#1, stopRequestedInDirection_~__cil_tmp8~0#1, stopRequestedInDirection_~__cil_tmp9~0#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~ret67#1;havoc timeShift_#t~ret67#1; 287659#L2389 assume 0 != timeShift_~tmp___8~2#1;assume { :begin_inline_continueInDirection } true;continueInDirection_#in~dir#1 := ~currentHeading~0;havoc continueInDirection_#t~ret42#1, continueInDirection_~dir#1, continueInDirection_~tmp~15#1;continueInDirection_~dir#1 := continueInDirection_#in~dir#1;havoc continueInDirection_~tmp~15#1;~currentHeading~0 := continueInDirection_~dir#1; 292658#L2078 assume !(1 == ~currentHeading~0); 292948#L2088 assume !(0 == ~currentFloorID~0); 291476#L2088-2 assume 1 == ~currentHeading~0;~currentFloorID~0 := 1 + ~currentFloorID~0; 286497#L2094-1 havoc continueInDirection_#t~ret42#1, continueInDirection_~dir#1, continueInDirection_~tmp~15#1;havoc continueInDirection_#in~dir#1;assume { :end_inline_continueInDirection } true; 286498#L2398-2 assume { :begin_inline___utac_acc__Specification13_spec__2 } true;havoc __utac_acc__Specification13_spec__2_#t~ret104#1, __utac_acc__Specification13_spec__2_#t~ret105#1, __utac_acc__Specification13_spec__2_#t~ret106#1, __utac_acc__Specification13_spec__2_#t~ret107#1, __utac_acc__Specification13_spec__2_#t~ret108#1, __utac_acc__Specification13_spec__2_#t~ret109#1, __utac_acc__Specification13_spec__2_~tmp~23#1, __utac_acc__Specification13_spec__2_~tmp___0~11#1, __utac_acc__Specification13_spec__2_~tmp___1~8#1, __utac_acc__Specification13_spec__2_~tmp___2~6#1, __utac_acc__Specification13_spec__2_~tmp___3~5#1, __utac_acc__Specification13_spec__2_~tmp___4~3#1, __utac_acc__Specification13_spec__2_~__cil_tmp7~1#1, __utac_acc__Specification13_spec__2_~__cil_tmp8~2#1;havoc __utac_acc__Specification13_spec__2_~tmp~23#1;havoc __utac_acc__Specification13_spec__2_~tmp___0~11#1;havoc __utac_acc__Specification13_spec__2_~tmp___1~8#1;havoc __utac_acc__Specification13_spec__2_~tmp___2~6#1;havoc __utac_acc__Specification13_spec__2_~tmp___3~5#1;havoc __utac_acc__Specification13_spec__2_~tmp___4~3#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp7~1#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp8~2#1;__utac_acc__Specification13_spec__2_~__cil_tmp7~1#1 := 2 * ~maximumWeight~0;__utac_acc__Specification13_spec__2_~__cil_tmp8~2#1 := (if __utac_acc__Specification13_spec__2_~__cil_tmp7~1#1 < 0 && 0 != __utac_acc__Specification13_spec__2_~__cil_tmp7~1#1 % 3 then 1 + __utac_acc__Specification13_spec__2_~__cil_tmp7~1#1 / 3 else __utac_acc__Specification13_spec__2_~__cil_tmp7~1#1 / 3); 289208#L2887 assume ~weight~0 > __utac_acc__Specification13_spec__2_~__cil_tmp8~2#1; 289209#L2888 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~24#1, existInLiftCallsInDirection_~i~1#1, existInLiftCallsInDirection_~i___0~0#1;existInLiftCallsInDirection_~d#1 := existInLiftCallsInDirection_#in~d#1;havoc existInLiftCallsInDirection_~retValue_acc~24#1;havoc existInLiftCallsInDirection_~i~1#1;havoc existInLiftCallsInDirection_~i___0~0#1; 285440#L2593 assume !(1 == existInLiftCallsInDirection_~d#1); 285441#L2659 assume 0 == existInLiftCallsInDirection_~d#1;existInLiftCallsInDirection_~i___0~0#1 := 0;existInLiftCallsInDirection_~i___0~0#1 := ~currentFloorID~0 - 1; 291086#L2663-2 [2024-10-12 00:47:30,755 INFO L747 eck$LassoCheckResult]: Loop: 291086#L2663-2 assume !false; 288185#L2664 assume existInLiftCallsInDirection_~i___0~0#1 >= 0; 288186#L2665 existInLiftCallsInDirection_~i___0~0#1 := 1 + ~currentFloorID~0; 285857#L2672-2 assume !false; 285858#L2673 assume !(existInLiftCallsInDirection_~i___0~0#1 < 5); 290888#L2731 existInLiftCallsInDirection_~i___0~0#1 := existInLiftCallsInDirection_~i___0~0#1 - 1; 291086#L2663-2 [2024-10-12 00:47:30,755 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-12 00:47:30,755 INFO L85 PathProgramCache]: Analyzing trace with hash 177329638, now seen corresponding path program 1 times [2024-10-12 00:47:30,755 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-12 00:47:30,755 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [210150530] [2024-10-12 00:47:30,755 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-12 00:47:30,756 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-12 00:47:30,787 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-12 00:47:30,827 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,828 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-10-12 00:47:30,828 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [210150530] [2024-10-12 00:47:30,828 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [210150530] provided 1 perfect and 0 imperfect interpolant sequences [2024-10-12 00:47:30,828 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-10-12 00:47:30,828 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2024-10-12 00:47:30,828 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1227020384] [2024-10-12 00:47:30,829 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-10-12 00:47:30,829 INFO L750 eck$LassoCheckResult]: stem already infeasible [2024-10-12 00:47:30,829 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-12 00:47:30,829 INFO L85 PathProgramCache]: Analyzing trace with hash 964799947, now seen corresponding path program 10 times [2024-10-12 00:47:30,830 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-12 00:47:30,830 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1505784369] [2024-10-12 00:47:30,830 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-12 00:47:30,830 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-12 00:47:30,841 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-12 00:47:30,842 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-10-12 00:47:30,843 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-12 00:47:30,848 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-10-12 00:47:30,868 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-10-12 00:47:30,868 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2024-10-12 00:47:30,868 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2024-10-12 00:47:30,868 INFO L87 Difference]: Start difference. First operand 17166 states and 31879 transitions. cyclomatic complexity: 14782 Second operand has 3 states, 3 states have (on average 23.0) internal successors, (69), 2 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:31,693 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-10-12 00:47:31,693 INFO L93 Difference]: Finished difference Result 33042 states and 61175 transitions. [2024-10-12 00:47:31,693 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 33042 states and 61175 transitions. [2024-10-12 00:47:31,812 INFO L131 ngComponentsAnalysis]: Automaton has 129 accepting balls. 9060 [2024-10-12 00:47:31,909 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 33042 states to 33042 states and 61175 transitions. [2024-10-12 00:47:31,910 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 32900 [2024-10-12 00:47:31,935 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 32900 [2024-10-12 00:47:31,936 INFO L73 IsDeterministic]: Start isDeterministic. Operand 33042 states and 61175 transitions. [2024-10-12 00:47:31,949 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-10-12 00:47:31,950 INFO L218 hiAutomatonCegarLoop]: Abstraction has 33042 states and 61175 transitions. [2024-10-12 00:47:31,979 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 33042 states and 61175 transitions. [2024-10-12 00:47:32,520 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 33042 to 33038. [2024-10-12 00:47:32,552 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 33038 states, 33038 states have (on average 1.8515345965252135) internal successors, (61171), 33037 states have internal predecessors, (61171), 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,617 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33038 states to 33038 states and 61171 transitions. [2024-10-12 00:47:32,618 INFO L240 hiAutomatonCegarLoop]: Abstraction has 33038 states and 61171 transitions. [2024-10-12 00:47:32,618 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2024-10-12 00:47:32,618 INFO L425 stractBuchiCegarLoop]: Abstraction has 33038 states and 61171 transitions. [2024-10-12 00:47:32,619 INFO L332 stractBuchiCegarLoop]: ======== Iteration 13 ============ [2024-10-12 00:47:32,619 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 33038 states and 61171 transitions. [2024-10-12 00:47:32,705 INFO L131 ngComponentsAnalysis]: Automaton has 129 accepting balls. 9060 [2024-10-12 00:47:32,706 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-10-12 00:47:32,706 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-10-12 00:47:32,706 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] [2024-10-12 00:47:32,706 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1] [2024-10-12 00:47:32,707 INFO L745 eck$LassoCheckResult]: Stem: 341932#$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(10, 4);call #Ultimate.allocInit(4, 5);call write~init~int#1(91, 5, 0, 1);call write~init~int#1(95, 5, 1, 1);call write~init~int#1(93, 5, 2, 1);call write~init~int#1(0, 5, 3, 1);call #Ultimate.allocInit(4, 6);call write~init~int#2(91, 6, 0, 1);call write~init~int#2(93, 6, 1, 1);call write~init~int#2(32, 6, 2, 1);call write~init~int#2(0, 6, 3, 1);call #Ultimate.allocInit(5, 7);call write~init~int#3(32, 7, 0, 1);call write~init~int#3(97, 7, 1, 1);call write~init~int#3(116, 7, 2, 1);call write~init~int#3(32, 7, 3, 1);call write~init~int#3(0, 7, 4, 1);call #Ultimate.allocInit(3, 8);call write~init~int#4(37, 8, 0, 1);call write~init~int#4(105, 8, 1, 1);call write~init~int#4(0, 8, 2, 1);call #Ultimate.allocInit(10, 9);call #Ultimate.allocInit(3, 10);call write~init~int#5(117, 10, 0, 1);call write~init~int#5(112, 10, 1, 1);call write~init~int#5(0, 10, 2, 1);call #Ultimate.allocInit(5, 11);call write~init~int#6(100, 11, 0, 1);call write~init~int#6(111, 11, 1, 1);call write~init~int#6(119, 11, 2, 1);call write~init~int#6(110, 11, 3, 1);call write~init~int#6(0, 11, 4, 1);call #Ultimate.allocInit(7, 12);call write~init~int#7(32, 12, 0, 1);call write~init~int#7(73, 12, 1, 1);call write~init~int#7(76, 12, 2, 1);call write~init~int#7(95, 12, 3, 1);call write~init~int#7(112, 12, 4, 1);call write~init~int#7(58, 12, 5, 1);call write~init~int#7(0, 12, 6, 1);call #Ultimate.allocInit(4, 13);call write~init~int#8(32, 13, 0, 1);call write~init~int#8(37, 13, 1, 1);call write~init~int#8(105, 13, 2, 1);call write~init~int#8(0, 13, 3, 1);call #Ultimate.allocInit(4, 14);call write~init~int#9(32, 14, 0, 1);call write~init~int#9(37, 14, 1, 1);call write~init~int#9(105, 14, 2, 1);call write~init~int#9(0, 14, 3, 1);call #Ultimate.allocInit(4, 15);call write~init~int#10(32, 15, 0, 1);call write~init~int#10(37, 15, 1, 1);call write~init~int#10(105, 15, 2, 1);call write~init~int#10(0, 15, 3, 1);call #Ultimate.allocInit(4, 16);call write~init~int#11(32, 16, 0, 1);call write~init~int#11(37, 16, 1, 1);call write~init~int#11(105, 16, 2, 1);call write~init~int#11(0, 16, 3, 1);call #Ultimate.allocInit(4, 17);call write~init~int#12(32, 17, 0, 1);call write~init~int#12(37, 17, 1, 1);call write~init~int#12(105, 17, 2, 1);call write~init~int#12(0, 17, 3, 1);call #Ultimate.allocInit(6, 18);call write~init~int#13(32, 18, 0, 1);call write~init~int#13(70, 18, 1, 1);call write~init~int#13(95, 18, 2, 1);call write~init~int#13(112, 18, 3, 1);call write~init~int#13(58, 18, 4, 1);call write~init~int#13(0, 18, 5, 1);call #Ultimate.allocInit(4, 19);call write~init~int#14(32, 19, 0, 1);call write~init~int#14(37, 19, 1, 1);call write~init~int#14(105, 19, 2, 1);call write~init~int#14(0, 19, 3, 1);call #Ultimate.allocInit(4, 20);call write~init~int#15(32, 20, 0, 1);call write~init~int#15(37, 20, 1, 1);call write~init~int#15(105, 20, 2, 1);call write~init~int#15(0, 20, 3, 1);call #Ultimate.allocInit(4, 21);call write~init~int#16(32, 21, 0, 1);call write~init~int#16(37, 21, 1, 1);call write~init~int#16(105, 21, 2, 1);call write~init~int#16(0, 21, 3, 1);call #Ultimate.allocInit(4, 22);call write~init~int#17(32, 22, 0, 1);call write~init~int#17(37, 22, 1, 1);call write~init~int#17(105, 22, 2, 1);call write~init~int#17(0, 22, 3, 1);call #Ultimate.allocInit(4, 23);call write~init~int#18(32, 23, 0, 1);call write~init~int#18(37, 23, 1, 1);call write~init~int#18(105, 23, 2, 1);call write~init~int#18(0, 23, 3, 1);call #Ultimate.allocInit(2, 24);call write~init~int#19(10, 24, 0, 1);call write~init~int#19(0, 24, 1, 1);call #Ultimate.allocInit(30, 25);call #Ultimate.allocInit(9, 26);call #Ultimate.allocInit(21, 27);call #Ultimate.allocInit(30, 28);call #Ultimate.allocInit(9, 29);call #Ultimate.allocInit(21, 30);call #Ultimate.allocInit(30, 31);call #Ultimate.allocInit(9, 32);call #Ultimate.allocInit(25, 33);call #Ultimate.allocInit(30, 34);call #Ultimate.allocInit(9, 35);call #Ultimate.allocInit(25, 36);~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;~weight~0 := 0;~maximumWeight~0 := 100;~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;~prevDir~0 := 0;~head~0.base, ~head~0.offset := 0, 0; 341658#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret18#1, main_~retValue_acc~9#1, main_~tmp~8#1;havoc main_~retValue_acc~9#1;havoc main_~tmp~8#1;assume { :begin_inline_select_helpers } true; 341659#select_helpers_returnLabel#1 assume { :end_inline_select_helpers } true;assume { :begin_inline_select_features } true; 343633#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~4#1;havoc valid_product_~retValue_acc~4#1;valid_product_~retValue_acc~4#1 := 1;valid_product_#res#1 := valid_product_~retValue_acc~4#1; 336081#valid_product_returnLabel#1 main_#t~ret18#1 := valid_product_#res#1;havoc valid_product_~retValue_acc~4#1;assume { :end_inline_valid_product } true;main_~tmp~8#1 := main_#t~ret18#1;havoc main_#t~ret18#1; 336082#L1217 assume 0 != main_~tmp~8#1;assume { :begin_inline_setup } true; 337698#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~ret7#1, aliceCall_~tmp~1#1;havoc aliceCall_~tmp~1#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 1;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~6#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~6#1; 336395#L801 assume !(0 == getOrigin_~person#1); 336396#L805 assume 1 == getOrigin_~person#1;getOrigin_~retValue_acc~6#1 := 3;getOrigin_#res#1 := getOrigin_~retValue_acc~6#1; 337729#getOrigin_returnLabel#1 aliceCall_#t~ret7#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~6#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;aliceCall_~tmp~1#1 := aliceCall_#t~ret7#1;havoc aliceCall_#t~ret7#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 1, aliceCall_~tmp~1#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 339305#L409 assume !(0 == initPersonOnFloor_~floor#1); 335646#L436 assume !(1 == initPersonOnFloor_~floor#1); 335647#L463 assume !(2 == initPersonOnFloor_~floor#1); 336766#L490 assume 3 == initPersonOnFloor_~floor#1; 336767#L491 assume !(0 == initPersonOnFloor_~person#1); 338510#L494 assume 1 == initPersonOnFloor_~person#1;~personOnFloor_1_3~0 := 1; 335493#L517-1 assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 336773#L201 assume !(0 == callOnFloor_~floorID#1); 339343#L204 assume !(1 == callOnFloor_~floorID#1); 336599#L207 assume !(2 == callOnFloor_~floorID#1); 336600#L210 assume 3 == callOnFloor_~floorID#1;~calls_3~0 := 1; 337276#L213-2 havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true; 336643#initPersonOnFloor_returnLabel#1 havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true; 336644#aliceCall_returnLabel#1 havoc aliceCall_#t~ret7#1, aliceCall_~tmp~1#1;assume { :end_inline_aliceCall } true;assume { :begin_inline_angelinaCall } true;havoc angelinaCall_#t~ret8#1, angelinaCall_~tmp~2#1;havoc angelinaCall_~tmp~2#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 2;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~6#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~6#1; 335656#L801-1 assume !(0 == getOrigin_~person#1); 335657#L805-1 assume !(1 == getOrigin_~person#1); 340201#L809-1 assume 2 == getOrigin_~person#1;getOrigin_~retValue_acc~6#1 := 2;getOrigin_#res#1 := getOrigin_~retValue_acc~6#1; 335434#getOrigin_returnLabel#2 angelinaCall_#t~ret8#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~6#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;angelinaCall_~tmp~2#1 := angelinaCall_#t~ret8#1;havoc angelinaCall_#t~ret8#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 2, angelinaCall_~tmp~2#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 335435#L409-1 assume !(0 == initPersonOnFloor_~floor#1); 339458#L436-1 assume !(1 == initPersonOnFloor_~floor#1); 339459#L463-1 assume 2 == initPersonOnFloor_~floor#1; 340832#L464-2 assume !(0 == initPersonOnFloor_~person#1); 340833#L467-2 assume !(1 == initPersonOnFloor_~person#1); 341053#L470-2 assume 2 == initPersonOnFloor_~person#1;~personOnFloor_2_2~0 := 1; 339944#L517-3 assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 344037#L201-2 assume !(0 == callOnFloor_~floorID#1); 344036#L204-2 assume !(1 == callOnFloor_~floorID#1); 344035#L207-2 assume 2 == callOnFloor_~floorID#1;~calls_2~0 := 1; 341078#L213-5 havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true; 340413#initPersonOnFloor_returnLabel#2 havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true; 340414#angelinaCall_returnLabel#1 havoc angelinaCall_#t~ret8#1, angelinaCall_~tmp~2#1;assume { :end_inline_angelinaCall } true;assume { :begin_inline_threeTS } true;assume { :begin_inline_timeShift } true;havoc timeShift_#t~ret60#1, timeShift_#t~ret61#1, timeShift_#t~ret62#1, timeShift_#t~ret63#1, timeShift_#t~ret64#1, timeShift_#t~ret65#1, timeShift_#t~ret66#1, timeShift_#t~ret67#1, timeShift_#t~ret68#1, timeShift_#t~ret69#1, timeShift_#t~ret70#1, timeShift_~tmp~19#1, timeShift_~tmp___0~7#1, timeShift_~tmp___1~4#1, timeShift_~tmp___2~4#1, timeShift_~tmp___3~3#1, timeShift_~tmp___4~2#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~19#1;havoc timeShift_~tmp___0~7#1;havoc timeShift_~tmp___1~4#1;havoc timeShift_~tmp___2~4#1;havoc timeShift_~tmp___3~3#1;havoc timeShift_~tmp___4~2#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~ret103#1;assume { :begin_inline_getCurrentHeading } true;havoc getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~14#1;havoc getCurrentHeading_~retValue_acc~14#1;getCurrentHeading_~retValue_acc~14#1 := ~currentHeading~0;getCurrentHeading_#res#1 := getCurrentHeading_~retValue_acc~14#1; 343418#getCurrentHeading_returnLabel#1 __utac_acc__Specification13_spec__1_#t~ret103#1 := getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~14#1;assume { :end_inline_getCurrentHeading } true;~prevDir~0 := __utac_acc__Specification13_spec__1_#t~ret103#1;havoc __utac_acc__Specification13_spec__1_#t~ret103#1; 340751#__utac_acc__Specification13_spec__1_returnLabel#1 havoc __utac_acc__Specification13_spec__1_#t~ret103#1;assume { :end_inline___utac_acc__Specification13_spec__1 } true;assume { :begin_inline_stopRequestedAtCurrentFloor } true;havoc stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret45#1, stopRequestedAtCurrentFloor_#t~ret46#1, stopRequestedAtCurrentFloor_#t~ret47#1, stopRequestedAtCurrentFloor_~retValue_acc~22#1, stopRequestedAtCurrentFloor_~tmp~17#1, stopRequestedAtCurrentFloor_~tmp___0~5#1, stopRequestedAtCurrentFloor_~__cil_tmp4~1#1, stopRequestedAtCurrentFloor_~__cil_tmp5~0#1;havoc stopRequestedAtCurrentFloor_~retValue_acc~22#1;havoc stopRequestedAtCurrentFloor_~tmp~17#1;havoc stopRequestedAtCurrentFloor_~tmp___0~5#1;havoc stopRequestedAtCurrentFloor_~__cil_tmp4~1#1;havoc stopRequestedAtCurrentFloor_~__cil_tmp5~0#1;stopRequestedAtCurrentFloor_~__cil_tmp4~1#1 := 2 * ~maximumWeight~0;stopRequestedAtCurrentFloor_~__cil_tmp5~0#1 := (if stopRequestedAtCurrentFloor_~__cil_tmp4~1#1 < 0 && 0 != stopRequestedAtCurrentFloor_~__cil_tmp4~1#1 % 3 then 1 + stopRequestedAtCurrentFloor_~__cil_tmp4~1#1 / 3 else stopRequestedAtCurrentFloor_~__cil_tmp4~1#1 / 3); 340752#L2140 assume ~weight~0 > stopRequestedAtCurrentFloor_~__cil_tmp5~0#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~11#1;havoc getCurrentFloorID_~retValue_acc~11#1;getCurrentFloorID_~retValue_acc~11#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~11#1; 340486#getCurrentFloorID_returnLabel#1 stopRequestedAtCurrentFloor_#t~ret45#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~11#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedAtCurrentFloor_~tmp~17#1 := stopRequestedAtCurrentFloor_#t~ret45#1;havoc stopRequestedAtCurrentFloor_#t~ret45#1;assume { :begin_inline_buttonForFloorIsPressed } true;buttonForFloorIsPressed_#in~floorID#1 := stopRequestedAtCurrentFloor_~tmp~17#1;havoc buttonForFloorIsPressed_#res#1;havoc buttonForFloorIsPressed_~floorID#1, buttonForFloorIsPressed_~retValue_acc~13#1;buttonForFloorIsPressed_~floorID#1 := buttonForFloorIsPressed_#in~floorID#1;havoc buttonForFloorIsPressed_~retValue_acc~13#1; 340487#L1476 assume 0 == buttonForFloorIsPressed_~floorID#1;buttonForFloorIsPressed_~retValue_acc~13#1 := ~floorButtons_0~0;buttonForFloorIsPressed_#res#1 := buttonForFloorIsPressed_~retValue_acc~13#1; 337990#buttonForFloorIsPressed_returnLabel#1 stopRequestedAtCurrentFloor_#t~ret46#1 := buttonForFloorIsPressed_#res#1;havoc buttonForFloorIsPressed_~floorID#1, buttonForFloorIsPressed_~retValue_acc~13#1;havoc buttonForFloorIsPressed_#in~floorID#1;assume { :end_inline_buttonForFloorIsPressed } true;stopRequestedAtCurrentFloor_~tmp___0~5#1 := stopRequestedAtCurrentFloor_#t~ret46#1;havoc stopRequestedAtCurrentFloor_#t~ret46#1;stopRequestedAtCurrentFloor_~retValue_acc~22#1 := (if 1 == stopRequestedAtCurrentFloor_~tmp___0~5#1 then 1 else 0);stopRequestedAtCurrentFloor_#res#1 := stopRequestedAtCurrentFloor_~retValue_acc~22#1; 335126#stopRequestedAtCurrentFloor_returnLabel#1 timeShift_#t~ret60#1 := stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret45#1, stopRequestedAtCurrentFloor_#t~ret46#1, stopRequestedAtCurrentFloor_#t~ret47#1, stopRequestedAtCurrentFloor_~retValue_acc~22#1, stopRequestedAtCurrentFloor_~tmp~17#1, stopRequestedAtCurrentFloor_~tmp___0~5#1, stopRequestedAtCurrentFloor_~__cil_tmp4~1#1, stopRequestedAtCurrentFloor_~__cil_tmp5~0#1;assume { :end_inline_stopRequestedAtCurrentFloor } true;timeShift_~tmp___9~2#1 := timeShift_#t~ret60#1;havoc timeShift_#t~ret60#1; 335127#L2290 assume !(0 != timeShift_~tmp___9~2#1); 337688#L2381 assume 1 == ~doorState~0;~doorState~0 := 0; 337689#L2381-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~ret38#1, stopRequestedInDirection_#t~ret39#1, stopRequestedInDirection_#t~ret40#1, stopRequestedInDirection_#t~ret41#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~19#1, stopRequestedInDirection_~overload~0#1, stopRequestedInDirection_~buttonPressed~0#1, stopRequestedInDirection_~tmp~14#1, stopRequestedInDirection_~__cil_tmp8~0#1, stopRequestedInDirection_~__cil_tmp9~0#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~19#1;havoc stopRequestedInDirection_~overload~0#1;havoc stopRequestedInDirection_~buttonPressed~0#1;havoc stopRequestedInDirection_~tmp~14#1;havoc stopRequestedInDirection_~__cil_tmp8~0#1;havoc stopRequestedInDirection_~__cil_tmp9~0#1;stopRequestedInDirection_~__cil_tmp8~0#1 := 2 * ~maximumWeight~0;stopRequestedInDirection_~__cil_tmp9~0#1 := (if stopRequestedInDirection_~__cil_tmp8~0#1 < 0 && 0 != stopRequestedInDirection_~__cil_tmp8~0#1 % 3 then 1 + stopRequestedInDirection_~__cil_tmp8~0#1 / 3 else stopRequestedInDirection_~__cil_tmp8~0#1 / 3);stopRequestedInDirection_~overload~0#1 := (if ~weight~0 > stopRequestedInDirection_~__cil_tmp9~0#1 then 1 else 0);assume { :begin_inline_isAnyLiftButtonPressed } true;havoc isAnyLiftButtonPressed_#res#1;havoc isAnyLiftButtonPressed_~retValue_acc~20#1;havoc isAnyLiftButtonPressed_~retValue_acc~20#1; 342143#L2043 assume !(0 != ~floorButtons_0~0); 342099#L2047 assume !(0 != ~floorButtons_1~0); 342100#L2051 assume 0 != ~floorButtons_2~0;isAnyLiftButtonPressed_~retValue_acc~20#1 := 1;isAnyLiftButtonPressed_#res#1 := isAnyLiftButtonPressed_~retValue_acc~20#1; 337505#isAnyLiftButtonPressed_returnLabel#1 stopRequestedInDirection_#t~ret38#1 := isAnyLiftButtonPressed_#res#1;havoc isAnyLiftButtonPressed_~retValue_acc~20#1;assume { :end_inline_isAnyLiftButtonPressed } true;stopRequestedInDirection_~tmp~14#1 := stopRequestedInDirection_#t~ret38#1;havoc stopRequestedInDirection_#t~ret38#1;stopRequestedInDirection_~buttonPressed~0#1 := stopRequestedInDirection_~tmp~14#1; 340446#L2016 assume !(0 != stopRequestedInDirection_~overload~0#1);assume { :begin_inline_stopRequestedInDirection__wrappee__weight } true;stopRequestedInDirection__wrappee__weight_#in~dir#1, stopRequestedInDirection__wrappee__weight_#in~respectFloorCalls#1, stopRequestedInDirection__wrappee__weight_#in~respectInLiftCalls#1 := stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1;havoc stopRequestedInDirection__wrappee__weight_#res#1;havoc stopRequestedInDirection__wrappee__weight_#t~ret27#1, stopRequestedInDirection__wrappee__weight_#t~ret28#1, stopRequestedInDirection__wrappee__weight_#t~ret29#1, stopRequestedInDirection__wrappee__weight_#t~ret30#1, stopRequestedInDirection__wrappee__weight_#t~ret31#1, stopRequestedInDirection__wrappee__weight_#t~ret32#1, stopRequestedInDirection__wrappee__weight_#t~ret33#1, stopRequestedInDirection__wrappee__weight_#t~ret34#1, stopRequestedInDirection__wrappee__weight_#t~ret35#1, stopRequestedInDirection__wrappee__weight_#t~ret36#1, stopRequestedInDirection__wrappee__weight_#t~ret37#1, stopRequestedInDirection__wrappee__weight_~dir#1, stopRequestedInDirection__wrappee__weight_~respectFloorCalls#1, stopRequestedInDirection__wrappee__weight_~respectInLiftCalls#1, stopRequestedInDirection__wrappee__weight_~retValue_acc~18#1, stopRequestedInDirection__wrappee__weight_~tmp~13#1, stopRequestedInDirection__wrappee__weight_~tmp___0~3#1, stopRequestedInDirection__wrappee__weight_~tmp___1~2#1, stopRequestedInDirection__wrappee__weight_~tmp___2~2#1, stopRequestedInDirection__wrappee__weight_~tmp___3~1#1, stopRequestedInDirection__wrappee__weight_~tmp___4~0#1, stopRequestedInDirection__wrappee__weight_~tmp___5~0#1, stopRequestedInDirection__wrappee__weight_~tmp___6~0#1, stopRequestedInDirection__wrappee__weight_~tmp___7~0#1, stopRequestedInDirection__wrappee__weight_~tmp___8~0#1, stopRequestedInDirection__wrappee__weight_~tmp___9~0#1;stopRequestedInDirection__wrappee__weight_~dir#1 := stopRequestedInDirection__wrappee__weight_#in~dir#1;stopRequestedInDirection__wrappee__weight_~respectFloorCalls#1 := stopRequestedInDirection__wrappee__weight_#in~respectFloorCalls#1;stopRequestedInDirection__wrappee__weight_~respectInLiftCalls#1 := stopRequestedInDirection__wrappee__weight_#in~respectInLiftCalls#1;havoc stopRequestedInDirection__wrappee__weight_~retValue_acc~18#1;havoc stopRequestedInDirection__wrappee__weight_~tmp~13#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___0~3#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___1~2#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___2~2#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___3~1#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___4~0#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___5~0#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___6~0#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___7~0#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___8~0#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___9~0#1; 338783#L1663-2 assume !(1 == stopRequestedInDirection__wrappee__weight_~dir#1); 338784#L1832-2 assume 0 == ~currentFloorID~0;stopRequestedInDirection__wrappee__weight_~retValue_acc~18#1 := 0;stopRequestedInDirection__wrappee__weight_#res#1 := stopRequestedInDirection__wrappee__weight_~retValue_acc~18#1; 335583#stopRequestedInDirection__wrappee__weight_returnLabel#3 stopRequestedInDirection_#t~ret41#1 := stopRequestedInDirection__wrappee__weight_#res#1;havoc stopRequestedInDirection__wrappee__weight_#t~ret27#1, stopRequestedInDirection__wrappee__weight_#t~ret28#1, stopRequestedInDirection__wrappee__weight_#t~ret29#1, stopRequestedInDirection__wrappee__weight_#t~ret30#1, stopRequestedInDirection__wrappee__weight_#t~ret31#1, stopRequestedInDirection__wrappee__weight_#t~ret32#1, stopRequestedInDirection__wrappee__weight_#t~ret33#1, stopRequestedInDirection__wrappee__weight_#t~ret34#1, stopRequestedInDirection__wrappee__weight_#t~ret35#1, stopRequestedInDirection__wrappee__weight_#t~ret36#1, stopRequestedInDirection__wrappee__weight_#t~ret37#1, stopRequestedInDirection__wrappee__weight_~dir#1, stopRequestedInDirection__wrappee__weight_~respectFloorCalls#1, stopRequestedInDirection__wrappee__weight_~respectInLiftCalls#1, stopRequestedInDirection__wrappee__weight_~retValue_acc~18#1, stopRequestedInDirection__wrappee__weight_~tmp~13#1, stopRequestedInDirection__wrappee__weight_~tmp___0~3#1, stopRequestedInDirection__wrappee__weight_~tmp___1~2#1, stopRequestedInDirection__wrappee__weight_~tmp___2~2#1, stopRequestedInDirection__wrappee__weight_~tmp___3~1#1, stopRequestedInDirection__wrappee__weight_~tmp___4~0#1, stopRequestedInDirection__wrappee__weight_~tmp___5~0#1, stopRequestedInDirection__wrappee__weight_~tmp___6~0#1, stopRequestedInDirection__wrappee__weight_~tmp___7~0#1, stopRequestedInDirection__wrappee__weight_~tmp___8~0#1, stopRequestedInDirection__wrappee__weight_~tmp___9~0#1;havoc stopRequestedInDirection__wrappee__weight_#in~dir#1, stopRequestedInDirection__wrappee__weight_#in~respectFloorCalls#1, stopRequestedInDirection__wrappee__weight_#in~respectInLiftCalls#1;assume { :end_inline_stopRequestedInDirection__wrappee__weight } true;stopRequestedInDirection_~retValue_acc~19#1 := stopRequestedInDirection_#t~ret41#1;havoc stopRequestedInDirection_#t~ret41#1;stopRequestedInDirection_#res#1 := stopRequestedInDirection_~retValue_acc~19#1; 336462#stopRequestedInDirection_returnLabel#1 timeShift_#t~ret67#1 := stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret38#1, stopRequestedInDirection_#t~ret39#1, stopRequestedInDirection_#t~ret40#1, stopRequestedInDirection_#t~ret41#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~19#1, stopRequestedInDirection_~overload~0#1, stopRequestedInDirection_~buttonPressed~0#1, stopRequestedInDirection_~tmp~14#1, stopRequestedInDirection_~__cil_tmp8~0#1, stopRequestedInDirection_~__cil_tmp9~0#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~ret67#1;havoc timeShift_#t~ret67#1; 337881#L2389 assume 0 != timeShift_~tmp___8~2#1;assume { :begin_inline_continueInDirection } true;continueInDirection_#in~dir#1 := ~currentHeading~0;havoc continueInDirection_#t~ret42#1, continueInDirection_~dir#1, continueInDirection_~tmp~15#1;continueInDirection_~dir#1 := continueInDirection_#in~dir#1;havoc continueInDirection_~tmp~15#1;~currentHeading~0 := continueInDirection_~dir#1; 342961#L2078 assume !(1 == ~currentHeading~0); 343269#L2088 assume !(0 == ~currentFloorID~0); 341750#L2088-2 assume 1 == ~currentHeading~0;~currentFloorID~0 := 1 + ~currentFloorID~0; 336719#L2094-1 havoc continueInDirection_#t~ret42#1, continueInDirection_~dir#1, continueInDirection_~tmp~15#1;havoc continueInDirection_#in~dir#1;assume { :end_inline_continueInDirection } true; 335085#L2398-2 assume { :begin_inline___utac_acc__Specification13_spec__2 } true;havoc __utac_acc__Specification13_spec__2_#t~ret104#1, __utac_acc__Specification13_spec__2_#t~ret105#1, __utac_acc__Specification13_spec__2_#t~ret106#1, __utac_acc__Specification13_spec__2_#t~ret107#1, __utac_acc__Specification13_spec__2_#t~ret108#1, __utac_acc__Specification13_spec__2_#t~ret109#1, __utac_acc__Specification13_spec__2_~tmp~23#1, __utac_acc__Specification13_spec__2_~tmp___0~11#1, __utac_acc__Specification13_spec__2_~tmp___1~8#1, __utac_acc__Specification13_spec__2_~tmp___2~6#1, __utac_acc__Specification13_spec__2_~tmp___3~5#1, __utac_acc__Specification13_spec__2_~tmp___4~3#1, __utac_acc__Specification13_spec__2_~__cil_tmp7~1#1, __utac_acc__Specification13_spec__2_~__cil_tmp8~2#1;havoc __utac_acc__Specification13_spec__2_~tmp~23#1;havoc __utac_acc__Specification13_spec__2_~tmp___0~11#1;havoc __utac_acc__Specification13_spec__2_~tmp___1~8#1;havoc __utac_acc__Specification13_spec__2_~tmp___2~6#1;havoc __utac_acc__Specification13_spec__2_~tmp___3~5#1;havoc __utac_acc__Specification13_spec__2_~tmp___4~3#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp7~1#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp8~2#1;__utac_acc__Specification13_spec__2_~__cil_tmp7~1#1 := 2 * ~maximumWeight~0;__utac_acc__Specification13_spec__2_~__cil_tmp8~2#1 := (if __utac_acc__Specification13_spec__2_~__cil_tmp7~1#1 < 0 && 0 != __utac_acc__Specification13_spec__2_~__cil_tmp7~1#1 % 3 then 1 + __utac_acc__Specification13_spec__2_~__cil_tmp7~1#1 / 3 else __utac_acc__Specification13_spec__2_~__cil_tmp7~1#1 / 3); 335086#L2887 assume ~weight~0 > __utac_acc__Specification13_spec__2_~__cil_tmp8~2#1; 339440#L2888 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~24#1, existInLiftCallsInDirection_~i~1#1, existInLiftCallsInDirection_~i___0~0#1;existInLiftCallsInDirection_~d#1 := existInLiftCallsInDirection_#in~d#1;havoc existInLiftCallsInDirection_~retValue_acc~24#1;havoc existInLiftCallsInDirection_~i~1#1;havoc existInLiftCallsInDirection_~i___0~0#1; 335653#L2593 assume !(1 == existInLiftCallsInDirection_~d#1); 335654#L2659 assume 0 == existInLiftCallsInDirection_~d#1;existInLiftCallsInDirection_~i___0~0#1 := 0;existInLiftCallsInDirection_~i___0~0#1 := ~currentFloorID~0 - 1; 341348#L2663-2 [2024-10-12 00:47:32,707 INFO L747 eck$LassoCheckResult]: Loop: 341348#L2663-2 assume !false; 338409#L2664 assume existInLiftCallsInDirection_~i___0~0#1 >= 0; 338410#L2665 existInLiftCallsInDirection_~i___0~0#1 := 1 + ~currentFloorID~0; 336070#L2672-2 assume !false; 336071#L2673 assume !(existInLiftCallsInDirection_~i___0~0#1 < 5); 341143#L2731 existInLiftCallsInDirection_~i___0~0#1 := existInLiftCallsInDirection_~i___0~0#1 - 1; 341348#L2663-2 [2024-10-12 00:47:32,707 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-12 00:47:32,707 INFO L85 PathProgramCache]: Analyzing trace with hash -2029788863, now seen corresponding path program 1 times [2024-10-12 00:47:32,707 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-12 00:47:32,708 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [906540618] [2024-10-12 00:47:32,708 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-12 00:47:32,708 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-12 00:47:32,734 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-12 00:47:32,769 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,769 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-10-12 00:47:32,769 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [906540618] [2024-10-12 00:47:32,769 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [906540618] provided 1 perfect and 0 imperfect interpolant sequences [2024-10-12 00:47:32,770 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-10-12 00:47:32,770 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2024-10-12 00:47:32,770 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1837749671] [2024-10-12 00:47:32,770 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-10-12 00:47:32,770 INFO L750 eck$LassoCheckResult]: stem already infeasible [2024-10-12 00:47:32,771 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-12 00:47:32,771 INFO L85 PathProgramCache]: Analyzing trace with hash 964799947, now seen corresponding path program 11 times [2024-10-12 00:47:32,771 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-12 00:47:32,771 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [587438321] [2024-10-12 00:47:32,771 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-12 00:47:32,771 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-12 00:47:32,780 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-12 00:47:32,780 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-10-12 00:47:32,781 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-12 00:47:32,786 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-10-12 00:47:32,805 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-10-12 00:47:32,806 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2024-10-12 00:47:32,806 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2024-10-12 00:47:32,806 INFO L87 Difference]: Start difference. First operand 33038 states and 61171 transitions. cyclomatic complexity: 28270 Second operand has 3 states, 3 states have (on average 23.333333333333332) internal successors, (70), 2 states have internal predecessors, (70), 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,894 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-10-12 00:47:33,894 INFO L93 Difference]: Finished difference Result 64582 states and 119210 transitions. [2024-10-12 00:47:33,894 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 64582 states and 119210 transitions. [2024-10-12 00:47:34,132 INFO L131 ngComponentsAnalysis]: Automaton has 257 accepting balls. 17970 [2024-10-12 00:47:34,318 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 64582 states to 64582 states and 119210 transitions. [2024-10-12 00:47:34,318 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 64308 [2024-10-12 00:47:34,364 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 64308 [2024-10-12 00:47:34,364 INFO L73 IsDeterministic]: Start isDeterministic. Operand 64582 states and 119210 transitions. [2024-10-12 00:47:34,400 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-10-12 00:47:34,401 INFO L218 hiAutomatonCegarLoop]: Abstraction has 64582 states and 119210 transitions. [2024-10-12 00:47:34,441 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 64582 states and 119210 transitions. [2024-10-12 00:47:35,291 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 64582 to 64574. [2024-10-12 00:47:35,355 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 64574 states, 64574 states have (on average 1.8459751602812278) internal successors, (119202), 64573 states have internal predecessors, (119202), 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:35,506 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 64574 states to 64574 states and 119202 transitions. [2024-10-12 00:47:35,507 INFO L240 hiAutomatonCegarLoop]: Abstraction has 64574 states and 119202 transitions. [2024-10-12 00:47:35,507 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2024-10-12 00:47:35,507 INFO L425 stractBuchiCegarLoop]: Abstraction has 64574 states and 119202 transitions. [2024-10-12 00:47:35,508 INFO L332 stractBuchiCegarLoop]: ======== Iteration 14 ============ [2024-10-12 00:47:35,508 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 64574 states and 119202 transitions. [2024-10-12 00:47:35,753 INFO L131 ngComponentsAnalysis]: Automaton has 257 accepting balls. 17970 [2024-10-12 00:47:35,754 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-10-12 00:47:35,754 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-10-12 00:47:35,754 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] [2024-10-12 00:47:35,755 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1] [2024-10-12 00:47:35,755 INFO L745 eck$LassoCheckResult]: Stem: 439732#$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(10, 4);call #Ultimate.allocInit(4, 5);call write~init~int#1(91, 5, 0, 1);call write~init~int#1(95, 5, 1, 1);call write~init~int#1(93, 5, 2, 1);call write~init~int#1(0, 5, 3, 1);call #Ultimate.allocInit(4, 6);call write~init~int#2(91, 6, 0, 1);call write~init~int#2(93, 6, 1, 1);call write~init~int#2(32, 6, 2, 1);call write~init~int#2(0, 6, 3, 1);call #Ultimate.allocInit(5, 7);call write~init~int#3(32, 7, 0, 1);call write~init~int#3(97, 7, 1, 1);call write~init~int#3(116, 7, 2, 1);call write~init~int#3(32, 7, 3, 1);call write~init~int#3(0, 7, 4, 1);call #Ultimate.allocInit(3, 8);call write~init~int#4(37, 8, 0, 1);call write~init~int#4(105, 8, 1, 1);call write~init~int#4(0, 8, 2, 1);call #Ultimate.allocInit(10, 9);call #Ultimate.allocInit(3, 10);call write~init~int#5(117, 10, 0, 1);call write~init~int#5(112, 10, 1, 1);call write~init~int#5(0, 10, 2, 1);call #Ultimate.allocInit(5, 11);call write~init~int#6(100, 11, 0, 1);call write~init~int#6(111, 11, 1, 1);call write~init~int#6(119, 11, 2, 1);call write~init~int#6(110, 11, 3, 1);call write~init~int#6(0, 11, 4, 1);call #Ultimate.allocInit(7, 12);call write~init~int#7(32, 12, 0, 1);call write~init~int#7(73, 12, 1, 1);call write~init~int#7(76, 12, 2, 1);call write~init~int#7(95, 12, 3, 1);call write~init~int#7(112, 12, 4, 1);call write~init~int#7(58, 12, 5, 1);call write~init~int#7(0, 12, 6, 1);call #Ultimate.allocInit(4, 13);call write~init~int#8(32, 13, 0, 1);call write~init~int#8(37, 13, 1, 1);call write~init~int#8(105, 13, 2, 1);call write~init~int#8(0, 13, 3, 1);call #Ultimate.allocInit(4, 14);call write~init~int#9(32, 14, 0, 1);call write~init~int#9(37, 14, 1, 1);call write~init~int#9(105, 14, 2, 1);call write~init~int#9(0, 14, 3, 1);call #Ultimate.allocInit(4, 15);call write~init~int#10(32, 15, 0, 1);call write~init~int#10(37, 15, 1, 1);call write~init~int#10(105, 15, 2, 1);call write~init~int#10(0, 15, 3, 1);call #Ultimate.allocInit(4, 16);call write~init~int#11(32, 16, 0, 1);call write~init~int#11(37, 16, 1, 1);call write~init~int#11(105, 16, 2, 1);call write~init~int#11(0, 16, 3, 1);call #Ultimate.allocInit(4, 17);call write~init~int#12(32, 17, 0, 1);call write~init~int#12(37, 17, 1, 1);call write~init~int#12(105, 17, 2, 1);call write~init~int#12(0, 17, 3, 1);call #Ultimate.allocInit(6, 18);call write~init~int#13(32, 18, 0, 1);call write~init~int#13(70, 18, 1, 1);call write~init~int#13(95, 18, 2, 1);call write~init~int#13(112, 18, 3, 1);call write~init~int#13(58, 18, 4, 1);call write~init~int#13(0, 18, 5, 1);call #Ultimate.allocInit(4, 19);call write~init~int#14(32, 19, 0, 1);call write~init~int#14(37, 19, 1, 1);call write~init~int#14(105, 19, 2, 1);call write~init~int#14(0, 19, 3, 1);call #Ultimate.allocInit(4, 20);call write~init~int#15(32, 20, 0, 1);call write~init~int#15(37, 20, 1, 1);call write~init~int#15(105, 20, 2, 1);call write~init~int#15(0, 20, 3, 1);call #Ultimate.allocInit(4, 21);call write~init~int#16(32, 21, 0, 1);call write~init~int#16(37, 21, 1, 1);call write~init~int#16(105, 21, 2, 1);call write~init~int#16(0, 21, 3, 1);call #Ultimate.allocInit(4, 22);call write~init~int#17(32, 22, 0, 1);call write~init~int#17(37, 22, 1, 1);call write~init~int#17(105, 22, 2, 1);call write~init~int#17(0, 22, 3, 1);call #Ultimate.allocInit(4, 23);call write~init~int#18(32, 23, 0, 1);call write~init~int#18(37, 23, 1, 1);call write~init~int#18(105, 23, 2, 1);call write~init~int#18(0, 23, 3, 1);call #Ultimate.allocInit(2, 24);call write~init~int#19(10, 24, 0, 1);call write~init~int#19(0, 24, 1, 1);call #Ultimate.allocInit(30, 25);call #Ultimate.allocInit(9, 26);call #Ultimate.allocInit(21, 27);call #Ultimate.allocInit(30, 28);call #Ultimate.allocInit(9, 29);call #Ultimate.allocInit(21, 30);call #Ultimate.allocInit(30, 31);call #Ultimate.allocInit(9, 32);call #Ultimate.allocInit(25, 33);call #Ultimate.allocInit(30, 34);call #Ultimate.allocInit(9, 35);call #Ultimate.allocInit(25, 36);~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;~weight~0 := 0;~maximumWeight~0 := 100;~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;~prevDir~0 := 0;~head~0.base, ~head~0.offset := 0, 0; 439446#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret18#1, main_~retValue_acc~9#1, main_~tmp~8#1;havoc main_~retValue_acc~9#1;havoc main_~tmp~8#1;assume { :begin_inline_select_helpers } true; 439447#select_helpers_returnLabel#1 assume { :end_inline_select_helpers } true;assume { :begin_inline_select_features } true; 441549#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~4#1;havoc valid_product_~retValue_acc~4#1;valid_product_~retValue_acc~4#1 := 1;valid_product_#res#1 := valid_product_~retValue_acc~4#1; 433709#valid_product_returnLabel#1 main_#t~ret18#1 := valid_product_#res#1;havoc valid_product_~retValue_acc~4#1;assume { :end_inline_valid_product } true;main_~tmp~8#1 := main_#t~ret18#1;havoc main_#t~ret18#1; 433710#L1217 assume 0 != main_~tmp~8#1;assume { :begin_inline_setup } true; 435336#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~ret7#1, aliceCall_~tmp~1#1;havoc aliceCall_~tmp~1#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 1;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~6#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~6#1; 434025#L801 assume !(0 == getOrigin_~person#1); 434026#L805 assume 1 == getOrigin_~person#1;getOrigin_~retValue_acc~6#1 := 3;getOrigin_#res#1 := getOrigin_~retValue_acc~6#1; 435368#getOrigin_returnLabel#1 aliceCall_#t~ret7#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~6#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;aliceCall_~tmp~1#1 := aliceCall_#t~ret7#1;havoc aliceCall_#t~ret7#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 1, aliceCall_~tmp~1#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 436970#L409 assume !(0 == initPersonOnFloor_~floor#1); 433270#L436 assume !(1 == initPersonOnFloor_~floor#1); 433271#L463 assume !(2 == initPersonOnFloor_~floor#1); 434396#L490 assume 3 == initPersonOnFloor_~floor#1; 434397#L491 assume !(0 == initPersonOnFloor_~person#1); 436154#L494 assume 1 == initPersonOnFloor_~person#1;~personOnFloor_1_3~0 := 1; 433117#L517-1 assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 434403#L201 assume !(0 == callOnFloor_~floorID#1); 437009#L204 assume !(1 == callOnFloor_~floorID#1); 434231#L207 assume !(2 == callOnFloor_~floorID#1); 434232#L210 assume 3 == callOnFloor_~floorID#1;~calls_3~0 := 1; 434913#L213-2 havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true; 434273#initPersonOnFloor_returnLabel#1 havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true; 434274#aliceCall_returnLabel#1 havoc aliceCall_#t~ret7#1, aliceCall_~tmp~1#1;assume { :end_inline_aliceCall } true;assume { :begin_inline_angelinaCall } true;havoc angelinaCall_#t~ret8#1, angelinaCall_~tmp~2#1;havoc angelinaCall_~tmp~2#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 2;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~6#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~6#1; 433280#L801-1 assume !(0 == getOrigin_~person#1); 433281#L805-1 assume !(1 == getOrigin_~person#1); 437877#L809-1 assume 2 == getOrigin_~person#1;getOrigin_~retValue_acc~6#1 := 2;getOrigin_#res#1 := getOrigin_~retValue_acc~6#1; 433058#getOrigin_returnLabel#2 angelinaCall_#t~ret8#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~6#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;angelinaCall_~tmp~2#1 := angelinaCall_#t~ret8#1;havoc angelinaCall_#t~ret8#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 2, angelinaCall_~tmp~2#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 433059#L409-1 assume !(0 == initPersonOnFloor_~floor#1); 437129#L436-1 assume !(1 == initPersonOnFloor_~floor#1); 437130#L463-1 assume 2 == initPersonOnFloor_~floor#1; 438554#L464-2 assume !(0 == initPersonOnFloor_~person#1); 438555#L467-2 assume !(1 == initPersonOnFloor_~person#1); 438790#L470-2 assume 2 == initPersonOnFloor_~person#1;~personOnFloor_2_2~0 := 1; 437622#L517-3 assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 442031#L201-2 assume !(0 == callOnFloor_~floorID#1); 442030#L204-2 assume !(1 == callOnFloor_~floorID#1); 442029#L207-2 assume 2 == callOnFloor_~floorID#1;~calls_2~0 := 1; 438819#L213-5 havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true; 438098#initPersonOnFloor_returnLabel#2 havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true; 438099#angelinaCall_returnLabel#1 havoc angelinaCall_#t~ret8#1, angelinaCall_~tmp~2#1;assume { :end_inline_angelinaCall } true;assume { :begin_inline_threeTS } true;assume { :begin_inline_timeShift } true;havoc timeShift_#t~ret60#1, timeShift_#t~ret61#1, timeShift_#t~ret62#1, timeShift_#t~ret63#1, timeShift_#t~ret64#1, timeShift_#t~ret65#1, timeShift_#t~ret66#1, timeShift_#t~ret67#1, timeShift_#t~ret68#1, timeShift_#t~ret69#1, timeShift_#t~ret70#1, timeShift_~tmp~19#1, timeShift_~tmp___0~7#1, timeShift_~tmp___1~4#1, timeShift_~tmp___2~4#1, timeShift_~tmp___3~3#1, timeShift_~tmp___4~2#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~19#1;havoc timeShift_~tmp___0~7#1;havoc timeShift_~tmp___1~4#1;havoc timeShift_~tmp___2~4#1;havoc timeShift_~tmp___3~3#1;havoc timeShift_~tmp___4~2#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~ret103#1;assume { :begin_inline_getCurrentHeading } true;havoc getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~14#1;havoc getCurrentHeading_~retValue_acc~14#1;getCurrentHeading_~retValue_acc~14#1 := ~currentHeading~0;getCurrentHeading_#res#1 := getCurrentHeading_~retValue_acc~14#1; 441314#getCurrentHeading_returnLabel#1 __utac_acc__Specification13_spec__1_#t~ret103#1 := getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~14#1;assume { :end_inline_getCurrentHeading } true;~prevDir~0 := __utac_acc__Specification13_spec__1_#t~ret103#1;havoc __utac_acc__Specification13_spec__1_#t~ret103#1; 438463#__utac_acc__Specification13_spec__1_returnLabel#1 havoc __utac_acc__Specification13_spec__1_#t~ret103#1;assume { :end_inline___utac_acc__Specification13_spec__1 } true;assume { :begin_inline_stopRequestedAtCurrentFloor } true;havoc stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret45#1, stopRequestedAtCurrentFloor_#t~ret46#1, stopRequestedAtCurrentFloor_#t~ret47#1, stopRequestedAtCurrentFloor_~retValue_acc~22#1, stopRequestedAtCurrentFloor_~tmp~17#1, stopRequestedAtCurrentFloor_~tmp___0~5#1, stopRequestedAtCurrentFloor_~__cil_tmp4~1#1, stopRequestedAtCurrentFloor_~__cil_tmp5~0#1;havoc stopRequestedAtCurrentFloor_~retValue_acc~22#1;havoc stopRequestedAtCurrentFloor_~tmp~17#1;havoc stopRequestedAtCurrentFloor_~tmp___0~5#1;havoc stopRequestedAtCurrentFloor_~__cil_tmp4~1#1;havoc stopRequestedAtCurrentFloor_~__cil_tmp5~0#1;stopRequestedAtCurrentFloor_~__cil_tmp4~1#1 := 2 * ~maximumWeight~0;stopRequestedAtCurrentFloor_~__cil_tmp5~0#1 := (if stopRequestedAtCurrentFloor_~__cil_tmp4~1#1 < 0 && 0 != stopRequestedAtCurrentFloor_~__cil_tmp4~1#1 % 3 then 1 + stopRequestedAtCurrentFloor_~__cil_tmp4~1#1 / 3 else stopRequestedAtCurrentFloor_~__cil_tmp4~1#1 / 3); 438464#L2140 assume ~weight~0 > stopRequestedAtCurrentFloor_~__cil_tmp5~0#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~11#1;havoc getCurrentFloorID_~retValue_acc~11#1;getCurrentFloorID_~retValue_acc~11#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~11#1; 438176#getCurrentFloorID_returnLabel#1 stopRequestedAtCurrentFloor_#t~ret45#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~11#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedAtCurrentFloor_~tmp~17#1 := stopRequestedAtCurrentFloor_#t~ret45#1;havoc stopRequestedAtCurrentFloor_#t~ret45#1;assume { :begin_inline_buttonForFloorIsPressed } true;buttonForFloorIsPressed_#in~floorID#1 := stopRequestedAtCurrentFloor_~tmp~17#1;havoc buttonForFloorIsPressed_#res#1;havoc buttonForFloorIsPressed_~floorID#1, buttonForFloorIsPressed_~retValue_acc~13#1;buttonForFloorIsPressed_~floorID#1 := buttonForFloorIsPressed_#in~floorID#1;havoc buttonForFloorIsPressed_~retValue_acc~13#1; 438177#L1476 assume 0 == buttonForFloorIsPressed_~floorID#1;buttonForFloorIsPressed_~retValue_acc~13#1 := ~floorButtons_0~0;buttonForFloorIsPressed_#res#1 := buttonForFloorIsPressed_~retValue_acc~13#1; 435627#buttonForFloorIsPressed_returnLabel#1 stopRequestedAtCurrentFloor_#t~ret46#1 := buttonForFloorIsPressed_#res#1;havoc buttonForFloorIsPressed_~floorID#1, buttonForFloorIsPressed_~retValue_acc~13#1;havoc buttonForFloorIsPressed_#in~floorID#1;assume { :end_inline_buttonForFloorIsPressed } true;stopRequestedAtCurrentFloor_~tmp___0~5#1 := stopRequestedAtCurrentFloor_#t~ret46#1;havoc stopRequestedAtCurrentFloor_#t~ret46#1;stopRequestedAtCurrentFloor_~retValue_acc~22#1 := (if 1 == stopRequestedAtCurrentFloor_~tmp___0~5#1 then 1 else 0);stopRequestedAtCurrentFloor_#res#1 := stopRequestedAtCurrentFloor_~retValue_acc~22#1; 432754#stopRequestedAtCurrentFloor_returnLabel#1 timeShift_#t~ret60#1 := stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret45#1, stopRequestedAtCurrentFloor_#t~ret46#1, stopRequestedAtCurrentFloor_#t~ret47#1, stopRequestedAtCurrentFloor_~retValue_acc~22#1, stopRequestedAtCurrentFloor_~tmp~17#1, stopRequestedAtCurrentFloor_~tmp___0~5#1, stopRequestedAtCurrentFloor_~__cil_tmp4~1#1, stopRequestedAtCurrentFloor_~__cil_tmp5~0#1;assume { :end_inline_stopRequestedAtCurrentFloor } true;timeShift_~tmp___9~2#1 := timeShift_#t~ret60#1;havoc timeShift_#t~ret60#1; 432755#L2290 assume !(0 != timeShift_~tmp___9~2#1); 435325#L2381 assume 1 == ~doorState~0;~doorState~0 := 0; 435326#L2381-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~ret38#1, stopRequestedInDirection_#t~ret39#1, stopRequestedInDirection_#t~ret40#1, stopRequestedInDirection_#t~ret41#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~19#1, stopRequestedInDirection_~overload~0#1, stopRequestedInDirection_~buttonPressed~0#1, stopRequestedInDirection_~tmp~14#1, stopRequestedInDirection_~__cil_tmp8~0#1, stopRequestedInDirection_~__cil_tmp9~0#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~19#1;havoc stopRequestedInDirection_~overload~0#1;havoc stopRequestedInDirection_~buttonPressed~0#1;havoc stopRequestedInDirection_~tmp~14#1;havoc stopRequestedInDirection_~__cil_tmp8~0#1;havoc stopRequestedInDirection_~__cil_tmp9~0#1;stopRequestedInDirection_~__cil_tmp8~0#1 := 2 * ~maximumWeight~0;stopRequestedInDirection_~__cil_tmp9~0#1 := (if stopRequestedInDirection_~__cil_tmp8~0#1 < 0 && 0 != stopRequestedInDirection_~__cil_tmp8~0#1 % 3 then 1 + stopRequestedInDirection_~__cil_tmp8~0#1 / 3 else stopRequestedInDirection_~__cil_tmp8~0#1 / 3);stopRequestedInDirection_~overload~0#1 := (if ~weight~0 > stopRequestedInDirection_~__cil_tmp9~0#1 then 1 else 0);assume { :begin_inline_isAnyLiftButtonPressed } true;havoc isAnyLiftButtonPressed_#res#1;havoc isAnyLiftButtonPressed_~retValue_acc~20#1;havoc isAnyLiftButtonPressed_~retValue_acc~20#1; 439962#L2043 assume !(0 != ~floorButtons_0~0); 439917#L2047 assume !(0 != ~floorButtons_1~0); 439918#L2051 assume !(0 != ~floorButtons_2~0); 435390#L2055 assume 0 != ~floorButtons_3~0;isAnyLiftButtonPressed_~retValue_acc~20#1 := 1;isAnyLiftButtonPressed_#res#1 := isAnyLiftButtonPressed_~retValue_acc~20#1; 435142#isAnyLiftButtonPressed_returnLabel#1 stopRequestedInDirection_#t~ret38#1 := isAnyLiftButtonPressed_#res#1;havoc isAnyLiftButtonPressed_~retValue_acc~20#1;assume { :end_inline_isAnyLiftButtonPressed } true;stopRequestedInDirection_~tmp~14#1 := stopRequestedInDirection_#t~ret38#1;havoc stopRequestedInDirection_#t~ret38#1;stopRequestedInDirection_~buttonPressed~0#1 := stopRequestedInDirection_~tmp~14#1; 438133#L2016 assume !(0 != stopRequestedInDirection_~overload~0#1);assume { :begin_inline_stopRequestedInDirection__wrappee__weight } true;stopRequestedInDirection__wrappee__weight_#in~dir#1, stopRequestedInDirection__wrappee__weight_#in~respectFloorCalls#1, stopRequestedInDirection__wrappee__weight_#in~respectInLiftCalls#1 := stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1;havoc stopRequestedInDirection__wrappee__weight_#res#1;havoc stopRequestedInDirection__wrappee__weight_#t~ret27#1, stopRequestedInDirection__wrappee__weight_#t~ret28#1, stopRequestedInDirection__wrappee__weight_#t~ret29#1, stopRequestedInDirection__wrappee__weight_#t~ret30#1, stopRequestedInDirection__wrappee__weight_#t~ret31#1, stopRequestedInDirection__wrappee__weight_#t~ret32#1, stopRequestedInDirection__wrappee__weight_#t~ret33#1, stopRequestedInDirection__wrappee__weight_#t~ret34#1, stopRequestedInDirection__wrappee__weight_#t~ret35#1, stopRequestedInDirection__wrappee__weight_#t~ret36#1, stopRequestedInDirection__wrappee__weight_#t~ret37#1, stopRequestedInDirection__wrappee__weight_~dir#1, stopRequestedInDirection__wrappee__weight_~respectFloorCalls#1, stopRequestedInDirection__wrappee__weight_~respectInLiftCalls#1, stopRequestedInDirection__wrappee__weight_~retValue_acc~18#1, stopRequestedInDirection__wrappee__weight_~tmp~13#1, stopRequestedInDirection__wrappee__weight_~tmp___0~3#1, stopRequestedInDirection__wrappee__weight_~tmp___1~2#1, stopRequestedInDirection__wrappee__weight_~tmp___2~2#1, stopRequestedInDirection__wrappee__weight_~tmp___3~1#1, stopRequestedInDirection__wrappee__weight_~tmp___4~0#1, stopRequestedInDirection__wrappee__weight_~tmp___5~0#1, stopRequestedInDirection__wrappee__weight_~tmp___6~0#1, stopRequestedInDirection__wrappee__weight_~tmp___7~0#1, stopRequestedInDirection__wrappee__weight_~tmp___8~0#1, stopRequestedInDirection__wrappee__weight_~tmp___9~0#1;stopRequestedInDirection__wrappee__weight_~dir#1 := stopRequestedInDirection__wrappee__weight_#in~dir#1;stopRequestedInDirection__wrappee__weight_~respectFloorCalls#1 := stopRequestedInDirection__wrappee__weight_#in~respectFloorCalls#1;stopRequestedInDirection__wrappee__weight_~respectInLiftCalls#1 := stopRequestedInDirection__wrappee__weight_#in~respectInLiftCalls#1;havoc stopRequestedInDirection__wrappee__weight_~retValue_acc~18#1;havoc stopRequestedInDirection__wrappee__weight_~tmp~13#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___0~3#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___1~2#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___2~2#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___3~1#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___4~0#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___5~0#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___6~0#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___7~0#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___8~0#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___9~0#1; 436433#L1663-2 assume !(1 == stopRequestedInDirection__wrappee__weight_~dir#1); 436434#L1832-2 assume 0 == ~currentFloorID~0;stopRequestedInDirection__wrappee__weight_~retValue_acc~18#1 := 0;stopRequestedInDirection__wrappee__weight_#res#1 := stopRequestedInDirection__wrappee__weight_~retValue_acc~18#1; 433210#stopRequestedInDirection__wrappee__weight_returnLabel#3 stopRequestedInDirection_#t~ret41#1 := stopRequestedInDirection__wrappee__weight_#res#1;havoc stopRequestedInDirection__wrappee__weight_#t~ret27#1, stopRequestedInDirection__wrappee__weight_#t~ret28#1, stopRequestedInDirection__wrappee__weight_#t~ret29#1, stopRequestedInDirection__wrappee__weight_#t~ret30#1, stopRequestedInDirection__wrappee__weight_#t~ret31#1, stopRequestedInDirection__wrappee__weight_#t~ret32#1, stopRequestedInDirection__wrappee__weight_#t~ret33#1, stopRequestedInDirection__wrappee__weight_#t~ret34#1, stopRequestedInDirection__wrappee__weight_#t~ret35#1, stopRequestedInDirection__wrappee__weight_#t~ret36#1, stopRequestedInDirection__wrappee__weight_#t~ret37#1, stopRequestedInDirection__wrappee__weight_~dir#1, stopRequestedInDirection__wrappee__weight_~respectFloorCalls#1, stopRequestedInDirection__wrappee__weight_~respectInLiftCalls#1, stopRequestedInDirection__wrappee__weight_~retValue_acc~18#1, stopRequestedInDirection__wrappee__weight_~tmp~13#1, stopRequestedInDirection__wrappee__weight_~tmp___0~3#1, stopRequestedInDirection__wrappee__weight_~tmp___1~2#1, stopRequestedInDirection__wrappee__weight_~tmp___2~2#1, stopRequestedInDirection__wrappee__weight_~tmp___3~1#1, stopRequestedInDirection__wrappee__weight_~tmp___4~0#1, stopRequestedInDirection__wrappee__weight_~tmp___5~0#1, stopRequestedInDirection__wrappee__weight_~tmp___6~0#1, stopRequestedInDirection__wrappee__weight_~tmp___7~0#1, stopRequestedInDirection__wrappee__weight_~tmp___8~0#1, stopRequestedInDirection__wrappee__weight_~tmp___9~0#1;havoc stopRequestedInDirection__wrappee__weight_#in~dir#1, stopRequestedInDirection__wrappee__weight_#in~respectFloorCalls#1, stopRequestedInDirection__wrappee__weight_#in~respectInLiftCalls#1;assume { :end_inline_stopRequestedInDirection__wrappee__weight } true;stopRequestedInDirection_~retValue_acc~19#1 := stopRequestedInDirection_#t~ret41#1;havoc stopRequestedInDirection_#t~ret41#1;stopRequestedInDirection_#res#1 := stopRequestedInDirection_~retValue_acc~19#1; 434093#stopRequestedInDirection_returnLabel#1 timeShift_#t~ret67#1 := stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret38#1, stopRequestedInDirection_#t~ret39#1, stopRequestedInDirection_#t~ret40#1, stopRequestedInDirection_#t~ret41#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~19#1, stopRequestedInDirection_~overload~0#1, stopRequestedInDirection_~buttonPressed~0#1, stopRequestedInDirection_~tmp~14#1, stopRequestedInDirection_~__cil_tmp8~0#1, stopRequestedInDirection_~__cil_tmp9~0#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~ret67#1;havoc timeShift_#t~ret67#1; 435520#L2389 assume 0 != timeShift_~tmp___8~2#1;assume { :begin_inline_continueInDirection } true;continueInDirection_#in~dir#1 := ~currentHeading~0;havoc continueInDirection_#t~ret42#1, continueInDirection_~dir#1, continueInDirection_~tmp~15#1;continueInDirection_~dir#1 := continueInDirection_#in~dir#1;havoc continueInDirection_~tmp~15#1;~currentHeading~0 := continueInDirection_~dir#1; 440842#L2078 assume !(1 == ~currentHeading~0); 441162#L2088 assume !(0 == ~currentFloorID~0); 439540#L2088-2 assume 1 == ~currentHeading~0;~currentFloorID~0 := 1 + ~currentFloorID~0; 434348#L2094-1 havoc continueInDirection_#t~ret42#1, continueInDirection_~dir#1, continueInDirection_~tmp~15#1;havoc continueInDirection_#in~dir#1;assume { :end_inline_continueInDirection } true; 434349#L2398-2 assume { :begin_inline___utac_acc__Specification13_spec__2 } true;havoc __utac_acc__Specification13_spec__2_#t~ret104#1, __utac_acc__Specification13_spec__2_#t~ret105#1, __utac_acc__Specification13_spec__2_#t~ret106#1, __utac_acc__Specification13_spec__2_#t~ret107#1, __utac_acc__Specification13_spec__2_#t~ret108#1, __utac_acc__Specification13_spec__2_#t~ret109#1, __utac_acc__Specification13_spec__2_~tmp~23#1, __utac_acc__Specification13_spec__2_~tmp___0~11#1, __utac_acc__Specification13_spec__2_~tmp___1~8#1, __utac_acc__Specification13_spec__2_~tmp___2~6#1, __utac_acc__Specification13_spec__2_~tmp___3~5#1, __utac_acc__Specification13_spec__2_~tmp___4~3#1, __utac_acc__Specification13_spec__2_~__cil_tmp7~1#1, __utac_acc__Specification13_spec__2_~__cil_tmp8~2#1;havoc __utac_acc__Specification13_spec__2_~tmp~23#1;havoc __utac_acc__Specification13_spec__2_~tmp___0~11#1;havoc __utac_acc__Specification13_spec__2_~tmp___1~8#1;havoc __utac_acc__Specification13_spec__2_~tmp___2~6#1;havoc __utac_acc__Specification13_spec__2_~tmp___3~5#1;havoc __utac_acc__Specification13_spec__2_~tmp___4~3#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp7~1#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp8~2#1;__utac_acc__Specification13_spec__2_~__cil_tmp7~1#1 := 2 * ~maximumWeight~0;__utac_acc__Specification13_spec__2_~__cil_tmp8~2#1 := (if __utac_acc__Specification13_spec__2_~__cil_tmp7~1#1 < 0 && 0 != __utac_acc__Specification13_spec__2_~__cil_tmp7~1#1 % 3 then 1 + __utac_acc__Specification13_spec__2_~__cil_tmp7~1#1 / 3 else __utac_acc__Specification13_spec__2_~__cil_tmp7~1#1 / 3); 452681#L2887 assume ~weight~0 > __utac_acc__Specification13_spec__2_~__cil_tmp8~2#1; 452682#L2888 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~24#1, existInLiftCallsInDirection_~i~1#1, existInLiftCallsInDirection_~i___0~0#1;existInLiftCallsInDirection_~d#1 := existInLiftCallsInDirection_#in~d#1;havoc existInLiftCallsInDirection_~retValue_acc~24#1;havoc existInLiftCallsInDirection_~i~1#1;havoc existInLiftCallsInDirection_~i___0~0#1; 452683#L2593 assume !(1 == existInLiftCallsInDirection_~d#1); 452779#L2659 assume 0 == existInLiftCallsInDirection_~d#1;existInLiftCallsInDirection_~i___0~0#1 := 0;existInLiftCallsInDirection_~i___0~0#1 := ~currentFloorID~0 - 1; 452778#L2663-2 [2024-10-12 00:47:35,756 INFO L747 eck$LassoCheckResult]: Loop: 452778#L2663-2 assume !false; 452777#L2664 assume existInLiftCallsInDirection_~i___0~0#1 >= 0; 452776#L2665 existInLiftCallsInDirection_~i___0~0#1 := 1 + ~currentFloorID~0; 452775#L2672-2 assume !false; 452773#L2673 assume !(existInLiftCallsInDirection_~i___0~0#1 < 5); 452774#L2731 existInLiftCallsInDirection_~i___0~0#1 := existInLiftCallsInDirection_~i___0~0#1 - 1; 452778#L2663-2 [2024-10-12 00:47:35,756 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-12 00:47:35,756 INFO L85 PathProgramCache]: Analyzing trace with hash 740595531, now seen corresponding path program 1 times [2024-10-12 00:47:35,756 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-12 00:47:35,757 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1108061565] [2024-10-12 00:47:35,757 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-12 00:47:35,757 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-12 00:47:35,788 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-12 00:47:35,832 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:35,832 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-10-12 00:47:35,833 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1108061565] [2024-10-12 00:47:35,833 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1108061565] provided 1 perfect and 0 imperfect interpolant sequences [2024-10-12 00:47:35,833 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-10-12 00:47:35,833 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2024-10-12 00:47:35,833 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1843820485] [2024-10-12 00:47:35,833 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-10-12 00:47:35,834 INFO L750 eck$LassoCheckResult]: stem already infeasible [2024-10-12 00:47:35,834 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-12 00:47:35,834 INFO L85 PathProgramCache]: Analyzing trace with hash 964799947, now seen corresponding path program 12 times [2024-10-12 00:47:35,835 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-12 00:47:35,835 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [952103372] [2024-10-12 00:47:35,835 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-12 00:47:35,835 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-12 00:47:35,847 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-12 00:47:35,848 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-10-12 00:47:35,849 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-12 00:47:35,855 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-10-12 00:47:35,879 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-10-12 00:47:35,879 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2024-10-12 00:47:35,880 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2024-10-12 00:47:35,880 INFO L87 Difference]: Start difference. First operand 64574 states and 119202 transitions. cyclomatic complexity: 54901 Second operand has 3 states, 3 states have (on average 23.666666666666668) internal successors, (71), 2 states have internal predecessors, (71), 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:37,319 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-10-12 00:47:37,320 INFO L93 Difference]: Finished difference Result 127230 states and 234129 transitions. [2024-10-12 00:47:37,320 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 127230 states and 234129 transitions. [2024-10-12 00:47:38,423 INFO L131 ngComponentsAnalysis]: Automaton has 513 accepting balls. 35672 [2024-10-12 00:47:38,864 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 127230 states to 127230 states and 234129 transitions. [2024-10-12 00:47:38,865 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 126700 [2024-10-12 00:47:38,965 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 126700 [2024-10-12 00:47:38,965 INFO L73 IsDeterministic]: Start isDeterministic. Operand 127230 states and 234129 transitions. [2024-10-12 00:47:38,967 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-10-12 00:47:38,967 INFO L218 hiAutomatonCegarLoop]: Abstraction has 127230 states and 234129 transitions. [2024-10-12 00:47:39,058 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 127230 states and 234129 transitions. [2024-10-12 00:47:40,751 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 127230 to 127214. [2024-10-12 00:47:40,880 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 127214 states, 127214 states have (on average 1.84030845661641) internal successors, (234113), 127213 states have internal predecessors, (234113), 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:41,209 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 127214 states to 127214 states and 234113 transitions. [2024-10-12 00:47:41,209 INFO L240 hiAutomatonCegarLoop]: Abstraction has 127214 states and 234113 transitions. [2024-10-12 00:47:41,210 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2024-10-12 00:47:41,210 INFO L425 stractBuchiCegarLoop]: Abstraction has 127214 states and 234113 transitions. [2024-10-12 00:47:41,210 INFO L332 stractBuchiCegarLoop]: ======== Iteration 15 ============ [2024-10-12 00:47:41,210 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 127214 states and 234113 transitions. [2024-10-12 00:47:41,681 INFO L131 ngComponentsAnalysis]: Automaton has 513 accepting balls. 35672 [2024-10-12 00:47:41,681 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-10-12 00:47:41,681 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-10-12 00:47:41,682 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] [2024-10-12 00:47:41,682 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1] [2024-10-12 00:47:41,683 INFO L745 eck$LassoCheckResult]: Stem: 631614#$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(10, 4);call #Ultimate.allocInit(4, 5);call write~init~int#1(91, 5, 0, 1);call write~init~int#1(95, 5, 1, 1);call write~init~int#1(93, 5, 2, 1);call write~init~int#1(0, 5, 3, 1);call #Ultimate.allocInit(4, 6);call write~init~int#2(91, 6, 0, 1);call write~init~int#2(93, 6, 1, 1);call write~init~int#2(32, 6, 2, 1);call write~init~int#2(0, 6, 3, 1);call #Ultimate.allocInit(5, 7);call write~init~int#3(32, 7, 0, 1);call write~init~int#3(97, 7, 1, 1);call write~init~int#3(116, 7, 2, 1);call write~init~int#3(32, 7, 3, 1);call write~init~int#3(0, 7, 4, 1);call #Ultimate.allocInit(3, 8);call write~init~int#4(37, 8, 0, 1);call write~init~int#4(105, 8, 1, 1);call write~init~int#4(0, 8, 2, 1);call #Ultimate.allocInit(10, 9);call #Ultimate.allocInit(3, 10);call write~init~int#5(117, 10, 0, 1);call write~init~int#5(112, 10, 1, 1);call write~init~int#5(0, 10, 2, 1);call #Ultimate.allocInit(5, 11);call write~init~int#6(100, 11, 0, 1);call write~init~int#6(111, 11, 1, 1);call write~init~int#6(119, 11, 2, 1);call write~init~int#6(110, 11, 3, 1);call write~init~int#6(0, 11, 4, 1);call #Ultimate.allocInit(7, 12);call write~init~int#7(32, 12, 0, 1);call write~init~int#7(73, 12, 1, 1);call write~init~int#7(76, 12, 2, 1);call write~init~int#7(95, 12, 3, 1);call write~init~int#7(112, 12, 4, 1);call write~init~int#7(58, 12, 5, 1);call write~init~int#7(0, 12, 6, 1);call #Ultimate.allocInit(4, 13);call write~init~int#8(32, 13, 0, 1);call write~init~int#8(37, 13, 1, 1);call write~init~int#8(105, 13, 2, 1);call write~init~int#8(0, 13, 3, 1);call #Ultimate.allocInit(4, 14);call write~init~int#9(32, 14, 0, 1);call write~init~int#9(37, 14, 1, 1);call write~init~int#9(105, 14, 2, 1);call write~init~int#9(0, 14, 3, 1);call #Ultimate.allocInit(4, 15);call write~init~int#10(32, 15, 0, 1);call write~init~int#10(37, 15, 1, 1);call write~init~int#10(105, 15, 2, 1);call write~init~int#10(0, 15, 3, 1);call #Ultimate.allocInit(4, 16);call write~init~int#11(32, 16, 0, 1);call write~init~int#11(37, 16, 1, 1);call write~init~int#11(105, 16, 2, 1);call write~init~int#11(0, 16, 3, 1);call #Ultimate.allocInit(4, 17);call write~init~int#12(32, 17, 0, 1);call write~init~int#12(37, 17, 1, 1);call write~init~int#12(105, 17, 2, 1);call write~init~int#12(0, 17, 3, 1);call #Ultimate.allocInit(6, 18);call write~init~int#13(32, 18, 0, 1);call write~init~int#13(70, 18, 1, 1);call write~init~int#13(95, 18, 2, 1);call write~init~int#13(112, 18, 3, 1);call write~init~int#13(58, 18, 4, 1);call write~init~int#13(0, 18, 5, 1);call #Ultimate.allocInit(4, 19);call write~init~int#14(32, 19, 0, 1);call write~init~int#14(37, 19, 1, 1);call write~init~int#14(105, 19, 2, 1);call write~init~int#14(0, 19, 3, 1);call #Ultimate.allocInit(4, 20);call write~init~int#15(32, 20, 0, 1);call write~init~int#15(37, 20, 1, 1);call write~init~int#15(105, 20, 2, 1);call write~init~int#15(0, 20, 3, 1);call #Ultimate.allocInit(4, 21);call write~init~int#16(32, 21, 0, 1);call write~init~int#16(37, 21, 1, 1);call write~init~int#16(105, 21, 2, 1);call write~init~int#16(0, 21, 3, 1);call #Ultimate.allocInit(4, 22);call write~init~int#17(32, 22, 0, 1);call write~init~int#17(37, 22, 1, 1);call write~init~int#17(105, 22, 2, 1);call write~init~int#17(0, 22, 3, 1);call #Ultimate.allocInit(4, 23);call write~init~int#18(32, 23, 0, 1);call write~init~int#18(37, 23, 1, 1);call write~init~int#18(105, 23, 2, 1);call write~init~int#18(0, 23, 3, 1);call #Ultimate.allocInit(2, 24);call write~init~int#19(10, 24, 0, 1);call write~init~int#19(0, 24, 1, 1);call #Ultimate.allocInit(30, 25);call #Ultimate.allocInit(9, 26);call #Ultimate.allocInit(21, 27);call #Ultimate.allocInit(30, 28);call #Ultimate.allocInit(9, 29);call #Ultimate.allocInit(21, 30);call #Ultimate.allocInit(30, 31);call #Ultimate.allocInit(9, 32);call #Ultimate.allocInit(25, 33);call #Ultimate.allocInit(30, 34);call #Ultimate.allocInit(9, 35);call #Ultimate.allocInit(25, 36);~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;~weight~0 := 0;~maximumWeight~0 := 100;~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;~prevDir~0 := 0;~head~0.base, ~head~0.offset := 0, 0; 631332#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret18#1, main_~retValue_acc~9#1, main_~tmp~8#1;havoc main_~retValue_acc~9#1;havoc main_~tmp~8#1;assume { :begin_inline_select_helpers } true; 631333#select_helpers_returnLabel#1 assume { :end_inline_select_helpers } true;assume { :begin_inline_select_features } true; 633502#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~4#1;havoc valid_product_~retValue_acc~4#1;valid_product_~retValue_acc~4#1 := 1;valid_product_#res#1 := valid_product_~retValue_acc~4#1; 625515#valid_product_returnLabel#1 main_#t~ret18#1 := valid_product_#res#1;havoc valid_product_~retValue_acc~4#1;assume { :end_inline_valid_product } true;main_~tmp~8#1 := main_#t~ret18#1;havoc main_#t~ret18#1; 625516#L1217 assume 0 != main_~tmp~8#1;assume { :begin_inline_setup } true; 627158#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~ret7#1, aliceCall_~tmp~1#1;havoc aliceCall_~tmp~1#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 1;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~6#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~6#1; 625831#L801 assume !(0 == getOrigin_~person#1); 625832#L805 assume 1 == getOrigin_~person#1;getOrigin_~retValue_acc~6#1 := 3;getOrigin_#res#1 := getOrigin_~retValue_acc~6#1; 627190#getOrigin_returnLabel#1 aliceCall_#t~ret7#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~6#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;aliceCall_~tmp~1#1 := aliceCall_#t~ret7#1;havoc aliceCall_#t~ret7#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 1, aliceCall_~tmp~1#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 628818#L409 assume !(0 == initPersonOnFloor_~floor#1); 625076#L436 assume !(1 == initPersonOnFloor_~floor#1); 625077#L463 assume !(2 == initPersonOnFloor_~floor#1); 626205#L490 assume 3 == initPersonOnFloor_~floor#1; 626206#L491 assume !(0 == initPersonOnFloor_~person#1); 627984#L494 assume 1 == initPersonOnFloor_~person#1;~personOnFloor_1_3~0 := 1; 624923#L517-1 assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 626212#L201 assume !(0 == callOnFloor_~floorID#1); 628860#L204 assume !(1 == callOnFloor_~floorID#1); 626038#L207 assume !(2 == callOnFloor_~floorID#1); 626039#L210 assume 3 == callOnFloor_~floorID#1;~calls_3~0 := 1; 626727#L213-2 havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true; 626082#initPersonOnFloor_returnLabel#1 havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true; 626083#aliceCall_returnLabel#1 havoc aliceCall_#t~ret7#1, aliceCall_~tmp~1#1;assume { :end_inline_aliceCall } true;assume { :begin_inline_angelinaCall } true;havoc angelinaCall_#t~ret8#1, angelinaCall_~tmp~2#1;havoc angelinaCall_~tmp~2#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 2;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~6#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~6#1; 625086#L801-1 assume !(0 == getOrigin_~person#1); 625087#L805-1 assume !(1 == getOrigin_~person#1); 629753#L809-1 assume 2 == getOrigin_~person#1;getOrigin_~retValue_acc~6#1 := 2;getOrigin_#res#1 := getOrigin_~retValue_acc~6#1; 624864#getOrigin_returnLabel#2 angelinaCall_#t~ret8#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~6#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;angelinaCall_~tmp~2#1 := angelinaCall_#t~ret8#1;havoc angelinaCall_#t~ret8#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 2, angelinaCall_~tmp~2#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 624865#L409-1 assume !(0 == initPersonOnFloor_~floor#1); 628979#L436-1 assume !(1 == initPersonOnFloor_~floor#1); 628980#L463-1 assume 2 == initPersonOnFloor_~floor#1; 630431#L464-2 assume !(0 == initPersonOnFloor_~person#1); 630432#L467-2 assume !(1 == initPersonOnFloor_~person#1); 630671#L470-2 assume 2 == initPersonOnFloor_~person#1;~personOnFloor_2_2~0 := 1; 629490#L517-3 assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 634073#L201-2 assume !(0 == callOnFloor_~floorID#1); 634072#L204-2 assume !(1 == callOnFloor_~floorID#1); 634071#L207-2 assume 2 == callOnFloor_~floorID#1;~calls_2~0 := 1; 630697#L213-5 havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true; 629975#initPersonOnFloor_returnLabel#2 havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true; 629976#angelinaCall_returnLabel#1 havoc angelinaCall_#t~ret8#1, angelinaCall_~tmp~2#1;assume { :end_inline_angelinaCall } true;assume { :begin_inline_threeTS } true;assume { :begin_inline_timeShift } true;havoc timeShift_#t~ret60#1, timeShift_#t~ret61#1, timeShift_#t~ret62#1, timeShift_#t~ret63#1, timeShift_#t~ret64#1, timeShift_#t~ret65#1, timeShift_#t~ret66#1, timeShift_#t~ret67#1, timeShift_#t~ret68#1, timeShift_#t~ret69#1, timeShift_#t~ret70#1, timeShift_~tmp~19#1, timeShift_~tmp___0~7#1, timeShift_~tmp___1~4#1, timeShift_~tmp___2~4#1, timeShift_~tmp___3~3#1, timeShift_~tmp___4~2#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~19#1;havoc timeShift_~tmp___0~7#1;havoc timeShift_~tmp___1~4#1;havoc timeShift_~tmp___2~4#1;havoc timeShift_~tmp___3~3#1;havoc timeShift_~tmp___4~2#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~ret103#1;assume { :begin_inline_getCurrentHeading } true;havoc getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~14#1;havoc getCurrentHeading_~retValue_acc~14#1;getCurrentHeading_~retValue_acc~14#1 := ~currentHeading~0;getCurrentHeading_#res#1 := getCurrentHeading_~retValue_acc~14#1; 633263#getCurrentHeading_returnLabel#1 __utac_acc__Specification13_spec__1_#t~ret103#1 := getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~14#1;assume { :end_inline_getCurrentHeading } true;~prevDir~0 := __utac_acc__Specification13_spec__1_#t~ret103#1;havoc __utac_acc__Specification13_spec__1_#t~ret103#1; 630344#__utac_acc__Specification13_spec__1_returnLabel#1 havoc __utac_acc__Specification13_spec__1_#t~ret103#1;assume { :end_inline___utac_acc__Specification13_spec__1 } true;assume { :begin_inline_stopRequestedAtCurrentFloor } true;havoc stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret45#1, stopRequestedAtCurrentFloor_#t~ret46#1, stopRequestedAtCurrentFloor_#t~ret47#1, stopRequestedAtCurrentFloor_~retValue_acc~22#1, stopRequestedAtCurrentFloor_~tmp~17#1, stopRequestedAtCurrentFloor_~tmp___0~5#1, stopRequestedAtCurrentFloor_~__cil_tmp4~1#1, stopRequestedAtCurrentFloor_~__cil_tmp5~0#1;havoc stopRequestedAtCurrentFloor_~retValue_acc~22#1;havoc stopRequestedAtCurrentFloor_~tmp~17#1;havoc stopRequestedAtCurrentFloor_~tmp___0~5#1;havoc stopRequestedAtCurrentFloor_~__cil_tmp4~1#1;havoc stopRequestedAtCurrentFloor_~__cil_tmp5~0#1;stopRequestedAtCurrentFloor_~__cil_tmp4~1#1 := 2 * ~maximumWeight~0;stopRequestedAtCurrentFloor_~__cil_tmp5~0#1 := (if stopRequestedAtCurrentFloor_~__cil_tmp4~1#1 < 0 && 0 != stopRequestedAtCurrentFloor_~__cil_tmp4~1#1 % 3 then 1 + stopRequestedAtCurrentFloor_~__cil_tmp4~1#1 / 3 else stopRequestedAtCurrentFloor_~__cil_tmp4~1#1 / 3); 630345#L2140 assume ~weight~0 > stopRequestedAtCurrentFloor_~__cil_tmp5~0#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~11#1;havoc getCurrentFloorID_~retValue_acc~11#1;getCurrentFloorID_~retValue_acc~11#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~11#1; 630056#getCurrentFloorID_returnLabel#1 stopRequestedAtCurrentFloor_#t~ret45#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~11#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedAtCurrentFloor_~tmp~17#1 := stopRequestedAtCurrentFloor_#t~ret45#1;havoc stopRequestedAtCurrentFloor_#t~ret45#1;assume { :begin_inline_buttonForFloorIsPressed } true;buttonForFloorIsPressed_#in~floorID#1 := stopRequestedAtCurrentFloor_~tmp~17#1;havoc buttonForFloorIsPressed_#res#1;havoc buttonForFloorIsPressed_~floorID#1, buttonForFloorIsPressed_~retValue_acc~13#1;buttonForFloorIsPressed_~floorID#1 := buttonForFloorIsPressed_#in~floorID#1;havoc buttonForFloorIsPressed_~retValue_acc~13#1; 630057#L1476 assume 0 == buttonForFloorIsPressed_~floorID#1;buttonForFloorIsPressed_~retValue_acc~13#1 := ~floorButtons_0~0;buttonForFloorIsPressed_#res#1 := buttonForFloorIsPressed_~retValue_acc~13#1; 627454#buttonForFloorIsPressed_returnLabel#1 stopRequestedAtCurrentFloor_#t~ret46#1 := buttonForFloorIsPressed_#res#1;havoc buttonForFloorIsPressed_~floorID#1, buttonForFloorIsPressed_~retValue_acc~13#1;havoc buttonForFloorIsPressed_#in~floorID#1;assume { :end_inline_buttonForFloorIsPressed } true;stopRequestedAtCurrentFloor_~tmp___0~5#1 := stopRequestedAtCurrentFloor_#t~ret46#1;havoc stopRequestedAtCurrentFloor_#t~ret46#1;stopRequestedAtCurrentFloor_~retValue_acc~22#1 := (if 1 == stopRequestedAtCurrentFloor_~tmp___0~5#1 then 1 else 0);stopRequestedAtCurrentFloor_#res#1 := stopRequestedAtCurrentFloor_~retValue_acc~22#1; 624560#stopRequestedAtCurrentFloor_returnLabel#1 timeShift_#t~ret60#1 := stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret45#1, stopRequestedAtCurrentFloor_#t~ret46#1, stopRequestedAtCurrentFloor_#t~ret47#1, stopRequestedAtCurrentFloor_~retValue_acc~22#1, stopRequestedAtCurrentFloor_~tmp~17#1, stopRequestedAtCurrentFloor_~tmp___0~5#1, stopRequestedAtCurrentFloor_~__cil_tmp4~1#1, stopRequestedAtCurrentFloor_~__cil_tmp5~0#1;assume { :end_inline_stopRequestedAtCurrentFloor } true;timeShift_~tmp___9~2#1 := timeShift_#t~ret60#1;havoc timeShift_#t~ret60#1; 624561#L2290 assume !(0 != timeShift_~tmp___9~2#1); 627147#L2381 assume 1 == ~doorState~0;~doorState~0 := 0; 627148#L2381-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~ret38#1, stopRequestedInDirection_#t~ret39#1, stopRequestedInDirection_#t~ret40#1, stopRequestedInDirection_#t~ret41#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~19#1, stopRequestedInDirection_~overload~0#1, stopRequestedInDirection_~buttonPressed~0#1, stopRequestedInDirection_~tmp~14#1, stopRequestedInDirection_~__cil_tmp8~0#1, stopRequestedInDirection_~__cil_tmp9~0#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~19#1;havoc stopRequestedInDirection_~overload~0#1;havoc stopRequestedInDirection_~buttonPressed~0#1;havoc stopRequestedInDirection_~tmp~14#1;havoc stopRequestedInDirection_~__cil_tmp8~0#1;havoc stopRequestedInDirection_~__cil_tmp9~0#1;stopRequestedInDirection_~__cil_tmp8~0#1 := 2 * ~maximumWeight~0;stopRequestedInDirection_~__cil_tmp9~0#1 := (if stopRequestedInDirection_~__cil_tmp8~0#1 < 0 && 0 != stopRequestedInDirection_~__cil_tmp8~0#1 % 3 then 1 + stopRequestedInDirection_~__cil_tmp8~0#1 / 3 else stopRequestedInDirection_~__cil_tmp8~0#1 / 3);stopRequestedInDirection_~overload~0#1 := (if ~weight~0 > stopRequestedInDirection_~__cil_tmp9~0#1 then 1 else 0);assume { :begin_inline_isAnyLiftButtonPressed } true;havoc isAnyLiftButtonPressed_#res#1;havoc isAnyLiftButtonPressed_~retValue_acc~20#1;havoc isAnyLiftButtonPressed_~retValue_acc~20#1; 631841#L2043 assume !(0 != ~floorButtons_0~0); 631795#L2047 assume !(0 != ~floorButtons_1~0); 631796#L2051 assume !(0 != ~floorButtons_2~0); 627213#L2055 assume !(0 != ~floorButtons_3~0); 626959#L2059 assume !(0 != ~floorButtons_4~0);isAnyLiftButtonPressed_~retValue_acc~20#1 := 0;isAnyLiftButtonPressed_#res#1 := isAnyLiftButtonPressed_~retValue_acc~20#1; 626960#isAnyLiftButtonPressed_returnLabel#1 stopRequestedInDirection_#t~ret38#1 := isAnyLiftButtonPressed_#res#1;havoc isAnyLiftButtonPressed_~retValue_acc~20#1;assume { :end_inline_isAnyLiftButtonPressed } true;stopRequestedInDirection_~tmp~14#1 := stopRequestedInDirection_#t~ret38#1;havoc stopRequestedInDirection_#t~ret38#1;stopRequestedInDirection_~buttonPressed~0#1 := stopRequestedInDirection_~tmp~14#1; 630013#L2016 assume !(0 != stopRequestedInDirection_~overload~0#1);assume { :begin_inline_stopRequestedInDirection__wrappee__weight } true;stopRequestedInDirection__wrappee__weight_#in~dir#1, stopRequestedInDirection__wrappee__weight_#in~respectFloorCalls#1, stopRequestedInDirection__wrappee__weight_#in~respectInLiftCalls#1 := stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1;havoc stopRequestedInDirection__wrappee__weight_#res#1;havoc stopRequestedInDirection__wrappee__weight_#t~ret27#1, stopRequestedInDirection__wrappee__weight_#t~ret28#1, stopRequestedInDirection__wrappee__weight_#t~ret29#1, stopRequestedInDirection__wrappee__weight_#t~ret30#1, stopRequestedInDirection__wrappee__weight_#t~ret31#1, stopRequestedInDirection__wrappee__weight_#t~ret32#1, stopRequestedInDirection__wrappee__weight_#t~ret33#1, stopRequestedInDirection__wrappee__weight_#t~ret34#1, stopRequestedInDirection__wrappee__weight_#t~ret35#1, stopRequestedInDirection__wrappee__weight_#t~ret36#1, stopRequestedInDirection__wrappee__weight_#t~ret37#1, stopRequestedInDirection__wrappee__weight_~dir#1, stopRequestedInDirection__wrappee__weight_~respectFloorCalls#1, stopRequestedInDirection__wrappee__weight_~respectInLiftCalls#1, stopRequestedInDirection__wrappee__weight_~retValue_acc~18#1, stopRequestedInDirection__wrappee__weight_~tmp~13#1, stopRequestedInDirection__wrappee__weight_~tmp___0~3#1, stopRequestedInDirection__wrappee__weight_~tmp___1~2#1, stopRequestedInDirection__wrappee__weight_~tmp___2~2#1, stopRequestedInDirection__wrappee__weight_~tmp___3~1#1, stopRequestedInDirection__wrappee__weight_~tmp___4~0#1, stopRequestedInDirection__wrappee__weight_~tmp___5~0#1, stopRequestedInDirection__wrappee__weight_~tmp___6~0#1, stopRequestedInDirection__wrappee__weight_~tmp___7~0#1, stopRequestedInDirection__wrappee__weight_~tmp___8~0#1, stopRequestedInDirection__wrappee__weight_~tmp___9~0#1;stopRequestedInDirection__wrappee__weight_~dir#1 := stopRequestedInDirection__wrappee__weight_#in~dir#1;stopRequestedInDirection__wrappee__weight_~respectFloorCalls#1 := stopRequestedInDirection__wrappee__weight_#in~respectFloorCalls#1;stopRequestedInDirection__wrappee__weight_~respectInLiftCalls#1 := stopRequestedInDirection__wrappee__weight_#in~respectInLiftCalls#1;havoc stopRequestedInDirection__wrappee__weight_~retValue_acc~18#1;havoc stopRequestedInDirection__wrappee__weight_~tmp~13#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___0~3#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___1~2#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___2~2#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___3~1#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___4~0#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___5~0#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___6~0#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___7~0#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___8~0#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___9~0#1; 628275#L1663-2 assume !(1 == stopRequestedInDirection__wrappee__weight_~dir#1); 628276#L1832-2 assume 0 == ~currentFloorID~0;stopRequestedInDirection__wrappee__weight_~retValue_acc~18#1 := 0;stopRequestedInDirection__wrappee__weight_#res#1 := stopRequestedInDirection__wrappee__weight_~retValue_acc~18#1; 625016#stopRequestedInDirection__wrappee__weight_returnLabel#3 stopRequestedInDirection_#t~ret41#1 := stopRequestedInDirection__wrappee__weight_#res#1;havoc stopRequestedInDirection__wrappee__weight_#t~ret27#1, stopRequestedInDirection__wrappee__weight_#t~ret28#1, stopRequestedInDirection__wrappee__weight_#t~ret29#1, stopRequestedInDirection__wrappee__weight_#t~ret30#1, stopRequestedInDirection__wrappee__weight_#t~ret31#1, stopRequestedInDirection__wrappee__weight_#t~ret32#1, stopRequestedInDirection__wrappee__weight_#t~ret33#1, stopRequestedInDirection__wrappee__weight_#t~ret34#1, stopRequestedInDirection__wrappee__weight_#t~ret35#1, stopRequestedInDirection__wrappee__weight_#t~ret36#1, stopRequestedInDirection__wrappee__weight_#t~ret37#1, stopRequestedInDirection__wrappee__weight_~dir#1, stopRequestedInDirection__wrappee__weight_~respectFloorCalls#1, stopRequestedInDirection__wrappee__weight_~respectInLiftCalls#1, stopRequestedInDirection__wrappee__weight_~retValue_acc~18#1, stopRequestedInDirection__wrappee__weight_~tmp~13#1, stopRequestedInDirection__wrappee__weight_~tmp___0~3#1, stopRequestedInDirection__wrappee__weight_~tmp___1~2#1, stopRequestedInDirection__wrappee__weight_~tmp___2~2#1, stopRequestedInDirection__wrappee__weight_~tmp___3~1#1, stopRequestedInDirection__wrappee__weight_~tmp___4~0#1, stopRequestedInDirection__wrappee__weight_~tmp___5~0#1, stopRequestedInDirection__wrappee__weight_~tmp___6~0#1, stopRequestedInDirection__wrappee__weight_~tmp___7~0#1, stopRequestedInDirection__wrappee__weight_~tmp___8~0#1, stopRequestedInDirection__wrappee__weight_~tmp___9~0#1;havoc stopRequestedInDirection__wrappee__weight_#in~dir#1, stopRequestedInDirection__wrappee__weight_#in~respectFloorCalls#1, stopRequestedInDirection__wrappee__weight_#in~respectInLiftCalls#1;assume { :end_inline_stopRequestedInDirection__wrappee__weight } true;stopRequestedInDirection_~retValue_acc~19#1 := stopRequestedInDirection_#t~ret41#1;havoc stopRequestedInDirection_#t~ret41#1;stopRequestedInDirection_#res#1 := stopRequestedInDirection_~retValue_acc~19#1; 625898#stopRequestedInDirection_returnLabel#1 timeShift_#t~ret67#1 := stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret38#1, stopRequestedInDirection_#t~ret39#1, stopRequestedInDirection_#t~ret40#1, stopRequestedInDirection_#t~ret41#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~19#1, stopRequestedInDirection_~overload~0#1, stopRequestedInDirection_~buttonPressed~0#1, stopRequestedInDirection_~tmp~14#1, stopRequestedInDirection_~__cil_tmp8~0#1, stopRequestedInDirection_~__cil_tmp9~0#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~ret67#1;havoc timeShift_#t~ret67#1; 627347#L2389 assume 0 != timeShift_~tmp___8~2#1;assume { :begin_inline_continueInDirection } true;continueInDirection_#in~dir#1 := ~currentHeading~0;havoc continueInDirection_#t~ret42#1, continueInDirection_~dir#1, continueInDirection_~tmp~15#1;continueInDirection_~dir#1 := continueInDirection_#in~dir#1;havoc continueInDirection_~tmp~15#1;~currentHeading~0 := continueInDirection_~dir#1; 632747#L2078 assume !(1 == ~currentHeading~0); 633098#L2088 assume !(0 == ~currentFloorID~0); 631425#L2088-2 assume 1 == ~currentHeading~0;~currentFloorID~0 := 1 + ~currentFloorID~0; 626157#L2094-1 havoc continueInDirection_#t~ret42#1, continueInDirection_~dir#1, continueInDirection_~tmp~15#1;havoc continueInDirection_#in~dir#1;assume { :end_inline_continueInDirection } true; 624516#L2398-2 assume { :begin_inline___utac_acc__Specification13_spec__2 } true;havoc __utac_acc__Specification13_spec__2_#t~ret104#1, __utac_acc__Specification13_spec__2_#t~ret105#1, __utac_acc__Specification13_spec__2_#t~ret106#1, __utac_acc__Specification13_spec__2_#t~ret107#1, __utac_acc__Specification13_spec__2_#t~ret108#1, __utac_acc__Specification13_spec__2_#t~ret109#1, __utac_acc__Specification13_spec__2_~tmp~23#1, __utac_acc__Specification13_spec__2_~tmp___0~11#1, __utac_acc__Specification13_spec__2_~tmp___1~8#1, __utac_acc__Specification13_spec__2_~tmp___2~6#1, __utac_acc__Specification13_spec__2_~tmp___3~5#1, __utac_acc__Specification13_spec__2_~tmp___4~3#1, __utac_acc__Specification13_spec__2_~__cil_tmp7~1#1, __utac_acc__Specification13_spec__2_~__cil_tmp8~2#1;havoc __utac_acc__Specification13_spec__2_~tmp~23#1;havoc __utac_acc__Specification13_spec__2_~tmp___0~11#1;havoc __utac_acc__Specification13_spec__2_~tmp___1~8#1;havoc __utac_acc__Specification13_spec__2_~tmp___2~6#1;havoc __utac_acc__Specification13_spec__2_~tmp___3~5#1;havoc __utac_acc__Specification13_spec__2_~tmp___4~3#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp7~1#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp8~2#1;__utac_acc__Specification13_spec__2_~__cil_tmp7~1#1 := 2 * ~maximumWeight~0;__utac_acc__Specification13_spec__2_~__cil_tmp8~2#1 := (if __utac_acc__Specification13_spec__2_~__cil_tmp7~1#1 < 0 && 0 != __utac_acc__Specification13_spec__2_~__cil_tmp7~1#1 % 3 then 1 + __utac_acc__Specification13_spec__2_~__cil_tmp7~1#1 / 3 else __utac_acc__Specification13_spec__2_~__cil_tmp7~1#1 / 3); 624517#L2887 assume ~weight~0 > __utac_acc__Specification13_spec__2_~__cil_tmp8~2#1; 628961#L2888 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~24#1, existInLiftCallsInDirection_~i~1#1, existInLiftCallsInDirection_~i___0~0#1;existInLiftCallsInDirection_~d#1 := existInLiftCallsInDirection_#in~d#1;havoc existInLiftCallsInDirection_~retValue_acc~24#1;havoc existInLiftCallsInDirection_~i~1#1;havoc existInLiftCallsInDirection_~i___0~0#1; 625083#L2593 assume !(1 == existInLiftCallsInDirection_~d#1); 625084#L2659 assume 0 == existInLiftCallsInDirection_~d#1;existInLiftCallsInDirection_~i___0~0#1 := 0;existInLiftCallsInDirection_~i___0~0#1 := ~currentFloorID~0 - 1; 630989#L2663-2 [2024-10-12 00:47:41,683 INFO L747 eck$LassoCheckResult]: Loop: 630989#L2663-2 assume !false; 627882#L2664 assume existInLiftCallsInDirection_~i___0~0#1 >= 0; 627883#L2665 existInLiftCallsInDirection_~i___0~0#1 := 1 + ~currentFloorID~0; 625504#L2672-2 assume !false; 625505#L2673 assume !(existInLiftCallsInDirection_~i___0~0#1 < 5); 630767#L2731 existInLiftCallsInDirection_~i___0~0#1 := existInLiftCallsInDirection_~i___0~0#1 - 1; 630989#L2663-2 [2024-10-12 00:47:41,683 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-12 00:47:41,683 INFO L85 PathProgramCache]: Analyzing trace with hash 1606399112, now seen corresponding path program 1 times [2024-10-12 00:47:41,684 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-12 00:47:41,684 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1325598224] [2024-10-12 00:47:41,684 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-12 00:47:41,684 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-12 00:47:41,716 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-12 00:47:41,832 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:41,832 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-10-12 00:47:41,832 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1325598224] [2024-10-12 00:47:41,832 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1325598224] provided 1 perfect and 0 imperfect interpolant sequences [2024-10-12 00:47:41,833 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-10-12 00:47:41,833 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2024-10-12 00:47:41,833 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1280737165] [2024-10-12 00:47:41,833 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-10-12 00:47:41,833 INFO L750 eck$LassoCheckResult]: stem already infeasible [2024-10-12 00:47:41,834 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-12 00:47:41,834 INFO L85 PathProgramCache]: Analyzing trace with hash 964799947, now seen corresponding path program 13 times [2024-10-12 00:47:41,835 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-12 00:47:41,835 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [970111011] [2024-10-12 00:47:41,835 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-12 00:47:41,835 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-12 00:47:41,847 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-12 00:47:41,848 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-10-12 00:47:41,849 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-12 00:47:41,855 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-10-12 00:47:41,874 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-10-12 00:47:41,874 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2024-10-12 00:47:41,874 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2024-10-12 00:47:41,875 INFO L87 Difference]: Start difference. First operand 127214 states and 234113 transitions. cyclomatic complexity: 107444 Second operand has 5 states, 5 states have (on average 14.4) internal successors, (72), 4 states have internal predecessors, (72), 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,170 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-10-12 00:47:44,170 INFO L93 Difference]: Finished difference Result 213066 states and 391007 transitions. [2024-10-12 00:47:44,170 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 213066 states and 391007 transitions. [2024-10-12 00:47:45,756 INFO L131 ngComponentsAnalysis]: Automaton has 905 accepting balls. 66622 [2024-10-12 00:47:47,058 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 213066 states to 213066 states and 391007 transitions. [2024-10-12 00:47:47,059 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 212514 [2024-10-12 00:47:47,191 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 212514 [2024-10-12 00:47:47,191 INFO L73 IsDeterministic]: Start isDeterministic. Operand 213066 states and 391007 transitions. [2024-10-12 00:47:47,192 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-10-12 00:47:47,192 INFO L218 hiAutomatonCegarLoop]: Abstraction has 213066 states and 391007 transitions. [2024-10-12 00:47:47,289 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 213066 states and 391007 transitions. [2024-10-12 00:47:49,305 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 213066 to 212968. [2024-10-12 00:47:49,495 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 212968 states, 212968 states have (on average 1.835299199879794) internal successors, (390860), 212967 states have internal predecessors, (390860), 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,940 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 212968 states to 212968 states and 390860 transitions. [2024-10-12 00:47:50,940 INFO L240 hiAutomatonCegarLoop]: Abstraction has 212968 states and 390860 transitions. [2024-10-12 00:47:50,940 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2024-10-12 00:47:50,941 INFO L425 stractBuchiCegarLoop]: Abstraction has 212968 states and 390860 transitions. [2024-10-12 00:47:50,941 INFO L332 stractBuchiCegarLoop]: ======== Iteration 16 ============ [2024-10-12 00:47:50,941 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 212968 states and 390860 transitions. [2024-10-12 00:47:51,467 INFO L131 ngComponentsAnalysis]: Automaton has 905 accepting balls. 66590 [2024-10-12 00:47:51,467 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-10-12 00:47:51,467 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-10-12 00:47:51,468 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] [2024-10-12 00:47:51,468 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1] [2024-10-12 00:47:51,469 INFO L745 eck$LassoCheckResult]: Stem: 971816#$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(10, 4);call #Ultimate.allocInit(4, 5);call write~init~int#1(91, 5, 0, 1);call write~init~int#1(95, 5, 1, 1);call write~init~int#1(93, 5, 2, 1);call write~init~int#1(0, 5, 3, 1);call #Ultimate.allocInit(4, 6);call write~init~int#2(91, 6, 0, 1);call write~init~int#2(93, 6, 1, 1);call write~init~int#2(32, 6, 2, 1);call write~init~int#2(0, 6, 3, 1);call #Ultimate.allocInit(5, 7);call write~init~int#3(32, 7, 0, 1);call write~init~int#3(97, 7, 1, 1);call write~init~int#3(116, 7, 2, 1);call write~init~int#3(32, 7, 3, 1);call write~init~int#3(0, 7, 4, 1);call #Ultimate.allocInit(3, 8);call write~init~int#4(37, 8, 0, 1);call write~init~int#4(105, 8, 1, 1);call write~init~int#4(0, 8, 2, 1);call #Ultimate.allocInit(10, 9);call #Ultimate.allocInit(3, 10);call write~init~int#5(117, 10, 0, 1);call write~init~int#5(112, 10, 1, 1);call write~init~int#5(0, 10, 2, 1);call #Ultimate.allocInit(5, 11);call write~init~int#6(100, 11, 0, 1);call write~init~int#6(111, 11, 1, 1);call write~init~int#6(119, 11, 2, 1);call write~init~int#6(110, 11, 3, 1);call write~init~int#6(0, 11, 4, 1);call #Ultimate.allocInit(7, 12);call write~init~int#7(32, 12, 0, 1);call write~init~int#7(73, 12, 1, 1);call write~init~int#7(76, 12, 2, 1);call write~init~int#7(95, 12, 3, 1);call write~init~int#7(112, 12, 4, 1);call write~init~int#7(58, 12, 5, 1);call write~init~int#7(0, 12, 6, 1);call #Ultimate.allocInit(4, 13);call write~init~int#8(32, 13, 0, 1);call write~init~int#8(37, 13, 1, 1);call write~init~int#8(105, 13, 2, 1);call write~init~int#8(0, 13, 3, 1);call #Ultimate.allocInit(4, 14);call write~init~int#9(32, 14, 0, 1);call write~init~int#9(37, 14, 1, 1);call write~init~int#9(105, 14, 2, 1);call write~init~int#9(0, 14, 3, 1);call #Ultimate.allocInit(4, 15);call write~init~int#10(32, 15, 0, 1);call write~init~int#10(37, 15, 1, 1);call write~init~int#10(105, 15, 2, 1);call write~init~int#10(0, 15, 3, 1);call #Ultimate.allocInit(4, 16);call write~init~int#11(32, 16, 0, 1);call write~init~int#11(37, 16, 1, 1);call write~init~int#11(105, 16, 2, 1);call write~init~int#11(0, 16, 3, 1);call #Ultimate.allocInit(4, 17);call write~init~int#12(32, 17, 0, 1);call write~init~int#12(37, 17, 1, 1);call write~init~int#12(105, 17, 2, 1);call write~init~int#12(0, 17, 3, 1);call #Ultimate.allocInit(6, 18);call write~init~int#13(32, 18, 0, 1);call write~init~int#13(70, 18, 1, 1);call write~init~int#13(95, 18, 2, 1);call write~init~int#13(112, 18, 3, 1);call write~init~int#13(58, 18, 4, 1);call write~init~int#13(0, 18, 5, 1);call #Ultimate.allocInit(4, 19);call write~init~int#14(32, 19, 0, 1);call write~init~int#14(37, 19, 1, 1);call write~init~int#14(105, 19, 2, 1);call write~init~int#14(0, 19, 3, 1);call #Ultimate.allocInit(4, 20);call write~init~int#15(32, 20, 0, 1);call write~init~int#15(37, 20, 1, 1);call write~init~int#15(105, 20, 2, 1);call write~init~int#15(0, 20, 3, 1);call #Ultimate.allocInit(4, 21);call write~init~int#16(32, 21, 0, 1);call write~init~int#16(37, 21, 1, 1);call write~init~int#16(105, 21, 2, 1);call write~init~int#16(0, 21, 3, 1);call #Ultimate.allocInit(4, 22);call write~init~int#17(32, 22, 0, 1);call write~init~int#17(37, 22, 1, 1);call write~init~int#17(105, 22, 2, 1);call write~init~int#17(0, 22, 3, 1);call #Ultimate.allocInit(4, 23);call write~init~int#18(32, 23, 0, 1);call write~init~int#18(37, 23, 1, 1);call write~init~int#18(105, 23, 2, 1);call write~init~int#18(0, 23, 3, 1);call #Ultimate.allocInit(2, 24);call write~init~int#19(10, 24, 0, 1);call write~init~int#19(0, 24, 1, 1);call #Ultimate.allocInit(30, 25);call #Ultimate.allocInit(9, 26);call #Ultimate.allocInit(21, 27);call #Ultimate.allocInit(30, 28);call #Ultimate.allocInit(9, 29);call #Ultimate.allocInit(21, 30);call #Ultimate.allocInit(30, 31);call #Ultimate.allocInit(9, 32);call #Ultimate.allocInit(25, 33);call #Ultimate.allocInit(30, 34);call #Ultimate.allocInit(9, 35);call #Ultimate.allocInit(25, 36);~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;~weight~0 := 0;~maximumWeight~0 := 100;~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;~prevDir~0 := 0;~head~0.base, ~head~0.offset := 0, 0; 971518#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret18#1, main_~retValue_acc~9#1, main_~tmp~8#1;havoc main_~retValue_acc~9#1;havoc main_~tmp~8#1;assume { :begin_inline_select_helpers } true; 971519#select_helpers_returnLabel#1 assume { :end_inline_select_helpers } true;assume { :begin_inline_select_features } true; 973735#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~4#1;havoc valid_product_~retValue_acc~4#1;valid_product_~retValue_acc~4#1 := 1;valid_product_#res#1 := valid_product_~retValue_acc~4#1; 965787#valid_product_returnLabel#1 main_#t~ret18#1 := valid_product_#res#1;havoc valid_product_~retValue_acc~4#1;assume { :end_inline_valid_product } true;main_~tmp~8#1 := main_#t~ret18#1;havoc main_#t~ret18#1; 965788#L1217 assume 0 != main_~tmp~8#1;assume { :begin_inline_setup } true; 967402#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~ret7#1, aliceCall_~tmp~1#1;havoc aliceCall_~tmp~1#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 1;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~6#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~6#1; 966099#L801 assume !(0 == getOrigin_~person#1); 966100#L805 assume 1 == getOrigin_~person#1;getOrigin_~retValue_acc~6#1 := 3;getOrigin_#res#1 := getOrigin_~retValue_acc~6#1; 967432#getOrigin_returnLabel#1 aliceCall_#t~ret7#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~6#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;aliceCall_~tmp~1#1 := aliceCall_#t~ret7#1;havoc aliceCall_#t~ret7#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 1, aliceCall_~tmp~1#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 969020#L409 assume !(0 == initPersonOnFloor_~floor#1); 965348#L436 assume !(1 == initPersonOnFloor_~floor#1); 965349#L463 assume !(2 == initPersonOnFloor_~floor#1); 966469#L490 assume 3 == initPersonOnFloor_~floor#1; 966470#L491 assume !(0 == initPersonOnFloor_~person#1); 968217#L494 assume 1 == initPersonOnFloor_~person#1;~personOnFloor_1_3~0 := 1; 965197#L517-1 assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 966476#L201 assume !(0 == callOnFloor_~floorID#1); 969060#L204 assume !(1 == callOnFloor_~floorID#1); 966300#L207 assume !(2 == callOnFloor_~floorID#1); 966301#L210 assume 3 == callOnFloor_~floorID#1;~calls_3~0 := 1; 966983#L213-2 havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true; 966342#initPersonOnFloor_returnLabel#1 havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true; 966343#aliceCall_returnLabel#1 havoc aliceCall_#t~ret7#1, aliceCall_~tmp~1#1;assume { :end_inline_aliceCall } true;assume { :begin_inline_angelinaCall } true;havoc angelinaCall_#t~ret8#1, angelinaCall_~tmp~2#1;havoc angelinaCall_~tmp~2#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 2;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~6#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~6#1; 965358#L801-1 assume !(0 == getOrigin_~person#1); 965359#L805-1 assume !(1 == getOrigin_~person#1); 969936#L809-1 assume 2 == getOrigin_~person#1;getOrigin_~retValue_acc~6#1 := 2;getOrigin_#res#1 := getOrigin_~retValue_acc~6#1; 965138#getOrigin_returnLabel#2 angelinaCall_#t~ret8#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~6#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;angelinaCall_~tmp~2#1 := angelinaCall_#t~ret8#1;havoc angelinaCall_#t~ret8#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 2, angelinaCall_~tmp~2#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 965139#L409-1 assume !(0 == initPersonOnFloor_~floor#1); 969179#L436-1 assume !(1 == initPersonOnFloor_~floor#1); 969180#L463-1 assume 2 == initPersonOnFloor_~floor#1; 970627#L464-2 assume !(0 == initPersonOnFloor_~person#1); 970628#L467-2 assume !(1 == initPersonOnFloor_~person#1); 970872#L470-2 assume 2 == initPersonOnFloor_~person#1;~personOnFloor_2_2~0 := 1; 969675#L517-3 assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 970402#L201-2 assume !(0 == callOnFloor_~floorID#1); 973784#L204-2 assume !(1 == callOnFloor_~floorID#1); 973785#L207-2 assume 2 == callOnFloor_~floorID#1;~calls_2~0 := 1; 970900#L213-5 havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true; 970163#initPersonOnFloor_returnLabel#2 havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true; 970164#angelinaCall_returnLabel#1 havoc angelinaCall_#t~ret8#1, angelinaCall_~tmp~2#1;assume { :end_inline_angelinaCall } true;assume { :begin_inline_threeTS } true;assume { :begin_inline_timeShift } true;havoc timeShift_#t~ret60#1, timeShift_#t~ret61#1, timeShift_#t~ret62#1, timeShift_#t~ret63#1, timeShift_#t~ret64#1, timeShift_#t~ret65#1, timeShift_#t~ret66#1, timeShift_#t~ret67#1, timeShift_#t~ret68#1, timeShift_#t~ret69#1, timeShift_#t~ret70#1, timeShift_~tmp~19#1, timeShift_~tmp___0~7#1, timeShift_~tmp___1~4#1, timeShift_~tmp___2~4#1, timeShift_~tmp___3~3#1, timeShift_~tmp___4~2#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~19#1;havoc timeShift_~tmp___0~7#1;havoc timeShift_~tmp___1~4#1;havoc timeShift_~tmp___2~4#1;havoc timeShift_~tmp___3~3#1;havoc timeShift_~tmp___4~2#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~ret103#1;assume { :begin_inline_getCurrentHeading } true;havoc getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~14#1;havoc getCurrentHeading_~retValue_acc~14#1;getCurrentHeading_~retValue_acc~14#1 := ~currentHeading~0;getCurrentHeading_#res#1 := getCurrentHeading_~retValue_acc~14#1; 973502#getCurrentHeading_returnLabel#1 __utac_acc__Specification13_spec__1_#t~ret103#1 := getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~14#1;assume { :end_inline_getCurrentHeading } true;~prevDir~0 := __utac_acc__Specification13_spec__1_#t~ret103#1;havoc __utac_acc__Specification13_spec__1_#t~ret103#1; 970535#__utac_acc__Specification13_spec__1_returnLabel#1 havoc __utac_acc__Specification13_spec__1_#t~ret103#1;assume { :end_inline___utac_acc__Specification13_spec__1 } true;assume { :begin_inline_stopRequestedAtCurrentFloor } true;havoc stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret45#1, stopRequestedAtCurrentFloor_#t~ret46#1, stopRequestedAtCurrentFloor_#t~ret47#1, stopRequestedAtCurrentFloor_~retValue_acc~22#1, stopRequestedAtCurrentFloor_~tmp~17#1, stopRequestedAtCurrentFloor_~tmp___0~5#1, stopRequestedAtCurrentFloor_~__cil_tmp4~1#1, stopRequestedAtCurrentFloor_~__cil_tmp5~0#1;havoc stopRequestedAtCurrentFloor_~retValue_acc~22#1;havoc stopRequestedAtCurrentFloor_~tmp~17#1;havoc stopRequestedAtCurrentFloor_~tmp___0~5#1;havoc stopRequestedAtCurrentFloor_~__cil_tmp4~1#1;havoc stopRequestedAtCurrentFloor_~__cil_tmp5~0#1;stopRequestedAtCurrentFloor_~__cil_tmp4~1#1 := 2 * ~maximumWeight~0;stopRequestedAtCurrentFloor_~__cil_tmp5~0#1 := (if stopRequestedAtCurrentFloor_~__cil_tmp4~1#1 < 0 && 0 != stopRequestedAtCurrentFloor_~__cil_tmp4~1#1 % 3 then 1 + stopRequestedAtCurrentFloor_~__cil_tmp4~1#1 / 3 else stopRequestedAtCurrentFloor_~__cil_tmp4~1#1 / 3); 970536#L2140 assume ~weight~0 > stopRequestedAtCurrentFloor_~__cil_tmp5~0#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~11#1;havoc getCurrentFloorID_~retValue_acc~11#1;getCurrentFloorID_~retValue_acc~11#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~11#1; 970245#getCurrentFloorID_returnLabel#1 stopRequestedAtCurrentFloor_#t~ret45#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~11#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedAtCurrentFloor_~tmp~17#1 := stopRequestedAtCurrentFloor_#t~ret45#1;havoc stopRequestedAtCurrentFloor_#t~ret45#1;assume { :begin_inline_buttonForFloorIsPressed } true;buttonForFloorIsPressed_#in~floorID#1 := stopRequestedAtCurrentFloor_~tmp~17#1;havoc buttonForFloorIsPressed_#res#1;havoc buttonForFloorIsPressed_~floorID#1, buttonForFloorIsPressed_~retValue_acc~13#1;buttonForFloorIsPressed_~floorID#1 := buttonForFloorIsPressed_#in~floorID#1;havoc buttonForFloorIsPressed_~retValue_acc~13#1; 970246#L1476 assume 0 == buttonForFloorIsPressed_~floorID#1;buttonForFloorIsPressed_~retValue_acc~13#1 := ~floorButtons_0~0;buttonForFloorIsPressed_#res#1 := buttonForFloorIsPressed_~retValue_acc~13#1; 967688#buttonForFloorIsPressed_returnLabel#1 stopRequestedAtCurrentFloor_#t~ret46#1 := buttonForFloorIsPressed_#res#1;havoc buttonForFloorIsPressed_~floorID#1, buttonForFloorIsPressed_~retValue_acc~13#1;havoc buttonForFloorIsPressed_#in~floorID#1;assume { :end_inline_buttonForFloorIsPressed } true;stopRequestedAtCurrentFloor_~tmp___0~5#1 := stopRequestedAtCurrentFloor_#t~ret46#1;havoc stopRequestedAtCurrentFloor_#t~ret46#1;stopRequestedAtCurrentFloor_~retValue_acc~22#1 := (if 1 == stopRequestedAtCurrentFloor_~tmp___0~5#1 then 1 else 0);stopRequestedAtCurrentFloor_#res#1 := stopRequestedAtCurrentFloor_~retValue_acc~22#1; 964834#stopRequestedAtCurrentFloor_returnLabel#1 timeShift_#t~ret60#1 := stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret45#1, stopRequestedAtCurrentFloor_#t~ret46#1, stopRequestedAtCurrentFloor_#t~ret47#1, stopRequestedAtCurrentFloor_~retValue_acc~22#1, stopRequestedAtCurrentFloor_~tmp~17#1, stopRequestedAtCurrentFloor_~tmp___0~5#1, stopRequestedAtCurrentFloor_~__cil_tmp4~1#1, stopRequestedAtCurrentFloor_~__cil_tmp5~0#1;assume { :end_inline_stopRequestedAtCurrentFloor } true;timeShift_~tmp___9~2#1 := timeShift_#t~ret60#1;havoc timeShift_#t~ret60#1; 964835#L2290 assume !(0 != timeShift_~tmp___9~2#1); 967393#L2381 assume 1 == ~doorState~0;~doorState~0 := 0; 967394#L2381-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~ret38#1, stopRequestedInDirection_#t~ret39#1, stopRequestedInDirection_#t~ret40#1, stopRequestedInDirection_#t~ret41#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~19#1, stopRequestedInDirection_~overload~0#1, stopRequestedInDirection_~buttonPressed~0#1, stopRequestedInDirection_~tmp~14#1, stopRequestedInDirection_~__cil_tmp8~0#1, stopRequestedInDirection_~__cil_tmp9~0#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~19#1;havoc stopRequestedInDirection_~overload~0#1;havoc stopRequestedInDirection_~buttonPressed~0#1;havoc stopRequestedInDirection_~tmp~14#1;havoc stopRequestedInDirection_~__cil_tmp8~0#1;havoc stopRequestedInDirection_~__cil_tmp9~0#1;stopRequestedInDirection_~__cil_tmp8~0#1 := 2 * ~maximumWeight~0;stopRequestedInDirection_~__cil_tmp9~0#1 := (if stopRequestedInDirection_~__cil_tmp8~0#1 < 0 && 0 != stopRequestedInDirection_~__cil_tmp8~0#1 % 3 then 1 + stopRequestedInDirection_~__cil_tmp8~0#1 / 3 else stopRequestedInDirection_~__cil_tmp8~0#1 / 3);stopRequestedInDirection_~overload~0#1 := (if ~weight~0 > stopRequestedInDirection_~__cil_tmp9~0#1 then 1 else 0);assume { :begin_inline_isAnyLiftButtonPressed } true;havoc isAnyLiftButtonPressed_#res#1;havoc isAnyLiftButtonPressed_~retValue_acc~20#1;havoc isAnyLiftButtonPressed_~retValue_acc~20#1; 972041#L2043 assume !(0 != ~floorButtons_0~0); 971996#L2047 assume !(0 != ~floorButtons_1~0); 971997#L2051 assume !(0 != ~floorButtons_2~0); 967452#L2055 assume !(0 != ~floorButtons_3~0); 967215#L2059 assume !(0 != ~floorButtons_4~0);isAnyLiftButtonPressed_~retValue_acc~20#1 := 0;isAnyLiftButtonPressed_#res#1 := isAnyLiftButtonPressed_~retValue_acc~20#1; 967216#isAnyLiftButtonPressed_returnLabel#1 stopRequestedInDirection_#t~ret38#1 := isAnyLiftButtonPressed_#res#1;havoc isAnyLiftButtonPressed_~retValue_acc~20#1;assume { :end_inline_isAnyLiftButtonPressed } true;stopRequestedInDirection_~tmp~14#1 := stopRequestedInDirection_#t~ret38#1;havoc stopRequestedInDirection_#t~ret38#1;stopRequestedInDirection_~buttonPressed~0#1 := stopRequestedInDirection_~tmp~14#1; 970200#L2016 assume !(0 != stopRequestedInDirection_~overload~0#1);assume { :begin_inline_stopRequestedInDirection__wrappee__weight } true;stopRequestedInDirection__wrappee__weight_#in~dir#1, stopRequestedInDirection__wrappee__weight_#in~respectFloorCalls#1, stopRequestedInDirection__wrappee__weight_#in~respectInLiftCalls#1 := stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1;havoc stopRequestedInDirection__wrappee__weight_#res#1;havoc stopRequestedInDirection__wrappee__weight_#t~ret27#1, stopRequestedInDirection__wrappee__weight_#t~ret28#1, stopRequestedInDirection__wrappee__weight_#t~ret29#1, stopRequestedInDirection__wrappee__weight_#t~ret30#1, stopRequestedInDirection__wrappee__weight_#t~ret31#1, stopRequestedInDirection__wrappee__weight_#t~ret32#1, stopRequestedInDirection__wrappee__weight_#t~ret33#1, stopRequestedInDirection__wrappee__weight_#t~ret34#1, stopRequestedInDirection__wrappee__weight_#t~ret35#1, stopRequestedInDirection__wrappee__weight_#t~ret36#1, stopRequestedInDirection__wrappee__weight_#t~ret37#1, stopRequestedInDirection__wrappee__weight_~dir#1, stopRequestedInDirection__wrappee__weight_~respectFloorCalls#1, stopRequestedInDirection__wrappee__weight_~respectInLiftCalls#1, stopRequestedInDirection__wrappee__weight_~retValue_acc~18#1, stopRequestedInDirection__wrappee__weight_~tmp~13#1, stopRequestedInDirection__wrappee__weight_~tmp___0~3#1, stopRequestedInDirection__wrappee__weight_~tmp___1~2#1, stopRequestedInDirection__wrappee__weight_~tmp___2~2#1, stopRequestedInDirection__wrappee__weight_~tmp___3~1#1, stopRequestedInDirection__wrappee__weight_~tmp___4~0#1, stopRequestedInDirection__wrappee__weight_~tmp___5~0#1, stopRequestedInDirection__wrappee__weight_~tmp___6~0#1, stopRequestedInDirection__wrappee__weight_~tmp___7~0#1, stopRequestedInDirection__wrappee__weight_~tmp___8~0#1, stopRequestedInDirection__wrappee__weight_~tmp___9~0#1;stopRequestedInDirection__wrappee__weight_~dir#1 := stopRequestedInDirection__wrappee__weight_#in~dir#1;stopRequestedInDirection__wrappee__weight_~respectFloorCalls#1 := stopRequestedInDirection__wrappee__weight_#in~respectFloorCalls#1;stopRequestedInDirection__wrappee__weight_~respectInLiftCalls#1 := stopRequestedInDirection__wrappee__weight_#in~respectInLiftCalls#1;havoc stopRequestedInDirection__wrappee__weight_~retValue_acc~18#1;havoc stopRequestedInDirection__wrappee__weight_~tmp~13#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___0~3#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___1~2#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___2~2#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___3~1#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___4~0#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___5~0#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___6~0#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___7~0#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___8~0#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___9~0#1; 968493#L1663-2 assume 1 == stopRequestedInDirection__wrappee__weight_~dir#1;assume { :begin_inline_isTopFloor } true;isTopFloor_#in~floorID#1 := ~currentFloorID~0;havoc isTopFloor_#res#1;havoc isTopFloor_~floorID#1, isTopFloor_~retValue_acc~2#1;isTopFloor_~floorID#1 := isTopFloor_#in~floorID#1;havoc isTopFloor_~retValue_acc~2#1;isTopFloor_~retValue_acc~2#1 := (if 4 == isTopFloor_~floorID#1 then 1 else 0);isTopFloor_#res#1 := isTopFloor_~retValue_acc~2#1; 968494#isTopFloor_returnLabel#3 stopRequestedInDirection__wrappee__weight_#t~ret27#1 := isTopFloor_#res#1;havoc isTopFloor_~floorID#1, isTopFloor_~retValue_acc~2#1;havoc isTopFloor_#in~floorID#1;assume { :end_inline_isTopFloor } true;stopRequestedInDirection__wrappee__weight_~tmp~13#1 := stopRequestedInDirection__wrappee__weight_#t~ret27#1;havoc stopRequestedInDirection__wrappee__weight_#t~ret27#1; 972340#L1667-2 assume 0 != stopRequestedInDirection__wrappee__weight_~tmp~13#1;stopRequestedInDirection__wrappee__weight_~retValue_acc~18#1 := 0;stopRequestedInDirection__wrappee__weight_#res#1 := stopRequestedInDirection__wrappee__weight_~retValue_acc~18#1; 965283#stopRequestedInDirection__wrappee__weight_returnLabel#3 stopRequestedInDirection_#t~ret41#1 := stopRequestedInDirection__wrappee__weight_#res#1;havoc stopRequestedInDirection__wrappee__weight_#t~ret27#1, stopRequestedInDirection__wrappee__weight_#t~ret28#1, stopRequestedInDirection__wrappee__weight_#t~ret29#1, stopRequestedInDirection__wrappee__weight_#t~ret30#1, stopRequestedInDirection__wrappee__weight_#t~ret31#1, stopRequestedInDirection__wrappee__weight_#t~ret32#1, stopRequestedInDirection__wrappee__weight_#t~ret33#1, stopRequestedInDirection__wrappee__weight_#t~ret34#1, stopRequestedInDirection__wrappee__weight_#t~ret35#1, stopRequestedInDirection__wrappee__weight_#t~ret36#1, stopRequestedInDirection__wrappee__weight_#t~ret37#1, stopRequestedInDirection__wrappee__weight_~dir#1, stopRequestedInDirection__wrappee__weight_~respectFloorCalls#1, stopRequestedInDirection__wrappee__weight_~respectInLiftCalls#1, stopRequestedInDirection__wrappee__weight_~retValue_acc~18#1, stopRequestedInDirection__wrappee__weight_~tmp~13#1, stopRequestedInDirection__wrappee__weight_~tmp___0~3#1, stopRequestedInDirection__wrappee__weight_~tmp___1~2#1, stopRequestedInDirection__wrappee__weight_~tmp___2~2#1, stopRequestedInDirection__wrappee__weight_~tmp___3~1#1, stopRequestedInDirection__wrappee__weight_~tmp___4~0#1, stopRequestedInDirection__wrappee__weight_~tmp___5~0#1, stopRequestedInDirection__wrappee__weight_~tmp___6~0#1, stopRequestedInDirection__wrappee__weight_~tmp___7~0#1, stopRequestedInDirection__wrappee__weight_~tmp___8~0#1, stopRequestedInDirection__wrappee__weight_~tmp___9~0#1;havoc stopRequestedInDirection__wrappee__weight_#in~dir#1, stopRequestedInDirection__wrappee__weight_#in~respectFloorCalls#1, stopRequestedInDirection__wrappee__weight_#in~respectInLiftCalls#1;assume { :end_inline_stopRequestedInDirection__wrappee__weight } true;stopRequestedInDirection_~retValue_acc~19#1 := stopRequestedInDirection_#t~ret41#1;havoc stopRequestedInDirection_#t~ret41#1;stopRequestedInDirection_#res#1 := stopRequestedInDirection_~retValue_acc~19#1; 966164#stopRequestedInDirection_returnLabel#1 timeShift_#t~ret67#1 := stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret38#1, stopRequestedInDirection_#t~ret39#1, stopRequestedInDirection_#t~ret40#1, stopRequestedInDirection_#t~ret41#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~19#1, stopRequestedInDirection_~overload~0#1, stopRequestedInDirection_~buttonPressed~0#1, stopRequestedInDirection_~tmp~14#1, stopRequestedInDirection_~__cil_tmp8~0#1, stopRequestedInDirection_~__cil_tmp9~0#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~ret67#1;havoc timeShift_#t~ret67#1; 967583#L2389 assume 0 != timeShift_~tmp___8~2#1;assume { :begin_inline_continueInDirection } true;continueInDirection_#in~dir#1 := ~currentHeading~0;havoc continueInDirection_#t~ret42#1, continueInDirection_~dir#1, continueInDirection_~tmp~15#1;continueInDirection_~dir#1 := continueInDirection_#in~dir#1;havoc continueInDirection_~tmp~15#1;~currentHeading~0 := continueInDirection_~dir#1; 972967#L2078 assume 1 == ~currentHeading~0;assume { :begin_inline_isTopFloor } true;isTopFloor_#in~floorID#1 := ~currentFloorID~0;havoc isTopFloor_#res#1;havoc isTopFloor_~floorID#1, isTopFloor_~retValue_acc~2#1;isTopFloor_~floorID#1 := isTopFloor_#in~floorID#1;havoc isTopFloor_~retValue_acc~2#1;isTopFloor_~retValue_acc~2#1 := (if 4 == isTopFloor_~floorID#1 then 1 else 0);isTopFloor_#res#1 := isTopFloor_~retValue_acc~2#1; 973326#isTopFloor_returnLabel#4 continueInDirection_#t~ret42#1 := isTopFloor_#res#1;havoc isTopFloor_~floorID#1, isTopFloor_~retValue_acc~2#1;havoc isTopFloor_#in~floorID#1;assume { :end_inline_isTopFloor } true;continueInDirection_~tmp~15#1 := continueInDirection_#t~ret42#1;havoc continueInDirection_#t~ret42#1; 971608#L2082 assume 0 != continueInDirection_~tmp~15#1;~currentHeading~0 := 0; 971609#L2088-2 assume !(1 == ~currentHeading~0);~currentFloorID~0 := ~currentFloorID~0 - 1; 974407#L2094-1 havoc continueInDirection_#t~ret42#1, continueInDirection_~dir#1, continueInDirection_~tmp~15#1;havoc continueInDirection_#in~dir#1;assume { :end_inline_continueInDirection } true; 974385#L2398-2 assume { :begin_inline___utac_acc__Specification13_spec__2 } true;havoc __utac_acc__Specification13_spec__2_#t~ret104#1, __utac_acc__Specification13_spec__2_#t~ret105#1, __utac_acc__Specification13_spec__2_#t~ret106#1, __utac_acc__Specification13_spec__2_#t~ret107#1, __utac_acc__Specification13_spec__2_#t~ret108#1, __utac_acc__Specification13_spec__2_#t~ret109#1, __utac_acc__Specification13_spec__2_~tmp~23#1, __utac_acc__Specification13_spec__2_~tmp___0~11#1, __utac_acc__Specification13_spec__2_~tmp___1~8#1, __utac_acc__Specification13_spec__2_~tmp___2~6#1, __utac_acc__Specification13_spec__2_~tmp___3~5#1, __utac_acc__Specification13_spec__2_~tmp___4~3#1, __utac_acc__Specification13_spec__2_~__cil_tmp7~1#1, __utac_acc__Specification13_spec__2_~__cil_tmp8~2#1;havoc __utac_acc__Specification13_spec__2_~tmp~23#1;havoc __utac_acc__Specification13_spec__2_~tmp___0~11#1;havoc __utac_acc__Specification13_spec__2_~tmp___1~8#1;havoc __utac_acc__Specification13_spec__2_~tmp___2~6#1;havoc __utac_acc__Specification13_spec__2_~tmp___3~5#1;havoc __utac_acc__Specification13_spec__2_~tmp___4~3#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp7~1#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp8~2#1;__utac_acc__Specification13_spec__2_~__cil_tmp7~1#1 := 2 * ~maximumWeight~0;__utac_acc__Specification13_spec__2_~__cil_tmp8~2#1 := (if __utac_acc__Specification13_spec__2_~__cil_tmp7~1#1 < 0 && 0 != __utac_acc__Specification13_spec__2_~__cil_tmp7~1#1 % 3 then 1 + __utac_acc__Specification13_spec__2_~__cil_tmp7~1#1 / 3 else __utac_acc__Specification13_spec__2_~__cil_tmp7~1#1 / 3); 974378#L2887 assume ~weight~0 > __utac_acc__Specification13_spec__2_~__cil_tmp8~2#1; 974379#L2888 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~24#1, existInLiftCallsInDirection_~i~1#1, existInLiftCallsInDirection_~i___0~0#1;existInLiftCallsInDirection_~d#1 := existInLiftCallsInDirection_#in~d#1;havoc existInLiftCallsInDirection_~retValue_acc~24#1;havoc existInLiftCallsInDirection_~i~1#1;havoc existInLiftCallsInDirection_~i___0~0#1; 974384#L2593 assume !(1 == existInLiftCallsInDirection_~d#1); 974453#L2659 assume 0 == existInLiftCallsInDirection_~d#1;existInLiftCallsInDirection_~i___0~0#1 := 0;existInLiftCallsInDirection_~i___0~0#1 := ~currentFloorID~0 - 1; 974454#L2663-2 [2024-10-12 00:47:51,469 INFO L747 eck$LassoCheckResult]: Loop: 974454#L2663-2 assume !false; 974457#L2664 assume existInLiftCallsInDirection_~i___0~0#1 >= 0; 974458#L2665 existInLiftCallsInDirection_~i___0~0#1 := 1 + ~currentFloorID~0; 974468#L2672-2 assume !false; 974464#L2673 assume !(existInLiftCallsInDirection_~i___0~0#1 < 5); 974461#L2731 existInLiftCallsInDirection_~i___0~0#1 := existInLiftCallsInDirection_~i___0~0#1 - 1; 974454#L2663-2 [2024-10-12 00:47:51,470 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-12 00:47:51,470 INFO L85 PathProgramCache]: Analyzing trace with hash 244105344, now seen corresponding path program 1 times [2024-10-12 00:47:51,470 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-12 00:47:51,470 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1402575094] [2024-10-12 00:47:51,470 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-12 00:47:51,470 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-12 00:47:52,203 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-12 00:47:52,288 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:52,288 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-10-12 00:47:52,288 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1402575094] [2024-10-12 00:47:52,288 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1402575094] provided 1 perfect and 0 imperfect interpolant sequences [2024-10-12 00:47:52,288 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-10-12 00:47:52,288 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2024-10-12 00:47:52,289 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1062073267] [2024-10-12 00:47:52,289 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-10-12 00:47:52,289 INFO L750 eck$LassoCheckResult]: stem already infeasible [2024-10-12 00:47:52,289 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-12 00:47:52,289 INFO L85 PathProgramCache]: Analyzing trace with hash 964799947, now seen corresponding path program 14 times [2024-10-12 00:47:52,290 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-12 00:47:52,290 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1303243248] [2024-10-12 00:47:52,290 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-12 00:47:52,290 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-12 00:47:52,310 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-12 00:47:52,310 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-10-12 00:47:52,311 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-12 00:47:52,323 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-10-12 00:47:52,352 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-10-12 00:47:52,353 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2024-10-12 00:47:52,353 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2024-10-12 00:47:52,353 INFO L87 Difference]: Start difference. First operand 212968 states and 390860 transitions. cyclomatic complexity: 178831 Second operand has 5 states, 5 states have (on average 14.8) internal successors, (74), 5 states have internal predecessors, (74), 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:53,950 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-10-12 00:47:53,950 INFO L93 Difference]: Finished difference Result 213994 states and 391886 transitions. [2024-10-12 00:47:53,951 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 213994 states and 391886 transitions. [2024-10-12 00:47:55,334 INFO L131 ngComponentsAnalysis]: Automaton has 905 accepting balls. 66878 [2024-10-12 00:47:56,671 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 213994 states to 213994 states and 391886 transitions. [2024-10-12 00:47:56,671 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 213442 [2024-10-12 00:47:56,828 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 213442 [2024-10-12 00:47:56,828 INFO L73 IsDeterministic]: Start isDeterministic. Operand 213994 states and 391886 transitions. [2024-10-12 00:47:56,829 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-10-12 00:47:56,829 INFO L218 hiAutomatonCegarLoop]: Abstraction has 213994 states and 391886 transitions. [2024-10-12 00:47:57,003 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 213994 states and 391886 transitions.