./Ultimate.py --spec ../sv-benchmarks/c/properties/termination.prp --file ../sv-benchmarks/c/product-lines/elevator_spec13_product22.cil.c --full-output --architecture 32bit -------------------------------------------------------------------------------- Checking for termination Using default analysis Version 551b0097 Calling Ultimate with: /root/.sdkman/candidates/java/21.0.5-tem/bin/java -Dosgi.configuration.area=/storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/config -Xmx15G -Xms4m -jar /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.6.800.v20240513-1750.jar -data @noDefault -ultimatedata /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data -tc /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/config/AutomizerTermination.xml -i ../sv-benchmarks/c/product-lines/elevator_spec13_product22.cil.c -s /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/config/svcomp-Termination-32bit-Automizer_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /storage/repos/ultimate-jdk21/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 f89a8ce65f650dd979d04d2db9dc53ba483e2a2b64be3f70ae15b036e4b11b5a --- Real Ultimate output --- This is Ultimate 0.3.0-?-551b009-m [2025-01-10 07:35:47,161 INFO L188 SettingsManager]: Resetting all preferences to default values... [2025-01-10 07:35:47,215 INFO L114 SettingsManager]: Loading settings from /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/config/svcomp-Termination-32bit-Automizer_Default.epf [2025-01-10 07:35:47,222 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2025-01-10 07:35:47,222 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2025-01-10 07:35:47,246 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2025-01-10 07:35:47,246 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2025-01-10 07:35:47,246 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2025-01-10 07:35:47,247 INFO L151 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2025-01-10 07:35:47,247 INFO L153 SettingsManager]: * Use memory slicer=true [2025-01-10 07:35:47,248 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2025-01-10 07:35:47,249 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2025-01-10 07:35:47,249 INFO L153 SettingsManager]: * Use SBE=true [2025-01-10 07:35:47,249 INFO L151 SettingsManager]: Preferences of BuchiAutomizer differ from their defaults: [2025-01-10 07:35:47,249 INFO L153 SettingsManager]: * NCSB implementation=INTSET_LAZY3 [2025-01-10 07:35:47,249 INFO L153 SettingsManager]: * Use old map elimination=false [2025-01-10 07:35:47,249 INFO L153 SettingsManager]: * Use external solver (rank synthesis)=false [2025-01-10 07:35:47,249 INFO L153 SettingsManager]: * Use only trivial implications for array writes=true [2025-01-10 07:35:47,249 INFO L153 SettingsManager]: * Rank analysis=LINEAR_WITH_GUESSES [2025-01-10 07:35:47,249 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2025-01-10 07:35:47,250 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=ASSUME [2025-01-10 07:35:47,250 INFO L153 SettingsManager]: * sizeof long=4 [2025-01-10 07:35:47,250 INFO L153 SettingsManager]: * Overapproximate operations on floating types=true [2025-01-10 07:35:47,250 INFO L153 SettingsManager]: * sizeof POINTER=4 [2025-01-10 07:35:47,250 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2025-01-10 07:35:47,250 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=ASSUME [2025-01-10 07:35:47,250 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=ASSUME [2025-01-10 07:35:47,250 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=ASSUME [2025-01-10 07:35:47,250 INFO L153 SettingsManager]: * Check unreachability of reach_error function=false [2025-01-10 07:35:47,250 INFO L153 SettingsManager]: * sizeof long double=12 [2025-01-10 07:35:47,250 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2025-01-10 07:35:47,250 INFO L153 SettingsManager]: * Assume nondeterminstic values are in range=false [2025-01-10 07:35:47,251 INFO L153 SettingsManager]: * Behaviour of calls to undefined functions=OVERAPPROXIMATE_BEHAVIOUR [2025-01-10 07:35:47,251 INFO L153 SettingsManager]: * Use constant arrays=true [2025-01-10 07:35:47,251 INFO L151 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2025-01-10 07:35:47,251 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2025-01-10 07:35:47,251 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2025-01-10 07:35:47,251 INFO L153 SettingsManager]: * Trace refinement strategy=CAMEL [2025-01-10 07:35:47,251 INFO L151 SettingsManager]: Preferences of IcfgTransformer differ from their defaults: [2025-01-10 07:35:47,252 INFO L153 SettingsManager]: * TransformationType=MODULO_NEIGHBOR 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-jdk21/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 -> f89a8ce65f650dd979d04d2db9dc53ba483e2a2b64be3f70ae15b036e4b11b5a [2025-01-10 07:35:47,483 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2025-01-10 07:35:47,489 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2025-01-10 07:35:47,490 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2025-01-10 07:35:47,491 INFO L270 PluginConnector]: Initializing CDTParser... [2025-01-10 07:35:47,491 INFO L274 PluginConnector]: CDTParser initialized [2025-01-10 07:35:47,492 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/product-lines/elevator_spec13_product22.cil.c [2025-01-10 07:35:48,623 INFO L533 CDTParser]: Created temporary CDT project at /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/c21e7ddd5/b22bbf035ecb4c45aebf7c7dbaedd393/FLAG51570cf18 [2025-01-10 07:35:48,915 INFO L384 CDTParser]: Found 1 translation units. [2025-01-10 07:35:48,916 INFO L180 CDTParser]: Scanning /storage/repos/ultimate-jdk21/releaseScripts/default/sv-benchmarks/c/product-lines/elevator_spec13_product22.cil.c [2025-01-10 07:35:48,938 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/c21e7ddd5/b22bbf035ecb4c45aebf7c7dbaedd393/FLAG51570cf18 [2025-01-10 07:35:49,175 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/c21e7ddd5/b22bbf035ecb4c45aebf7c7dbaedd393 [2025-01-10 07:35:49,176 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2025-01-10 07:35:49,177 INFO L133 ToolchainWalker]: Walking toolchain with 6 elements. [2025-01-10 07:35:49,178 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2025-01-10 07:35:49,178 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2025-01-10 07:35:49,181 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2025-01-10 07:35:49,182 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 10.01 07:35:49" (1/1) ... [2025-01-10 07:35:49,183 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@5c621b36 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.01 07:35:49, skipping insertion in model container [2025-01-10 07:35:49,183 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 10.01 07:35:49" (1/1) ... [2025-01-10 07:35:49,213 INFO L175 MainTranslator]: Built tables and reachable declarations [2025-01-10 07:35:49,591 INFO L210 PostProcessor]: Analyzing one entry point: main [2025-01-10 07:35:49,603 INFO L200 MainTranslator]: Completed pre-run [2025-01-10 07:35:49,609 WARN L75 lationResultReporter]: Unsoundness Warning: Ignoring preprocessor pragma C: #pragma merger(0,"scenario.i","") [48] [2025-01-10 07:35:49,610 WARN L75 lationResultReporter]: Unsoundness Warning: Ignoring preprocessor pragma C: #pragma merger(0,"wsllib_check.i","") [68] [2025-01-10 07:35:49,610 WARN L75 lationResultReporter]: Unsoundness Warning: Ignoring preprocessor pragma C: #pragma merger(0,"libacc.i","") [77] [2025-01-10 07:35:49,610 WARN L75 lationResultReporter]: Unsoundness Warning: Ignoring preprocessor pragma C: #pragma merger(0,"Elevator.i","") [443] [2025-01-10 07:35:49,610 WARN L75 lationResultReporter]: Unsoundness Warning: Ignoring preprocessor pragma C: #pragma merger(0,"Floor.i","") [2020] [2025-01-10 07:35:49,611 WARN L75 lationResultReporter]: Unsoundness Warning: Ignoring preprocessor pragma C: #pragma merger(0,"UnitTests.i","") [2682] [2025-01-10 07:35:49,611 WARN L75 lationResultReporter]: Unsoundness Warning: Ignoring preprocessor pragma C: #pragma merger(0,"Person.i","") [2775] [2025-01-10 07:35:49,611 WARN L75 lationResultReporter]: Unsoundness Warning: Ignoring preprocessor pragma C: #pragma merger(0,"featureselect.i","") [2893] [2025-01-10 07:35:49,611 WARN L75 lationResultReporter]: Unsoundness Warning: Ignoring preprocessor pragma C: #pragma merger(0,"Test.i","") [2931] [2025-01-10 07:35:49,611 WARN L75 lationResultReporter]: Unsoundness Warning: Ignoring preprocessor pragma C: #pragma merger(0,"Specification13_spec.i","") [3279] [2025-01-10 07:35:49,682 INFO L210 PostProcessor]: Analyzing one entry point: main [2025-01-10 07:35:49,707 INFO L204 MainTranslator]: Completed translation [2025-01-10 07:35:49,708 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.01 07:35:49 WrapperNode [2025-01-10 07:35:49,709 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2025-01-10 07:35:49,709 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2025-01-10 07:35:49,710 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2025-01-10 07:35:49,710 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2025-01-10 07:35:49,715 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.01 07:35:49" (1/1) ... [2025-01-10 07:35:49,730 INFO L184 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.01 07:35:49" (1/1) ... [2025-01-10 07:35:50,267 INFO L138 Inliner]: procedures = 92, calls = 345, calls flagged for inlining = 197, calls inlined = 1765, statements flattened = 63749 [2025-01-10 07:35:50,268 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2025-01-10 07:35:50,269 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2025-01-10 07:35:50,269 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2025-01-10 07:35:50,269 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2025-01-10 07:35:50,276 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.01 07:35:49" (1/1) ... [2025-01-10 07:35:50,277 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.01 07:35:49" (1/1) ... [2025-01-10 07:35:50,396 INFO L184 PluginConnector]: Executing the observer MemorySlicer from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.01 07:35:49" (1/1) ... [2025-01-10 07:35:50,670 INFO L175 MemorySlicer]: Split 81 memory accesses to 20 slices as follows [2, 4, 4, 4, 2, 4, 4, 5, 3, 3, 5, 7, 4, 4, 4, 4, 4, 6, 4, 4]. 9 percent of accesses are in the largest equivalence class. The 81 initializations are split as follows [2, 4, 4, 4, 2, 4, 4, 5, 3, 3, 5, 7, 4, 4, 4, 4, 4, 6, 4, 4]. The 0 writes are split as follows [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]. [2025-01-10 07:35:50,671 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.01 07:35:49" (1/1) ... [2025-01-10 07:35:50,671 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.01 07:35:49" (1/1) ... [2025-01-10 07:35:50,982 INFO L184 PluginConnector]: Executing the observer ReplaceArrayAssignments from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.01 07:35:49" (1/1) ... [2025-01-10 07:35:51,012 INFO L184 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.01 07:35:49" (1/1) ... [2025-01-10 07:35:51,188 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.01 07:35:49" (1/1) ... [2025-01-10 07:35:51,322 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.01 07:35:49" (1/1) ... [2025-01-10 07:35:51,386 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.01 07:35:49" (1/1) ... [2025-01-10 07:35:51,509 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2025-01-10 07:35:51,511 INFO L112 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2025-01-10 07:35:51,511 INFO L270 PluginConnector]: Initializing RCFGBuilder... [2025-01-10 07:35:51,511 INFO L274 PluginConnector]: RCFGBuilder initialized [2025-01-10 07:35:51,512 INFO L184 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.01 07:35:49" (1/1) ... [2025-01-10 07:35:51,516 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:35:51,526 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:35:51,539 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:35:51,541 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (1)] Waiting until timeout for monitored process [2025-01-10 07:35:51,560 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2025-01-10 07:35:51,560 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#0 [2025-01-10 07:35:51,561 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#1 [2025-01-10 07:35:51,561 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#2 [2025-01-10 07:35:51,561 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#3 [2025-01-10 07:35:51,561 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#4 [2025-01-10 07:35:51,561 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#5 [2025-01-10 07:35:51,561 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#6 [2025-01-10 07:35:51,561 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#7 [2025-01-10 07:35:51,561 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#8 [2025-01-10 07:35:51,561 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#9 [2025-01-10 07:35:51,561 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#10 [2025-01-10 07:35:51,561 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#11 [2025-01-10 07:35:51,561 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#12 [2025-01-10 07:35:51,561 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#13 [2025-01-10 07:35:51,561 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#14 [2025-01-10 07:35:51,561 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#15 [2025-01-10 07:35:51,561 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#16 [2025-01-10 07:35:51,561 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#17 [2025-01-10 07:35:51,561 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#18 [2025-01-10 07:35:51,561 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#19 [2025-01-10 07:35:51,561 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2025-01-10 07:35:51,561 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2025-01-10 07:35:51,746 INFO L234 CfgBuilder]: Building ICFG [2025-01-10 07:35:51,748 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2025-01-10 07:36:09,052 INFO L? ?]: Removed 28142 outVars from TransFormulas that were not future-live. [2025-01-10 07:36:09,052 INFO L283 CfgBuilder]: Performing block encoding [2025-01-10 07:36:09,207 INFO L307 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2025-01-10 07:36:09,207 INFO L312 CfgBuilder]: Removed 61 assume(true) statements. [2025-01-10 07:36:09,207 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 10.01 07:36:09 BoogieIcfgContainer [2025-01-10 07:36:09,207 INFO L131 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2025-01-10 07:36:09,208 INFO L112 PluginConnector]: ------------------------BuchiAutomizer---------------------------- [2025-01-10 07:36:09,208 INFO L270 PluginConnector]: Initializing BuchiAutomizer... [2025-01-10 07:36:09,212 INFO L274 PluginConnector]: BuchiAutomizer initialized [2025-01-10 07:36:09,212 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2025-01-10 07:36:09,213 INFO L184 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "CDTParser AST 10.01 07:35:49" (1/3) ... [2025-01-10 07:36:09,213 INFO L204 PluginConnector]: Invalid model from BuchiAutomizer for observer de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver@285b6bff and model type de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer AST 10.01 07:36:09, skipping insertion in model container [2025-01-10 07:36:09,214 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2025-01-10 07:36:09,214 INFO L184 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.01 07:35:49" (2/3) ... [2025-01-10 07:36:09,215 INFO L204 PluginConnector]: Invalid model from BuchiAutomizer for observer de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver@285b6bff and model type de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer AST 10.01 07:36:09, skipping insertion in model container [2025-01-10 07:36:09,215 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2025-01-10 07:36:09,215 INFO L184 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 10.01 07:36:09" (3/3) ... [2025-01-10 07:36:09,216 INFO L363 chiAutomizerObserver]: Analyzing ICFG elevator_spec13_product22.cil.c [2025-01-10 07:36:09,419 INFO L306 stractBuchiCegarLoop]: Interprodecural is true [2025-01-10 07:36:09,419 INFO L307 stractBuchiCegarLoop]: Hoare is None [2025-01-10 07:36:09,419 INFO L308 stractBuchiCegarLoop]: Compute interpolants for ForwardPredicates [2025-01-10 07:36:09,420 INFO L309 stractBuchiCegarLoop]: Backedges is STRAIGHT_LINE [2025-01-10 07:36:09,420 INFO L310 stractBuchiCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2025-01-10 07:36:09,420 INFO L311 stractBuchiCegarLoop]: Difference is false [2025-01-10 07:36:09,420 INFO L312 stractBuchiCegarLoop]: Minimize is MINIMIZE_SEVPA [2025-01-10 07:36:09,420 INFO L316 stractBuchiCegarLoop]: ======== Iteration 0 == of CEGAR loop == BuchiAutomatonCegarLoop ======== [2025-01-10 07:36:09,466 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand has 17341 states, 17340 states have (on average 1.883102652825836) internal successors, (32653), 17340 states have internal predecessors, (32653), 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) [2025-01-10 07:36:09,720 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 3905 [2025-01-10 07:36:09,721 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-01-10 07:36:09,721 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-01-10 07:36:09,727 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] [2025-01-10 07:36:09,727 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1, 1] [2025-01-10 07:36:09,727 INFO L338 stractBuchiCegarLoop]: ======== Iteration 1 ============ [2025-01-10 07:36:09,764 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand has 17341 states, 17340 states have (on average 1.883102652825836) internal successors, (32653), 17340 states have internal predecessors, (32653), 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) [2025-01-10 07:36:09,916 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 3905 [2025-01-10 07:36:09,916 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-01-10 07:36:09,916 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-01-10 07:36:09,917 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] [2025-01-10 07:36:09,917 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1, 1] [2025-01-10 07:36:09,922 INFO L752 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int#0(48, 1, 0, 1);call write~init~int#0(0, 1, 1, 1);call #Ultimate.allocInit(32, 2);call #Ultimate.allocInit(12, 3);call #Ultimate.allocInit(30, 4);call #Ultimate.allocInit(9, 5);call #Ultimate.allocInit(21, 6);call #Ultimate.allocInit(30, 7);call #Ultimate.allocInit(9, 8);call #Ultimate.allocInit(21, 9);call #Ultimate.allocInit(30, 10);call #Ultimate.allocInit(9, 11);call #Ultimate.allocInit(25, 12);call #Ultimate.allocInit(30, 13);call #Ultimate.allocInit(9, 14);call #Ultimate.allocInit(25, 15);call #Ultimate.allocInit(10, 16);call #Ultimate.allocInit(4, 17);call write~init~int#5(91, 17, 0, 1);call write~init~int#5(95, 17, 1, 1);call write~init~int#5(93, 17, 2, 1);call write~init~int#5(0, 17, 3, 1);call #Ultimate.allocInit(4, 18);call write~init~int#6(91, 18, 0, 1);call write~init~int#6(93, 18, 1, 1);call write~init~int#6(32, 18, 2, 1);call write~init~int#6(0, 18, 3, 1);call #Ultimate.allocInit(5, 19);call write~init~int#7(32, 19, 0, 1);call write~init~int#7(97, 19, 1, 1);call write~init~int#7(116, 19, 2, 1);call write~init~int#7(32, 19, 3, 1);call write~init~int#7(0, 19, 4, 1);call #Ultimate.allocInit(3, 20);call write~init~int#8(37, 20, 0, 1);call write~init~int#8(105, 20, 1, 1);call write~init~int#8(0, 20, 2, 1);call #Ultimate.allocInit(10, 21);call #Ultimate.allocInit(3, 22);call write~init~int#9(117, 22, 0, 1);call write~init~int#9(112, 22, 1, 1);call write~init~int#9(0, 22, 2, 1);call #Ultimate.allocInit(5, 23);call write~init~int#10(100, 23, 0, 1);call write~init~int#10(111, 23, 1, 1);call write~init~int#10(119, 23, 2, 1);call write~init~int#10(110, 23, 3, 1);call write~init~int#10(0, 23, 4, 1);call #Ultimate.allocInit(7, 24);call write~init~int#11(32, 24, 0, 1);call write~init~int#11(73, 24, 1, 1);call write~init~int#11(76, 24, 2, 1);call write~init~int#11(95, 24, 3, 1);call write~init~int#11(112, 24, 4, 1);call write~init~int#11(58, 24, 5, 1);call write~init~int#11(0, 24, 6, 1);call #Ultimate.allocInit(4, 25);call write~init~int#12(32, 25, 0, 1);call write~init~int#12(37, 25, 1, 1);call write~init~int#12(105, 25, 2, 1);call write~init~int#12(0, 25, 3, 1);call #Ultimate.allocInit(4, 26);call write~init~int#13(32, 26, 0, 1);call write~init~int#13(37, 26, 1, 1);call write~init~int#13(105, 26, 2, 1);call write~init~int#13(0, 26, 3, 1);call #Ultimate.allocInit(4, 27);call write~init~int#14(32, 27, 0, 1);call write~init~int#14(37, 27, 1, 1);call write~init~int#14(105, 27, 2, 1);call write~init~int#14(0, 27, 3, 1);call #Ultimate.allocInit(4, 28);call write~init~int#15(32, 28, 0, 1);call write~init~int#15(37, 28, 1, 1);call write~init~int#15(105, 28, 2, 1);call write~init~int#15(0, 28, 3, 1);call #Ultimate.allocInit(4, 29);call write~init~int#16(32, 29, 0, 1);call write~init~int#16(37, 29, 1, 1);call write~init~int#16(105, 29, 2, 1);call write~init~int#16(0, 29, 3, 1);call #Ultimate.allocInit(6, 30);call write~init~int#17(32, 30, 0, 1);call write~init~int#17(70, 30, 1, 1);call write~init~int#17(95, 30, 2, 1);call write~init~int#17(112, 30, 3, 1);call write~init~int#17(58, 30, 4, 1);call write~init~int#17(0, 30, 5, 1);call #Ultimate.allocInit(4, 31);call write~init~int#18(32, 31, 0, 1);call write~init~int#18(37, 31, 1, 1);call write~init~int#18(105, 31, 2, 1);call write~init~int#18(0, 31, 3, 1);call #Ultimate.allocInit(4, 32);call write~init~int#19(32, 32, 0, 1);call write~init~int#19(37, 32, 1, 1);call write~init~int#19(105, 32, 2, 1);call write~init~int#19(0, 32, 3, 1);call #Ultimate.allocInit(4, 33);call write~init~int#1(32, 33, 0, 1);call write~init~int#1(37, 33, 1, 1);call write~init~int#1(105, 33, 2, 1);call write~init~int#1(0, 33, 3, 1);call #Ultimate.allocInit(4, 34);call write~init~int#2(32, 34, 0, 1);call write~init~int#2(37, 34, 1, 1);call write~init~int#2(105, 34, 2, 1);call write~init~int#2(0, 34, 3, 1);call #Ultimate.allocInit(4, 35);call write~init~int#3(32, 35, 0, 1);call write~init~int#3(37, 35, 1, 1);call write~init~int#3(105, 35, 2, 1);call write~init~int#3(0, 35, 3, 1);call #Ultimate.allocInit(2, 36);call write~init~int#4(10, 36, 0, 1);call write~init~int#4(0, 36, 1, 1);call #Ultimate.allocInit(9, 37);~head~0.base, ~head~0.offset := 0, 0;~weight~0 := 0;~maximumWeight~0 := 100;~blocked~0 := 0;~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;~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;~prevDir~0 := 0;" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret128#1, main_~retValue_acc~27#1, main_~tmp~27#1;havoc main_~retValue_acc~27#1;havoc main_~tmp~27#1;assume { :begin_inline_select_helpers } true;" "assume { :end_inline_select_helpers } true;assume { :begin_inline_select_features } true;" "assume { :end_inline_select_features } true;assume { :begin_inline_valid_product } true;havoc valid_product_#res#1;havoc valid_product_~retValue_acc~25#1;havoc valid_product_~retValue_acc~25#1;valid_product_~retValue_acc~25#1 := 1;valid_product_#res#1 := valid_product_~retValue_acc~25#1;" "main_#t~ret128#1 := valid_product_#res#1;havoc valid_product_~retValue_acc~25#1;assume { :end_inline_valid_product } true;main_~tmp~27#1 := main_#t~ret128#1;havoc main_#t~ret128#1;" "assume 0 != main_~tmp~27#1;assume { :begin_inline_setup } true;" "assume { :end_inline_setup } true;assume { :begin_inline_runTest } true;assume { :begin_inline_test } true;assume { :begin_inline_aliceCall } true;havoc aliceCall_#t~ret117#1, aliceCall_~tmp~20#1;havoc aliceCall_~tmp~20#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 1;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~22#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~22#1;" "assume 0 == getOrigin_~person#1;getOrigin_~retValue_acc~22#1 := 4;getOrigin_#res#1 := getOrigin_~retValue_acc~22#1;" "aliceCall_#t~ret117#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~22#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;aliceCall_~tmp~20#1 := aliceCall_#t~ret117#1;havoc aliceCall_#t~ret117#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 1, aliceCall_~tmp~20#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1;" "assume 0 == initPersonOnFloor_~floor#1;" "assume 0 == initPersonOnFloor_~person#1;~personOnFloor_0_0~0 := 1;" "assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1;" "assume 0 == callOnFloor_~floorID#1;~calls_0~0 := 1;" "havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true;" "havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true;" "havoc aliceCall_#t~ret117#1, aliceCall_~tmp~20#1;assume { :end_inline_aliceCall } true;assume { :begin_inline_angelinaCall } true;havoc angelinaCall_#t~ret118#1, angelinaCall_~tmp~21#1;havoc angelinaCall_~tmp~21#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 2;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~22#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~22#1;" "assume 0 == getOrigin_~person#1;getOrigin_~retValue_acc~22#1 := 4;getOrigin_#res#1 := getOrigin_~retValue_acc~22#1;" "angelinaCall_#t~ret118#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~22#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;angelinaCall_~tmp~21#1 := angelinaCall_#t~ret118#1;havoc angelinaCall_#t~ret118#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 2, angelinaCall_~tmp~21#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1;" "assume 0 == initPersonOnFloor_~floor#1;" "assume 0 == initPersonOnFloor_~person#1;~personOnFloor_0_0~0 := 1;" "assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1;" "assume 0 == callOnFloor_~floorID#1;~calls_0~0 := 1;" "havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true;" "havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true;" "havoc angelinaCall_#t~ret118#1, angelinaCall_~tmp~21#1;assume { :end_inline_angelinaCall } true;assume { :begin_inline_threeTS } true;assume { :begin_inline_timeShift } true;havoc timeShift_#t~ret79#1, timeShift_~tmp~14#1;havoc timeShift_~tmp~14#1;assume { :begin_inline___utac_acc__Specification13_spec__1 } true;havoc __utac_acc__Specification13_spec__1_#t~ret129#1;assume { :begin_inline_getCurrentHeading } true;havoc getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~7#1;havoc getCurrentHeading_~retValue_acc~7#1;getCurrentHeading_~retValue_acc~7#1 := ~currentHeading~0;getCurrentHeading_#res#1 := getCurrentHeading_~retValue_acc~7#1;" "__utac_acc__Specification13_spec__1_#t~ret129#1 := getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~7#1;assume { :end_inline_getCurrentHeading } true;~prevDir~0 := __utac_acc__Specification13_spec__1_#t~ret129#1;havoc __utac_acc__Specification13_spec__1_#t~ret129#1;" "havoc __utac_acc__Specification13_spec__1_#t~ret129#1;assume { :end_inline___utac_acc__Specification13_spec__1 } true;assume { :begin_inline_areDoorsOpen } true;havoc areDoorsOpen_#res#1;havoc areDoorsOpen_~retValue_acc~5#1;havoc areDoorsOpen_~retValue_acc~5#1;areDoorsOpen_~retValue_acc~5#1 := ~doorState~0;areDoorsOpen_#res#1 := areDoorsOpen_~retValue_acc~5#1;" "timeShift_#t~ret79#1 := areDoorsOpen_#res#1;havoc areDoorsOpen_~retValue_acc~5#1;assume { :end_inline_areDoorsOpen } true;timeShift_~tmp~14#1 := timeShift_#t~ret79#1;havoc timeShift_#t~ret79#1;" "assume 0 != timeShift_~tmp~14#1;" "assume ~weight~0 > ~maximumWeight~0;~blocked~0 := 1;" "assume { :begin_inline___utac_acc__Specification13_spec__2 } true;havoc __utac_acc__Specification13_spec__2_#t~ret130#1, __utac_acc__Specification13_spec__2_#t~ret131#1, __utac_acc__Specification13_spec__2_#t~ret132#1, __utac_acc__Specification13_spec__2_#t~ret133#1, __utac_acc__Specification13_spec__2_#t~ret134#1, __utac_acc__Specification13_spec__2_#t~ret135#1, __utac_acc__Specification13_spec__2_~tmp~28#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~6#1, __utac_acc__Specification13_spec__2_~__cil_tmp8~7#1;havoc __utac_acc__Specification13_spec__2_~tmp~28#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~6#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp8~7#1;__utac_acc__Specification13_spec__2_~__cil_tmp7~6#1 := 2 * ~maximumWeight~0;__utac_acc__Specification13_spec__2_~__cil_tmp8~7#1 := (if __utac_acc__Specification13_spec__2_~__cil_tmp7~6#1 < 0 && 0 != __utac_acc__Specification13_spec__2_~__cil_tmp7~6#1 % 3 then 1 + __utac_acc__Specification13_spec__2_~__cil_tmp7~6#1 / 3 else __utac_acc__Specification13_spec__2_~__cil_tmp7~6#1 / 3);" "assume ~weight~0 > __utac_acc__Specification13_spec__2_~__cil_tmp8~7#1;" "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~17#1, existInLiftCallsInDirection_~i~0#1, existInLiftCallsInDirection_~i___0~0#1;existInLiftCallsInDirection_~d#1 := existInLiftCallsInDirection_#in~d#1;havoc existInLiftCallsInDirection_~retValue_acc~17#1;havoc existInLiftCallsInDirection_~i~0#1;havoc existInLiftCallsInDirection_~i___0~0#1;" "assume 1 == existInLiftCallsInDirection_~d#1;existInLiftCallsInDirection_~i~0#1 := 0;existInLiftCallsInDirection_~i~0#1 := 1 + ~currentFloorID~0;" [2025-01-10 07:36:09,923 INFO L754 eck$LassoCheckResult]: Loop: "assume existInLiftCallsInDirection_~i~0#1 < 5;" "assume !(0 == existInLiftCallsInDirection_~i~0#1);" "assume !(1 == existInLiftCallsInDirection_~i~0#1);" "assume !(2 == existInLiftCallsInDirection_~i~0#1);" "assume !(3 == existInLiftCallsInDirection_~i~0#1);" "assume !(4 == existInLiftCallsInDirection_~i~0#1);" "existInLiftCallsInDirection_~i~0#1 := 1 + existInLiftCallsInDirection_~i~0#1;" [2025-01-10 07:36:09,927 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:36:09,929 INFO L85 PathProgramCache]: Analyzing trace with hash -1544398965, now seen corresponding path program 1 times [2025-01-10 07:36:09,935 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:36:09,936 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1758387415] [2025-01-10 07:36:09,936 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-10 07:36:09,937 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:36:10,010 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 34 statements into 1 equivalence classes. [2025-01-10 07:36:10,044 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 34 of 34 statements. [2025-01-10 07:36:10,047 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:36:10,047 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:36:10,281 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-01-10 07:36:10,281 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-10 07:36:10,282 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1758387415] [2025-01-10 07:36:10,282 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1758387415] provided 1 perfect and 0 imperfect interpolant sequences [2025-01-10 07:36:10,282 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-01-10 07:36:10,283 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2025-01-10 07:36:10,284 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1520668084] [2025-01-10 07:36:10,284 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-01-10 07:36:10,288 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-01-10 07:36:10,288 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:36:10,289 INFO L85 PathProgramCache]: Analyzing trace with hash 288555973, now seen corresponding path program 1 times [2025-01-10 07:36:10,289 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:36:10,289 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1986663009] [2025-01-10 07:36:10,289 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-10 07:36:10,289 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:36:10,307 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 7 statements into 1 equivalence classes. [2025-01-10 07:36:10,309 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 7 of 7 statements. [2025-01-10 07:36:10,311 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:36:10,311 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:36:10,311 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-01-10 07:36:10,313 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 7 statements into 1 equivalence classes. [2025-01-10 07:36:10,317 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 7 of 7 statements. [2025-01-10 07:36:10,317 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:36:10,317 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:36:10,341 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-01-10 07:36:10,386 INFO L204 LassoAnalysis]: Preferences: [2025-01-10 07:36:10,386 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2025-01-10 07:36:10,386 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2025-01-10 07:36:10,386 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2025-01-10 07:36:10,386 INFO L128 ssoRankerPreferences]: Use exernal solver: true [2025-01-10 07:36:10,387 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:36:10,387 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2025-01-10 07:36:10,387 INFO L131 ssoRankerPreferences]: Path of dumped script: [2025-01-10 07:36:10,387 INFO L132 ssoRankerPreferences]: Filename of dumped script: elevator_spec13_product22.cil.c_Iteration1_Loop [2025-01-10 07:36:10,387 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2025-01-10 07:36:10,388 INFO L241 LassoAnalysis]: Starting lasso preprocessing... [2025-01-10 07:36:10,399 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:36:10,455 INFO L259 LassoAnalysis]: Preprocessing complete. [2025-01-10 07:36:10,455 INFO L365 LassoAnalysis]: Checking for nontermination... [2025-01-10 07:36:10,456 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:36:10,456 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:36:10,459 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:36:10,460 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (2)] Waiting until timeout for monitored process [2025-01-10 07:36:10,464 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2025-01-10 07:36:10,464 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-01-10 07:36:10,486 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (2)] Ended with exit code 0 [2025-01-10 07:36:10,487 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:36:10,487 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:36:10,489 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:36:10,492 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (3)] Waiting until timeout for monitored process [2025-01-10 07:36:10,492 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 3 Nilpotent components: true [2025-01-10 07:36:10,492 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-01-10 07:36:10,515 INFO L405 LassoAnalysis]: Proving nontermination failed: No geometric nontermination argument exists. [2025-01-10 07:36:10,519 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (3)] Forceful destruction successful, exit code 0 [2025-01-10 07:36:10,520 INFO L204 LassoAnalysis]: Preferences: [2025-01-10 07:36:10,520 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2025-01-10 07:36:10,520 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2025-01-10 07:36:10,520 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2025-01-10 07:36:10,520 INFO L128 ssoRankerPreferences]: Use exernal solver: false [2025-01-10 07:36:10,520 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:36:10,520 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2025-01-10 07:36:10,520 INFO L131 ssoRankerPreferences]: Path of dumped script: [2025-01-10 07:36:10,520 INFO L132 ssoRankerPreferences]: Filename of dumped script: elevator_spec13_product22.cil.c_Iteration1_Loop [2025-01-10 07:36:10,520 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2025-01-10 07:36:10,520 INFO L241 LassoAnalysis]: Starting lasso preprocessing... [2025-01-10 07:36:10,521 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:36:10,577 INFO L259 LassoAnalysis]: Preprocessing complete. [2025-01-10 07:36:10,581 INFO L451 LassoAnalysis]: Using template 'affine'. [2025-01-10 07:36:10,582 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:36:10,582 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:36:10,583 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:36:10,585 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (4)] Waiting until timeout for monitored process [2025-01-10 07:36:10,587 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 [2025-01-10 07:36:10,597 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-01-10 07:36:10,597 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-01-10 07:36:10,597 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-01-10 07:36:10,597 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-01-10 07:36:10,597 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-01-10 07:36:10,601 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-01-10 07:36:10,601 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-01-10 07:36:10,603 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2025-01-10 07:36:10,607 INFO L443 ModelExtractionUtils]: Simplification made 2 calls to the SMT solver. [2025-01-10 07:36:10,609 INFO L444 ModelExtractionUtils]: 1 out of 3 variables were initially zero. Simplification set additionally 0 variables to zero. [2025-01-10 07:36:10,610 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:36:10,610 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:36:10,612 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:36:10,614 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (5)] Waiting until timeout for monitored process [2025-01-10 07:36:10,615 INFO L435 nArgumentSynthesizer]: Simplifying supporting invariants... [2025-01-10 07:36:10,615 INFO L438 nArgumentSynthesizer]: Removed 0 redundant supporting invariants from a total of 0. [2025-01-10 07:36:10,616 INFO L474 LassoAnalysis]: Proved termination. [2025-01-10 07:36:10,616 INFO L476 LassoAnalysis]: Termination argument consisting of: Ranking function f(ULTIMATE.start_existInLiftCallsInDirection_~i~0#1) = -1*ULTIMATE.start_existInLiftCallsInDirection_~i~0#1 Supporting invariants [] [2025-01-10 07:36:10,622 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (4)] Forceful destruction successful, exit code 0 [2025-01-10 07:36:10,624 INFO L156 tatePredicateManager]: 0 out of 0 supporting invariants were superfluous and have been removed [2025-01-10 07:36:10,648 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:36:10,680 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 34 statements into 1 equivalence classes. [2025-01-10 07:36:10,741 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 34 of 34 statements. [2025-01-10 07:36:10,741 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:36:10,741 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:36:10,744 INFO L256 TraceCheckSpWp]: Trace formula consists of 539 conjuncts, 2 conjuncts are in the unsatisfiable core [2025-01-10 07:36:10,748 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-10 07:36:10,813 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 7 statements into 1 equivalence classes. [2025-01-10 07:36:10,814 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 7 of 7 statements. [2025-01-10 07:36:10,814 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:36:10,815 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:36:10,816 WARN L254 TraceCheckSpWp]: Trace formula consists of 10 conjuncts, 9 conjuncts are in the unsatisfiable core [2025-01-10 07:36:10,816 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-10 07:36:11,045 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (5)] Forceful destruction successful, exit code 0 [2025-01-10 07:36:11,074 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-01-10 07:36:11,108 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 [2025-01-10 07:36:11,160 INFO L71 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand has 17341 states, 17340 states have (on average 1.883102652825836) internal successors, (32653), 17340 states have internal predecessors, (32653), 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 8 states, 8 states have (on average 5.125) internal successors, (41), 8 states have internal predecessors, (41), 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) [2025-01-10 07:36:12,676 INFO L75 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand has 17341 states, 17340 states have (on average 1.883102652825836) internal successors, (32653), 17340 states have internal predecessors, (32653), 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 8 states, 8 states have (on average 5.125) internal successors, (41), 8 states have internal predecessors, (41), 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 45196 states and 85044 transitions. Complement of second has 18 states. [2025-01-10 07:36:12,677 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 [2025-01-10 07:36:12,680 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 5.125) internal successors, (41), 8 states have internal predecessors, (41), 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) [2025-01-10 07:36:12,723 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 58860 transitions. [2025-01-10 07:36:12,728 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 10 states and 58860 transitions. Stem has 34 letters. Loop has 7 letters. [2025-01-10 07:36:12,729 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-01-10 07:36:12,729 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 10 states and 58860 transitions. Stem has 41 letters. Loop has 7 letters. [2025-01-10 07:36:12,729 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-01-10 07:36:12,729 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 10 states and 58860 transitions. Stem has 34 letters. Loop has 14 letters. [2025-01-10 07:36:12,730 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-01-10 07:36:12,731 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 45196 states and 85044 transitions. [2025-01-10 07:36:12,976 INFO L131 ngComponentsAnalysis]: Automaton has 60 accepting balls. 7737 [2025-01-10 07:36:13,143 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 45196 states to 31196 states and 58683 transitions. [2025-01-10 07:36:13,144 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 31166 [2025-01-10 07:36:13,181 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 31168 [2025-01-10 07:36:13,182 INFO L73 IsDeterministic]: Start isDeterministic. Operand 31196 states and 58683 transitions. [2025-01-10 07:36:13,184 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-01-10 07:36:13,184 INFO L218 hiAutomatonCegarLoop]: Abstraction has 31196 states and 58683 transitions. [2025-01-10 07:36:13,233 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 31196 states and 58683 transitions. [2025-01-10 07:36:13,640 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 31196 to 31169. [2025-01-10 07:36:13,685 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 31169 states, 31169 states have (on average 1.8814527254644038) internal successors, (58643), 31168 states have internal predecessors, (58643), 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) [2025-01-10 07:36:13,998 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31169 states to 31169 states and 58643 transitions. [2025-01-10 07:36:13,999 INFO L240 hiAutomatonCegarLoop]: Abstraction has 31169 states and 58643 transitions. [2025-01-10 07:36:13,999 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-10 07:36:14,003 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2025-01-10 07:36:14,004 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2025-01-10 07:36:14,005 INFO L87 Difference]: Start difference. First operand 31169 states and 58643 transitions. Second operand has 5 states, 5 states have (on average 6.8) internal successors, (34), 5 states have internal predecessors, (34), 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) [2025-01-10 07:36:14,706 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-01-10 07:36:14,707 INFO L93 Difference]: Finished difference Result 31151 states and 58563 transitions. [2025-01-10 07:36:14,707 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 31151 states and 58563 transitions. [2025-01-10 07:36:15,008 INFO L131 ngComponentsAnalysis]: Automaton has 60 accepting balls. 7721 [2025-01-10 07:36:15,177 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 31151 states to 31142 states and 58554 transitions. [2025-01-10 07:36:15,177 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 31124 [2025-01-10 07:36:15,250 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 31124 [2025-01-10 07:36:15,250 INFO L73 IsDeterministic]: Start isDeterministic. Operand 31142 states and 58554 transitions. [2025-01-10 07:36:15,251 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-01-10 07:36:15,251 INFO L218 hiAutomatonCegarLoop]: Abstraction has 31142 states and 58554 transitions. [2025-01-10 07:36:15,308 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 31142 states and 58554 transitions. [2025-01-10 07:36:15,743 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 31142 to 17327. [2025-01-10 07:36:15,779 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17327 states, 17327 states have (on average 1.8802447047959832) internal successors, (32579), 17326 states have internal predecessors, (32579), 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) [2025-01-10 07:36:15,820 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17327 states to 17327 states and 32579 transitions. [2025-01-10 07:36:15,820 INFO L240 hiAutomatonCegarLoop]: Abstraction has 17327 states and 32579 transitions. [2025-01-10 07:36:15,821 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2025-01-10 07:36:15,822 INFO L432 stractBuchiCegarLoop]: Abstraction has 17327 states and 32579 transitions. [2025-01-10 07:36:15,822 INFO L338 stractBuchiCegarLoop]: ======== Iteration 2 ============ [2025-01-10 07:36:15,822 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 17327 states and 32579 transitions. [2025-01-10 07:36:15,905 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 3903 [2025-01-10 07:36:15,905 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-01-10 07:36:15,905 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-01-10 07:36:15,906 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] [2025-01-10 07:36:15,906 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1, 1, 1] [2025-01-10 07:36:15,906 INFO L752 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int#0(48, 1, 0, 1);call write~init~int#0(0, 1, 1, 1);call #Ultimate.allocInit(32, 2);call #Ultimate.allocInit(12, 3);call #Ultimate.allocInit(30, 4);call #Ultimate.allocInit(9, 5);call #Ultimate.allocInit(21, 6);call #Ultimate.allocInit(30, 7);call #Ultimate.allocInit(9, 8);call #Ultimate.allocInit(21, 9);call #Ultimate.allocInit(30, 10);call #Ultimate.allocInit(9, 11);call #Ultimate.allocInit(25, 12);call #Ultimate.allocInit(30, 13);call #Ultimate.allocInit(9, 14);call #Ultimate.allocInit(25, 15);call #Ultimate.allocInit(10, 16);call #Ultimate.allocInit(4, 17);call write~init~int#5(91, 17, 0, 1);call write~init~int#5(95, 17, 1, 1);call write~init~int#5(93, 17, 2, 1);call write~init~int#5(0, 17, 3, 1);call #Ultimate.allocInit(4, 18);call write~init~int#6(91, 18, 0, 1);call write~init~int#6(93, 18, 1, 1);call write~init~int#6(32, 18, 2, 1);call write~init~int#6(0, 18, 3, 1);call #Ultimate.allocInit(5, 19);call write~init~int#7(32, 19, 0, 1);call write~init~int#7(97, 19, 1, 1);call write~init~int#7(116, 19, 2, 1);call write~init~int#7(32, 19, 3, 1);call write~init~int#7(0, 19, 4, 1);call #Ultimate.allocInit(3, 20);call write~init~int#8(37, 20, 0, 1);call write~init~int#8(105, 20, 1, 1);call write~init~int#8(0, 20, 2, 1);call #Ultimate.allocInit(10, 21);call #Ultimate.allocInit(3, 22);call write~init~int#9(117, 22, 0, 1);call write~init~int#9(112, 22, 1, 1);call write~init~int#9(0, 22, 2, 1);call #Ultimate.allocInit(5, 23);call write~init~int#10(100, 23, 0, 1);call write~init~int#10(111, 23, 1, 1);call write~init~int#10(119, 23, 2, 1);call write~init~int#10(110, 23, 3, 1);call write~init~int#10(0, 23, 4, 1);call #Ultimate.allocInit(7, 24);call write~init~int#11(32, 24, 0, 1);call write~init~int#11(73, 24, 1, 1);call write~init~int#11(76, 24, 2, 1);call write~init~int#11(95, 24, 3, 1);call write~init~int#11(112, 24, 4, 1);call write~init~int#11(58, 24, 5, 1);call write~init~int#11(0, 24, 6, 1);call #Ultimate.allocInit(4, 25);call write~init~int#12(32, 25, 0, 1);call write~init~int#12(37, 25, 1, 1);call write~init~int#12(105, 25, 2, 1);call write~init~int#12(0, 25, 3, 1);call #Ultimate.allocInit(4, 26);call write~init~int#13(32, 26, 0, 1);call write~init~int#13(37, 26, 1, 1);call write~init~int#13(105, 26, 2, 1);call write~init~int#13(0, 26, 3, 1);call #Ultimate.allocInit(4, 27);call write~init~int#14(32, 27, 0, 1);call write~init~int#14(37, 27, 1, 1);call write~init~int#14(105, 27, 2, 1);call write~init~int#14(0, 27, 3, 1);call #Ultimate.allocInit(4, 28);call write~init~int#15(32, 28, 0, 1);call write~init~int#15(37, 28, 1, 1);call write~init~int#15(105, 28, 2, 1);call write~init~int#15(0, 28, 3, 1);call #Ultimate.allocInit(4, 29);call write~init~int#16(32, 29, 0, 1);call write~init~int#16(37, 29, 1, 1);call write~init~int#16(105, 29, 2, 1);call write~init~int#16(0, 29, 3, 1);call #Ultimate.allocInit(6, 30);call write~init~int#17(32, 30, 0, 1);call write~init~int#17(70, 30, 1, 1);call write~init~int#17(95, 30, 2, 1);call write~init~int#17(112, 30, 3, 1);call write~init~int#17(58, 30, 4, 1);call write~init~int#17(0, 30, 5, 1);call #Ultimate.allocInit(4, 31);call write~init~int#18(32, 31, 0, 1);call write~init~int#18(37, 31, 1, 1);call write~init~int#18(105, 31, 2, 1);call write~init~int#18(0, 31, 3, 1);call #Ultimate.allocInit(4, 32);call write~init~int#19(32, 32, 0, 1);call write~init~int#19(37, 32, 1, 1);call write~init~int#19(105, 32, 2, 1);call write~init~int#19(0, 32, 3, 1);call #Ultimate.allocInit(4, 33);call write~init~int#1(32, 33, 0, 1);call write~init~int#1(37, 33, 1, 1);call write~init~int#1(105, 33, 2, 1);call write~init~int#1(0, 33, 3, 1);call #Ultimate.allocInit(4, 34);call write~init~int#2(32, 34, 0, 1);call write~init~int#2(37, 34, 1, 1);call write~init~int#2(105, 34, 2, 1);call write~init~int#2(0, 34, 3, 1);call #Ultimate.allocInit(4, 35);call write~init~int#3(32, 35, 0, 1);call write~init~int#3(37, 35, 1, 1);call write~init~int#3(105, 35, 2, 1);call write~init~int#3(0, 35, 3, 1);call #Ultimate.allocInit(2, 36);call write~init~int#4(10, 36, 0, 1);call write~init~int#4(0, 36, 1, 1);call #Ultimate.allocInit(9, 37);~head~0.base, ~head~0.offset := 0, 0;~weight~0 := 0;~maximumWeight~0 := 100;~blocked~0 := 0;~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;~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;~prevDir~0 := 0;" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret128#1, main_~retValue_acc~27#1, main_~tmp~27#1;havoc main_~retValue_acc~27#1;havoc main_~tmp~27#1;assume { :begin_inline_select_helpers } true;" "assume { :end_inline_select_helpers } true;assume { :begin_inline_select_features } true;" "assume { :end_inline_select_features } true;assume { :begin_inline_valid_product } true;havoc valid_product_#res#1;havoc valid_product_~retValue_acc~25#1;havoc valid_product_~retValue_acc~25#1;valid_product_~retValue_acc~25#1 := 1;valid_product_#res#1 := valid_product_~retValue_acc~25#1;" "main_#t~ret128#1 := valid_product_#res#1;havoc valid_product_~retValue_acc~25#1;assume { :end_inline_valid_product } true;main_~tmp~27#1 := main_#t~ret128#1;havoc main_#t~ret128#1;" "assume 0 != main_~tmp~27#1;assume { :begin_inline_setup } true;" "assume { :end_inline_setup } true;assume { :begin_inline_runTest } true;assume { :begin_inline_test } true;assume { :begin_inline_aliceCall } true;havoc aliceCall_#t~ret117#1, aliceCall_~tmp~20#1;havoc aliceCall_~tmp~20#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 1;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~22#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~22#1;" "assume !(0 == getOrigin_~person#1);" "assume 1 == getOrigin_~person#1;getOrigin_~retValue_acc~22#1 := 3;getOrigin_#res#1 := getOrigin_~retValue_acc~22#1;" "aliceCall_#t~ret117#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~22#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;aliceCall_~tmp~20#1 := aliceCall_#t~ret117#1;havoc aliceCall_#t~ret117#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 1, aliceCall_~tmp~20#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1;" "assume 0 == initPersonOnFloor_~floor#1;" "assume 0 == initPersonOnFloor_~person#1;~personOnFloor_0_0~0 := 1;" "assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1;" "assume 0 == callOnFloor_~floorID#1;~calls_0~0 := 1;" "havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true;" "havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true;" "havoc aliceCall_#t~ret117#1, aliceCall_~tmp~20#1;assume { :end_inline_aliceCall } true;assume { :begin_inline_angelinaCall } true;havoc angelinaCall_#t~ret118#1, angelinaCall_~tmp~21#1;havoc angelinaCall_~tmp~21#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 2;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~22#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~22#1;" "assume !(0 == getOrigin_~person#1);" "assume 1 == getOrigin_~person#1;getOrigin_~retValue_acc~22#1 := 3;getOrigin_#res#1 := getOrigin_~retValue_acc~22#1;" "angelinaCall_#t~ret118#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~22#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;angelinaCall_~tmp~21#1 := angelinaCall_#t~ret118#1;havoc angelinaCall_#t~ret118#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 2, angelinaCall_~tmp~21#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1;" "assume 0 == initPersonOnFloor_~floor#1;" "assume 0 == initPersonOnFloor_~person#1;~personOnFloor_0_0~0 := 1;" "assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1;" "assume 0 == callOnFloor_~floorID#1;~calls_0~0 := 1;" "havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true;" "havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true;" "havoc angelinaCall_#t~ret118#1, angelinaCall_~tmp~21#1;assume { :end_inline_angelinaCall } true;assume { :begin_inline_threeTS } true;assume { :begin_inline_timeShift } true;havoc timeShift_#t~ret79#1, timeShift_~tmp~14#1;havoc timeShift_~tmp~14#1;assume { :begin_inline___utac_acc__Specification13_spec__1 } true;havoc __utac_acc__Specification13_spec__1_#t~ret129#1;assume { :begin_inline_getCurrentHeading } true;havoc getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~7#1;havoc getCurrentHeading_~retValue_acc~7#1;getCurrentHeading_~retValue_acc~7#1 := ~currentHeading~0;getCurrentHeading_#res#1 := getCurrentHeading_~retValue_acc~7#1;" "__utac_acc__Specification13_spec__1_#t~ret129#1 := getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~7#1;assume { :end_inline_getCurrentHeading } true;~prevDir~0 := __utac_acc__Specification13_spec__1_#t~ret129#1;havoc __utac_acc__Specification13_spec__1_#t~ret129#1;" "havoc __utac_acc__Specification13_spec__1_#t~ret129#1;assume { :end_inline___utac_acc__Specification13_spec__1 } true;assume { :begin_inline_areDoorsOpen } true;havoc areDoorsOpen_#res#1;havoc areDoorsOpen_~retValue_acc~5#1;havoc areDoorsOpen_~retValue_acc~5#1;areDoorsOpen_~retValue_acc~5#1 := ~doorState~0;areDoorsOpen_#res#1 := areDoorsOpen_~retValue_acc~5#1;" "timeShift_#t~ret79#1 := areDoorsOpen_#res#1;havoc areDoorsOpen_~retValue_acc~5#1;assume { :end_inline_areDoorsOpen } true;timeShift_~tmp~14#1 := timeShift_#t~ret79#1;havoc timeShift_#t~ret79#1;" "assume 0 != timeShift_~tmp~14#1;" "assume ~weight~0 > ~maximumWeight~0;~blocked~0 := 1;" "assume { :begin_inline___utac_acc__Specification13_spec__2 } true;havoc __utac_acc__Specification13_spec__2_#t~ret130#1, __utac_acc__Specification13_spec__2_#t~ret131#1, __utac_acc__Specification13_spec__2_#t~ret132#1, __utac_acc__Specification13_spec__2_#t~ret133#1, __utac_acc__Specification13_spec__2_#t~ret134#1, __utac_acc__Specification13_spec__2_#t~ret135#1, __utac_acc__Specification13_spec__2_~tmp~28#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~6#1, __utac_acc__Specification13_spec__2_~__cil_tmp8~7#1;havoc __utac_acc__Specification13_spec__2_~tmp~28#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~6#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp8~7#1;__utac_acc__Specification13_spec__2_~__cil_tmp7~6#1 := 2 * ~maximumWeight~0;__utac_acc__Specification13_spec__2_~__cil_tmp8~7#1 := (if __utac_acc__Specification13_spec__2_~__cil_tmp7~6#1 < 0 && 0 != __utac_acc__Specification13_spec__2_~__cil_tmp7~6#1 % 3 then 1 + __utac_acc__Specification13_spec__2_~__cil_tmp7~6#1 / 3 else __utac_acc__Specification13_spec__2_~__cil_tmp7~6#1 / 3);" "assume ~weight~0 > __utac_acc__Specification13_spec__2_~__cil_tmp8~7#1;" "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~17#1, existInLiftCallsInDirection_~i~0#1, existInLiftCallsInDirection_~i___0~0#1;existInLiftCallsInDirection_~d#1 := existInLiftCallsInDirection_#in~d#1;havoc existInLiftCallsInDirection_~retValue_acc~17#1;havoc existInLiftCallsInDirection_~i~0#1;havoc existInLiftCallsInDirection_~i___0~0#1;" "assume 1 == existInLiftCallsInDirection_~d#1;existInLiftCallsInDirection_~i~0#1 := 0;existInLiftCallsInDirection_~i~0#1 := 1 + ~currentFloorID~0;" "assume existInLiftCallsInDirection_~i~0#1 < 5;" [2025-01-10 07:36:15,907 INFO L754 eck$LassoCheckResult]: Loop: "assume 0 == existInLiftCallsInDirection_~i~0#1;" "assume !(0 != ~floorButtons_0~0);" "assume !(1 == existInLiftCallsInDirection_~i~0#1);" "assume !(2 == existInLiftCallsInDirection_~i~0#1);" "assume !(3 == existInLiftCallsInDirection_~i~0#1);" "assume !(4 == existInLiftCallsInDirection_~i~0#1);" "existInLiftCallsInDirection_~i~0#1 := 1 + existInLiftCallsInDirection_~i~0#1;" "assume existInLiftCallsInDirection_~i~0#1 < 5;" [2025-01-10 07:36:15,907 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:36:15,908 INFO L85 PathProgramCache]: Analyzing trace with hash 1440332399, now seen corresponding path program 1 times [2025-01-10 07:36:15,908 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:36:15,908 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [411954693] [2025-01-10 07:36:15,908 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-10 07:36:15,908 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:36:15,931 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 37 statements into 1 equivalence classes. [2025-01-10 07:36:15,949 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 37 of 37 statements. [2025-01-10 07:36:15,949 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:36:15,950 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:36:16,115 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-01-10 07:36:16,116 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-10 07:36:16,116 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [411954693] [2025-01-10 07:36:16,116 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [411954693] provided 1 perfect and 0 imperfect interpolant sequences [2025-01-10 07:36:16,116 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-01-10 07:36:16,116 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2025-01-10 07:36:16,116 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [258106430] [2025-01-10 07:36:16,116 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-01-10 07:36:16,116 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-01-10 07:36:16,117 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:36:16,117 INFO L85 PathProgramCache]: Analyzing trace with hash 447236801, now seen corresponding path program 1 times [2025-01-10 07:36:16,117 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:36:16,117 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [786704577] [2025-01-10 07:36:16,117 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-10 07:36:16,117 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:36:16,233 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 8 statements into 1 equivalence classes. [2025-01-10 07:36:16,235 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 8 of 8 statements. [2025-01-10 07:36:16,237 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:36:16,237 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:36:16,237 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-01-10 07:36:16,238 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 8 statements into 1 equivalence classes. [2025-01-10 07:36:16,239 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 8 of 8 statements. [2025-01-10 07:36:16,239 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:36:16,239 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:36:16,248 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-01-10 07:36:16,267 INFO L204 LassoAnalysis]: Preferences: [2025-01-10 07:36:16,267 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2025-01-10 07:36:16,267 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2025-01-10 07:36:16,268 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2025-01-10 07:36:16,268 INFO L128 ssoRankerPreferences]: Use exernal solver: true [2025-01-10 07:36:16,268 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:36:16,268 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2025-01-10 07:36:16,268 INFO L131 ssoRankerPreferences]: Path of dumped script: [2025-01-10 07:36:16,268 INFO L132 ssoRankerPreferences]: Filename of dumped script: elevator_spec13_product22.cil.c_Iteration2_Loop [2025-01-10 07:36:16,268 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2025-01-10 07:36:16,268 INFO L241 LassoAnalysis]: Starting lasso preprocessing... [2025-01-10 07:36:16,268 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:36:16,270 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:36:16,291 INFO L259 LassoAnalysis]: Preprocessing complete. [2025-01-10 07:36:16,291 INFO L365 LassoAnalysis]: Checking for nontermination... [2025-01-10 07:36:16,292 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:36:16,292 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:36:16,293 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:36:16,295 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (6)] Waiting until timeout for monitored process [2025-01-10 07:36:16,296 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2025-01-10 07:36:16,296 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-01-10 07:36:16,308 INFO L398 LassoAnalysis]: Proved nontermination for one component. [2025-01-10 07:36:16,308 INFO L401 LassoAnalysis]: Non-Termination argument consisting of: Initial state: {~floorButtons_0~0=0} Honda state: {~floorButtons_0~0=0} Generalized eigenvectors: [] Lambdas: [] Nus: [] [2025-01-10 07:36:16,315 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (6)] Ended with exit code 0 [2025-01-10 07:36:16,315 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:36:16,315 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:36:16,317 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:36:16,319 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (7)] Waiting until timeout for monitored process [2025-01-10 07:36:16,320 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2025-01-10 07:36:16,320 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-01-10 07:36:16,338 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (7)] Forceful destruction successful, exit code 0 [2025-01-10 07:36:16,338 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:36:16,338 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:36:16,341 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:36:16,342 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (8)] Waiting until timeout for monitored process [2025-01-10 07:36:16,343 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 3 Nilpotent components: true [2025-01-10 07:36:16,343 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-01-10 07:36:16,355 INFO L405 LassoAnalysis]: Proving nontermination failed: No geometric nontermination argument exists. [2025-01-10 07:36:16,361 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (8)] Forceful destruction successful, exit code 0 [2025-01-10 07:36:16,361 INFO L204 LassoAnalysis]: Preferences: [2025-01-10 07:36:16,362 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2025-01-10 07:36:16,362 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2025-01-10 07:36:16,362 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2025-01-10 07:36:16,362 INFO L128 ssoRankerPreferences]: Use exernal solver: false [2025-01-10 07:36:16,362 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:36:16,362 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2025-01-10 07:36:16,362 INFO L131 ssoRankerPreferences]: Path of dumped script: [2025-01-10 07:36:16,362 INFO L132 ssoRankerPreferences]: Filename of dumped script: elevator_spec13_product22.cil.c_Iteration2_Loop [2025-01-10 07:36:16,362 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2025-01-10 07:36:16,362 INFO L241 LassoAnalysis]: Starting lasso preprocessing... [2025-01-10 07:36:16,362 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:36:16,365 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:36:16,387 INFO L259 LassoAnalysis]: Preprocessing complete. [2025-01-10 07:36:16,387 INFO L451 LassoAnalysis]: Using template 'affine'. [2025-01-10 07:36:16,387 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:36:16,387 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:36:16,390 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:36:16,391 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (9)] Waiting until timeout for monitored process [2025-01-10 07:36:16,393 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 [2025-01-10 07:36:16,402 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-01-10 07:36:16,402 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-01-10 07:36:16,402 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-01-10 07:36:16,402 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-01-10 07:36:16,402 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-01-10 07:36:16,403 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-01-10 07:36:16,403 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-01-10 07:36:16,405 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-01-10 07:36:16,410 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (9)] Forceful destruction successful, exit code 0 [2025-01-10 07:36:16,410 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:36:16,410 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:36:16,412 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:36:16,414 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (10)] Waiting until timeout for monitored process [2025-01-10 07:36:16,415 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 [2025-01-10 07:36:16,424 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-01-10 07:36:16,424 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-01-10 07:36:16,425 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-01-10 07:36:16,425 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-01-10 07:36:16,425 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-01-10 07:36:16,426 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-01-10 07:36:16,426 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-01-10 07:36:16,428 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2025-01-10 07:36:16,429 INFO L443 ModelExtractionUtils]: Simplification made 3 calls to the SMT solver. [2025-01-10 07:36:16,429 INFO L444 ModelExtractionUtils]: 0 out of 3 variables were initially zero. Simplification set additionally 0 variables to zero. [2025-01-10 07:36:16,429 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:36:16,430 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:36:16,431 INFO L229 MonitoredProcess]: Starting monitored process 11 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:36:16,433 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (11)] Waiting until timeout for monitored process [2025-01-10 07:36:16,434 INFO L435 nArgumentSynthesizer]: Simplifying supporting invariants... [2025-01-10 07:36:16,434 INFO L438 nArgumentSynthesizer]: Removed 0 redundant supporting invariants from a total of 0. [2025-01-10 07:36:16,434 INFO L474 LassoAnalysis]: Proved termination. [2025-01-10 07:36:16,434 INFO L476 LassoAnalysis]: Termination argument consisting of: Ranking function f(ULTIMATE.start_existInLiftCallsInDirection_~i~0#1) = -2*ULTIMATE.start_existInLiftCallsInDirection_~i~0#1 + 1 Supporting invariants [] [2025-01-10 07:36:16,441 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (10)] Forceful destruction successful, exit code 0 [2025-01-10 07:36:16,442 INFO L156 tatePredicateManager]: 0 out of 0 supporting invariants were superfluous and have been removed [2025-01-10 07:36:16,452 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:36:16,474 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 37 statements into 1 equivalence classes. [2025-01-10 07:36:16,520 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 37 of 37 statements. [2025-01-10 07:36:16,520 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:36:16,520 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:36:16,522 INFO L256 TraceCheckSpWp]: Trace formula consists of 542 conjuncts, 2 conjuncts are in the unsatisfiable core [2025-01-10 07:36:16,523 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-10 07:36:16,562 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 8 statements into 1 equivalence classes. [2025-01-10 07:36:16,563 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 8 of 8 statements. [2025-01-10 07:36:16,563 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:36:16,563 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:36:16,564 INFO L256 TraceCheckSpWp]: Trace formula consists of 13 conjuncts, 4 conjuncts are in the unsatisfiable core [2025-01-10 07:36:16,564 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-10 07:36:16,618 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-01-10 07:36:16,619 INFO L141 lantAutomatonBouncer]: Defining deterministic Buchi interpolant automaton with honda bouncer for stem and without honda bouncer for loop.1 stem predicates 3 loop predicates [2025-01-10 07:36:16,619 INFO L71 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 17327 states and 32579 transitions. cyclomatic complexity: 15286 Second operand has 4 states, 4 states have (on average 11.25) internal successors, (45), 4 states have internal predecessors, (45), 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) [2025-01-10 07:36:17,202 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (11)] Ended with exit code 0 [2025-01-10 07:36:17,378 INFO L75 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 17327 states and 32579 transitions. cyclomatic complexity: 15286. Second operand has 4 states, 4 states have (on average 11.25) internal successors, (45), 4 states have internal predecessors, (45), 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 45056 states and 84690 transitions. Complement of second has 8 states. [2025-01-10 07:36:17,378 INFO L141 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 5 states 1 stem states 2 non-accepting loop states 1 accepting loop states [2025-01-10 07:36:17,379 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 11.25) internal successors, (45), 4 states have internal predecessors, (45), 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) [2025-01-10 07:36:17,415 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 58551 transitions. [2025-01-10 07:36:17,415 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 5 states and 58551 transitions. Stem has 37 letters. Loop has 8 letters. [2025-01-10 07:36:17,416 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-01-10 07:36:17,416 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 5 states and 58551 transitions. Stem has 45 letters. Loop has 8 letters. [2025-01-10 07:36:17,416 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-01-10 07:36:17,416 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 5 states and 58551 transitions. Stem has 37 letters. Loop has 16 letters. [2025-01-10 07:36:17,417 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-01-10 07:36:17,418 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 45056 states and 84690 transitions. [2025-01-10 07:36:17,564 INFO L131 ngComponentsAnalysis]: Automaton has 60 accepting balls. 7719 [2025-01-10 07:36:17,676 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 45056 states to 31192 states and 58627 transitions. [2025-01-10 07:36:17,677 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 31127 [2025-01-10 07:36:17,711 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 31131 [2025-01-10 07:36:17,712 INFO L73 IsDeterministic]: Start isDeterministic. Operand 31192 states and 58627 transitions. [2025-01-10 07:36:17,713 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-01-10 07:36:17,714 INFO L218 hiAutomatonCegarLoop]: Abstraction has 31192 states and 58627 transitions. [2025-01-10 07:36:17,750 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 31192 states and 58627 transitions. [2025-01-10 07:36:18,122 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 31192 to 17371. [2025-01-10 07:36:18,146 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17371 states, 17371 states have (on average 1.8792239940130102) internal successors, (32644), 17370 states have internal predecessors, (32644), 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) [2025-01-10 07:36:18,178 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17371 states to 17371 states and 32644 transitions. [2025-01-10 07:36:18,178 INFO L240 hiAutomatonCegarLoop]: Abstraction has 17371 states and 32644 transitions. [2025-01-10 07:36:18,179 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-10 07:36:18,179 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2025-01-10 07:36:18,180 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2025-01-10 07:36:18,180 INFO L87 Difference]: Start difference. First operand 17371 states and 32644 transitions. Second operand has 4 states, 4 states have (on average 9.25) internal successors, (37), 4 states have internal predecessors, (37), 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) [2025-01-10 07:36:18,473 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-01-10 07:36:18,473 INFO L93 Difference]: Finished difference Result 17389 states and 32662 transitions. [2025-01-10 07:36:18,473 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 17389 states and 32662 transitions. [2025-01-10 07:36:18,537 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 3901 [2025-01-10 07:36:18,598 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 17389 states to 17389 states and 32662 transitions. [2025-01-10 07:36:18,598 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 17328 [2025-01-10 07:36:18,623 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 17328 [2025-01-10 07:36:18,623 INFO L73 IsDeterministic]: Start isDeterministic. Operand 17389 states and 32662 transitions. [2025-01-10 07:36:18,625 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-01-10 07:36:18,625 INFO L218 hiAutomatonCegarLoop]: Abstraction has 17389 states and 32662 transitions. [2025-01-10 07:36:18,804 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 17389 states and 32662 transitions. [2025-01-10 07:36:18,928 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 17389 to 17386. [2025-01-10 07:36:18,951 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17386 states, 17386 states have (on average 1.8784654319567469) internal successors, (32659), 17385 states have internal predecessors, (32659), 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) [2025-01-10 07:36:18,979 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17386 states to 17386 states and 32659 transitions. [2025-01-10 07:36:18,980 INFO L240 hiAutomatonCegarLoop]: Abstraction has 17386 states and 32659 transitions. [2025-01-10 07:36:18,980 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2025-01-10 07:36:18,981 INFO L432 stractBuchiCegarLoop]: Abstraction has 17386 states and 32659 transitions. [2025-01-10 07:36:18,981 INFO L338 stractBuchiCegarLoop]: ======== Iteration 3 ============ [2025-01-10 07:36:18,981 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 17386 states and 32659 transitions. [2025-01-10 07:36:19,023 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 3901 [2025-01-10 07:36:19,023 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-01-10 07:36:19,023 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-01-10 07:36:19,025 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] [2025-01-10 07:36:19,025 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1] [2025-01-10 07:36:19,025 INFO L752 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int#0(48, 1, 0, 1);call write~init~int#0(0, 1, 1, 1);call #Ultimate.allocInit(32, 2);call #Ultimate.allocInit(12, 3);call #Ultimate.allocInit(30, 4);call #Ultimate.allocInit(9, 5);call #Ultimate.allocInit(21, 6);call #Ultimate.allocInit(30, 7);call #Ultimate.allocInit(9, 8);call #Ultimate.allocInit(21, 9);call #Ultimate.allocInit(30, 10);call #Ultimate.allocInit(9, 11);call #Ultimate.allocInit(25, 12);call #Ultimate.allocInit(30, 13);call #Ultimate.allocInit(9, 14);call #Ultimate.allocInit(25, 15);call #Ultimate.allocInit(10, 16);call #Ultimate.allocInit(4, 17);call write~init~int#5(91, 17, 0, 1);call write~init~int#5(95, 17, 1, 1);call write~init~int#5(93, 17, 2, 1);call write~init~int#5(0, 17, 3, 1);call #Ultimate.allocInit(4, 18);call write~init~int#6(91, 18, 0, 1);call write~init~int#6(93, 18, 1, 1);call write~init~int#6(32, 18, 2, 1);call write~init~int#6(0, 18, 3, 1);call #Ultimate.allocInit(5, 19);call write~init~int#7(32, 19, 0, 1);call write~init~int#7(97, 19, 1, 1);call write~init~int#7(116, 19, 2, 1);call write~init~int#7(32, 19, 3, 1);call write~init~int#7(0, 19, 4, 1);call #Ultimate.allocInit(3, 20);call write~init~int#8(37, 20, 0, 1);call write~init~int#8(105, 20, 1, 1);call write~init~int#8(0, 20, 2, 1);call #Ultimate.allocInit(10, 21);call #Ultimate.allocInit(3, 22);call write~init~int#9(117, 22, 0, 1);call write~init~int#9(112, 22, 1, 1);call write~init~int#9(0, 22, 2, 1);call #Ultimate.allocInit(5, 23);call write~init~int#10(100, 23, 0, 1);call write~init~int#10(111, 23, 1, 1);call write~init~int#10(119, 23, 2, 1);call write~init~int#10(110, 23, 3, 1);call write~init~int#10(0, 23, 4, 1);call #Ultimate.allocInit(7, 24);call write~init~int#11(32, 24, 0, 1);call write~init~int#11(73, 24, 1, 1);call write~init~int#11(76, 24, 2, 1);call write~init~int#11(95, 24, 3, 1);call write~init~int#11(112, 24, 4, 1);call write~init~int#11(58, 24, 5, 1);call write~init~int#11(0, 24, 6, 1);call #Ultimate.allocInit(4, 25);call write~init~int#12(32, 25, 0, 1);call write~init~int#12(37, 25, 1, 1);call write~init~int#12(105, 25, 2, 1);call write~init~int#12(0, 25, 3, 1);call #Ultimate.allocInit(4, 26);call write~init~int#13(32, 26, 0, 1);call write~init~int#13(37, 26, 1, 1);call write~init~int#13(105, 26, 2, 1);call write~init~int#13(0, 26, 3, 1);call #Ultimate.allocInit(4, 27);call write~init~int#14(32, 27, 0, 1);call write~init~int#14(37, 27, 1, 1);call write~init~int#14(105, 27, 2, 1);call write~init~int#14(0, 27, 3, 1);call #Ultimate.allocInit(4, 28);call write~init~int#15(32, 28, 0, 1);call write~init~int#15(37, 28, 1, 1);call write~init~int#15(105, 28, 2, 1);call write~init~int#15(0, 28, 3, 1);call #Ultimate.allocInit(4, 29);call write~init~int#16(32, 29, 0, 1);call write~init~int#16(37, 29, 1, 1);call write~init~int#16(105, 29, 2, 1);call write~init~int#16(0, 29, 3, 1);call #Ultimate.allocInit(6, 30);call write~init~int#17(32, 30, 0, 1);call write~init~int#17(70, 30, 1, 1);call write~init~int#17(95, 30, 2, 1);call write~init~int#17(112, 30, 3, 1);call write~init~int#17(58, 30, 4, 1);call write~init~int#17(0, 30, 5, 1);call #Ultimate.allocInit(4, 31);call write~init~int#18(32, 31, 0, 1);call write~init~int#18(37, 31, 1, 1);call write~init~int#18(105, 31, 2, 1);call write~init~int#18(0, 31, 3, 1);call #Ultimate.allocInit(4, 32);call write~init~int#19(32, 32, 0, 1);call write~init~int#19(37, 32, 1, 1);call write~init~int#19(105, 32, 2, 1);call write~init~int#19(0, 32, 3, 1);call #Ultimate.allocInit(4, 33);call write~init~int#1(32, 33, 0, 1);call write~init~int#1(37, 33, 1, 1);call write~init~int#1(105, 33, 2, 1);call write~init~int#1(0, 33, 3, 1);call #Ultimate.allocInit(4, 34);call write~init~int#2(32, 34, 0, 1);call write~init~int#2(37, 34, 1, 1);call write~init~int#2(105, 34, 2, 1);call write~init~int#2(0, 34, 3, 1);call #Ultimate.allocInit(4, 35);call write~init~int#3(32, 35, 0, 1);call write~init~int#3(37, 35, 1, 1);call write~init~int#3(105, 35, 2, 1);call write~init~int#3(0, 35, 3, 1);call #Ultimate.allocInit(2, 36);call write~init~int#4(10, 36, 0, 1);call write~init~int#4(0, 36, 1, 1);call #Ultimate.allocInit(9, 37);~head~0.base, ~head~0.offset := 0, 0;~weight~0 := 0;~maximumWeight~0 := 100;~blocked~0 := 0;~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;~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;~prevDir~0 := 0;" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret128#1, main_~retValue_acc~27#1, main_~tmp~27#1;havoc main_~retValue_acc~27#1;havoc main_~tmp~27#1;assume { :begin_inline_select_helpers } true;" "assume { :end_inline_select_helpers } true;assume { :begin_inline_select_features } true;" "assume { :end_inline_select_features } true;assume { :begin_inline_valid_product } true;havoc valid_product_#res#1;havoc valid_product_~retValue_acc~25#1;havoc valid_product_~retValue_acc~25#1;valid_product_~retValue_acc~25#1 := 1;valid_product_#res#1 := valid_product_~retValue_acc~25#1;" "main_#t~ret128#1 := valid_product_#res#1;havoc valid_product_~retValue_acc~25#1;assume { :end_inline_valid_product } true;main_~tmp~27#1 := main_#t~ret128#1;havoc main_#t~ret128#1;" "assume 0 != main_~tmp~27#1;assume { :begin_inline_setup } true;" "assume { :end_inline_setup } true;assume { :begin_inline_runTest } true;assume { :begin_inline_test } true;assume { :begin_inline_aliceCall } true;havoc aliceCall_#t~ret117#1, aliceCall_~tmp~20#1;havoc aliceCall_~tmp~20#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 1;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~22#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~22#1;" "assume !(0 == getOrigin_~person#1);" "assume !(1 == getOrigin_~person#1);" "assume 2 == getOrigin_~person#1;getOrigin_~retValue_acc~22#1 := 2;getOrigin_#res#1 := getOrigin_~retValue_acc~22#1;" "aliceCall_#t~ret117#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~22#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;aliceCall_~tmp~20#1 := aliceCall_#t~ret117#1;havoc aliceCall_#t~ret117#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 1, aliceCall_~tmp~20#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1;" "assume 0 == initPersonOnFloor_~floor#1;" "assume 0 == initPersonOnFloor_~person#1;~personOnFloor_0_0~0 := 1;" "assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1;" "assume 0 == callOnFloor_~floorID#1;~calls_0~0 := 1;" "havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true;" "havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true;" "havoc aliceCall_#t~ret117#1, aliceCall_~tmp~20#1;assume { :end_inline_aliceCall } true;assume { :begin_inline_angelinaCall } true;havoc angelinaCall_#t~ret118#1, angelinaCall_~tmp~21#1;havoc angelinaCall_~tmp~21#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 2;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~22#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~22#1;" "assume !(0 == getOrigin_~person#1);" "assume !(1 == getOrigin_~person#1);" "assume 2 == getOrigin_~person#1;getOrigin_~retValue_acc~22#1 := 2;getOrigin_#res#1 := getOrigin_~retValue_acc~22#1;" "angelinaCall_#t~ret118#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~22#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;angelinaCall_~tmp~21#1 := angelinaCall_#t~ret118#1;havoc angelinaCall_#t~ret118#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 2, angelinaCall_~tmp~21#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1;" "assume 0 == initPersonOnFloor_~floor#1;" "assume 0 == initPersonOnFloor_~person#1;~personOnFloor_0_0~0 := 1;" "assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1;" "assume 0 == callOnFloor_~floorID#1;~calls_0~0 := 1;" "havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true;" "havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true;" "havoc angelinaCall_#t~ret118#1, angelinaCall_~tmp~21#1;assume { :end_inline_angelinaCall } true;assume { :begin_inline_threeTS } true;assume { :begin_inline_timeShift } true;havoc timeShift_#t~ret79#1, timeShift_~tmp~14#1;havoc timeShift_~tmp~14#1;assume { :begin_inline___utac_acc__Specification13_spec__1 } true;havoc __utac_acc__Specification13_spec__1_#t~ret129#1;assume { :begin_inline_getCurrentHeading } true;havoc getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~7#1;havoc getCurrentHeading_~retValue_acc~7#1;getCurrentHeading_~retValue_acc~7#1 := ~currentHeading~0;getCurrentHeading_#res#1 := getCurrentHeading_~retValue_acc~7#1;" "__utac_acc__Specification13_spec__1_#t~ret129#1 := getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~7#1;assume { :end_inline_getCurrentHeading } true;~prevDir~0 := __utac_acc__Specification13_spec__1_#t~ret129#1;havoc __utac_acc__Specification13_spec__1_#t~ret129#1;" "havoc __utac_acc__Specification13_spec__1_#t~ret129#1;assume { :end_inline___utac_acc__Specification13_spec__1 } true;assume { :begin_inline_areDoorsOpen } true;havoc areDoorsOpen_#res#1;havoc areDoorsOpen_~retValue_acc~5#1;havoc areDoorsOpen_~retValue_acc~5#1;areDoorsOpen_~retValue_acc~5#1 := ~doorState~0;areDoorsOpen_#res#1 := areDoorsOpen_~retValue_acc~5#1;" "timeShift_#t~ret79#1 := areDoorsOpen_#res#1;havoc areDoorsOpen_~retValue_acc~5#1;assume { :end_inline_areDoorsOpen } true;timeShift_~tmp~14#1 := timeShift_#t~ret79#1;havoc timeShift_#t~ret79#1;" "assume 0 != timeShift_~tmp~14#1;" "assume ~weight~0 > ~maximumWeight~0;~blocked~0 := 1;" "assume { :begin_inline___utac_acc__Specification13_spec__2 } true;havoc __utac_acc__Specification13_spec__2_#t~ret130#1, __utac_acc__Specification13_spec__2_#t~ret131#1, __utac_acc__Specification13_spec__2_#t~ret132#1, __utac_acc__Specification13_spec__2_#t~ret133#1, __utac_acc__Specification13_spec__2_#t~ret134#1, __utac_acc__Specification13_spec__2_#t~ret135#1, __utac_acc__Specification13_spec__2_~tmp~28#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~6#1, __utac_acc__Specification13_spec__2_~__cil_tmp8~7#1;havoc __utac_acc__Specification13_spec__2_~tmp~28#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~6#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp8~7#1;__utac_acc__Specification13_spec__2_~__cil_tmp7~6#1 := 2 * ~maximumWeight~0;__utac_acc__Specification13_spec__2_~__cil_tmp8~7#1 := (if __utac_acc__Specification13_spec__2_~__cil_tmp7~6#1 < 0 && 0 != __utac_acc__Specification13_spec__2_~__cil_tmp7~6#1 % 3 then 1 + __utac_acc__Specification13_spec__2_~__cil_tmp7~6#1 / 3 else __utac_acc__Specification13_spec__2_~__cil_tmp7~6#1 / 3);" "assume ~weight~0 > __utac_acc__Specification13_spec__2_~__cil_tmp8~7#1;" "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~17#1, existInLiftCallsInDirection_~i~0#1, existInLiftCallsInDirection_~i___0~0#1;existInLiftCallsInDirection_~d#1 := existInLiftCallsInDirection_#in~d#1;havoc existInLiftCallsInDirection_~retValue_acc~17#1;havoc existInLiftCallsInDirection_~i~0#1;havoc existInLiftCallsInDirection_~i___0~0#1;" "assume !(1 == existInLiftCallsInDirection_~d#1);" "assume 0 == existInLiftCallsInDirection_~d#1;existInLiftCallsInDirection_~i___0~0#1 := 0;existInLiftCallsInDirection_~i___0~0#1 := ~currentFloorID~0 - 1;" [2025-01-10 07:36:19,025 INFO L754 eck$LassoCheckResult]: Loop: "assume existInLiftCallsInDirection_~i___0~0#1 >= 0;" "existInLiftCallsInDirection_~i___0~0#1 := 1 + ~currentFloorID~0;" "assume !(existInLiftCallsInDirection_~i___0~0#1 < 5);" "existInLiftCallsInDirection_~i___0~0#1 := existInLiftCallsInDirection_~i___0~0#1 - 1;" [2025-01-10 07:36:19,026 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:36:19,026 INFO L85 PathProgramCache]: Analyzing trace with hash 920334079, now seen corresponding path program 1 times [2025-01-10 07:36:19,026 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:36:19,026 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [579972774] [2025-01-10 07:36:19,026 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-10 07:36:19,026 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:36:19,046 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 39 statements into 1 equivalence classes. [2025-01-10 07:36:19,051 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 39 of 39 statements. [2025-01-10 07:36:19,055 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:36:19,055 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:36:19,109 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-01-10 07:36:19,109 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-10 07:36:19,109 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [579972774] [2025-01-10 07:36:19,109 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [579972774] provided 1 perfect and 0 imperfect interpolant sequences [2025-01-10 07:36:19,110 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-01-10 07:36:19,110 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2025-01-10 07:36:19,110 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [743844365] [2025-01-10 07:36:19,110 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-01-10 07:36:19,110 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-01-10 07:36:19,111 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:36:19,111 INFO L85 PathProgramCache]: Analyzing trace with hash 501106274, now seen corresponding path program 1 times [2025-01-10 07:36:19,111 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:36:19,111 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1164605721] [2025-01-10 07:36:19,111 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-10 07:36:19,111 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:36:19,126 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 4 statements into 1 equivalence classes. [2025-01-10 07:36:19,127 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 4 of 4 statements. [2025-01-10 07:36:19,129 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:36:19,129 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:36:19,129 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-01-10 07:36:19,130 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 4 statements into 1 equivalence classes. [2025-01-10 07:36:19,130 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 4 of 4 statements. [2025-01-10 07:36:19,130 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:36:19,130 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:36:19,143 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-01-10 07:36:19,165 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-10 07:36:19,165 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2025-01-10 07:36:19,165 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2025-01-10 07:36:19,165 INFO L87 Difference]: Start difference. First operand 17386 states and 32659 transitions. cyclomatic complexity: 15309 Second operand has 3 states, 3 states have (on average 13.0) internal successors, (39), 3 states have internal predecessors, (39), 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) [2025-01-10 07:36:19,328 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-01-10 07:36:19,329 INFO L93 Difference]: Finished difference Result 17352 states and 32591 transitions. [2025-01-10 07:36:19,329 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 17352 states and 32591 transitions. [2025-01-10 07:36:19,388 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 3901 [2025-01-10 07:36:19,578 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 17352 states to 17352 states and 32591 transitions. [2025-01-10 07:36:19,578 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 17291 [2025-01-10 07:36:19,587 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 17291 [2025-01-10 07:36:19,587 INFO L73 IsDeterministic]: Start isDeterministic. Operand 17352 states and 32591 transitions. [2025-01-10 07:36:19,588 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-01-10 07:36:19,588 INFO L218 hiAutomatonCegarLoop]: Abstraction has 17352 states and 32591 transitions. [2025-01-10 07:36:19,608 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 17352 states and 32591 transitions. [2025-01-10 07:36:19,782 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 17352 to 17352. [2025-01-10 07:36:19,806 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17352 states, 17352 states have (on average 1.8782272936837252) internal successors, (32591), 17351 states have internal predecessors, (32591), 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) [2025-01-10 07:36:19,841 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17352 states to 17352 states and 32591 transitions. [2025-01-10 07:36:19,841 INFO L240 hiAutomatonCegarLoop]: Abstraction has 17352 states and 32591 transitions. [2025-01-10 07:36:19,842 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2025-01-10 07:36:19,843 INFO L432 stractBuchiCegarLoop]: Abstraction has 17352 states and 32591 transitions. [2025-01-10 07:36:19,843 INFO L338 stractBuchiCegarLoop]: ======== Iteration 4 ============ [2025-01-10 07:36:19,844 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 17352 states and 32591 transitions. [2025-01-10 07:36:19,903 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 3901 [2025-01-10 07:36:19,904 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-01-10 07:36:19,904 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-01-10 07:36:19,904 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] [2025-01-10 07:36:19,904 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1] [2025-01-10 07:36:19,906 INFO L752 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int#0(48, 1, 0, 1);call write~init~int#0(0, 1, 1, 1);call #Ultimate.allocInit(32, 2);call #Ultimate.allocInit(12, 3);call #Ultimate.allocInit(30, 4);call #Ultimate.allocInit(9, 5);call #Ultimate.allocInit(21, 6);call #Ultimate.allocInit(30, 7);call #Ultimate.allocInit(9, 8);call #Ultimate.allocInit(21, 9);call #Ultimate.allocInit(30, 10);call #Ultimate.allocInit(9, 11);call #Ultimate.allocInit(25, 12);call #Ultimate.allocInit(30, 13);call #Ultimate.allocInit(9, 14);call #Ultimate.allocInit(25, 15);call #Ultimate.allocInit(10, 16);call #Ultimate.allocInit(4, 17);call write~init~int#5(91, 17, 0, 1);call write~init~int#5(95, 17, 1, 1);call write~init~int#5(93, 17, 2, 1);call write~init~int#5(0, 17, 3, 1);call #Ultimate.allocInit(4, 18);call write~init~int#6(91, 18, 0, 1);call write~init~int#6(93, 18, 1, 1);call write~init~int#6(32, 18, 2, 1);call write~init~int#6(0, 18, 3, 1);call #Ultimate.allocInit(5, 19);call write~init~int#7(32, 19, 0, 1);call write~init~int#7(97, 19, 1, 1);call write~init~int#7(116, 19, 2, 1);call write~init~int#7(32, 19, 3, 1);call write~init~int#7(0, 19, 4, 1);call #Ultimate.allocInit(3, 20);call write~init~int#8(37, 20, 0, 1);call write~init~int#8(105, 20, 1, 1);call write~init~int#8(0, 20, 2, 1);call #Ultimate.allocInit(10, 21);call #Ultimate.allocInit(3, 22);call write~init~int#9(117, 22, 0, 1);call write~init~int#9(112, 22, 1, 1);call write~init~int#9(0, 22, 2, 1);call #Ultimate.allocInit(5, 23);call write~init~int#10(100, 23, 0, 1);call write~init~int#10(111, 23, 1, 1);call write~init~int#10(119, 23, 2, 1);call write~init~int#10(110, 23, 3, 1);call write~init~int#10(0, 23, 4, 1);call #Ultimate.allocInit(7, 24);call write~init~int#11(32, 24, 0, 1);call write~init~int#11(73, 24, 1, 1);call write~init~int#11(76, 24, 2, 1);call write~init~int#11(95, 24, 3, 1);call write~init~int#11(112, 24, 4, 1);call write~init~int#11(58, 24, 5, 1);call write~init~int#11(0, 24, 6, 1);call #Ultimate.allocInit(4, 25);call write~init~int#12(32, 25, 0, 1);call write~init~int#12(37, 25, 1, 1);call write~init~int#12(105, 25, 2, 1);call write~init~int#12(0, 25, 3, 1);call #Ultimate.allocInit(4, 26);call write~init~int#13(32, 26, 0, 1);call write~init~int#13(37, 26, 1, 1);call write~init~int#13(105, 26, 2, 1);call write~init~int#13(0, 26, 3, 1);call #Ultimate.allocInit(4, 27);call write~init~int#14(32, 27, 0, 1);call write~init~int#14(37, 27, 1, 1);call write~init~int#14(105, 27, 2, 1);call write~init~int#14(0, 27, 3, 1);call #Ultimate.allocInit(4, 28);call write~init~int#15(32, 28, 0, 1);call write~init~int#15(37, 28, 1, 1);call write~init~int#15(105, 28, 2, 1);call write~init~int#15(0, 28, 3, 1);call #Ultimate.allocInit(4, 29);call write~init~int#16(32, 29, 0, 1);call write~init~int#16(37, 29, 1, 1);call write~init~int#16(105, 29, 2, 1);call write~init~int#16(0, 29, 3, 1);call #Ultimate.allocInit(6, 30);call write~init~int#17(32, 30, 0, 1);call write~init~int#17(70, 30, 1, 1);call write~init~int#17(95, 30, 2, 1);call write~init~int#17(112, 30, 3, 1);call write~init~int#17(58, 30, 4, 1);call write~init~int#17(0, 30, 5, 1);call #Ultimate.allocInit(4, 31);call write~init~int#18(32, 31, 0, 1);call write~init~int#18(37, 31, 1, 1);call write~init~int#18(105, 31, 2, 1);call write~init~int#18(0, 31, 3, 1);call #Ultimate.allocInit(4, 32);call write~init~int#19(32, 32, 0, 1);call write~init~int#19(37, 32, 1, 1);call write~init~int#19(105, 32, 2, 1);call write~init~int#19(0, 32, 3, 1);call #Ultimate.allocInit(4, 33);call write~init~int#1(32, 33, 0, 1);call write~init~int#1(37, 33, 1, 1);call write~init~int#1(105, 33, 2, 1);call write~init~int#1(0, 33, 3, 1);call #Ultimate.allocInit(4, 34);call write~init~int#2(32, 34, 0, 1);call write~init~int#2(37, 34, 1, 1);call write~init~int#2(105, 34, 2, 1);call write~init~int#2(0, 34, 3, 1);call #Ultimate.allocInit(4, 35);call write~init~int#3(32, 35, 0, 1);call write~init~int#3(37, 35, 1, 1);call write~init~int#3(105, 35, 2, 1);call write~init~int#3(0, 35, 3, 1);call #Ultimate.allocInit(2, 36);call write~init~int#4(10, 36, 0, 1);call write~init~int#4(0, 36, 1, 1);call #Ultimate.allocInit(9, 37);~head~0.base, ~head~0.offset := 0, 0;~weight~0 := 0;~maximumWeight~0 := 100;~blocked~0 := 0;~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;~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;~prevDir~0 := 0;" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret128#1, main_~retValue_acc~27#1, main_~tmp~27#1;havoc main_~retValue_acc~27#1;havoc main_~tmp~27#1;assume { :begin_inline_select_helpers } true;" "assume { :end_inline_select_helpers } true;assume { :begin_inline_select_features } true;" "assume { :end_inline_select_features } true;assume { :begin_inline_valid_product } true;havoc valid_product_#res#1;havoc valid_product_~retValue_acc~25#1;havoc valid_product_~retValue_acc~25#1;valid_product_~retValue_acc~25#1 := 1;valid_product_#res#1 := valid_product_~retValue_acc~25#1;" "main_#t~ret128#1 := valid_product_#res#1;havoc valid_product_~retValue_acc~25#1;assume { :end_inline_valid_product } true;main_~tmp~27#1 := main_#t~ret128#1;havoc main_#t~ret128#1;" "assume 0 != main_~tmp~27#1;assume { :begin_inline_setup } true;" "assume { :end_inline_setup } true;assume { :begin_inline_runTest } true;assume { :begin_inline_test } true;assume { :begin_inline_aliceCall } true;havoc aliceCall_#t~ret117#1, aliceCall_~tmp~20#1;havoc aliceCall_~tmp~20#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 1;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~22#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~22#1;" "assume !(0 == getOrigin_~person#1);" "assume 1 == getOrigin_~person#1;getOrigin_~retValue_acc~22#1 := 3;getOrigin_#res#1 := getOrigin_~retValue_acc~22#1;" "aliceCall_#t~ret117#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~22#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;aliceCall_~tmp~20#1 := aliceCall_#t~ret117#1;havoc aliceCall_#t~ret117#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 1, aliceCall_~tmp~20#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1;" "assume !(0 == initPersonOnFloor_~floor#1);" "assume !(1 == initPersonOnFloor_~floor#1);" "assume !(2 == initPersonOnFloor_~floor#1);" "assume 3 == initPersonOnFloor_~floor#1;" "assume 0 == initPersonOnFloor_~person#1;~personOnFloor_0_3~0 := 1;" "assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1;" "assume 0 == callOnFloor_~floorID#1;~calls_0~0 := 1;" "havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true;" "havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true;" "havoc aliceCall_#t~ret117#1, aliceCall_~tmp~20#1;assume { :end_inline_aliceCall } true;assume { :begin_inline_angelinaCall } true;havoc angelinaCall_#t~ret118#1, angelinaCall_~tmp~21#1;havoc angelinaCall_~tmp~21#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 2;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~22#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~22#1;" "assume !(0 == getOrigin_~person#1);" "assume !(1 == getOrigin_~person#1);" "assume 2 == getOrigin_~person#1;getOrigin_~retValue_acc~22#1 := 2;getOrigin_#res#1 := getOrigin_~retValue_acc~22#1;" "angelinaCall_#t~ret118#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~22#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;angelinaCall_~tmp~21#1 := angelinaCall_#t~ret118#1;havoc angelinaCall_#t~ret118#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 2, angelinaCall_~tmp~21#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1;" "assume 0 == initPersonOnFloor_~floor#1;" "assume 0 == initPersonOnFloor_~person#1;~personOnFloor_0_0~0 := 1;" "assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1;" "assume 0 == callOnFloor_~floorID#1;~calls_0~0 := 1;" "havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true;" "havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true;" "havoc angelinaCall_#t~ret118#1, angelinaCall_~tmp~21#1;assume { :end_inline_angelinaCall } true;assume { :begin_inline_threeTS } true;assume { :begin_inline_timeShift } true;havoc timeShift_#t~ret79#1, timeShift_~tmp~14#1;havoc timeShift_~tmp~14#1;assume { :begin_inline___utac_acc__Specification13_spec__1 } true;havoc __utac_acc__Specification13_spec__1_#t~ret129#1;assume { :begin_inline_getCurrentHeading } true;havoc getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~7#1;havoc getCurrentHeading_~retValue_acc~7#1;getCurrentHeading_~retValue_acc~7#1 := ~currentHeading~0;getCurrentHeading_#res#1 := getCurrentHeading_~retValue_acc~7#1;" "__utac_acc__Specification13_spec__1_#t~ret129#1 := getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~7#1;assume { :end_inline_getCurrentHeading } true;~prevDir~0 := __utac_acc__Specification13_spec__1_#t~ret129#1;havoc __utac_acc__Specification13_spec__1_#t~ret129#1;" "havoc __utac_acc__Specification13_spec__1_#t~ret129#1;assume { :end_inline___utac_acc__Specification13_spec__1 } true;assume { :begin_inline_areDoorsOpen } true;havoc areDoorsOpen_#res#1;havoc areDoorsOpen_~retValue_acc~5#1;havoc areDoorsOpen_~retValue_acc~5#1;areDoorsOpen_~retValue_acc~5#1 := ~doorState~0;areDoorsOpen_#res#1 := areDoorsOpen_~retValue_acc~5#1;" "timeShift_#t~ret79#1 := areDoorsOpen_#res#1;havoc areDoorsOpen_~retValue_acc~5#1;assume { :end_inline_areDoorsOpen } true;timeShift_~tmp~14#1 := timeShift_#t~ret79#1;havoc timeShift_#t~ret79#1;" "assume 0 != timeShift_~tmp~14#1;" "assume ~weight~0 > ~maximumWeight~0;~blocked~0 := 1;" "assume { :begin_inline___utac_acc__Specification13_spec__2 } true;havoc __utac_acc__Specification13_spec__2_#t~ret130#1, __utac_acc__Specification13_spec__2_#t~ret131#1, __utac_acc__Specification13_spec__2_#t~ret132#1, __utac_acc__Specification13_spec__2_#t~ret133#1, __utac_acc__Specification13_spec__2_#t~ret134#1, __utac_acc__Specification13_spec__2_#t~ret135#1, __utac_acc__Specification13_spec__2_~tmp~28#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~6#1, __utac_acc__Specification13_spec__2_~__cil_tmp8~7#1;havoc __utac_acc__Specification13_spec__2_~tmp~28#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~6#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp8~7#1;__utac_acc__Specification13_spec__2_~__cil_tmp7~6#1 := 2 * ~maximumWeight~0;__utac_acc__Specification13_spec__2_~__cil_tmp8~7#1 := (if __utac_acc__Specification13_spec__2_~__cil_tmp7~6#1 < 0 && 0 != __utac_acc__Specification13_spec__2_~__cil_tmp7~6#1 % 3 then 1 + __utac_acc__Specification13_spec__2_~__cil_tmp7~6#1 / 3 else __utac_acc__Specification13_spec__2_~__cil_tmp7~6#1 / 3);" "assume ~weight~0 > __utac_acc__Specification13_spec__2_~__cil_tmp8~7#1;" "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~17#1, existInLiftCallsInDirection_~i~0#1, existInLiftCallsInDirection_~i___0~0#1;existInLiftCallsInDirection_~d#1 := existInLiftCallsInDirection_#in~d#1;havoc existInLiftCallsInDirection_~retValue_acc~17#1;havoc existInLiftCallsInDirection_~i~0#1;havoc existInLiftCallsInDirection_~i___0~0#1;" "assume !(1 == existInLiftCallsInDirection_~d#1);" "assume 0 == existInLiftCallsInDirection_~d#1;existInLiftCallsInDirection_~i___0~0#1 := 0;existInLiftCallsInDirection_~i___0~0#1 := ~currentFloorID~0 - 1;" [2025-01-10 07:36:19,906 INFO L754 eck$LassoCheckResult]: Loop: "assume existInLiftCallsInDirection_~i___0~0#1 >= 0;" "existInLiftCallsInDirection_~i___0~0#1 := 1 + ~currentFloorID~0;" "assume !(existInLiftCallsInDirection_~i___0~0#1 < 5);" "existInLiftCallsInDirection_~i___0~0#1 := existInLiftCallsInDirection_~i___0~0#1 - 1;" [2025-01-10 07:36:19,906 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:36:19,907 INFO L85 PathProgramCache]: Analyzing trace with hash -89409358, now seen corresponding path program 1 times [2025-01-10 07:36:19,907 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:36:19,907 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1033692199] [2025-01-10 07:36:19,907 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-10 07:36:19,907 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:36:19,933 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 41 statements into 1 equivalence classes. [2025-01-10 07:36:19,940 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 41 of 41 statements. [2025-01-10 07:36:19,942 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:36:19,942 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:36:20,033 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-01-10 07:36:20,033 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-10 07:36:20,034 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1033692199] [2025-01-10 07:36:20,034 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1033692199] provided 1 perfect and 0 imperfect interpolant sequences [2025-01-10 07:36:20,034 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-01-10 07:36:20,034 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2025-01-10 07:36:20,034 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1702830366] [2025-01-10 07:36:20,034 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-01-10 07:36:20,034 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-01-10 07:36:20,034 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:36:20,035 INFO L85 PathProgramCache]: Analyzing trace with hash 501106274, now seen corresponding path program 2 times [2025-01-10 07:36:20,035 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:36:20,035 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2080738412] [2025-01-10 07:36:20,035 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-01-10 07:36:20,035 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:36:20,049 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 4 statements into 1 equivalence classes. [2025-01-10 07:36:20,050 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) and asserted 4 of 4 statements. [2025-01-10 07:36:20,050 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2025-01-10 07:36:20,050 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:36:20,050 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-01-10 07:36:20,051 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 4 statements into 1 equivalence classes. [2025-01-10 07:36:20,052 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 4 of 4 statements. [2025-01-10 07:36:20,052 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:36:20,052 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:36:20,062 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-01-10 07:36:20,078 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-10 07:36:20,078 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2025-01-10 07:36:20,078 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2025-01-10 07:36:20,079 INFO L87 Difference]: Start difference. First operand 17352 states and 32591 transitions. cyclomatic complexity: 15275 Second operand has 5 states, 5 states have (on average 8.2) internal successors, (41), 5 states have internal predecessors, (41), 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) [2025-01-10 07:36:20,688 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-01-10 07:36:20,688 INFO L93 Difference]: Finished difference Result 17360 states and 32598 transitions. [2025-01-10 07:36:20,688 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 17360 states and 32598 transitions. [2025-01-10 07:36:20,741 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 3901 [2025-01-10 07:36:20,784 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 17360 states to 17360 states and 32598 transitions. [2025-01-10 07:36:20,784 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 17299 [2025-01-10 07:36:20,795 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 17299 [2025-01-10 07:36:20,795 INFO L73 IsDeterministic]: Start isDeterministic. Operand 17360 states and 32598 transitions. [2025-01-10 07:36:20,796 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-01-10 07:36:20,796 INFO L218 hiAutomatonCegarLoop]: Abstraction has 17360 states and 32598 transitions. [2025-01-10 07:36:20,815 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 17360 states and 32598 transitions. [2025-01-10 07:36:20,945 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 17360 to 17352. [2025-01-10 07:36:20,966 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17352 states, 17352 states have (on average 1.8778815122176118) internal successors, (32585), 17351 states have internal predecessors, (32585), 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) [2025-01-10 07:36:20,993 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17352 states to 17352 states and 32585 transitions. [2025-01-10 07:36:20,993 INFO L240 hiAutomatonCegarLoop]: Abstraction has 17352 states and 32585 transitions. [2025-01-10 07:36:20,993 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2025-01-10 07:36:20,994 INFO L432 stractBuchiCegarLoop]: Abstraction has 17352 states and 32585 transitions. [2025-01-10 07:36:20,994 INFO L338 stractBuchiCegarLoop]: ======== Iteration 5 ============ [2025-01-10 07:36:20,994 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 17352 states and 32585 transitions. [2025-01-10 07:36:21,036 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 3901 [2025-01-10 07:36:21,037 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-01-10 07:36:21,037 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-01-10 07:36:21,037 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] [2025-01-10 07:36:21,037 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1] [2025-01-10 07:36:21,037 INFO L752 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int#0(48, 1, 0, 1);call write~init~int#0(0, 1, 1, 1);call #Ultimate.allocInit(32, 2);call #Ultimate.allocInit(12, 3);call #Ultimate.allocInit(30, 4);call #Ultimate.allocInit(9, 5);call #Ultimate.allocInit(21, 6);call #Ultimate.allocInit(30, 7);call #Ultimate.allocInit(9, 8);call #Ultimate.allocInit(21, 9);call #Ultimate.allocInit(30, 10);call #Ultimate.allocInit(9, 11);call #Ultimate.allocInit(25, 12);call #Ultimate.allocInit(30, 13);call #Ultimate.allocInit(9, 14);call #Ultimate.allocInit(25, 15);call #Ultimate.allocInit(10, 16);call #Ultimate.allocInit(4, 17);call write~init~int#5(91, 17, 0, 1);call write~init~int#5(95, 17, 1, 1);call write~init~int#5(93, 17, 2, 1);call write~init~int#5(0, 17, 3, 1);call #Ultimate.allocInit(4, 18);call write~init~int#6(91, 18, 0, 1);call write~init~int#6(93, 18, 1, 1);call write~init~int#6(32, 18, 2, 1);call write~init~int#6(0, 18, 3, 1);call #Ultimate.allocInit(5, 19);call write~init~int#7(32, 19, 0, 1);call write~init~int#7(97, 19, 1, 1);call write~init~int#7(116, 19, 2, 1);call write~init~int#7(32, 19, 3, 1);call write~init~int#7(0, 19, 4, 1);call #Ultimate.allocInit(3, 20);call write~init~int#8(37, 20, 0, 1);call write~init~int#8(105, 20, 1, 1);call write~init~int#8(0, 20, 2, 1);call #Ultimate.allocInit(10, 21);call #Ultimate.allocInit(3, 22);call write~init~int#9(117, 22, 0, 1);call write~init~int#9(112, 22, 1, 1);call write~init~int#9(0, 22, 2, 1);call #Ultimate.allocInit(5, 23);call write~init~int#10(100, 23, 0, 1);call write~init~int#10(111, 23, 1, 1);call write~init~int#10(119, 23, 2, 1);call write~init~int#10(110, 23, 3, 1);call write~init~int#10(0, 23, 4, 1);call #Ultimate.allocInit(7, 24);call write~init~int#11(32, 24, 0, 1);call write~init~int#11(73, 24, 1, 1);call write~init~int#11(76, 24, 2, 1);call write~init~int#11(95, 24, 3, 1);call write~init~int#11(112, 24, 4, 1);call write~init~int#11(58, 24, 5, 1);call write~init~int#11(0, 24, 6, 1);call #Ultimate.allocInit(4, 25);call write~init~int#12(32, 25, 0, 1);call write~init~int#12(37, 25, 1, 1);call write~init~int#12(105, 25, 2, 1);call write~init~int#12(0, 25, 3, 1);call #Ultimate.allocInit(4, 26);call write~init~int#13(32, 26, 0, 1);call write~init~int#13(37, 26, 1, 1);call write~init~int#13(105, 26, 2, 1);call write~init~int#13(0, 26, 3, 1);call #Ultimate.allocInit(4, 27);call write~init~int#14(32, 27, 0, 1);call write~init~int#14(37, 27, 1, 1);call write~init~int#14(105, 27, 2, 1);call write~init~int#14(0, 27, 3, 1);call #Ultimate.allocInit(4, 28);call write~init~int#15(32, 28, 0, 1);call write~init~int#15(37, 28, 1, 1);call write~init~int#15(105, 28, 2, 1);call write~init~int#15(0, 28, 3, 1);call #Ultimate.allocInit(4, 29);call write~init~int#16(32, 29, 0, 1);call write~init~int#16(37, 29, 1, 1);call write~init~int#16(105, 29, 2, 1);call write~init~int#16(0, 29, 3, 1);call #Ultimate.allocInit(6, 30);call write~init~int#17(32, 30, 0, 1);call write~init~int#17(70, 30, 1, 1);call write~init~int#17(95, 30, 2, 1);call write~init~int#17(112, 30, 3, 1);call write~init~int#17(58, 30, 4, 1);call write~init~int#17(0, 30, 5, 1);call #Ultimate.allocInit(4, 31);call write~init~int#18(32, 31, 0, 1);call write~init~int#18(37, 31, 1, 1);call write~init~int#18(105, 31, 2, 1);call write~init~int#18(0, 31, 3, 1);call #Ultimate.allocInit(4, 32);call write~init~int#19(32, 32, 0, 1);call write~init~int#19(37, 32, 1, 1);call write~init~int#19(105, 32, 2, 1);call write~init~int#19(0, 32, 3, 1);call #Ultimate.allocInit(4, 33);call write~init~int#1(32, 33, 0, 1);call write~init~int#1(37, 33, 1, 1);call write~init~int#1(105, 33, 2, 1);call write~init~int#1(0, 33, 3, 1);call #Ultimate.allocInit(4, 34);call write~init~int#2(32, 34, 0, 1);call write~init~int#2(37, 34, 1, 1);call write~init~int#2(105, 34, 2, 1);call write~init~int#2(0, 34, 3, 1);call #Ultimate.allocInit(4, 35);call write~init~int#3(32, 35, 0, 1);call write~init~int#3(37, 35, 1, 1);call write~init~int#3(105, 35, 2, 1);call write~init~int#3(0, 35, 3, 1);call #Ultimate.allocInit(2, 36);call write~init~int#4(10, 36, 0, 1);call write~init~int#4(0, 36, 1, 1);call #Ultimate.allocInit(9, 37);~head~0.base, ~head~0.offset := 0, 0;~weight~0 := 0;~maximumWeight~0 := 100;~blocked~0 := 0;~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;~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;~prevDir~0 := 0;" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret128#1, main_~retValue_acc~27#1, main_~tmp~27#1;havoc main_~retValue_acc~27#1;havoc main_~tmp~27#1;assume { :begin_inline_select_helpers } true;" "assume { :end_inline_select_helpers } true;assume { :begin_inline_select_features } true;" "assume { :end_inline_select_features } true;assume { :begin_inline_valid_product } true;havoc valid_product_#res#1;havoc valid_product_~retValue_acc~25#1;havoc valid_product_~retValue_acc~25#1;valid_product_~retValue_acc~25#1 := 1;valid_product_#res#1 := valid_product_~retValue_acc~25#1;" "main_#t~ret128#1 := valid_product_#res#1;havoc valid_product_~retValue_acc~25#1;assume { :end_inline_valid_product } true;main_~tmp~27#1 := main_#t~ret128#1;havoc main_#t~ret128#1;" "assume 0 != main_~tmp~27#1;assume { :begin_inline_setup } true;" "assume { :end_inline_setup } true;assume { :begin_inline_runTest } true;assume { :begin_inline_test } true;assume { :begin_inline_aliceCall } true;havoc aliceCall_#t~ret117#1, aliceCall_~tmp~20#1;havoc aliceCall_~tmp~20#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 1;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~22#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~22#1;" "assume !(0 == getOrigin_~person#1);" "assume 1 == getOrigin_~person#1;getOrigin_~retValue_acc~22#1 := 3;getOrigin_#res#1 := getOrigin_~retValue_acc~22#1;" "aliceCall_#t~ret117#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~22#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;aliceCall_~tmp~20#1 := aliceCall_#t~ret117#1;havoc aliceCall_#t~ret117#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 1, aliceCall_~tmp~20#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1;" "assume !(0 == initPersonOnFloor_~floor#1);" "assume !(1 == initPersonOnFloor_~floor#1);" "assume !(2 == initPersonOnFloor_~floor#1);" "assume 3 == initPersonOnFloor_~floor#1;" "assume !(0 == initPersonOnFloor_~person#1);" "assume 1 == initPersonOnFloor_~person#1;~personOnFloor_1_3~0 := 1;" "assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1;" "assume 0 == callOnFloor_~floorID#1;~calls_0~0 := 1;" "havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true;" "havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true;" "havoc aliceCall_#t~ret117#1, aliceCall_~tmp~20#1;assume { :end_inline_aliceCall } true;assume { :begin_inline_angelinaCall } true;havoc angelinaCall_#t~ret118#1, angelinaCall_~tmp~21#1;havoc angelinaCall_~tmp~21#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 2;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~22#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~22#1;" "assume !(0 == getOrigin_~person#1);" "assume !(1 == getOrigin_~person#1);" "assume 2 == getOrigin_~person#1;getOrigin_~retValue_acc~22#1 := 2;getOrigin_#res#1 := getOrigin_~retValue_acc~22#1;" "angelinaCall_#t~ret118#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~22#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;angelinaCall_~tmp~21#1 := angelinaCall_#t~ret118#1;havoc angelinaCall_#t~ret118#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 2, angelinaCall_~tmp~21#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1;" "assume 0 == initPersonOnFloor_~floor#1;" "assume !(0 == initPersonOnFloor_~person#1);" "assume 1 == initPersonOnFloor_~person#1;~personOnFloor_1_0~0 := 1;" "assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1;" "assume 0 == callOnFloor_~floorID#1;~calls_0~0 := 1;" "havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true;" "havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true;" "havoc angelinaCall_#t~ret118#1, angelinaCall_~tmp~21#1;assume { :end_inline_angelinaCall } true;assume { :begin_inline_threeTS } true;assume { :begin_inline_timeShift } true;havoc timeShift_#t~ret79#1, timeShift_~tmp~14#1;havoc timeShift_~tmp~14#1;assume { :begin_inline___utac_acc__Specification13_spec__1 } true;havoc __utac_acc__Specification13_spec__1_#t~ret129#1;assume { :begin_inline_getCurrentHeading } true;havoc getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~7#1;havoc getCurrentHeading_~retValue_acc~7#1;getCurrentHeading_~retValue_acc~7#1 := ~currentHeading~0;getCurrentHeading_#res#1 := getCurrentHeading_~retValue_acc~7#1;" "__utac_acc__Specification13_spec__1_#t~ret129#1 := getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~7#1;assume { :end_inline_getCurrentHeading } true;~prevDir~0 := __utac_acc__Specification13_spec__1_#t~ret129#1;havoc __utac_acc__Specification13_spec__1_#t~ret129#1;" "havoc __utac_acc__Specification13_spec__1_#t~ret129#1;assume { :end_inline___utac_acc__Specification13_spec__1 } true;assume { :begin_inline_areDoorsOpen } true;havoc areDoorsOpen_#res#1;havoc areDoorsOpen_~retValue_acc~5#1;havoc areDoorsOpen_~retValue_acc~5#1;areDoorsOpen_~retValue_acc~5#1 := ~doorState~0;areDoorsOpen_#res#1 := areDoorsOpen_~retValue_acc~5#1;" "timeShift_#t~ret79#1 := areDoorsOpen_#res#1;havoc areDoorsOpen_~retValue_acc~5#1;assume { :end_inline_areDoorsOpen } true;timeShift_~tmp~14#1 := timeShift_#t~ret79#1;havoc timeShift_#t~ret79#1;" "assume 0 != timeShift_~tmp~14#1;" "assume ~weight~0 > ~maximumWeight~0;~blocked~0 := 1;" "assume { :begin_inline___utac_acc__Specification13_spec__2 } true;havoc __utac_acc__Specification13_spec__2_#t~ret130#1, __utac_acc__Specification13_spec__2_#t~ret131#1, __utac_acc__Specification13_spec__2_#t~ret132#1, __utac_acc__Specification13_spec__2_#t~ret133#1, __utac_acc__Specification13_spec__2_#t~ret134#1, __utac_acc__Specification13_spec__2_#t~ret135#1, __utac_acc__Specification13_spec__2_~tmp~28#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~6#1, __utac_acc__Specification13_spec__2_~__cil_tmp8~7#1;havoc __utac_acc__Specification13_spec__2_~tmp~28#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~6#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp8~7#1;__utac_acc__Specification13_spec__2_~__cil_tmp7~6#1 := 2 * ~maximumWeight~0;__utac_acc__Specification13_spec__2_~__cil_tmp8~7#1 := (if __utac_acc__Specification13_spec__2_~__cil_tmp7~6#1 < 0 && 0 != __utac_acc__Specification13_spec__2_~__cil_tmp7~6#1 % 3 then 1 + __utac_acc__Specification13_spec__2_~__cil_tmp7~6#1 / 3 else __utac_acc__Specification13_spec__2_~__cil_tmp7~6#1 / 3);" "assume ~weight~0 > __utac_acc__Specification13_spec__2_~__cil_tmp8~7#1;" "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~17#1, existInLiftCallsInDirection_~i~0#1, existInLiftCallsInDirection_~i___0~0#1;existInLiftCallsInDirection_~d#1 := existInLiftCallsInDirection_#in~d#1;havoc existInLiftCallsInDirection_~retValue_acc~17#1;havoc existInLiftCallsInDirection_~i~0#1;havoc existInLiftCallsInDirection_~i___0~0#1;" "assume !(1 == existInLiftCallsInDirection_~d#1);" "assume 0 == existInLiftCallsInDirection_~d#1;existInLiftCallsInDirection_~i___0~0#1 := 0;existInLiftCallsInDirection_~i___0~0#1 := ~currentFloorID~0 - 1;" [2025-01-10 07:36:21,038 INFO L754 eck$LassoCheckResult]: Loop: "assume existInLiftCallsInDirection_~i___0~0#1 >= 0;" "existInLiftCallsInDirection_~i___0~0#1 := 1 + ~currentFloorID~0;" "assume !(existInLiftCallsInDirection_~i___0~0#1 < 5);" "existInLiftCallsInDirection_~i___0~0#1 := existInLiftCallsInDirection_~i___0~0#1 - 1;" [2025-01-10 07:36:21,038 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:36:21,038 INFO L85 PathProgramCache]: Analyzing trace with hash 132035190, now seen corresponding path program 1 times [2025-01-10 07:36:21,038 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:36:21,038 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [201662202] [2025-01-10 07:36:21,038 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-10 07:36:21,038 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:36:21,055 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 43 statements into 1 equivalence classes. [2025-01-10 07:36:21,061 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 43 of 43 statements. [2025-01-10 07:36:21,065 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:36:21,066 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:36:21,106 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-01-10 07:36:21,106 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-10 07:36:21,106 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [201662202] [2025-01-10 07:36:21,106 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [201662202] provided 1 perfect and 0 imperfect interpolant sequences [2025-01-10 07:36:21,106 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-01-10 07:36:21,106 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2025-01-10 07:36:21,106 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1908323442] [2025-01-10 07:36:21,106 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-01-10 07:36:21,106 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-01-10 07:36:21,106 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:36:21,107 INFO L85 PathProgramCache]: Analyzing trace with hash 501106274, now seen corresponding path program 3 times [2025-01-10 07:36:21,107 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:36:21,107 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1353147082] [2025-01-10 07:36:21,107 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2025-01-10 07:36:21,107 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:36:21,117 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 partitioned 4 statements into 1 equivalence classes. [2025-01-10 07:36:21,119 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 1 check-sat command(s) and asserted 4 of 4 statements. [2025-01-10 07:36:21,119 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 1 check-sat command(s) [2025-01-10 07:36:21,119 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:36:21,120 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-01-10 07:36:21,120 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 4 statements into 1 equivalence classes. [2025-01-10 07:36:21,121 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 4 of 4 statements. [2025-01-10 07:36:21,121 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:36:21,121 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:36:21,134 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-01-10 07:36:21,154 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-10 07:36:21,154 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2025-01-10 07:36:21,154 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2025-01-10 07:36:21,154 INFO L87 Difference]: Start difference. First operand 17352 states and 32585 transitions. cyclomatic complexity: 15269 Second operand has 4 states, 4 states have (on average 10.75) internal successors, (43), 4 states have internal predecessors, (43), 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) [2025-01-10 07:36:21,596 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-01-10 07:36:21,596 INFO L93 Difference]: Finished difference Result 17356 states and 32588 transitions. [2025-01-10 07:36:21,596 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 17356 states and 32588 transitions. [2025-01-10 07:36:21,646 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 3901 [2025-01-10 07:36:21,686 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 17356 states to 17356 states and 32588 transitions. [2025-01-10 07:36:21,687 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 17295 [2025-01-10 07:36:21,698 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 17295 [2025-01-10 07:36:21,698 INFO L73 IsDeterministic]: Start isDeterministic. Operand 17356 states and 32588 transitions. [2025-01-10 07:36:21,699 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-01-10 07:36:21,699 INFO L218 hiAutomatonCegarLoop]: Abstraction has 17356 states and 32588 transitions. [2025-01-10 07:36:21,718 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 17356 states and 32588 transitions. [2025-01-10 07:36:21,841 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 17356 to 17356. [2025-01-10 07:36:21,860 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17356 states, 17356 states have (on average 1.8776215717907352) internal successors, (32588), 17355 states have internal predecessors, (32588), 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) [2025-01-10 07:36:21,887 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17356 states to 17356 states and 32588 transitions. [2025-01-10 07:36:21,888 INFO L240 hiAutomatonCegarLoop]: Abstraction has 17356 states and 32588 transitions. [2025-01-10 07:36:21,888 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2025-01-10 07:36:21,890 INFO L432 stractBuchiCegarLoop]: Abstraction has 17356 states and 32588 transitions. [2025-01-10 07:36:21,890 INFO L338 stractBuchiCegarLoop]: ======== Iteration 6 ============ [2025-01-10 07:36:21,890 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 17356 states and 32588 transitions. [2025-01-10 07:36:21,930 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 3901 [2025-01-10 07:36:21,930 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-01-10 07:36:21,930 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-01-10 07:36:21,930 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] [2025-01-10 07:36:21,930 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1] [2025-01-10 07:36:21,933 INFO L752 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int#0(48, 1, 0, 1);call write~init~int#0(0, 1, 1, 1);call #Ultimate.allocInit(32, 2);call #Ultimate.allocInit(12, 3);call #Ultimate.allocInit(30, 4);call #Ultimate.allocInit(9, 5);call #Ultimate.allocInit(21, 6);call #Ultimate.allocInit(30, 7);call #Ultimate.allocInit(9, 8);call #Ultimate.allocInit(21, 9);call #Ultimate.allocInit(30, 10);call #Ultimate.allocInit(9, 11);call #Ultimate.allocInit(25, 12);call #Ultimate.allocInit(30, 13);call #Ultimate.allocInit(9, 14);call #Ultimate.allocInit(25, 15);call #Ultimate.allocInit(10, 16);call #Ultimate.allocInit(4, 17);call write~init~int#5(91, 17, 0, 1);call write~init~int#5(95, 17, 1, 1);call write~init~int#5(93, 17, 2, 1);call write~init~int#5(0, 17, 3, 1);call #Ultimate.allocInit(4, 18);call write~init~int#6(91, 18, 0, 1);call write~init~int#6(93, 18, 1, 1);call write~init~int#6(32, 18, 2, 1);call write~init~int#6(0, 18, 3, 1);call #Ultimate.allocInit(5, 19);call write~init~int#7(32, 19, 0, 1);call write~init~int#7(97, 19, 1, 1);call write~init~int#7(116, 19, 2, 1);call write~init~int#7(32, 19, 3, 1);call write~init~int#7(0, 19, 4, 1);call #Ultimate.allocInit(3, 20);call write~init~int#8(37, 20, 0, 1);call write~init~int#8(105, 20, 1, 1);call write~init~int#8(0, 20, 2, 1);call #Ultimate.allocInit(10, 21);call #Ultimate.allocInit(3, 22);call write~init~int#9(117, 22, 0, 1);call write~init~int#9(112, 22, 1, 1);call write~init~int#9(0, 22, 2, 1);call #Ultimate.allocInit(5, 23);call write~init~int#10(100, 23, 0, 1);call write~init~int#10(111, 23, 1, 1);call write~init~int#10(119, 23, 2, 1);call write~init~int#10(110, 23, 3, 1);call write~init~int#10(0, 23, 4, 1);call #Ultimate.allocInit(7, 24);call write~init~int#11(32, 24, 0, 1);call write~init~int#11(73, 24, 1, 1);call write~init~int#11(76, 24, 2, 1);call write~init~int#11(95, 24, 3, 1);call write~init~int#11(112, 24, 4, 1);call write~init~int#11(58, 24, 5, 1);call write~init~int#11(0, 24, 6, 1);call #Ultimate.allocInit(4, 25);call write~init~int#12(32, 25, 0, 1);call write~init~int#12(37, 25, 1, 1);call write~init~int#12(105, 25, 2, 1);call write~init~int#12(0, 25, 3, 1);call #Ultimate.allocInit(4, 26);call write~init~int#13(32, 26, 0, 1);call write~init~int#13(37, 26, 1, 1);call write~init~int#13(105, 26, 2, 1);call write~init~int#13(0, 26, 3, 1);call #Ultimate.allocInit(4, 27);call write~init~int#14(32, 27, 0, 1);call write~init~int#14(37, 27, 1, 1);call write~init~int#14(105, 27, 2, 1);call write~init~int#14(0, 27, 3, 1);call #Ultimate.allocInit(4, 28);call write~init~int#15(32, 28, 0, 1);call write~init~int#15(37, 28, 1, 1);call write~init~int#15(105, 28, 2, 1);call write~init~int#15(0, 28, 3, 1);call #Ultimate.allocInit(4, 29);call write~init~int#16(32, 29, 0, 1);call write~init~int#16(37, 29, 1, 1);call write~init~int#16(105, 29, 2, 1);call write~init~int#16(0, 29, 3, 1);call #Ultimate.allocInit(6, 30);call write~init~int#17(32, 30, 0, 1);call write~init~int#17(70, 30, 1, 1);call write~init~int#17(95, 30, 2, 1);call write~init~int#17(112, 30, 3, 1);call write~init~int#17(58, 30, 4, 1);call write~init~int#17(0, 30, 5, 1);call #Ultimate.allocInit(4, 31);call write~init~int#18(32, 31, 0, 1);call write~init~int#18(37, 31, 1, 1);call write~init~int#18(105, 31, 2, 1);call write~init~int#18(0, 31, 3, 1);call #Ultimate.allocInit(4, 32);call write~init~int#19(32, 32, 0, 1);call write~init~int#19(37, 32, 1, 1);call write~init~int#19(105, 32, 2, 1);call write~init~int#19(0, 32, 3, 1);call #Ultimate.allocInit(4, 33);call write~init~int#1(32, 33, 0, 1);call write~init~int#1(37, 33, 1, 1);call write~init~int#1(105, 33, 2, 1);call write~init~int#1(0, 33, 3, 1);call #Ultimate.allocInit(4, 34);call write~init~int#2(32, 34, 0, 1);call write~init~int#2(37, 34, 1, 1);call write~init~int#2(105, 34, 2, 1);call write~init~int#2(0, 34, 3, 1);call #Ultimate.allocInit(4, 35);call write~init~int#3(32, 35, 0, 1);call write~init~int#3(37, 35, 1, 1);call write~init~int#3(105, 35, 2, 1);call write~init~int#3(0, 35, 3, 1);call #Ultimate.allocInit(2, 36);call write~init~int#4(10, 36, 0, 1);call write~init~int#4(0, 36, 1, 1);call #Ultimate.allocInit(9, 37);~head~0.base, ~head~0.offset := 0, 0;~weight~0 := 0;~maximumWeight~0 := 100;~blocked~0 := 0;~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;~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;~prevDir~0 := 0;" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret128#1, main_~retValue_acc~27#1, main_~tmp~27#1;havoc main_~retValue_acc~27#1;havoc main_~tmp~27#1;assume { :begin_inline_select_helpers } true;" "assume { :end_inline_select_helpers } true;assume { :begin_inline_select_features } true;" "assume { :end_inline_select_features } true;assume { :begin_inline_valid_product } true;havoc valid_product_#res#1;havoc valid_product_~retValue_acc~25#1;havoc valid_product_~retValue_acc~25#1;valid_product_~retValue_acc~25#1 := 1;valid_product_#res#1 := valid_product_~retValue_acc~25#1;" "main_#t~ret128#1 := valid_product_#res#1;havoc valid_product_~retValue_acc~25#1;assume { :end_inline_valid_product } true;main_~tmp~27#1 := main_#t~ret128#1;havoc main_#t~ret128#1;" "assume 0 != main_~tmp~27#1;assume { :begin_inline_setup } true;" "assume { :end_inline_setup } true;assume { :begin_inline_runTest } true;assume { :begin_inline_test } true;assume { :begin_inline_aliceCall } true;havoc aliceCall_#t~ret117#1, aliceCall_~tmp~20#1;havoc aliceCall_~tmp~20#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 1;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~22#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~22#1;" "assume !(0 == getOrigin_~person#1);" "assume 1 == getOrigin_~person#1;getOrigin_~retValue_acc~22#1 := 3;getOrigin_#res#1 := getOrigin_~retValue_acc~22#1;" "aliceCall_#t~ret117#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~22#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;aliceCall_~tmp~20#1 := aliceCall_#t~ret117#1;havoc aliceCall_#t~ret117#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 1, aliceCall_~tmp~20#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1;" "assume !(0 == initPersonOnFloor_~floor#1);" "assume !(1 == initPersonOnFloor_~floor#1);" "assume !(2 == initPersonOnFloor_~floor#1);" "assume 3 == initPersonOnFloor_~floor#1;" "assume !(0 == initPersonOnFloor_~person#1);" "assume 1 == initPersonOnFloor_~person#1;~personOnFloor_1_3~0 := 1;" "assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1;" "assume !(0 == callOnFloor_~floorID#1);" "assume 1 == callOnFloor_~floorID#1;~calls_1~0 := 1;" "havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true;" "havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true;" "havoc aliceCall_#t~ret117#1, aliceCall_~tmp~20#1;assume { :end_inline_aliceCall } true;assume { :begin_inline_angelinaCall } true;havoc angelinaCall_#t~ret118#1, angelinaCall_~tmp~21#1;havoc angelinaCall_~tmp~21#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 2;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~22#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~22#1;" "assume !(0 == getOrigin_~person#1);" "assume !(1 == getOrigin_~person#1);" "assume 2 == getOrigin_~person#1;getOrigin_~retValue_acc~22#1 := 2;getOrigin_#res#1 := getOrigin_~retValue_acc~22#1;" "angelinaCall_#t~ret118#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~22#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;angelinaCall_~tmp~21#1 := angelinaCall_#t~ret118#1;havoc angelinaCall_#t~ret118#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 2, angelinaCall_~tmp~21#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1;" "assume 0 == initPersonOnFloor_~floor#1;" "assume !(0 == initPersonOnFloor_~person#1);" "assume 1 == initPersonOnFloor_~person#1;~personOnFloor_1_0~0 := 1;" "assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1;" "assume 0 == callOnFloor_~floorID#1;~calls_0~0 := 1;" "havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true;" "havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true;" "havoc angelinaCall_#t~ret118#1, angelinaCall_~tmp~21#1;assume { :end_inline_angelinaCall } true;assume { :begin_inline_threeTS } true;assume { :begin_inline_timeShift } true;havoc timeShift_#t~ret79#1, timeShift_~tmp~14#1;havoc timeShift_~tmp~14#1;assume { :begin_inline___utac_acc__Specification13_spec__1 } true;havoc __utac_acc__Specification13_spec__1_#t~ret129#1;assume { :begin_inline_getCurrentHeading } true;havoc getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~7#1;havoc getCurrentHeading_~retValue_acc~7#1;getCurrentHeading_~retValue_acc~7#1 := ~currentHeading~0;getCurrentHeading_#res#1 := getCurrentHeading_~retValue_acc~7#1;" "__utac_acc__Specification13_spec__1_#t~ret129#1 := getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~7#1;assume { :end_inline_getCurrentHeading } true;~prevDir~0 := __utac_acc__Specification13_spec__1_#t~ret129#1;havoc __utac_acc__Specification13_spec__1_#t~ret129#1;" "havoc __utac_acc__Specification13_spec__1_#t~ret129#1;assume { :end_inline___utac_acc__Specification13_spec__1 } true;assume { :begin_inline_areDoorsOpen } true;havoc areDoorsOpen_#res#1;havoc areDoorsOpen_~retValue_acc~5#1;havoc areDoorsOpen_~retValue_acc~5#1;areDoorsOpen_~retValue_acc~5#1 := ~doorState~0;areDoorsOpen_#res#1 := areDoorsOpen_~retValue_acc~5#1;" "timeShift_#t~ret79#1 := areDoorsOpen_#res#1;havoc areDoorsOpen_~retValue_acc~5#1;assume { :end_inline_areDoorsOpen } true;timeShift_~tmp~14#1 := timeShift_#t~ret79#1;havoc timeShift_#t~ret79#1;" "assume 0 != timeShift_~tmp~14#1;" "assume ~weight~0 > ~maximumWeight~0;~blocked~0 := 1;" "assume { :begin_inline___utac_acc__Specification13_spec__2 } true;havoc __utac_acc__Specification13_spec__2_#t~ret130#1, __utac_acc__Specification13_spec__2_#t~ret131#1, __utac_acc__Specification13_spec__2_#t~ret132#1, __utac_acc__Specification13_spec__2_#t~ret133#1, __utac_acc__Specification13_spec__2_#t~ret134#1, __utac_acc__Specification13_spec__2_#t~ret135#1, __utac_acc__Specification13_spec__2_~tmp~28#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~6#1, __utac_acc__Specification13_spec__2_~__cil_tmp8~7#1;havoc __utac_acc__Specification13_spec__2_~tmp~28#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~6#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp8~7#1;__utac_acc__Specification13_spec__2_~__cil_tmp7~6#1 := 2 * ~maximumWeight~0;__utac_acc__Specification13_spec__2_~__cil_tmp8~7#1 := (if __utac_acc__Specification13_spec__2_~__cil_tmp7~6#1 < 0 && 0 != __utac_acc__Specification13_spec__2_~__cil_tmp7~6#1 % 3 then 1 + __utac_acc__Specification13_spec__2_~__cil_tmp7~6#1 / 3 else __utac_acc__Specification13_spec__2_~__cil_tmp7~6#1 / 3);" "assume ~weight~0 > __utac_acc__Specification13_spec__2_~__cil_tmp8~7#1;" "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~17#1, existInLiftCallsInDirection_~i~0#1, existInLiftCallsInDirection_~i___0~0#1;existInLiftCallsInDirection_~d#1 := existInLiftCallsInDirection_#in~d#1;havoc existInLiftCallsInDirection_~retValue_acc~17#1;havoc existInLiftCallsInDirection_~i~0#1;havoc existInLiftCallsInDirection_~i___0~0#1;" "assume !(1 == existInLiftCallsInDirection_~d#1);" "assume 0 == existInLiftCallsInDirection_~d#1;existInLiftCallsInDirection_~i___0~0#1 := 0;existInLiftCallsInDirection_~i___0~0#1 := ~currentFloorID~0 - 1;" [2025-01-10 07:36:21,933 INFO L754 eck$LassoCheckResult]: Loop: "assume existInLiftCallsInDirection_~i___0~0#1 >= 0;" "existInLiftCallsInDirection_~i___0~0#1 := 1 + ~currentFloorID~0;" "assume !(existInLiftCallsInDirection_~i___0~0#1 < 5);" "existInLiftCallsInDirection_~i___0~0#1 := existInLiftCallsInDirection_~i___0~0#1 - 1;" [2025-01-10 07:36:21,933 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:36:21,933 INFO L85 PathProgramCache]: Analyzing trace with hash -1673489711, now seen corresponding path program 1 times [2025-01-10 07:36:21,933 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:36:21,933 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1510803887] [2025-01-10 07:36:21,933 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-10 07:36:21,933 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:36:21,948 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 44 statements into 1 equivalence classes. [2025-01-10 07:36:21,957 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 44 of 44 statements. [2025-01-10 07:36:21,957 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:36:21,957 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:36:22,006 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-01-10 07:36:22,006 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-10 07:36:22,006 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1510803887] [2025-01-10 07:36:22,006 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1510803887] provided 1 perfect and 0 imperfect interpolant sequences [2025-01-10 07:36:22,006 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-01-10 07:36:22,006 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2025-01-10 07:36:22,006 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2102431906] [2025-01-10 07:36:22,006 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-01-10 07:36:22,006 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-01-10 07:36:22,007 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:36:22,007 INFO L85 PathProgramCache]: Analyzing trace with hash 501106274, now seen corresponding path program 4 times [2025-01-10 07:36:22,007 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:36:22,007 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [735913310] [2025-01-10 07:36:22,007 INFO L95 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2025-01-10 07:36:22,007 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:36:22,016 INFO L108 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST partitioned 4 statements into 2 equivalence classes. [2025-01-10 07:36:22,017 INFO L111 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 2 check-sat command(s) and asserted 4 of 4 statements. [2025-01-10 07:36:22,017 INFO L114 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 2 check-sat command(s) [2025-01-10 07:36:22,018 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:36:22,018 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-01-10 07:36:22,020 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 4 statements into 1 equivalence classes. [2025-01-10 07:36:22,022 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 4 of 4 statements. [2025-01-10 07:36:22,022 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:36:22,022 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:36:22,027 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-01-10 07:36:22,044 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-10 07:36:22,044 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2025-01-10 07:36:22,044 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2025-01-10 07:36:22,045 INFO L87 Difference]: Start difference. First operand 17356 states and 32588 transitions. cyclomatic complexity: 15268 Second operand has 4 states, 4 states have (on average 11.0) internal successors, (44), 4 states have internal predecessors, (44), 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) [2025-01-10 07:36:22,293 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-01-10 07:36:22,293 INFO L93 Difference]: Finished difference Result 17362 states and 32593 transitions. [2025-01-10 07:36:22,293 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 17362 states and 32593 transitions. [2025-01-10 07:36:22,511 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 3901 [2025-01-10 07:36:22,554 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 17362 states to 17362 states and 32593 transitions. [2025-01-10 07:36:22,554 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 17301 [2025-01-10 07:36:22,569 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 17301 [2025-01-10 07:36:22,569 INFO L73 IsDeterministic]: Start isDeterministic. Operand 17362 states and 32593 transitions. [2025-01-10 07:36:22,571 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-01-10 07:36:22,571 INFO L218 hiAutomatonCegarLoop]: Abstraction has 17362 states and 32593 transitions. [2025-01-10 07:36:22,591 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 17362 states and 32593 transitions. [2025-01-10 07:36:22,710 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 17362 to 17362. [2025-01-10 07:36:22,730 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17362 states, 17362 states have (on average 1.8772606842529662) internal successors, (32593), 17361 states have internal predecessors, (32593), 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) [2025-01-10 07:36:22,758 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17362 states to 17362 states and 32593 transitions. [2025-01-10 07:36:22,758 INFO L240 hiAutomatonCegarLoop]: Abstraction has 17362 states and 32593 transitions. [2025-01-10 07:36:22,758 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2025-01-10 07:36:22,759 INFO L432 stractBuchiCegarLoop]: Abstraction has 17362 states and 32593 transitions. [2025-01-10 07:36:22,759 INFO L338 stractBuchiCegarLoop]: ======== Iteration 7 ============ [2025-01-10 07:36:22,759 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 17362 states and 32593 transitions. [2025-01-10 07:36:22,795 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 3901 [2025-01-10 07:36:22,795 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-01-10 07:36:22,795 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-01-10 07:36:22,796 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] [2025-01-10 07:36:22,796 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1] [2025-01-10 07:36:22,796 INFO L752 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int#0(48, 1, 0, 1);call write~init~int#0(0, 1, 1, 1);call #Ultimate.allocInit(32, 2);call #Ultimate.allocInit(12, 3);call #Ultimate.allocInit(30, 4);call #Ultimate.allocInit(9, 5);call #Ultimate.allocInit(21, 6);call #Ultimate.allocInit(30, 7);call #Ultimate.allocInit(9, 8);call #Ultimate.allocInit(21, 9);call #Ultimate.allocInit(30, 10);call #Ultimate.allocInit(9, 11);call #Ultimate.allocInit(25, 12);call #Ultimate.allocInit(30, 13);call #Ultimate.allocInit(9, 14);call #Ultimate.allocInit(25, 15);call #Ultimate.allocInit(10, 16);call #Ultimate.allocInit(4, 17);call write~init~int#5(91, 17, 0, 1);call write~init~int#5(95, 17, 1, 1);call write~init~int#5(93, 17, 2, 1);call write~init~int#5(0, 17, 3, 1);call #Ultimate.allocInit(4, 18);call write~init~int#6(91, 18, 0, 1);call write~init~int#6(93, 18, 1, 1);call write~init~int#6(32, 18, 2, 1);call write~init~int#6(0, 18, 3, 1);call #Ultimate.allocInit(5, 19);call write~init~int#7(32, 19, 0, 1);call write~init~int#7(97, 19, 1, 1);call write~init~int#7(116, 19, 2, 1);call write~init~int#7(32, 19, 3, 1);call write~init~int#7(0, 19, 4, 1);call #Ultimate.allocInit(3, 20);call write~init~int#8(37, 20, 0, 1);call write~init~int#8(105, 20, 1, 1);call write~init~int#8(0, 20, 2, 1);call #Ultimate.allocInit(10, 21);call #Ultimate.allocInit(3, 22);call write~init~int#9(117, 22, 0, 1);call write~init~int#9(112, 22, 1, 1);call write~init~int#9(0, 22, 2, 1);call #Ultimate.allocInit(5, 23);call write~init~int#10(100, 23, 0, 1);call write~init~int#10(111, 23, 1, 1);call write~init~int#10(119, 23, 2, 1);call write~init~int#10(110, 23, 3, 1);call write~init~int#10(0, 23, 4, 1);call #Ultimate.allocInit(7, 24);call write~init~int#11(32, 24, 0, 1);call write~init~int#11(73, 24, 1, 1);call write~init~int#11(76, 24, 2, 1);call write~init~int#11(95, 24, 3, 1);call write~init~int#11(112, 24, 4, 1);call write~init~int#11(58, 24, 5, 1);call write~init~int#11(0, 24, 6, 1);call #Ultimate.allocInit(4, 25);call write~init~int#12(32, 25, 0, 1);call write~init~int#12(37, 25, 1, 1);call write~init~int#12(105, 25, 2, 1);call write~init~int#12(0, 25, 3, 1);call #Ultimate.allocInit(4, 26);call write~init~int#13(32, 26, 0, 1);call write~init~int#13(37, 26, 1, 1);call write~init~int#13(105, 26, 2, 1);call write~init~int#13(0, 26, 3, 1);call #Ultimate.allocInit(4, 27);call write~init~int#14(32, 27, 0, 1);call write~init~int#14(37, 27, 1, 1);call write~init~int#14(105, 27, 2, 1);call write~init~int#14(0, 27, 3, 1);call #Ultimate.allocInit(4, 28);call write~init~int#15(32, 28, 0, 1);call write~init~int#15(37, 28, 1, 1);call write~init~int#15(105, 28, 2, 1);call write~init~int#15(0, 28, 3, 1);call #Ultimate.allocInit(4, 29);call write~init~int#16(32, 29, 0, 1);call write~init~int#16(37, 29, 1, 1);call write~init~int#16(105, 29, 2, 1);call write~init~int#16(0, 29, 3, 1);call #Ultimate.allocInit(6, 30);call write~init~int#17(32, 30, 0, 1);call write~init~int#17(70, 30, 1, 1);call write~init~int#17(95, 30, 2, 1);call write~init~int#17(112, 30, 3, 1);call write~init~int#17(58, 30, 4, 1);call write~init~int#17(0, 30, 5, 1);call #Ultimate.allocInit(4, 31);call write~init~int#18(32, 31, 0, 1);call write~init~int#18(37, 31, 1, 1);call write~init~int#18(105, 31, 2, 1);call write~init~int#18(0, 31, 3, 1);call #Ultimate.allocInit(4, 32);call write~init~int#19(32, 32, 0, 1);call write~init~int#19(37, 32, 1, 1);call write~init~int#19(105, 32, 2, 1);call write~init~int#19(0, 32, 3, 1);call #Ultimate.allocInit(4, 33);call write~init~int#1(32, 33, 0, 1);call write~init~int#1(37, 33, 1, 1);call write~init~int#1(105, 33, 2, 1);call write~init~int#1(0, 33, 3, 1);call #Ultimate.allocInit(4, 34);call write~init~int#2(32, 34, 0, 1);call write~init~int#2(37, 34, 1, 1);call write~init~int#2(105, 34, 2, 1);call write~init~int#2(0, 34, 3, 1);call #Ultimate.allocInit(4, 35);call write~init~int#3(32, 35, 0, 1);call write~init~int#3(37, 35, 1, 1);call write~init~int#3(105, 35, 2, 1);call write~init~int#3(0, 35, 3, 1);call #Ultimate.allocInit(2, 36);call write~init~int#4(10, 36, 0, 1);call write~init~int#4(0, 36, 1, 1);call #Ultimate.allocInit(9, 37);~head~0.base, ~head~0.offset := 0, 0;~weight~0 := 0;~maximumWeight~0 := 100;~blocked~0 := 0;~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;~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;~prevDir~0 := 0;" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret128#1, main_~retValue_acc~27#1, main_~tmp~27#1;havoc main_~retValue_acc~27#1;havoc main_~tmp~27#1;assume { :begin_inline_select_helpers } true;" "assume { :end_inline_select_helpers } true;assume { :begin_inline_select_features } true;" "assume { :end_inline_select_features } true;assume { :begin_inline_valid_product } true;havoc valid_product_#res#1;havoc valid_product_~retValue_acc~25#1;havoc valid_product_~retValue_acc~25#1;valid_product_~retValue_acc~25#1 := 1;valid_product_#res#1 := valid_product_~retValue_acc~25#1;" "main_#t~ret128#1 := valid_product_#res#1;havoc valid_product_~retValue_acc~25#1;assume { :end_inline_valid_product } true;main_~tmp~27#1 := main_#t~ret128#1;havoc main_#t~ret128#1;" "assume 0 != main_~tmp~27#1;assume { :begin_inline_setup } true;" "assume { :end_inline_setup } true;assume { :begin_inline_runTest } true;assume { :begin_inline_test } true;assume { :begin_inline_aliceCall } true;havoc aliceCall_#t~ret117#1, aliceCall_~tmp~20#1;havoc aliceCall_~tmp~20#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 1;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~22#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~22#1;" "assume !(0 == getOrigin_~person#1);" "assume 1 == getOrigin_~person#1;getOrigin_~retValue_acc~22#1 := 3;getOrigin_#res#1 := getOrigin_~retValue_acc~22#1;" "aliceCall_#t~ret117#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~22#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;aliceCall_~tmp~20#1 := aliceCall_#t~ret117#1;havoc aliceCall_#t~ret117#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 1, aliceCall_~tmp~20#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1;" "assume !(0 == initPersonOnFloor_~floor#1);" "assume !(1 == initPersonOnFloor_~floor#1);" "assume !(2 == initPersonOnFloor_~floor#1);" "assume 3 == initPersonOnFloor_~floor#1;" "assume !(0 == initPersonOnFloor_~person#1);" "assume 1 == initPersonOnFloor_~person#1;~personOnFloor_1_3~0 := 1;" "assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1;" "assume !(0 == callOnFloor_~floorID#1);" "assume !(1 == callOnFloor_~floorID#1);" "assume 2 == callOnFloor_~floorID#1;~calls_2~0 := 1;" "havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true;" "havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true;" "havoc aliceCall_#t~ret117#1, aliceCall_~tmp~20#1;assume { :end_inline_aliceCall } true;assume { :begin_inline_angelinaCall } true;havoc angelinaCall_#t~ret118#1, angelinaCall_~tmp~21#1;havoc angelinaCall_~tmp~21#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 2;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~22#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~22#1;" "assume !(0 == getOrigin_~person#1);" "assume !(1 == getOrigin_~person#1);" "assume 2 == getOrigin_~person#1;getOrigin_~retValue_acc~22#1 := 2;getOrigin_#res#1 := getOrigin_~retValue_acc~22#1;" "angelinaCall_#t~ret118#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~22#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;angelinaCall_~tmp~21#1 := angelinaCall_#t~ret118#1;havoc angelinaCall_#t~ret118#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 2, angelinaCall_~tmp~21#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1;" "assume 0 == initPersonOnFloor_~floor#1;" "assume !(0 == initPersonOnFloor_~person#1);" "assume 1 == initPersonOnFloor_~person#1;~personOnFloor_1_0~0 := 1;" "assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1;" "assume 0 == callOnFloor_~floorID#1;~calls_0~0 := 1;" "havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true;" "havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true;" "havoc angelinaCall_#t~ret118#1, angelinaCall_~tmp~21#1;assume { :end_inline_angelinaCall } true;assume { :begin_inline_threeTS } true;assume { :begin_inline_timeShift } true;havoc timeShift_#t~ret79#1, timeShift_~tmp~14#1;havoc timeShift_~tmp~14#1;assume { :begin_inline___utac_acc__Specification13_spec__1 } true;havoc __utac_acc__Specification13_spec__1_#t~ret129#1;assume { :begin_inline_getCurrentHeading } true;havoc getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~7#1;havoc getCurrentHeading_~retValue_acc~7#1;getCurrentHeading_~retValue_acc~7#1 := ~currentHeading~0;getCurrentHeading_#res#1 := getCurrentHeading_~retValue_acc~7#1;" "__utac_acc__Specification13_spec__1_#t~ret129#1 := getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~7#1;assume { :end_inline_getCurrentHeading } true;~prevDir~0 := __utac_acc__Specification13_spec__1_#t~ret129#1;havoc __utac_acc__Specification13_spec__1_#t~ret129#1;" "havoc __utac_acc__Specification13_spec__1_#t~ret129#1;assume { :end_inline___utac_acc__Specification13_spec__1 } true;assume { :begin_inline_areDoorsOpen } true;havoc areDoorsOpen_#res#1;havoc areDoorsOpen_~retValue_acc~5#1;havoc areDoorsOpen_~retValue_acc~5#1;areDoorsOpen_~retValue_acc~5#1 := ~doorState~0;areDoorsOpen_#res#1 := areDoorsOpen_~retValue_acc~5#1;" "timeShift_#t~ret79#1 := areDoorsOpen_#res#1;havoc areDoorsOpen_~retValue_acc~5#1;assume { :end_inline_areDoorsOpen } true;timeShift_~tmp~14#1 := timeShift_#t~ret79#1;havoc timeShift_#t~ret79#1;" "assume 0 != timeShift_~tmp~14#1;" "assume ~weight~0 > ~maximumWeight~0;~blocked~0 := 1;" "assume { :begin_inline___utac_acc__Specification13_spec__2 } true;havoc __utac_acc__Specification13_spec__2_#t~ret130#1, __utac_acc__Specification13_spec__2_#t~ret131#1, __utac_acc__Specification13_spec__2_#t~ret132#1, __utac_acc__Specification13_spec__2_#t~ret133#1, __utac_acc__Specification13_spec__2_#t~ret134#1, __utac_acc__Specification13_spec__2_#t~ret135#1, __utac_acc__Specification13_spec__2_~tmp~28#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~6#1, __utac_acc__Specification13_spec__2_~__cil_tmp8~7#1;havoc __utac_acc__Specification13_spec__2_~tmp~28#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~6#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp8~7#1;__utac_acc__Specification13_spec__2_~__cil_tmp7~6#1 := 2 * ~maximumWeight~0;__utac_acc__Specification13_spec__2_~__cil_tmp8~7#1 := (if __utac_acc__Specification13_spec__2_~__cil_tmp7~6#1 < 0 && 0 != __utac_acc__Specification13_spec__2_~__cil_tmp7~6#1 % 3 then 1 + __utac_acc__Specification13_spec__2_~__cil_tmp7~6#1 / 3 else __utac_acc__Specification13_spec__2_~__cil_tmp7~6#1 / 3);" "assume ~weight~0 > __utac_acc__Specification13_spec__2_~__cil_tmp8~7#1;" "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~17#1, existInLiftCallsInDirection_~i~0#1, existInLiftCallsInDirection_~i___0~0#1;existInLiftCallsInDirection_~d#1 := existInLiftCallsInDirection_#in~d#1;havoc existInLiftCallsInDirection_~retValue_acc~17#1;havoc existInLiftCallsInDirection_~i~0#1;havoc existInLiftCallsInDirection_~i___0~0#1;" "assume !(1 == existInLiftCallsInDirection_~d#1);" "assume 0 == existInLiftCallsInDirection_~d#1;existInLiftCallsInDirection_~i___0~0#1 := 0;existInLiftCallsInDirection_~i___0~0#1 := ~currentFloorID~0 - 1;" [2025-01-10 07:36:22,796 INFO L754 eck$LassoCheckResult]: Loop: "assume existInLiftCallsInDirection_~i___0~0#1 >= 0;" "existInLiftCallsInDirection_~i___0~0#1 := 1 + ~currentFloorID~0;" "assume !(existInLiftCallsInDirection_~i___0~0#1 < 5);" "existInLiftCallsInDirection_~i___0~0#1 := existInLiftCallsInDirection_~i___0~0#1 - 1;" [2025-01-10 07:36:22,796 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:36:22,796 INFO L85 PathProgramCache]: Analyzing trace with hash -1655087759, now seen corresponding path program 1 times [2025-01-10 07:36:22,796 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:36:22,796 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1667130000] [2025-01-10 07:36:22,796 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-10 07:36:22,796 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:36:22,810 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 45 statements into 1 equivalence classes. [2025-01-10 07:36:22,817 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 45 of 45 statements. [2025-01-10 07:36:22,817 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:36:22,817 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:36:22,862 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-01-10 07:36:22,862 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-10 07:36:22,862 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1667130000] [2025-01-10 07:36:22,863 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1667130000] provided 1 perfect and 0 imperfect interpolant sequences [2025-01-10 07:36:22,863 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-01-10 07:36:22,863 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2025-01-10 07:36:22,863 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1461740362] [2025-01-10 07:36:22,863 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-01-10 07:36:22,863 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-01-10 07:36:22,863 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:36:22,866 INFO L85 PathProgramCache]: Analyzing trace with hash 501106274, now seen corresponding path program 5 times [2025-01-10 07:36:22,866 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:36:22,866 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [986365243] [2025-01-10 07:36:22,866 INFO L95 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2025-01-10 07:36:22,867 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:36:22,878 INFO L108 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 partitioned 4 statements into 1 equivalence classes. [2025-01-10 07:36:22,880 INFO L111 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 1 check-sat command(s) and asserted 4 of 4 statements. [2025-01-10 07:36:22,880 INFO L114 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2025-01-10 07:36:22,880 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:36:22,880 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-01-10 07:36:22,881 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 4 statements into 1 equivalence classes. [2025-01-10 07:36:22,882 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 4 of 4 statements. [2025-01-10 07:36:22,882 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:36:22,882 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:36:22,887 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-01-10 07:36:22,905 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-10 07:36:22,905 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2025-01-10 07:36:22,905 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2025-01-10 07:36:22,905 INFO L87 Difference]: Start difference. First operand 17362 states and 32593 transitions. cyclomatic complexity: 15267 Second operand has 4 states, 4 states have (on average 11.25) internal successors, (45), 4 states have internal predecessors, (45), 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) [2025-01-10 07:36:23,133 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-01-10 07:36:23,133 INFO L93 Difference]: Finished difference Result 17370 states and 32600 transitions. [2025-01-10 07:36:23,133 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 17370 states and 32600 transitions. [2025-01-10 07:36:23,362 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 3901 [2025-01-10 07:36:23,404 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 17370 states to 17370 states and 32600 transitions. [2025-01-10 07:36:23,405 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 17309 [2025-01-10 07:36:23,419 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 17309 [2025-01-10 07:36:23,420 INFO L73 IsDeterministic]: Start isDeterministic. Operand 17370 states and 32600 transitions. [2025-01-10 07:36:23,425 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-01-10 07:36:23,425 INFO L218 hiAutomatonCegarLoop]: Abstraction has 17370 states and 32600 transitions. [2025-01-10 07:36:23,449 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 17370 states and 32600 transitions. [2025-01-10 07:36:23,609 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 17370 to 17370. [2025-01-10 07:36:23,629 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17370 states, 17370 states have (on average 1.8767990788716178) internal successors, (32600), 17369 states have internal predecessors, (32600), 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) [2025-01-10 07:36:23,661 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17370 states to 17370 states and 32600 transitions. [2025-01-10 07:36:23,661 INFO L240 hiAutomatonCegarLoop]: Abstraction has 17370 states and 32600 transitions. [2025-01-10 07:36:23,662 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2025-01-10 07:36:23,662 INFO L432 stractBuchiCegarLoop]: Abstraction has 17370 states and 32600 transitions. [2025-01-10 07:36:23,662 INFO L338 stractBuchiCegarLoop]: ======== Iteration 8 ============ [2025-01-10 07:36:23,662 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 17370 states and 32600 transitions. [2025-01-10 07:36:23,716 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 3901 [2025-01-10 07:36:23,717 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-01-10 07:36:23,717 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-01-10 07:36:23,717 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] [2025-01-10 07:36:23,717 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1] [2025-01-10 07:36:23,717 INFO L752 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int#0(48, 1, 0, 1);call write~init~int#0(0, 1, 1, 1);call #Ultimate.allocInit(32, 2);call #Ultimate.allocInit(12, 3);call #Ultimate.allocInit(30, 4);call #Ultimate.allocInit(9, 5);call #Ultimate.allocInit(21, 6);call #Ultimate.allocInit(30, 7);call #Ultimate.allocInit(9, 8);call #Ultimate.allocInit(21, 9);call #Ultimate.allocInit(30, 10);call #Ultimate.allocInit(9, 11);call #Ultimate.allocInit(25, 12);call #Ultimate.allocInit(30, 13);call #Ultimate.allocInit(9, 14);call #Ultimate.allocInit(25, 15);call #Ultimate.allocInit(10, 16);call #Ultimate.allocInit(4, 17);call write~init~int#5(91, 17, 0, 1);call write~init~int#5(95, 17, 1, 1);call write~init~int#5(93, 17, 2, 1);call write~init~int#5(0, 17, 3, 1);call #Ultimate.allocInit(4, 18);call write~init~int#6(91, 18, 0, 1);call write~init~int#6(93, 18, 1, 1);call write~init~int#6(32, 18, 2, 1);call write~init~int#6(0, 18, 3, 1);call #Ultimate.allocInit(5, 19);call write~init~int#7(32, 19, 0, 1);call write~init~int#7(97, 19, 1, 1);call write~init~int#7(116, 19, 2, 1);call write~init~int#7(32, 19, 3, 1);call write~init~int#7(0, 19, 4, 1);call #Ultimate.allocInit(3, 20);call write~init~int#8(37, 20, 0, 1);call write~init~int#8(105, 20, 1, 1);call write~init~int#8(0, 20, 2, 1);call #Ultimate.allocInit(10, 21);call #Ultimate.allocInit(3, 22);call write~init~int#9(117, 22, 0, 1);call write~init~int#9(112, 22, 1, 1);call write~init~int#9(0, 22, 2, 1);call #Ultimate.allocInit(5, 23);call write~init~int#10(100, 23, 0, 1);call write~init~int#10(111, 23, 1, 1);call write~init~int#10(119, 23, 2, 1);call write~init~int#10(110, 23, 3, 1);call write~init~int#10(0, 23, 4, 1);call #Ultimate.allocInit(7, 24);call write~init~int#11(32, 24, 0, 1);call write~init~int#11(73, 24, 1, 1);call write~init~int#11(76, 24, 2, 1);call write~init~int#11(95, 24, 3, 1);call write~init~int#11(112, 24, 4, 1);call write~init~int#11(58, 24, 5, 1);call write~init~int#11(0, 24, 6, 1);call #Ultimate.allocInit(4, 25);call write~init~int#12(32, 25, 0, 1);call write~init~int#12(37, 25, 1, 1);call write~init~int#12(105, 25, 2, 1);call write~init~int#12(0, 25, 3, 1);call #Ultimate.allocInit(4, 26);call write~init~int#13(32, 26, 0, 1);call write~init~int#13(37, 26, 1, 1);call write~init~int#13(105, 26, 2, 1);call write~init~int#13(0, 26, 3, 1);call #Ultimate.allocInit(4, 27);call write~init~int#14(32, 27, 0, 1);call write~init~int#14(37, 27, 1, 1);call write~init~int#14(105, 27, 2, 1);call write~init~int#14(0, 27, 3, 1);call #Ultimate.allocInit(4, 28);call write~init~int#15(32, 28, 0, 1);call write~init~int#15(37, 28, 1, 1);call write~init~int#15(105, 28, 2, 1);call write~init~int#15(0, 28, 3, 1);call #Ultimate.allocInit(4, 29);call write~init~int#16(32, 29, 0, 1);call write~init~int#16(37, 29, 1, 1);call write~init~int#16(105, 29, 2, 1);call write~init~int#16(0, 29, 3, 1);call #Ultimate.allocInit(6, 30);call write~init~int#17(32, 30, 0, 1);call write~init~int#17(70, 30, 1, 1);call write~init~int#17(95, 30, 2, 1);call write~init~int#17(112, 30, 3, 1);call write~init~int#17(58, 30, 4, 1);call write~init~int#17(0, 30, 5, 1);call #Ultimate.allocInit(4, 31);call write~init~int#18(32, 31, 0, 1);call write~init~int#18(37, 31, 1, 1);call write~init~int#18(105, 31, 2, 1);call write~init~int#18(0, 31, 3, 1);call #Ultimate.allocInit(4, 32);call write~init~int#19(32, 32, 0, 1);call write~init~int#19(37, 32, 1, 1);call write~init~int#19(105, 32, 2, 1);call write~init~int#19(0, 32, 3, 1);call #Ultimate.allocInit(4, 33);call write~init~int#1(32, 33, 0, 1);call write~init~int#1(37, 33, 1, 1);call write~init~int#1(105, 33, 2, 1);call write~init~int#1(0, 33, 3, 1);call #Ultimate.allocInit(4, 34);call write~init~int#2(32, 34, 0, 1);call write~init~int#2(37, 34, 1, 1);call write~init~int#2(105, 34, 2, 1);call write~init~int#2(0, 34, 3, 1);call #Ultimate.allocInit(4, 35);call write~init~int#3(32, 35, 0, 1);call write~init~int#3(37, 35, 1, 1);call write~init~int#3(105, 35, 2, 1);call write~init~int#3(0, 35, 3, 1);call #Ultimate.allocInit(2, 36);call write~init~int#4(10, 36, 0, 1);call write~init~int#4(0, 36, 1, 1);call #Ultimate.allocInit(9, 37);~head~0.base, ~head~0.offset := 0, 0;~weight~0 := 0;~maximumWeight~0 := 100;~blocked~0 := 0;~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;~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;~prevDir~0 := 0;" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret128#1, main_~retValue_acc~27#1, main_~tmp~27#1;havoc main_~retValue_acc~27#1;havoc main_~tmp~27#1;assume { :begin_inline_select_helpers } true;" "assume { :end_inline_select_helpers } true;assume { :begin_inline_select_features } true;" "assume { :end_inline_select_features } true;assume { :begin_inline_valid_product } true;havoc valid_product_#res#1;havoc valid_product_~retValue_acc~25#1;havoc valid_product_~retValue_acc~25#1;valid_product_~retValue_acc~25#1 := 1;valid_product_#res#1 := valid_product_~retValue_acc~25#1;" "main_#t~ret128#1 := valid_product_#res#1;havoc valid_product_~retValue_acc~25#1;assume { :end_inline_valid_product } true;main_~tmp~27#1 := main_#t~ret128#1;havoc main_#t~ret128#1;" "assume 0 != main_~tmp~27#1;assume { :begin_inline_setup } true;" "assume { :end_inline_setup } true;assume { :begin_inline_runTest } true;assume { :begin_inline_test } true;assume { :begin_inline_aliceCall } true;havoc aliceCall_#t~ret117#1, aliceCall_~tmp~20#1;havoc aliceCall_~tmp~20#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 1;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~22#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~22#1;" "assume !(0 == getOrigin_~person#1);" "assume 1 == getOrigin_~person#1;getOrigin_~retValue_acc~22#1 := 3;getOrigin_#res#1 := getOrigin_~retValue_acc~22#1;" "aliceCall_#t~ret117#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~22#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;aliceCall_~tmp~20#1 := aliceCall_#t~ret117#1;havoc aliceCall_#t~ret117#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 1, aliceCall_~tmp~20#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1;" "assume !(0 == initPersonOnFloor_~floor#1);" "assume !(1 == initPersonOnFloor_~floor#1);" "assume !(2 == initPersonOnFloor_~floor#1);" "assume 3 == initPersonOnFloor_~floor#1;" "assume !(0 == initPersonOnFloor_~person#1);" "assume 1 == initPersonOnFloor_~person#1;~personOnFloor_1_3~0 := 1;" "assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1;" "assume !(0 == callOnFloor_~floorID#1);" "assume !(1 == callOnFloor_~floorID#1);" "assume !(2 == callOnFloor_~floorID#1);" "assume 3 == callOnFloor_~floorID#1;~calls_3~0 := 1;" "havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true;" "havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true;" "havoc aliceCall_#t~ret117#1, aliceCall_~tmp~20#1;assume { :end_inline_aliceCall } true;assume { :begin_inline_angelinaCall } true;havoc angelinaCall_#t~ret118#1, angelinaCall_~tmp~21#1;havoc angelinaCall_~tmp~21#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 2;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~22#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~22#1;" "assume !(0 == getOrigin_~person#1);" "assume !(1 == getOrigin_~person#1);" "assume 2 == getOrigin_~person#1;getOrigin_~retValue_acc~22#1 := 2;getOrigin_#res#1 := getOrigin_~retValue_acc~22#1;" "angelinaCall_#t~ret118#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~22#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;angelinaCall_~tmp~21#1 := angelinaCall_#t~ret118#1;havoc angelinaCall_#t~ret118#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 2, angelinaCall_~tmp~21#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1;" "assume 0 == initPersonOnFloor_~floor#1;" "assume !(0 == initPersonOnFloor_~person#1);" "assume 1 == initPersonOnFloor_~person#1;~personOnFloor_1_0~0 := 1;" "assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1;" "assume 0 == callOnFloor_~floorID#1;~calls_0~0 := 1;" "havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true;" "havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true;" "havoc angelinaCall_#t~ret118#1, angelinaCall_~tmp~21#1;assume { :end_inline_angelinaCall } true;assume { :begin_inline_threeTS } true;assume { :begin_inline_timeShift } true;havoc timeShift_#t~ret79#1, timeShift_~tmp~14#1;havoc timeShift_~tmp~14#1;assume { :begin_inline___utac_acc__Specification13_spec__1 } true;havoc __utac_acc__Specification13_spec__1_#t~ret129#1;assume { :begin_inline_getCurrentHeading } true;havoc getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~7#1;havoc getCurrentHeading_~retValue_acc~7#1;getCurrentHeading_~retValue_acc~7#1 := ~currentHeading~0;getCurrentHeading_#res#1 := getCurrentHeading_~retValue_acc~7#1;" "__utac_acc__Specification13_spec__1_#t~ret129#1 := getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~7#1;assume { :end_inline_getCurrentHeading } true;~prevDir~0 := __utac_acc__Specification13_spec__1_#t~ret129#1;havoc __utac_acc__Specification13_spec__1_#t~ret129#1;" "havoc __utac_acc__Specification13_spec__1_#t~ret129#1;assume { :end_inline___utac_acc__Specification13_spec__1 } true;assume { :begin_inline_areDoorsOpen } true;havoc areDoorsOpen_#res#1;havoc areDoorsOpen_~retValue_acc~5#1;havoc areDoorsOpen_~retValue_acc~5#1;areDoorsOpen_~retValue_acc~5#1 := ~doorState~0;areDoorsOpen_#res#1 := areDoorsOpen_~retValue_acc~5#1;" "timeShift_#t~ret79#1 := areDoorsOpen_#res#1;havoc areDoorsOpen_~retValue_acc~5#1;assume { :end_inline_areDoorsOpen } true;timeShift_~tmp~14#1 := timeShift_#t~ret79#1;havoc timeShift_#t~ret79#1;" "assume 0 != timeShift_~tmp~14#1;" "assume ~weight~0 > ~maximumWeight~0;~blocked~0 := 1;" "assume { :begin_inline___utac_acc__Specification13_spec__2 } true;havoc __utac_acc__Specification13_spec__2_#t~ret130#1, __utac_acc__Specification13_spec__2_#t~ret131#1, __utac_acc__Specification13_spec__2_#t~ret132#1, __utac_acc__Specification13_spec__2_#t~ret133#1, __utac_acc__Specification13_spec__2_#t~ret134#1, __utac_acc__Specification13_spec__2_#t~ret135#1, __utac_acc__Specification13_spec__2_~tmp~28#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~6#1, __utac_acc__Specification13_spec__2_~__cil_tmp8~7#1;havoc __utac_acc__Specification13_spec__2_~tmp~28#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~6#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp8~7#1;__utac_acc__Specification13_spec__2_~__cil_tmp7~6#1 := 2 * ~maximumWeight~0;__utac_acc__Specification13_spec__2_~__cil_tmp8~7#1 := (if __utac_acc__Specification13_spec__2_~__cil_tmp7~6#1 < 0 && 0 != __utac_acc__Specification13_spec__2_~__cil_tmp7~6#1 % 3 then 1 + __utac_acc__Specification13_spec__2_~__cil_tmp7~6#1 / 3 else __utac_acc__Specification13_spec__2_~__cil_tmp7~6#1 / 3);" "assume ~weight~0 > __utac_acc__Specification13_spec__2_~__cil_tmp8~7#1;" "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~17#1, existInLiftCallsInDirection_~i~0#1, existInLiftCallsInDirection_~i___0~0#1;existInLiftCallsInDirection_~d#1 := existInLiftCallsInDirection_#in~d#1;havoc existInLiftCallsInDirection_~retValue_acc~17#1;havoc existInLiftCallsInDirection_~i~0#1;havoc existInLiftCallsInDirection_~i___0~0#1;" "assume !(1 == existInLiftCallsInDirection_~d#1);" "assume 0 == existInLiftCallsInDirection_~d#1;existInLiftCallsInDirection_~i___0~0#1 := 0;existInLiftCallsInDirection_~i___0~0#1 := ~currentFloorID~0 - 1;" [2025-01-10 07:36:23,718 INFO L754 eck$LassoCheckResult]: Loop: "assume existInLiftCallsInDirection_~i___0~0#1 >= 0;" "existInLiftCallsInDirection_~i___0~0#1 := 1 + ~currentFloorID~0;" "assume !(existInLiftCallsInDirection_~i___0~0#1 < 5);" "existInLiftCallsInDirection_~i___0~0#1 := existInLiftCallsInDirection_~i___0~0#1 - 1;" [2025-01-10 07:36:23,718 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:36:23,718 INFO L85 PathProgramCache]: Analyzing trace with hash -929528212, now seen corresponding path program 1 times [2025-01-10 07:36:23,718 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:36:23,718 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [164320393] [2025-01-10 07:36:23,718 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-10 07:36:23,718 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:36:23,737 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 46 statements into 1 equivalence classes. [2025-01-10 07:36:23,742 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 46 of 46 statements. [2025-01-10 07:36:23,742 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:36:23,742 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:36:23,820 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-01-10 07:36:23,821 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-10 07:36:23,821 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [164320393] [2025-01-10 07:36:23,821 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [164320393] provided 1 perfect and 0 imperfect interpolant sequences [2025-01-10 07:36:23,821 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-01-10 07:36:23,821 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2025-01-10 07:36:23,821 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1140159107] [2025-01-10 07:36:23,821 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-01-10 07:36:23,821 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-01-10 07:36:23,821 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:36:23,822 INFO L85 PathProgramCache]: Analyzing trace with hash 501106274, now seen corresponding path program 6 times [2025-01-10 07:36:23,822 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:36:23,822 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [505704016] [2025-01-10 07:36:23,822 INFO L95 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2025-01-10 07:36:23,822 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:36:23,835 INFO L108 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE partitioned 4 statements into 1 equivalence classes. [2025-01-10 07:36:23,836 INFO L111 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 1 check-sat command(s) and asserted 4 of 4 statements. [2025-01-10 07:36:23,836 INFO L114 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 1 check-sat command(s) [2025-01-10 07:36:23,836 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:36:23,836 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-01-10 07:36:23,837 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 4 statements into 1 equivalence classes. [2025-01-10 07:36:23,837 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 4 of 4 statements. [2025-01-10 07:36:23,838 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:36:23,838 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:36:23,842 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-01-10 07:36:23,858 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-10 07:36:23,858 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2025-01-10 07:36:23,858 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2025-01-10 07:36:23,858 INFO L87 Difference]: Start difference. First operand 17370 states and 32600 transitions. cyclomatic complexity: 15266 Second operand has 5 states, 5 states have (on average 9.2) internal successors, (46), 5 states have internal predecessors, (46), 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) [2025-01-10 07:36:24,450 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-01-10 07:36:24,451 INFO L93 Difference]: Finished difference Result 17356 states and 32574 transitions. [2025-01-10 07:36:24,451 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 17356 states and 32574 transitions. [2025-01-10 07:36:24,507 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 3901 [2025-01-10 07:36:24,549 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 17356 states to 17356 states and 32574 transitions. [2025-01-10 07:36:24,549 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 17295 [2025-01-10 07:36:24,559 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 17295 [2025-01-10 07:36:24,559 INFO L73 IsDeterministic]: Start isDeterministic. Operand 17356 states and 32574 transitions. [2025-01-10 07:36:24,567 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-01-10 07:36:24,567 INFO L218 hiAutomatonCegarLoop]: Abstraction has 17356 states and 32574 transitions. [2025-01-10 07:36:24,584 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 17356 states and 32574 transitions. [2025-01-10 07:36:24,694 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 17356 to 17356. [2025-01-10 07:36:24,713 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17356 states, 17356 states have (on average 1.876814934316663) internal successors, (32574), 17355 states have internal predecessors, (32574), 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) [2025-01-10 07:36:24,739 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17356 states to 17356 states and 32574 transitions. [2025-01-10 07:36:24,739 INFO L240 hiAutomatonCegarLoop]: Abstraction has 17356 states and 32574 transitions. [2025-01-10 07:36:24,739 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2025-01-10 07:36:24,740 INFO L432 stractBuchiCegarLoop]: Abstraction has 17356 states and 32574 transitions. [2025-01-10 07:36:24,740 INFO L338 stractBuchiCegarLoop]: ======== Iteration 9 ============ [2025-01-10 07:36:24,740 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 17356 states and 32574 transitions. [2025-01-10 07:36:24,776 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 3901 [2025-01-10 07:36:24,777 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-01-10 07:36:24,777 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-01-10 07:36:24,777 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] [2025-01-10 07:36:24,777 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1] [2025-01-10 07:36:24,777 INFO L752 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int#0(48, 1, 0, 1);call write~init~int#0(0, 1, 1, 1);call #Ultimate.allocInit(32, 2);call #Ultimate.allocInit(12, 3);call #Ultimate.allocInit(30, 4);call #Ultimate.allocInit(9, 5);call #Ultimate.allocInit(21, 6);call #Ultimate.allocInit(30, 7);call #Ultimate.allocInit(9, 8);call #Ultimate.allocInit(21, 9);call #Ultimate.allocInit(30, 10);call #Ultimate.allocInit(9, 11);call #Ultimate.allocInit(25, 12);call #Ultimate.allocInit(30, 13);call #Ultimate.allocInit(9, 14);call #Ultimate.allocInit(25, 15);call #Ultimate.allocInit(10, 16);call #Ultimate.allocInit(4, 17);call write~init~int#5(91, 17, 0, 1);call write~init~int#5(95, 17, 1, 1);call write~init~int#5(93, 17, 2, 1);call write~init~int#5(0, 17, 3, 1);call #Ultimate.allocInit(4, 18);call write~init~int#6(91, 18, 0, 1);call write~init~int#6(93, 18, 1, 1);call write~init~int#6(32, 18, 2, 1);call write~init~int#6(0, 18, 3, 1);call #Ultimate.allocInit(5, 19);call write~init~int#7(32, 19, 0, 1);call write~init~int#7(97, 19, 1, 1);call write~init~int#7(116, 19, 2, 1);call write~init~int#7(32, 19, 3, 1);call write~init~int#7(0, 19, 4, 1);call #Ultimate.allocInit(3, 20);call write~init~int#8(37, 20, 0, 1);call write~init~int#8(105, 20, 1, 1);call write~init~int#8(0, 20, 2, 1);call #Ultimate.allocInit(10, 21);call #Ultimate.allocInit(3, 22);call write~init~int#9(117, 22, 0, 1);call write~init~int#9(112, 22, 1, 1);call write~init~int#9(0, 22, 2, 1);call #Ultimate.allocInit(5, 23);call write~init~int#10(100, 23, 0, 1);call write~init~int#10(111, 23, 1, 1);call write~init~int#10(119, 23, 2, 1);call write~init~int#10(110, 23, 3, 1);call write~init~int#10(0, 23, 4, 1);call #Ultimate.allocInit(7, 24);call write~init~int#11(32, 24, 0, 1);call write~init~int#11(73, 24, 1, 1);call write~init~int#11(76, 24, 2, 1);call write~init~int#11(95, 24, 3, 1);call write~init~int#11(112, 24, 4, 1);call write~init~int#11(58, 24, 5, 1);call write~init~int#11(0, 24, 6, 1);call #Ultimate.allocInit(4, 25);call write~init~int#12(32, 25, 0, 1);call write~init~int#12(37, 25, 1, 1);call write~init~int#12(105, 25, 2, 1);call write~init~int#12(0, 25, 3, 1);call #Ultimate.allocInit(4, 26);call write~init~int#13(32, 26, 0, 1);call write~init~int#13(37, 26, 1, 1);call write~init~int#13(105, 26, 2, 1);call write~init~int#13(0, 26, 3, 1);call #Ultimate.allocInit(4, 27);call write~init~int#14(32, 27, 0, 1);call write~init~int#14(37, 27, 1, 1);call write~init~int#14(105, 27, 2, 1);call write~init~int#14(0, 27, 3, 1);call #Ultimate.allocInit(4, 28);call write~init~int#15(32, 28, 0, 1);call write~init~int#15(37, 28, 1, 1);call write~init~int#15(105, 28, 2, 1);call write~init~int#15(0, 28, 3, 1);call #Ultimate.allocInit(4, 29);call write~init~int#16(32, 29, 0, 1);call write~init~int#16(37, 29, 1, 1);call write~init~int#16(105, 29, 2, 1);call write~init~int#16(0, 29, 3, 1);call #Ultimate.allocInit(6, 30);call write~init~int#17(32, 30, 0, 1);call write~init~int#17(70, 30, 1, 1);call write~init~int#17(95, 30, 2, 1);call write~init~int#17(112, 30, 3, 1);call write~init~int#17(58, 30, 4, 1);call write~init~int#17(0, 30, 5, 1);call #Ultimate.allocInit(4, 31);call write~init~int#18(32, 31, 0, 1);call write~init~int#18(37, 31, 1, 1);call write~init~int#18(105, 31, 2, 1);call write~init~int#18(0, 31, 3, 1);call #Ultimate.allocInit(4, 32);call write~init~int#19(32, 32, 0, 1);call write~init~int#19(37, 32, 1, 1);call write~init~int#19(105, 32, 2, 1);call write~init~int#19(0, 32, 3, 1);call #Ultimate.allocInit(4, 33);call write~init~int#1(32, 33, 0, 1);call write~init~int#1(37, 33, 1, 1);call write~init~int#1(105, 33, 2, 1);call write~init~int#1(0, 33, 3, 1);call #Ultimate.allocInit(4, 34);call write~init~int#2(32, 34, 0, 1);call write~init~int#2(37, 34, 1, 1);call write~init~int#2(105, 34, 2, 1);call write~init~int#2(0, 34, 3, 1);call #Ultimate.allocInit(4, 35);call write~init~int#3(32, 35, 0, 1);call write~init~int#3(37, 35, 1, 1);call write~init~int#3(105, 35, 2, 1);call write~init~int#3(0, 35, 3, 1);call #Ultimate.allocInit(2, 36);call write~init~int#4(10, 36, 0, 1);call write~init~int#4(0, 36, 1, 1);call #Ultimate.allocInit(9, 37);~head~0.base, ~head~0.offset := 0, 0;~weight~0 := 0;~maximumWeight~0 := 100;~blocked~0 := 0;~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;~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;~prevDir~0 := 0;" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret128#1, main_~retValue_acc~27#1, main_~tmp~27#1;havoc main_~retValue_acc~27#1;havoc main_~tmp~27#1;assume { :begin_inline_select_helpers } true;" "assume { :end_inline_select_helpers } true;assume { :begin_inline_select_features } true;" "assume { :end_inline_select_features } true;assume { :begin_inline_valid_product } true;havoc valid_product_#res#1;havoc valid_product_~retValue_acc~25#1;havoc valid_product_~retValue_acc~25#1;valid_product_~retValue_acc~25#1 := 1;valid_product_#res#1 := valid_product_~retValue_acc~25#1;" "main_#t~ret128#1 := valid_product_#res#1;havoc valid_product_~retValue_acc~25#1;assume { :end_inline_valid_product } true;main_~tmp~27#1 := main_#t~ret128#1;havoc main_#t~ret128#1;" "assume 0 != main_~tmp~27#1;assume { :begin_inline_setup } true;" "assume { :end_inline_setup } true;assume { :begin_inline_runTest } true;assume { :begin_inline_test } true;assume { :begin_inline_aliceCall } true;havoc aliceCall_#t~ret117#1, aliceCall_~tmp~20#1;havoc aliceCall_~tmp~20#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 1;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~22#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~22#1;" "assume !(0 == getOrigin_~person#1);" "assume 1 == getOrigin_~person#1;getOrigin_~retValue_acc~22#1 := 3;getOrigin_#res#1 := getOrigin_~retValue_acc~22#1;" "aliceCall_#t~ret117#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~22#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;aliceCall_~tmp~20#1 := aliceCall_#t~ret117#1;havoc aliceCall_#t~ret117#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 1, aliceCall_~tmp~20#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1;" "assume !(0 == initPersonOnFloor_~floor#1);" "assume !(1 == initPersonOnFloor_~floor#1);" "assume !(2 == initPersonOnFloor_~floor#1);" "assume 3 == initPersonOnFloor_~floor#1;" "assume !(0 == initPersonOnFloor_~person#1);" "assume 1 == initPersonOnFloor_~person#1;~personOnFloor_1_3~0 := 1;" "assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1;" "assume !(0 == callOnFloor_~floorID#1);" "assume !(1 == callOnFloor_~floorID#1);" "assume !(2 == callOnFloor_~floorID#1);" "assume 3 == callOnFloor_~floorID#1;~calls_3~0 := 1;" "havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true;" "havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true;" "havoc aliceCall_#t~ret117#1, aliceCall_~tmp~20#1;assume { :end_inline_aliceCall } true;assume { :begin_inline_angelinaCall } true;havoc angelinaCall_#t~ret118#1, angelinaCall_~tmp~21#1;havoc angelinaCall_~tmp~21#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 2;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~22#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~22#1;" "assume !(0 == getOrigin_~person#1);" "assume !(1 == getOrigin_~person#1);" "assume 2 == getOrigin_~person#1;getOrigin_~retValue_acc~22#1 := 2;getOrigin_#res#1 := getOrigin_~retValue_acc~22#1;" "angelinaCall_#t~ret118#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~22#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;angelinaCall_~tmp~21#1 := angelinaCall_#t~ret118#1;havoc angelinaCall_#t~ret118#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 2, angelinaCall_~tmp~21#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1;" "assume !(0 == initPersonOnFloor_~floor#1);" "assume 1 == initPersonOnFloor_~floor#1;" "assume !(0 == initPersonOnFloor_~person#1);" "assume 1 == initPersonOnFloor_~person#1;~personOnFloor_1_1~0 := 1;" "assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1;" "assume !(0 == callOnFloor_~floorID#1);" "assume 1 == callOnFloor_~floorID#1;~calls_1~0 := 1;" "havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true;" "havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true;" "havoc angelinaCall_#t~ret118#1, angelinaCall_~tmp~21#1;assume { :end_inline_angelinaCall } true;assume { :begin_inline_threeTS } true;assume { :begin_inline_timeShift } true;havoc timeShift_#t~ret79#1, timeShift_~tmp~14#1;havoc timeShift_~tmp~14#1;assume { :begin_inline___utac_acc__Specification13_spec__1 } true;havoc __utac_acc__Specification13_spec__1_#t~ret129#1;assume { :begin_inline_getCurrentHeading } true;havoc getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~7#1;havoc getCurrentHeading_~retValue_acc~7#1;getCurrentHeading_~retValue_acc~7#1 := ~currentHeading~0;getCurrentHeading_#res#1 := getCurrentHeading_~retValue_acc~7#1;" "__utac_acc__Specification13_spec__1_#t~ret129#1 := getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~7#1;assume { :end_inline_getCurrentHeading } true;~prevDir~0 := __utac_acc__Specification13_spec__1_#t~ret129#1;havoc __utac_acc__Specification13_spec__1_#t~ret129#1;" "havoc __utac_acc__Specification13_spec__1_#t~ret129#1;assume { :end_inline___utac_acc__Specification13_spec__1 } true;assume { :begin_inline_areDoorsOpen } true;havoc areDoorsOpen_#res#1;havoc areDoorsOpen_~retValue_acc~5#1;havoc areDoorsOpen_~retValue_acc~5#1;areDoorsOpen_~retValue_acc~5#1 := ~doorState~0;areDoorsOpen_#res#1 := areDoorsOpen_~retValue_acc~5#1;" "timeShift_#t~ret79#1 := areDoorsOpen_#res#1;havoc areDoorsOpen_~retValue_acc~5#1;assume { :end_inline_areDoorsOpen } true;timeShift_~tmp~14#1 := timeShift_#t~ret79#1;havoc timeShift_#t~ret79#1;" "assume 0 != timeShift_~tmp~14#1;" "assume ~weight~0 > ~maximumWeight~0;~blocked~0 := 1;" "assume { :begin_inline___utac_acc__Specification13_spec__2 } true;havoc __utac_acc__Specification13_spec__2_#t~ret130#1, __utac_acc__Specification13_spec__2_#t~ret131#1, __utac_acc__Specification13_spec__2_#t~ret132#1, __utac_acc__Specification13_spec__2_#t~ret133#1, __utac_acc__Specification13_spec__2_#t~ret134#1, __utac_acc__Specification13_spec__2_#t~ret135#1, __utac_acc__Specification13_spec__2_~tmp~28#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~6#1, __utac_acc__Specification13_spec__2_~__cil_tmp8~7#1;havoc __utac_acc__Specification13_spec__2_~tmp~28#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~6#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp8~7#1;__utac_acc__Specification13_spec__2_~__cil_tmp7~6#1 := 2 * ~maximumWeight~0;__utac_acc__Specification13_spec__2_~__cil_tmp8~7#1 := (if __utac_acc__Specification13_spec__2_~__cil_tmp7~6#1 < 0 && 0 != __utac_acc__Specification13_spec__2_~__cil_tmp7~6#1 % 3 then 1 + __utac_acc__Specification13_spec__2_~__cil_tmp7~6#1 / 3 else __utac_acc__Specification13_spec__2_~__cil_tmp7~6#1 / 3);" "assume ~weight~0 > __utac_acc__Specification13_spec__2_~__cil_tmp8~7#1;" "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~17#1, existInLiftCallsInDirection_~i~0#1, existInLiftCallsInDirection_~i___0~0#1;existInLiftCallsInDirection_~d#1 := existInLiftCallsInDirection_#in~d#1;havoc existInLiftCallsInDirection_~retValue_acc~17#1;havoc existInLiftCallsInDirection_~i~0#1;havoc existInLiftCallsInDirection_~i___0~0#1;" "assume !(1 == existInLiftCallsInDirection_~d#1);" "assume 0 == existInLiftCallsInDirection_~d#1;existInLiftCallsInDirection_~i___0~0#1 := 0;existInLiftCallsInDirection_~i___0~0#1 := ~currentFloorID~0 - 1;" [2025-01-10 07:36:24,777 INFO L754 eck$LassoCheckResult]: Loop: "assume existInLiftCallsInDirection_~i___0~0#1 >= 0;" "existInLiftCallsInDirection_~i___0~0#1 := 1 + ~currentFloorID~0;" "assume !(existInLiftCallsInDirection_~i___0~0#1 < 5);" "existInLiftCallsInDirection_~i___0~0#1 := existInLiftCallsInDirection_~i___0~0#1 - 1;" [2025-01-10 07:36:24,778 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:36:24,778 INFO L85 PathProgramCache]: Analyzing trace with hash 897706434, now seen corresponding path program 1 times [2025-01-10 07:36:24,778 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:36:24,778 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [811862035] [2025-01-10 07:36:24,778 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-10 07:36:24,778 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:36:24,794 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 48 statements into 1 equivalence classes. [2025-01-10 07:36:24,798 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 48 of 48 statements. [2025-01-10 07:36:24,798 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:36:24,798 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:36:24,861 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-01-10 07:36:24,861 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-10 07:36:24,861 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [811862035] [2025-01-10 07:36:24,861 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [811862035] provided 1 perfect and 0 imperfect interpolant sequences [2025-01-10 07:36:24,861 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-01-10 07:36:24,861 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2025-01-10 07:36:24,861 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1569048786] [2025-01-10 07:36:24,861 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-01-10 07:36:24,861 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-01-10 07:36:24,862 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:36:24,862 INFO L85 PathProgramCache]: Analyzing trace with hash 501106274, now seen corresponding path program 7 times [2025-01-10 07:36:24,862 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:36:24,862 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [542559910] [2025-01-10 07:36:24,862 INFO L95 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2025-01-10 07:36:24,862 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:36:24,872 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 4 statements into 1 equivalence classes. [2025-01-10 07:36:24,873 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 4 of 4 statements. [2025-01-10 07:36:24,873 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:36:24,873 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:36:24,873 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-01-10 07:36:24,874 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 4 statements into 1 equivalence classes. [2025-01-10 07:36:24,875 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 4 of 4 statements. [2025-01-10 07:36:24,875 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:36:24,875 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:36:24,880 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-01-10 07:36:24,895 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-10 07:36:24,896 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2025-01-10 07:36:24,896 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2025-01-10 07:36:24,896 INFO L87 Difference]: Start difference. First operand 17356 states and 32574 transitions. cyclomatic complexity: 15254 Second operand has 5 states, 5 states have (on average 9.6) internal successors, (48), 5 states have internal predecessors, (48), 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) [2025-01-10 07:36:25,289 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-01-10 07:36:25,289 INFO L93 Difference]: Finished difference Result 17350 states and 32561 transitions. [2025-01-10 07:36:25,289 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 17350 states and 32561 transitions. [2025-01-10 07:36:25,347 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 3901 [2025-01-10 07:36:25,389 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 17350 states to 17350 states and 32561 transitions. [2025-01-10 07:36:25,389 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 17289 [2025-01-10 07:36:25,398 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 17289 [2025-01-10 07:36:25,398 INFO L73 IsDeterministic]: Start isDeterministic. Operand 17350 states and 32561 transitions. [2025-01-10 07:36:25,409 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-01-10 07:36:25,409 INFO L218 hiAutomatonCegarLoop]: Abstraction has 17350 states and 32561 transitions. [2025-01-10 07:36:25,427 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 17350 states and 32561 transitions. [2025-01-10 07:36:25,541 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 17350 to 17350. [2025-01-10 07:36:25,561 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17350 states, 17350 states have (on average 1.87671469740634) internal successors, (32561), 17349 states have internal predecessors, (32561), 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) [2025-01-10 07:36:25,588 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17350 states to 17350 states and 32561 transitions. [2025-01-10 07:36:25,588 INFO L240 hiAutomatonCegarLoop]: Abstraction has 17350 states and 32561 transitions. [2025-01-10 07:36:25,588 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2025-01-10 07:36:25,589 INFO L432 stractBuchiCegarLoop]: Abstraction has 17350 states and 32561 transitions. [2025-01-10 07:36:25,589 INFO L338 stractBuchiCegarLoop]: ======== Iteration 10 ============ [2025-01-10 07:36:25,589 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 17350 states and 32561 transitions. [2025-01-10 07:36:25,628 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 3901 [2025-01-10 07:36:25,629 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-01-10 07:36:25,629 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-01-10 07:36:25,629 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] [2025-01-10 07:36:25,629 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1] [2025-01-10 07:36:25,629 INFO L752 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int#0(48, 1, 0, 1);call write~init~int#0(0, 1, 1, 1);call #Ultimate.allocInit(32, 2);call #Ultimate.allocInit(12, 3);call #Ultimate.allocInit(30, 4);call #Ultimate.allocInit(9, 5);call #Ultimate.allocInit(21, 6);call #Ultimate.allocInit(30, 7);call #Ultimate.allocInit(9, 8);call #Ultimate.allocInit(21, 9);call #Ultimate.allocInit(30, 10);call #Ultimate.allocInit(9, 11);call #Ultimate.allocInit(25, 12);call #Ultimate.allocInit(30, 13);call #Ultimate.allocInit(9, 14);call #Ultimate.allocInit(25, 15);call #Ultimate.allocInit(10, 16);call #Ultimate.allocInit(4, 17);call write~init~int#5(91, 17, 0, 1);call write~init~int#5(95, 17, 1, 1);call write~init~int#5(93, 17, 2, 1);call write~init~int#5(0, 17, 3, 1);call #Ultimate.allocInit(4, 18);call write~init~int#6(91, 18, 0, 1);call write~init~int#6(93, 18, 1, 1);call write~init~int#6(32, 18, 2, 1);call write~init~int#6(0, 18, 3, 1);call #Ultimate.allocInit(5, 19);call write~init~int#7(32, 19, 0, 1);call write~init~int#7(97, 19, 1, 1);call write~init~int#7(116, 19, 2, 1);call write~init~int#7(32, 19, 3, 1);call write~init~int#7(0, 19, 4, 1);call #Ultimate.allocInit(3, 20);call write~init~int#8(37, 20, 0, 1);call write~init~int#8(105, 20, 1, 1);call write~init~int#8(0, 20, 2, 1);call #Ultimate.allocInit(10, 21);call #Ultimate.allocInit(3, 22);call write~init~int#9(117, 22, 0, 1);call write~init~int#9(112, 22, 1, 1);call write~init~int#9(0, 22, 2, 1);call #Ultimate.allocInit(5, 23);call write~init~int#10(100, 23, 0, 1);call write~init~int#10(111, 23, 1, 1);call write~init~int#10(119, 23, 2, 1);call write~init~int#10(110, 23, 3, 1);call write~init~int#10(0, 23, 4, 1);call #Ultimate.allocInit(7, 24);call write~init~int#11(32, 24, 0, 1);call write~init~int#11(73, 24, 1, 1);call write~init~int#11(76, 24, 2, 1);call write~init~int#11(95, 24, 3, 1);call write~init~int#11(112, 24, 4, 1);call write~init~int#11(58, 24, 5, 1);call write~init~int#11(0, 24, 6, 1);call #Ultimate.allocInit(4, 25);call write~init~int#12(32, 25, 0, 1);call write~init~int#12(37, 25, 1, 1);call write~init~int#12(105, 25, 2, 1);call write~init~int#12(0, 25, 3, 1);call #Ultimate.allocInit(4, 26);call write~init~int#13(32, 26, 0, 1);call write~init~int#13(37, 26, 1, 1);call write~init~int#13(105, 26, 2, 1);call write~init~int#13(0, 26, 3, 1);call #Ultimate.allocInit(4, 27);call write~init~int#14(32, 27, 0, 1);call write~init~int#14(37, 27, 1, 1);call write~init~int#14(105, 27, 2, 1);call write~init~int#14(0, 27, 3, 1);call #Ultimate.allocInit(4, 28);call write~init~int#15(32, 28, 0, 1);call write~init~int#15(37, 28, 1, 1);call write~init~int#15(105, 28, 2, 1);call write~init~int#15(0, 28, 3, 1);call #Ultimate.allocInit(4, 29);call write~init~int#16(32, 29, 0, 1);call write~init~int#16(37, 29, 1, 1);call write~init~int#16(105, 29, 2, 1);call write~init~int#16(0, 29, 3, 1);call #Ultimate.allocInit(6, 30);call write~init~int#17(32, 30, 0, 1);call write~init~int#17(70, 30, 1, 1);call write~init~int#17(95, 30, 2, 1);call write~init~int#17(112, 30, 3, 1);call write~init~int#17(58, 30, 4, 1);call write~init~int#17(0, 30, 5, 1);call #Ultimate.allocInit(4, 31);call write~init~int#18(32, 31, 0, 1);call write~init~int#18(37, 31, 1, 1);call write~init~int#18(105, 31, 2, 1);call write~init~int#18(0, 31, 3, 1);call #Ultimate.allocInit(4, 32);call write~init~int#19(32, 32, 0, 1);call write~init~int#19(37, 32, 1, 1);call write~init~int#19(105, 32, 2, 1);call write~init~int#19(0, 32, 3, 1);call #Ultimate.allocInit(4, 33);call write~init~int#1(32, 33, 0, 1);call write~init~int#1(37, 33, 1, 1);call write~init~int#1(105, 33, 2, 1);call write~init~int#1(0, 33, 3, 1);call #Ultimate.allocInit(4, 34);call write~init~int#2(32, 34, 0, 1);call write~init~int#2(37, 34, 1, 1);call write~init~int#2(105, 34, 2, 1);call write~init~int#2(0, 34, 3, 1);call #Ultimate.allocInit(4, 35);call write~init~int#3(32, 35, 0, 1);call write~init~int#3(37, 35, 1, 1);call write~init~int#3(105, 35, 2, 1);call write~init~int#3(0, 35, 3, 1);call #Ultimate.allocInit(2, 36);call write~init~int#4(10, 36, 0, 1);call write~init~int#4(0, 36, 1, 1);call #Ultimate.allocInit(9, 37);~head~0.base, ~head~0.offset := 0, 0;~weight~0 := 0;~maximumWeight~0 := 100;~blocked~0 := 0;~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;~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;~prevDir~0 := 0;" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret128#1, main_~retValue_acc~27#1, main_~tmp~27#1;havoc main_~retValue_acc~27#1;havoc main_~tmp~27#1;assume { :begin_inline_select_helpers } true;" "assume { :end_inline_select_helpers } true;assume { :begin_inline_select_features } true;" "assume { :end_inline_select_features } true;assume { :begin_inline_valid_product } true;havoc valid_product_#res#1;havoc valid_product_~retValue_acc~25#1;havoc valid_product_~retValue_acc~25#1;valid_product_~retValue_acc~25#1 := 1;valid_product_#res#1 := valid_product_~retValue_acc~25#1;" "main_#t~ret128#1 := valid_product_#res#1;havoc valid_product_~retValue_acc~25#1;assume { :end_inline_valid_product } true;main_~tmp~27#1 := main_#t~ret128#1;havoc main_#t~ret128#1;" "assume 0 != main_~tmp~27#1;assume { :begin_inline_setup } true;" "assume { :end_inline_setup } true;assume { :begin_inline_runTest } true;assume { :begin_inline_test } true;assume { :begin_inline_aliceCall } true;havoc aliceCall_#t~ret117#1, aliceCall_~tmp~20#1;havoc aliceCall_~tmp~20#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 1;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~22#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~22#1;" "assume !(0 == getOrigin_~person#1);" "assume 1 == getOrigin_~person#1;getOrigin_~retValue_acc~22#1 := 3;getOrigin_#res#1 := getOrigin_~retValue_acc~22#1;" "aliceCall_#t~ret117#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~22#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;aliceCall_~tmp~20#1 := aliceCall_#t~ret117#1;havoc aliceCall_#t~ret117#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 1, aliceCall_~tmp~20#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1;" "assume !(0 == initPersonOnFloor_~floor#1);" "assume !(1 == initPersonOnFloor_~floor#1);" "assume !(2 == initPersonOnFloor_~floor#1);" "assume 3 == initPersonOnFloor_~floor#1;" "assume !(0 == initPersonOnFloor_~person#1);" "assume 1 == initPersonOnFloor_~person#1;~personOnFloor_1_3~0 := 1;" "assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1;" "assume !(0 == callOnFloor_~floorID#1);" "assume !(1 == callOnFloor_~floorID#1);" "assume !(2 == callOnFloor_~floorID#1);" "assume 3 == callOnFloor_~floorID#1;~calls_3~0 := 1;" "havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true;" "havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true;" "havoc aliceCall_#t~ret117#1, aliceCall_~tmp~20#1;assume { :end_inline_aliceCall } true;assume { :begin_inline_angelinaCall } true;havoc angelinaCall_#t~ret118#1, angelinaCall_~tmp~21#1;havoc angelinaCall_~tmp~21#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 2;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~22#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~22#1;" "assume !(0 == getOrigin_~person#1);" "assume !(1 == getOrigin_~person#1);" "assume 2 == getOrigin_~person#1;getOrigin_~retValue_acc~22#1 := 2;getOrigin_#res#1 := getOrigin_~retValue_acc~22#1;" "angelinaCall_#t~ret118#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~22#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;angelinaCall_~tmp~21#1 := angelinaCall_#t~ret118#1;havoc angelinaCall_#t~ret118#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 2, angelinaCall_~tmp~21#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1;" "assume !(0 == initPersonOnFloor_~floor#1);" "assume !(1 == initPersonOnFloor_~floor#1);" "assume 2 == initPersonOnFloor_~floor#1;" "assume !(0 == initPersonOnFloor_~person#1);" "assume 1 == initPersonOnFloor_~person#1;~personOnFloor_1_2~0 := 1;" "assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1;" "assume !(0 == callOnFloor_~floorID#1);" "assume !(1 == callOnFloor_~floorID#1);" "assume 2 == callOnFloor_~floorID#1;~calls_2~0 := 1;" "havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true;" "havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true;" "havoc angelinaCall_#t~ret118#1, angelinaCall_~tmp~21#1;assume { :end_inline_angelinaCall } true;assume { :begin_inline_threeTS } true;assume { :begin_inline_timeShift } true;havoc timeShift_#t~ret79#1, timeShift_~tmp~14#1;havoc timeShift_~tmp~14#1;assume { :begin_inline___utac_acc__Specification13_spec__1 } true;havoc __utac_acc__Specification13_spec__1_#t~ret129#1;assume { :begin_inline_getCurrentHeading } true;havoc getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~7#1;havoc getCurrentHeading_~retValue_acc~7#1;getCurrentHeading_~retValue_acc~7#1 := ~currentHeading~0;getCurrentHeading_#res#1 := getCurrentHeading_~retValue_acc~7#1;" "__utac_acc__Specification13_spec__1_#t~ret129#1 := getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~7#1;assume { :end_inline_getCurrentHeading } true;~prevDir~0 := __utac_acc__Specification13_spec__1_#t~ret129#1;havoc __utac_acc__Specification13_spec__1_#t~ret129#1;" "havoc __utac_acc__Specification13_spec__1_#t~ret129#1;assume { :end_inline___utac_acc__Specification13_spec__1 } true;assume { :begin_inline_areDoorsOpen } true;havoc areDoorsOpen_#res#1;havoc areDoorsOpen_~retValue_acc~5#1;havoc areDoorsOpen_~retValue_acc~5#1;areDoorsOpen_~retValue_acc~5#1 := ~doorState~0;areDoorsOpen_#res#1 := areDoorsOpen_~retValue_acc~5#1;" "timeShift_#t~ret79#1 := areDoorsOpen_#res#1;havoc areDoorsOpen_~retValue_acc~5#1;assume { :end_inline_areDoorsOpen } true;timeShift_~tmp~14#1 := timeShift_#t~ret79#1;havoc timeShift_#t~ret79#1;" "assume 0 != timeShift_~tmp~14#1;" "assume ~weight~0 > ~maximumWeight~0;~blocked~0 := 1;" "assume { :begin_inline___utac_acc__Specification13_spec__2 } true;havoc __utac_acc__Specification13_spec__2_#t~ret130#1, __utac_acc__Specification13_spec__2_#t~ret131#1, __utac_acc__Specification13_spec__2_#t~ret132#1, __utac_acc__Specification13_spec__2_#t~ret133#1, __utac_acc__Specification13_spec__2_#t~ret134#1, __utac_acc__Specification13_spec__2_#t~ret135#1, __utac_acc__Specification13_spec__2_~tmp~28#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~6#1, __utac_acc__Specification13_spec__2_~__cil_tmp8~7#1;havoc __utac_acc__Specification13_spec__2_~tmp~28#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~6#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp8~7#1;__utac_acc__Specification13_spec__2_~__cil_tmp7~6#1 := 2 * ~maximumWeight~0;__utac_acc__Specification13_spec__2_~__cil_tmp8~7#1 := (if __utac_acc__Specification13_spec__2_~__cil_tmp7~6#1 < 0 && 0 != __utac_acc__Specification13_spec__2_~__cil_tmp7~6#1 % 3 then 1 + __utac_acc__Specification13_spec__2_~__cil_tmp7~6#1 / 3 else __utac_acc__Specification13_spec__2_~__cil_tmp7~6#1 / 3);" "assume ~weight~0 > __utac_acc__Specification13_spec__2_~__cil_tmp8~7#1;" "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~17#1, existInLiftCallsInDirection_~i~0#1, existInLiftCallsInDirection_~i___0~0#1;existInLiftCallsInDirection_~d#1 := existInLiftCallsInDirection_#in~d#1;havoc existInLiftCallsInDirection_~retValue_acc~17#1;havoc existInLiftCallsInDirection_~i~0#1;havoc existInLiftCallsInDirection_~i___0~0#1;" "assume !(1 == existInLiftCallsInDirection_~d#1);" "assume 0 == existInLiftCallsInDirection_~d#1;existInLiftCallsInDirection_~i___0~0#1 := 0;existInLiftCallsInDirection_~i___0~0#1 := ~currentFloorID~0 - 1;" [2025-01-10 07:36:25,629 INFO L754 eck$LassoCheckResult]: Loop: "assume existInLiftCallsInDirection_~i___0~0#1 >= 0;" "existInLiftCallsInDirection_~i___0~0#1 := 1 + ~currentFloorID~0;" "assume !(existInLiftCallsInDirection_~i___0~0#1 < 5);" "existInLiftCallsInDirection_~i___0~0#1 := existInLiftCallsInDirection_~i___0~0#1 - 1;" [2025-01-10 07:36:25,630 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:36:25,630 INFO L85 PathProgramCache]: Analyzing trace with hash 1058059235, now seen corresponding path program 1 times [2025-01-10 07:36:25,630 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:36:25,630 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1104635944] [2025-01-10 07:36:25,630 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-10 07:36:25,630 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:36:25,642 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 50 statements into 1 equivalence classes. [2025-01-10 07:36:25,646 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 50 of 50 statements. [2025-01-10 07:36:25,646 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:36:25,646 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:36:25,685 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-01-10 07:36:25,685 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-10 07:36:25,685 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1104635944] [2025-01-10 07:36:25,685 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1104635944] provided 1 perfect and 0 imperfect interpolant sequences [2025-01-10 07:36:25,685 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-01-10 07:36:25,685 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2025-01-10 07:36:25,685 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1256487895] [2025-01-10 07:36:25,685 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-01-10 07:36:25,685 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-01-10 07:36:25,686 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:36:25,686 INFO L85 PathProgramCache]: Analyzing trace with hash 501106274, now seen corresponding path program 8 times [2025-01-10 07:36:25,686 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:36:25,686 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1664882563] [2025-01-10 07:36:25,686 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-01-10 07:36:25,686 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:36:25,694 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 4 statements into 1 equivalence classes. [2025-01-10 07:36:25,695 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) and asserted 4 of 4 statements. [2025-01-10 07:36:25,695 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2025-01-10 07:36:25,695 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:36:25,695 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-01-10 07:36:25,696 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 4 statements into 1 equivalence classes. [2025-01-10 07:36:25,696 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 4 of 4 statements. [2025-01-10 07:36:25,696 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:36:25,696 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:36:25,701 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-01-10 07:36:25,715 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-10 07:36:25,715 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2025-01-10 07:36:25,715 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2025-01-10 07:36:25,715 INFO L87 Difference]: Start difference. First operand 17350 states and 32561 transitions. cyclomatic complexity: 15247 Second operand has 4 states, 4 states have (on average 12.5) internal successors, (50), 4 states have internal predecessors, (50), 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) [2025-01-10 07:36:26,157 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-01-10 07:36:26,157 INFO L93 Difference]: Finished difference Result 17366 states and 32573 transitions. [2025-01-10 07:36:26,157 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 17366 states and 32573 transitions. [2025-01-10 07:36:26,205 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 3901 [2025-01-10 07:36:26,243 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 17366 states to 17366 states and 32573 transitions. [2025-01-10 07:36:26,243 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 17305 [2025-01-10 07:36:26,252 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 17305 [2025-01-10 07:36:26,252 INFO L73 IsDeterministic]: Start isDeterministic. Operand 17366 states and 32573 transitions. [2025-01-10 07:36:26,262 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-01-10 07:36:26,262 INFO L218 hiAutomatonCegarLoop]: Abstraction has 17366 states and 32573 transitions. [2025-01-10 07:36:26,277 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 17366 states and 32573 transitions. [2025-01-10 07:36:26,384 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 17366 to 17350. [2025-01-10 07:36:26,402 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17350 states, 17350 states have (on average 1.8762536023054754) internal successors, (32553), 17349 states have internal predecessors, (32553), 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) [2025-01-10 07:36:26,429 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17350 states to 17350 states and 32553 transitions. [2025-01-10 07:36:26,429 INFO L240 hiAutomatonCegarLoop]: Abstraction has 17350 states and 32553 transitions. [2025-01-10 07:36:26,429 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2025-01-10 07:36:26,430 INFO L432 stractBuchiCegarLoop]: Abstraction has 17350 states and 32553 transitions. [2025-01-10 07:36:26,430 INFO L338 stractBuchiCegarLoop]: ======== Iteration 11 ============ [2025-01-10 07:36:26,430 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 17350 states and 32553 transitions. [2025-01-10 07:36:26,470 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 3901 [2025-01-10 07:36:26,471 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-01-10 07:36:26,471 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-01-10 07:36:26,471 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] [2025-01-10 07:36:26,471 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1] [2025-01-10 07:36:26,471 INFO L752 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int#0(48, 1, 0, 1);call write~init~int#0(0, 1, 1, 1);call #Ultimate.allocInit(32, 2);call #Ultimate.allocInit(12, 3);call #Ultimate.allocInit(30, 4);call #Ultimate.allocInit(9, 5);call #Ultimate.allocInit(21, 6);call #Ultimate.allocInit(30, 7);call #Ultimate.allocInit(9, 8);call #Ultimate.allocInit(21, 9);call #Ultimate.allocInit(30, 10);call #Ultimate.allocInit(9, 11);call #Ultimate.allocInit(25, 12);call #Ultimate.allocInit(30, 13);call #Ultimate.allocInit(9, 14);call #Ultimate.allocInit(25, 15);call #Ultimate.allocInit(10, 16);call #Ultimate.allocInit(4, 17);call write~init~int#5(91, 17, 0, 1);call write~init~int#5(95, 17, 1, 1);call write~init~int#5(93, 17, 2, 1);call write~init~int#5(0, 17, 3, 1);call #Ultimate.allocInit(4, 18);call write~init~int#6(91, 18, 0, 1);call write~init~int#6(93, 18, 1, 1);call write~init~int#6(32, 18, 2, 1);call write~init~int#6(0, 18, 3, 1);call #Ultimate.allocInit(5, 19);call write~init~int#7(32, 19, 0, 1);call write~init~int#7(97, 19, 1, 1);call write~init~int#7(116, 19, 2, 1);call write~init~int#7(32, 19, 3, 1);call write~init~int#7(0, 19, 4, 1);call #Ultimate.allocInit(3, 20);call write~init~int#8(37, 20, 0, 1);call write~init~int#8(105, 20, 1, 1);call write~init~int#8(0, 20, 2, 1);call #Ultimate.allocInit(10, 21);call #Ultimate.allocInit(3, 22);call write~init~int#9(117, 22, 0, 1);call write~init~int#9(112, 22, 1, 1);call write~init~int#9(0, 22, 2, 1);call #Ultimate.allocInit(5, 23);call write~init~int#10(100, 23, 0, 1);call write~init~int#10(111, 23, 1, 1);call write~init~int#10(119, 23, 2, 1);call write~init~int#10(110, 23, 3, 1);call write~init~int#10(0, 23, 4, 1);call #Ultimate.allocInit(7, 24);call write~init~int#11(32, 24, 0, 1);call write~init~int#11(73, 24, 1, 1);call write~init~int#11(76, 24, 2, 1);call write~init~int#11(95, 24, 3, 1);call write~init~int#11(112, 24, 4, 1);call write~init~int#11(58, 24, 5, 1);call write~init~int#11(0, 24, 6, 1);call #Ultimate.allocInit(4, 25);call write~init~int#12(32, 25, 0, 1);call write~init~int#12(37, 25, 1, 1);call write~init~int#12(105, 25, 2, 1);call write~init~int#12(0, 25, 3, 1);call #Ultimate.allocInit(4, 26);call write~init~int#13(32, 26, 0, 1);call write~init~int#13(37, 26, 1, 1);call write~init~int#13(105, 26, 2, 1);call write~init~int#13(0, 26, 3, 1);call #Ultimate.allocInit(4, 27);call write~init~int#14(32, 27, 0, 1);call write~init~int#14(37, 27, 1, 1);call write~init~int#14(105, 27, 2, 1);call write~init~int#14(0, 27, 3, 1);call #Ultimate.allocInit(4, 28);call write~init~int#15(32, 28, 0, 1);call write~init~int#15(37, 28, 1, 1);call write~init~int#15(105, 28, 2, 1);call write~init~int#15(0, 28, 3, 1);call #Ultimate.allocInit(4, 29);call write~init~int#16(32, 29, 0, 1);call write~init~int#16(37, 29, 1, 1);call write~init~int#16(105, 29, 2, 1);call write~init~int#16(0, 29, 3, 1);call #Ultimate.allocInit(6, 30);call write~init~int#17(32, 30, 0, 1);call write~init~int#17(70, 30, 1, 1);call write~init~int#17(95, 30, 2, 1);call write~init~int#17(112, 30, 3, 1);call write~init~int#17(58, 30, 4, 1);call write~init~int#17(0, 30, 5, 1);call #Ultimate.allocInit(4, 31);call write~init~int#18(32, 31, 0, 1);call write~init~int#18(37, 31, 1, 1);call write~init~int#18(105, 31, 2, 1);call write~init~int#18(0, 31, 3, 1);call #Ultimate.allocInit(4, 32);call write~init~int#19(32, 32, 0, 1);call write~init~int#19(37, 32, 1, 1);call write~init~int#19(105, 32, 2, 1);call write~init~int#19(0, 32, 3, 1);call #Ultimate.allocInit(4, 33);call write~init~int#1(32, 33, 0, 1);call write~init~int#1(37, 33, 1, 1);call write~init~int#1(105, 33, 2, 1);call write~init~int#1(0, 33, 3, 1);call #Ultimate.allocInit(4, 34);call write~init~int#2(32, 34, 0, 1);call write~init~int#2(37, 34, 1, 1);call write~init~int#2(105, 34, 2, 1);call write~init~int#2(0, 34, 3, 1);call #Ultimate.allocInit(4, 35);call write~init~int#3(32, 35, 0, 1);call write~init~int#3(37, 35, 1, 1);call write~init~int#3(105, 35, 2, 1);call write~init~int#3(0, 35, 3, 1);call #Ultimate.allocInit(2, 36);call write~init~int#4(10, 36, 0, 1);call write~init~int#4(0, 36, 1, 1);call #Ultimate.allocInit(9, 37);~head~0.base, ~head~0.offset := 0, 0;~weight~0 := 0;~maximumWeight~0 := 100;~blocked~0 := 0;~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;~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;~prevDir~0 := 0;" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret128#1, main_~retValue_acc~27#1, main_~tmp~27#1;havoc main_~retValue_acc~27#1;havoc main_~tmp~27#1;assume { :begin_inline_select_helpers } true;" "assume { :end_inline_select_helpers } true;assume { :begin_inline_select_features } true;" "assume { :end_inline_select_features } true;assume { :begin_inline_valid_product } true;havoc valid_product_#res#1;havoc valid_product_~retValue_acc~25#1;havoc valid_product_~retValue_acc~25#1;valid_product_~retValue_acc~25#1 := 1;valid_product_#res#1 := valid_product_~retValue_acc~25#1;" "main_#t~ret128#1 := valid_product_#res#1;havoc valid_product_~retValue_acc~25#1;assume { :end_inline_valid_product } true;main_~tmp~27#1 := main_#t~ret128#1;havoc main_#t~ret128#1;" "assume 0 != main_~tmp~27#1;assume { :begin_inline_setup } true;" "assume { :end_inline_setup } true;assume { :begin_inline_runTest } true;assume { :begin_inline_test } true;assume { :begin_inline_aliceCall } true;havoc aliceCall_#t~ret117#1, aliceCall_~tmp~20#1;havoc aliceCall_~tmp~20#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 1;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~22#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~22#1;" "assume !(0 == getOrigin_~person#1);" "assume 1 == getOrigin_~person#1;getOrigin_~retValue_acc~22#1 := 3;getOrigin_#res#1 := getOrigin_~retValue_acc~22#1;" "aliceCall_#t~ret117#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~22#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;aliceCall_~tmp~20#1 := aliceCall_#t~ret117#1;havoc aliceCall_#t~ret117#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 1, aliceCall_~tmp~20#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1;" "assume !(0 == initPersonOnFloor_~floor#1);" "assume !(1 == initPersonOnFloor_~floor#1);" "assume !(2 == initPersonOnFloor_~floor#1);" "assume 3 == initPersonOnFloor_~floor#1;" "assume !(0 == initPersonOnFloor_~person#1);" "assume 1 == initPersonOnFloor_~person#1;~personOnFloor_1_3~0 := 1;" "assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1;" "assume !(0 == callOnFloor_~floorID#1);" "assume !(1 == callOnFloor_~floorID#1);" "assume !(2 == callOnFloor_~floorID#1);" "assume 3 == callOnFloor_~floorID#1;~calls_3~0 := 1;" "havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true;" "havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true;" "havoc aliceCall_#t~ret117#1, aliceCall_~tmp~20#1;assume { :end_inline_aliceCall } true;assume { :begin_inline_angelinaCall } true;havoc angelinaCall_#t~ret118#1, angelinaCall_~tmp~21#1;havoc angelinaCall_~tmp~21#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 2;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~22#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~22#1;" "assume !(0 == getOrigin_~person#1);" "assume !(1 == getOrigin_~person#1);" "assume 2 == getOrigin_~person#1;getOrigin_~retValue_acc~22#1 := 2;getOrigin_#res#1 := getOrigin_~retValue_acc~22#1;" "angelinaCall_#t~ret118#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~22#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;angelinaCall_~tmp~21#1 := angelinaCall_#t~ret118#1;havoc angelinaCall_#t~ret118#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 2, angelinaCall_~tmp~21#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1;" "assume !(0 == initPersonOnFloor_~floor#1);" "assume !(1 == initPersonOnFloor_~floor#1);" "assume 2 == initPersonOnFloor_~floor#1;" "assume !(0 == initPersonOnFloor_~person#1);" "assume !(1 == initPersonOnFloor_~person#1);" "assume 2 == initPersonOnFloor_~person#1;~personOnFloor_2_2~0 := 1;" "assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1;" "assume !(0 == callOnFloor_~floorID#1);" "assume !(1 == callOnFloor_~floorID#1);" "assume 2 == callOnFloor_~floorID#1;~calls_2~0 := 1;" "havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true;" "havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true;" "havoc angelinaCall_#t~ret118#1, angelinaCall_~tmp~21#1;assume { :end_inline_angelinaCall } true;assume { :begin_inline_threeTS } true;assume { :begin_inline_timeShift } true;havoc timeShift_#t~ret79#1, timeShift_~tmp~14#1;havoc timeShift_~tmp~14#1;assume { :begin_inline___utac_acc__Specification13_spec__1 } true;havoc __utac_acc__Specification13_spec__1_#t~ret129#1;assume { :begin_inline_getCurrentHeading } true;havoc getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~7#1;havoc getCurrentHeading_~retValue_acc~7#1;getCurrentHeading_~retValue_acc~7#1 := ~currentHeading~0;getCurrentHeading_#res#1 := getCurrentHeading_~retValue_acc~7#1;" "__utac_acc__Specification13_spec__1_#t~ret129#1 := getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~7#1;assume { :end_inline_getCurrentHeading } true;~prevDir~0 := __utac_acc__Specification13_spec__1_#t~ret129#1;havoc __utac_acc__Specification13_spec__1_#t~ret129#1;" "havoc __utac_acc__Specification13_spec__1_#t~ret129#1;assume { :end_inline___utac_acc__Specification13_spec__1 } true;assume { :begin_inline_areDoorsOpen } true;havoc areDoorsOpen_#res#1;havoc areDoorsOpen_~retValue_acc~5#1;havoc areDoorsOpen_~retValue_acc~5#1;areDoorsOpen_~retValue_acc~5#1 := ~doorState~0;areDoorsOpen_#res#1 := areDoorsOpen_~retValue_acc~5#1;" "timeShift_#t~ret79#1 := areDoorsOpen_#res#1;havoc areDoorsOpen_~retValue_acc~5#1;assume { :end_inline_areDoorsOpen } true;timeShift_~tmp~14#1 := timeShift_#t~ret79#1;havoc timeShift_#t~ret79#1;" "assume 0 != timeShift_~tmp~14#1;" "assume ~weight~0 > ~maximumWeight~0;~blocked~0 := 1;" "assume { :begin_inline___utac_acc__Specification13_spec__2 } true;havoc __utac_acc__Specification13_spec__2_#t~ret130#1, __utac_acc__Specification13_spec__2_#t~ret131#1, __utac_acc__Specification13_spec__2_#t~ret132#1, __utac_acc__Specification13_spec__2_#t~ret133#1, __utac_acc__Specification13_spec__2_#t~ret134#1, __utac_acc__Specification13_spec__2_#t~ret135#1, __utac_acc__Specification13_spec__2_~tmp~28#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~6#1, __utac_acc__Specification13_spec__2_~__cil_tmp8~7#1;havoc __utac_acc__Specification13_spec__2_~tmp~28#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~6#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp8~7#1;__utac_acc__Specification13_spec__2_~__cil_tmp7~6#1 := 2 * ~maximumWeight~0;__utac_acc__Specification13_spec__2_~__cil_tmp8~7#1 := (if __utac_acc__Specification13_spec__2_~__cil_tmp7~6#1 < 0 && 0 != __utac_acc__Specification13_spec__2_~__cil_tmp7~6#1 % 3 then 1 + __utac_acc__Specification13_spec__2_~__cil_tmp7~6#1 / 3 else __utac_acc__Specification13_spec__2_~__cil_tmp7~6#1 / 3);" "assume ~weight~0 > __utac_acc__Specification13_spec__2_~__cil_tmp8~7#1;" "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~17#1, existInLiftCallsInDirection_~i~0#1, existInLiftCallsInDirection_~i___0~0#1;existInLiftCallsInDirection_~d#1 := existInLiftCallsInDirection_#in~d#1;havoc existInLiftCallsInDirection_~retValue_acc~17#1;havoc existInLiftCallsInDirection_~i~0#1;havoc existInLiftCallsInDirection_~i___0~0#1;" "assume !(1 == existInLiftCallsInDirection_~d#1);" "assume 0 == existInLiftCallsInDirection_~d#1;existInLiftCallsInDirection_~i___0~0#1 := 0;existInLiftCallsInDirection_~i___0~0#1 := ~currentFloorID~0 - 1;" [2025-01-10 07:36:26,471 INFO L754 eck$LassoCheckResult]: Loop: "assume existInLiftCallsInDirection_~i___0~0#1 >= 0;" "existInLiftCallsInDirection_~i___0~0#1 := 1 + ~currentFloorID~0;" "assume !(existInLiftCallsInDirection_~i___0~0#1 < 5);" "existInLiftCallsInDirection_~i___0~0#1 := existInLiftCallsInDirection_~i___0~0#1 - 1;" [2025-01-10 07:36:26,471 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:36:26,472 INFO L85 PathProgramCache]: Analyzing trace with hash -1946841238, now seen corresponding path program 1 times [2025-01-10 07:36:26,472 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:36:26,472 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [160732530] [2025-01-10 07:36:26,472 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-10 07:36:26,472 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:36:26,487 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 51 statements into 1 equivalence classes. [2025-01-10 07:36:26,492 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 51 of 51 statements. [2025-01-10 07:36:26,493 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:36:26,493 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:36:26,551 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-01-10 07:36:26,551 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-10 07:36:26,551 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [160732530] [2025-01-10 07:36:26,551 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [160732530] provided 1 perfect and 0 imperfect interpolant sequences [2025-01-10 07:36:26,551 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-01-10 07:36:26,551 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2025-01-10 07:36:26,552 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1107528812] [2025-01-10 07:36:26,552 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-01-10 07:36:26,552 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-01-10 07:36:26,552 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:36:26,552 INFO L85 PathProgramCache]: Analyzing trace with hash 501106274, now seen corresponding path program 9 times [2025-01-10 07:36:26,552 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:36:26,552 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1181411448] [2025-01-10 07:36:26,553 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2025-01-10 07:36:26,553 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:36:26,561 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 partitioned 4 statements into 1 equivalence classes. [2025-01-10 07:36:26,562 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 1 check-sat command(s) and asserted 4 of 4 statements. [2025-01-10 07:36:26,562 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 1 check-sat command(s) [2025-01-10 07:36:26,562 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:36:26,562 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-01-10 07:36:26,563 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 4 statements into 1 equivalence classes. [2025-01-10 07:36:26,563 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 4 of 4 statements. [2025-01-10 07:36:26,564 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:36:26,564 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:36:26,568 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-01-10 07:36:26,582 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-10 07:36:26,583 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2025-01-10 07:36:26,583 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2025-01-10 07:36:26,583 INFO L87 Difference]: Start difference. First operand 17350 states and 32553 transitions. cyclomatic complexity: 15239 Second operand has 3 states, 3 states have (on average 17.0) internal successors, (51), 2 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) [2025-01-10 07:36:27,323 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-01-10 07:36:27,323 INFO L93 Difference]: Finished difference Result 32822 states and 61700 transitions. [2025-01-10 07:36:27,323 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 32822 states and 61700 transitions. [2025-01-10 07:36:27,461 INFO L131 ngComponentsAnalysis]: Automaton has 66 accepting balls. 6770 [2025-01-10 07:36:27,555 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 32822 states to 32822 states and 61700 transitions. [2025-01-10 07:36:27,556 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 32700 [2025-01-10 07:36:27,581 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 32700 [2025-01-10 07:36:27,581 INFO L73 IsDeterministic]: Start isDeterministic. Operand 32822 states and 61700 transitions. [2025-01-10 07:36:27,583 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-01-10 07:36:27,583 INFO L218 hiAutomatonCegarLoop]: Abstraction has 32822 states and 61700 transitions. [2025-01-10 07:36:27,611 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 32822 states and 61700 transitions. [2025-01-10 07:36:27,904 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 32822 to 27810. [2025-01-10 07:36:27,935 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 27810 states, 27810 states have (on average 1.8774541531823086) internal successors, (52212), 27809 states have internal predecessors, (52212), 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) [2025-01-10 07:36:27,988 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27810 states to 27810 states and 52212 transitions. [2025-01-10 07:36:27,988 INFO L240 hiAutomatonCegarLoop]: Abstraction has 27810 states and 52212 transitions. [2025-01-10 07:36:27,988 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2025-01-10 07:36:27,989 INFO L432 stractBuchiCegarLoop]: Abstraction has 27810 states and 52212 transitions. [2025-01-10 07:36:27,989 INFO L338 stractBuchiCegarLoop]: ======== Iteration 12 ============ [2025-01-10 07:36:27,989 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 27810 states and 52212 transitions. [2025-01-10 07:36:28,081 INFO L131 ngComponentsAnalysis]: Automaton has 66 accepting balls. 6770 [2025-01-10 07:36:28,081 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-01-10 07:36:28,081 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-01-10 07:36:28,082 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] [2025-01-10 07:36:28,082 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1] [2025-01-10 07:36:28,082 INFO L752 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int#0(48, 1, 0, 1);call write~init~int#0(0, 1, 1, 1);call #Ultimate.allocInit(32, 2);call #Ultimate.allocInit(12, 3);call #Ultimate.allocInit(30, 4);call #Ultimate.allocInit(9, 5);call #Ultimate.allocInit(21, 6);call #Ultimate.allocInit(30, 7);call #Ultimate.allocInit(9, 8);call #Ultimate.allocInit(21, 9);call #Ultimate.allocInit(30, 10);call #Ultimate.allocInit(9, 11);call #Ultimate.allocInit(25, 12);call #Ultimate.allocInit(30, 13);call #Ultimate.allocInit(9, 14);call #Ultimate.allocInit(25, 15);call #Ultimate.allocInit(10, 16);call #Ultimate.allocInit(4, 17);call write~init~int#5(91, 17, 0, 1);call write~init~int#5(95, 17, 1, 1);call write~init~int#5(93, 17, 2, 1);call write~init~int#5(0, 17, 3, 1);call #Ultimate.allocInit(4, 18);call write~init~int#6(91, 18, 0, 1);call write~init~int#6(93, 18, 1, 1);call write~init~int#6(32, 18, 2, 1);call write~init~int#6(0, 18, 3, 1);call #Ultimate.allocInit(5, 19);call write~init~int#7(32, 19, 0, 1);call write~init~int#7(97, 19, 1, 1);call write~init~int#7(116, 19, 2, 1);call write~init~int#7(32, 19, 3, 1);call write~init~int#7(0, 19, 4, 1);call #Ultimate.allocInit(3, 20);call write~init~int#8(37, 20, 0, 1);call write~init~int#8(105, 20, 1, 1);call write~init~int#8(0, 20, 2, 1);call #Ultimate.allocInit(10, 21);call #Ultimate.allocInit(3, 22);call write~init~int#9(117, 22, 0, 1);call write~init~int#9(112, 22, 1, 1);call write~init~int#9(0, 22, 2, 1);call #Ultimate.allocInit(5, 23);call write~init~int#10(100, 23, 0, 1);call write~init~int#10(111, 23, 1, 1);call write~init~int#10(119, 23, 2, 1);call write~init~int#10(110, 23, 3, 1);call write~init~int#10(0, 23, 4, 1);call #Ultimate.allocInit(7, 24);call write~init~int#11(32, 24, 0, 1);call write~init~int#11(73, 24, 1, 1);call write~init~int#11(76, 24, 2, 1);call write~init~int#11(95, 24, 3, 1);call write~init~int#11(112, 24, 4, 1);call write~init~int#11(58, 24, 5, 1);call write~init~int#11(0, 24, 6, 1);call #Ultimate.allocInit(4, 25);call write~init~int#12(32, 25, 0, 1);call write~init~int#12(37, 25, 1, 1);call write~init~int#12(105, 25, 2, 1);call write~init~int#12(0, 25, 3, 1);call #Ultimate.allocInit(4, 26);call write~init~int#13(32, 26, 0, 1);call write~init~int#13(37, 26, 1, 1);call write~init~int#13(105, 26, 2, 1);call write~init~int#13(0, 26, 3, 1);call #Ultimate.allocInit(4, 27);call write~init~int#14(32, 27, 0, 1);call write~init~int#14(37, 27, 1, 1);call write~init~int#14(105, 27, 2, 1);call write~init~int#14(0, 27, 3, 1);call #Ultimate.allocInit(4, 28);call write~init~int#15(32, 28, 0, 1);call write~init~int#15(37, 28, 1, 1);call write~init~int#15(105, 28, 2, 1);call write~init~int#15(0, 28, 3, 1);call #Ultimate.allocInit(4, 29);call write~init~int#16(32, 29, 0, 1);call write~init~int#16(37, 29, 1, 1);call write~init~int#16(105, 29, 2, 1);call write~init~int#16(0, 29, 3, 1);call #Ultimate.allocInit(6, 30);call write~init~int#17(32, 30, 0, 1);call write~init~int#17(70, 30, 1, 1);call write~init~int#17(95, 30, 2, 1);call write~init~int#17(112, 30, 3, 1);call write~init~int#17(58, 30, 4, 1);call write~init~int#17(0, 30, 5, 1);call #Ultimate.allocInit(4, 31);call write~init~int#18(32, 31, 0, 1);call write~init~int#18(37, 31, 1, 1);call write~init~int#18(105, 31, 2, 1);call write~init~int#18(0, 31, 3, 1);call #Ultimate.allocInit(4, 32);call write~init~int#19(32, 32, 0, 1);call write~init~int#19(37, 32, 1, 1);call write~init~int#19(105, 32, 2, 1);call write~init~int#19(0, 32, 3, 1);call #Ultimate.allocInit(4, 33);call write~init~int#1(32, 33, 0, 1);call write~init~int#1(37, 33, 1, 1);call write~init~int#1(105, 33, 2, 1);call write~init~int#1(0, 33, 3, 1);call #Ultimate.allocInit(4, 34);call write~init~int#2(32, 34, 0, 1);call write~init~int#2(37, 34, 1, 1);call write~init~int#2(105, 34, 2, 1);call write~init~int#2(0, 34, 3, 1);call #Ultimate.allocInit(4, 35);call write~init~int#3(32, 35, 0, 1);call write~init~int#3(37, 35, 1, 1);call write~init~int#3(105, 35, 2, 1);call write~init~int#3(0, 35, 3, 1);call #Ultimate.allocInit(2, 36);call write~init~int#4(10, 36, 0, 1);call write~init~int#4(0, 36, 1, 1);call #Ultimate.allocInit(9, 37);~head~0.base, ~head~0.offset := 0, 0;~weight~0 := 0;~maximumWeight~0 := 100;~blocked~0 := 0;~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;~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;~prevDir~0 := 0;" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret128#1, main_~retValue_acc~27#1, main_~tmp~27#1;havoc main_~retValue_acc~27#1;havoc main_~tmp~27#1;assume { :begin_inline_select_helpers } true;" "assume { :end_inline_select_helpers } true;assume { :begin_inline_select_features } true;" "assume { :end_inline_select_features } true;assume { :begin_inline_valid_product } true;havoc valid_product_#res#1;havoc valid_product_~retValue_acc~25#1;havoc valid_product_~retValue_acc~25#1;valid_product_~retValue_acc~25#1 := 1;valid_product_#res#1 := valid_product_~retValue_acc~25#1;" "main_#t~ret128#1 := valid_product_#res#1;havoc valid_product_~retValue_acc~25#1;assume { :end_inline_valid_product } true;main_~tmp~27#1 := main_#t~ret128#1;havoc main_#t~ret128#1;" "assume 0 != main_~tmp~27#1;assume { :begin_inline_setup } true;" "assume { :end_inline_setup } true;assume { :begin_inline_runTest } true;assume { :begin_inline_test } true;assume { :begin_inline_aliceCall } true;havoc aliceCall_#t~ret117#1, aliceCall_~tmp~20#1;havoc aliceCall_~tmp~20#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 1;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~22#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~22#1;" "assume !(0 == getOrigin_~person#1);" "assume 1 == getOrigin_~person#1;getOrigin_~retValue_acc~22#1 := 3;getOrigin_#res#1 := getOrigin_~retValue_acc~22#1;" "aliceCall_#t~ret117#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~22#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;aliceCall_~tmp~20#1 := aliceCall_#t~ret117#1;havoc aliceCall_#t~ret117#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 1, aliceCall_~tmp~20#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1;" "assume !(0 == initPersonOnFloor_~floor#1);" "assume !(1 == initPersonOnFloor_~floor#1);" "assume !(2 == initPersonOnFloor_~floor#1);" "assume 3 == initPersonOnFloor_~floor#1;" "assume !(0 == initPersonOnFloor_~person#1);" "assume 1 == initPersonOnFloor_~person#1;~personOnFloor_1_3~0 := 1;" "assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1;" "assume !(0 == callOnFloor_~floorID#1);" "assume !(1 == callOnFloor_~floorID#1);" "assume !(2 == callOnFloor_~floorID#1);" "assume 3 == callOnFloor_~floorID#1;~calls_3~0 := 1;" "havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true;" "havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true;" "havoc aliceCall_#t~ret117#1, aliceCall_~tmp~20#1;assume { :end_inline_aliceCall } true;assume { :begin_inline_angelinaCall } true;havoc angelinaCall_#t~ret118#1, angelinaCall_~tmp~21#1;havoc angelinaCall_~tmp~21#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 2;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~22#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~22#1;" "assume !(0 == getOrigin_~person#1);" "assume !(1 == getOrigin_~person#1);" "assume 2 == getOrigin_~person#1;getOrigin_~retValue_acc~22#1 := 2;getOrigin_#res#1 := getOrigin_~retValue_acc~22#1;" "angelinaCall_#t~ret118#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~22#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;angelinaCall_~tmp~21#1 := angelinaCall_#t~ret118#1;havoc angelinaCall_#t~ret118#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 2, angelinaCall_~tmp~21#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1;" "assume !(0 == initPersonOnFloor_~floor#1);" "assume !(1 == initPersonOnFloor_~floor#1);" "assume 2 == initPersonOnFloor_~floor#1;" "assume !(0 == initPersonOnFloor_~person#1);" "assume !(1 == initPersonOnFloor_~person#1);" "assume 2 == initPersonOnFloor_~person#1;~personOnFloor_2_2~0 := 1;" "assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1;" "assume !(0 == callOnFloor_~floorID#1);" "assume !(1 == callOnFloor_~floorID#1);" "assume 2 == callOnFloor_~floorID#1;~calls_2~0 := 1;" "havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true;" "havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true;" "havoc angelinaCall_#t~ret118#1, angelinaCall_~tmp~21#1;assume { :end_inline_angelinaCall } true;assume { :begin_inline_threeTS } true;assume { :begin_inline_timeShift } true;havoc timeShift_#t~ret79#1, timeShift_~tmp~14#1;havoc timeShift_~tmp~14#1;assume { :begin_inline___utac_acc__Specification13_spec__1 } true;havoc __utac_acc__Specification13_spec__1_#t~ret129#1;assume { :begin_inline_getCurrentHeading } true;havoc getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~7#1;havoc getCurrentHeading_~retValue_acc~7#1;getCurrentHeading_~retValue_acc~7#1 := ~currentHeading~0;getCurrentHeading_#res#1 := getCurrentHeading_~retValue_acc~7#1;" "__utac_acc__Specification13_spec__1_#t~ret129#1 := getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~7#1;assume { :end_inline_getCurrentHeading } true;~prevDir~0 := __utac_acc__Specification13_spec__1_#t~ret129#1;havoc __utac_acc__Specification13_spec__1_#t~ret129#1;" "havoc __utac_acc__Specification13_spec__1_#t~ret129#1;assume { :end_inline___utac_acc__Specification13_spec__1 } true;assume { :begin_inline_areDoorsOpen } true;havoc areDoorsOpen_#res#1;havoc areDoorsOpen_~retValue_acc~5#1;havoc areDoorsOpen_~retValue_acc~5#1;areDoorsOpen_~retValue_acc~5#1 := ~doorState~0;areDoorsOpen_#res#1 := areDoorsOpen_~retValue_acc~5#1;" "timeShift_#t~ret79#1 := areDoorsOpen_#res#1;havoc areDoorsOpen_~retValue_acc~5#1;assume { :end_inline_areDoorsOpen } true;timeShift_~tmp~14#1 := timeShift_#t~ret79#1;havoc timeShift_#t~ret79#1;" "assume !(0 != timeShift_~tmp~14#1);~blocked~0 := 0;assume { :begin_inline_timeShift__wrappee__twothirdsfull } true;havoc timeShift__wrappee__twothirdsfull_#t~ret68#1, timeShift__wrappee__twothirdsfull_#t~ret69#1, timeShift__wrappee__twothirdsfull_#t~ret70#1, timeShift__wrappee__twothirdsfull_#t~ret71#1, timeShift__wrappee__twothirdsfull_#t~ret72#1, timeShift__wrappee__twothirdsfull_#t~ret73#1, timeShift__wrappee__twothirdsfull_#t~ret74#1, timeShift__wrappee__twothirdsfull_#t~ret75#1, timeShift__wrappee__twothirdsfull_#t~ret76#1, timeShift__wrappee__twothirdsfull_#t~ret77#1, timeShift__wrappee__twothirdsfull_#t~ret78#1, timeShift__wrappee__twothirdsfull_~tmp~13#1, timeShift__wrappee__twothirdsfull_~tmp___0~5#1, timeShift__wrappee__twothirdsfull_~tmp___1~3#1, timeShift__wrappee__twothirdsfull_~tmp___2~3#1, timeShift__wrappee__twothirdsfull_~tmp___3~3#1, timeShift__wrappee__twothirdsfull_~tmp___4~2#1, timeShift__wrappee__twothirdsfull_~tmp___5~2#1, timeShift__wrappee__twothirdsfull_~tmp___6~2#1, timeShift__wrappee__twothirdsfull_~tmp___7~2#1, timeShift__wrappee__twothirdsfull_~tmp___8~2#1, timeShift__wrappee__twothirdsfull_~tmp___9~2#1;havoc timeShift__wrappee__twothirdsfull_~tmp~13#1;havoc timeShift__wrappee__twothirdsfull_~tmp___0~5#1;havoc timeShift__wrappee__twothirdsfull_~tmp___1~3#1;havoc timeShift__wrappee__twothirdsfull_~tmp___2~3#1;havoc timeShift__wrappee__twothirdsfull_~tmp___3~3#1;havoc timeShift__wrappee__twothirdsfull_~tmp___4~2#1;havoc timeShift__wrappee__twothirdsfull_~tmp___5~2#1;havoc timeShift__wrappee__twothirdsfull_~tmp___6~2#1;havoc timeShift__wrappee__twothirdsfull_~tmp___7~2#1;havoc timeShift__wrappee__twothirdsfull_~tmp___8~2#1;havoc timeShift__wrappee__twothirdsfull_~tmp___9~2#1;assume { :begin_inline_stopRequestedAtCurrentFloor } true;havoc stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret53#1, stopRequestedAtCurrentFloor_#t~ret54#1, stopRequestedAtCurrentFloor_#t~ret55#1, stopRequestedAtCurrentFloor_~retValue_acc~15#1, stopRequestedAtCurrentFloor_~tmp~11#1, stopRequestedAtCurrentFloor_~tmp___0~3#1, stopRequestedAtCurrentFloor_~__cil_tmp4~2#1, stopRequestedAtCurrentFloor_~__cil_tmp5~4#1;havoc stopRequestedAtCurrentFloor_~retValue_acc~15#1;havoc stopRequestedAtCurrentFloor_~tmp~11#1;havoc stopRequestedAtCurrentFloor_~tmp___0~3#1;havoc stopRequestedAtCurrentFloor_~__cil_tmp4~2#1;havoc stopRequestedAtCurrentFloor_~__cil_tmp5~4#1;stopRequestedAtCurrentFloor_~__cil_tmp4~2#1 := 2 * ~maximumWeight~0;stopRequestedAtCurrentFloor_~__cil_tmp5~4#1 := (if stopRequestedAtCurrentFloor_~__cil_tmp4~2#1 < 0 && 0 != stopRequestedAtCurrentFloor_~__cil_tmp4~2#1 % 3 then 1 + stopRequestedAtCurrentFloor_~__cil_tmp4~2#1 / 3 else stopRequestedAtCurrentFloor_~__cil_tmp4~2#1 / 3);" "assume ~weight~0 > stopRequestedAtCurrentFloor_~__cil_tmp5~4#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~4#1;havoc getCurrentFloorID_~retValue_acc~4#1;getCurrentFloorID_~retValue_acc~4#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~4#1;" "stopRequestedAtCurrentFloor_#t~ret53#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~4#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedAtCurrentFloor_~tmp~11#1 := stopRequestedAtCurrentFloor_#t~ret53#1;havoc stopRequestedAtCurrentFloor_#t~ret53#1;assume { :begin_inline_buttonForFloorIsPressed } true;buttonForFloorIsPressed_#in~floorID#1 := stopRequestedAtCurrentFloor_~tmp~11#1;havoc buttonForFloorIsPressed_#res#1;havoc buttonForFloorIsPressed_~floorID#1, buttonForFloorIsPressed_~retValue_acc~6#1;buttonForFloorIsPressed_~floorID#1 := buttonForFloorIsPressed_#in~floorID#1;havoc buttonForFloorIsPressed_~retValue_acc~6#1;" "assume 0 == buttonForFloorIsPressed_~floorID#1;buttonForFloorIsPressed_~retValue_acc~6#1 := ~floorButtons_0~0;buttonForFloorIsPressed_#res#1 := buttonForFloorIsPressed_~retValue_acc~6#1;" "stopRequestedAtCurrentFloor_#t~ret54#1 := buttonForFloorIsPressed_#res#1;havoc buttonForFloorIsPressed_~floorID#1, buttonForFloorIsPressed_~retValue_acc~6#1;havoc buttonForFloorIsPressed_#in~floorID#1;assume { :end_inline_buttonForFloorIsPressed } true;stopRequestedAtCurrentFloor_~tmp___0~3#1 := stopRequestedAtCurrentFloor_#t~ret54#1;havoc stopRequestedAtCurrentFloor_#t~ret54#1;stopRequestedAtCurrentFloor_~retValue_acc~15#1 := (if 1 == stopRequestedAtCurrentFloor_~tmp___0~3#1 then 1 else 0);stopRequestedAtCurrentFloor_#res#1 := stopRequestedAtCurrentFloor_~retValue_acc~15#1;" "timeShift__wrappee__twothirdsfull_#t~ret68#1 := stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret53#1, stopRequestedAtCurrentFloor_#t~ret54#1, stopRequestedAtCurrentFloor_#t~ret55#1, stopRequestedAtCurrentFloor_~retValue_acc~15#1, stopRequestedAtCurrentFloor_~tmp~11#1, stopRequestedAtCurrentFloor_~tmp___0~3#1, stopRequestedAtCurrentFloor_~__cil_tmp4~2#1, stopRequestedAtCurrentFloor_~__cil_tmp5~4#1;assume { :end_inline_stopRequestedAtCurrentFloor } true;timeShift__wrappee__twothirdsfull_~tmp___9~2#1 := timeShift__wrappee__twothirdsfull_#t~ret68#1;havoc timeShift__wrappee__twothirdsfull_#t~ret68#1;" "assume !(0 != timeShift__wrappee__twothirdsfull_~tmp___9~2#1);" "assume !(1 == ~doorState~0);" "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~ret46#1, stopRequestedInDirection_#t~ret47#1, stopRequestedInDirection_#t~ret48#1, stopRequestedInDirection_#t~ret49#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~12#1, stopRequestedInDirection_~overload~0#1, stopRequestedInDirection_~buttonPressed~0#1, stopRequestedInDirection_~tmp~8#1, stopRequestedInDirection_~__cil_tmp8~5#1, stopRequestedInDirection_~__cil_tmp9~5#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~12#1;havoc stopRequestedInDirection_~overload~0#1;havoc stopRequestedInDirection_~buttonPressed~0#1;havoc stopRequestedInDirection_~tmp~8#1;havoc stopRequestedInDirection_~__cil_tmp8~5#1;havoc stopRequestedInDirection_~__cil_tmp9~5#1;stopRequestedInDirection_~__cil_tmp8~5#1 := 2 * ~maximumWeight~0;stopRequestedInDirection_~__cil_tmp9~5#1 := (if stopRequestedInDirection_~__cil_tmp8~5#1 < 0 && 0 != stopRequestedInDirection_~__cil_tmp8~5#1 % 3 then 1 + stopRequestedInDirection_~__cil_tmp8~5#1 / 3 else stopRequestedInDirection_~__cil_tmp8~5#1 / 3);stopRequestedInDirection_~overload~0#1 := (if ~weight~0 > stopRequestedInDirection_~__cil_tmp9~5#1 then 1 else 0);assume { :begin_inline_isAnyLiftButtonPressed } true;havoc isAnyLiftButtonPressed_#res#1;havoc isAnyLiftButtonPressed_~retValue_acc~13#1;havoc isAnyLiftButtonPressed_~retValue_acc~13#1;" "assume 0 != ~floorButtons_0~0;isAnyLiftButtonPressed_~retValue_acc~13#1 := 1;isAnyLiftButtonPressed_#res#1 := isAnyLiftButtonPressed_~retValue_acc~13#1;" "stopRequestedInDirection_#t~ret46#1 := isAnyLiftButtonPressed_#res#1;havoc isAnyLiftButtonPressed_~retValue_acc~13#1;assume { :end_inline_isAnyLiftButtonPressed } true;stopRequestedInDirection_~tmp~8#1 := stopRequestedInDirection_#t~ret46#1;havoc stopRequestedInDirection_#t~ret46#1;stopRequestedInDirection_~buttonPressed~0#1 := stopRequestedInDirection_~tmp~8#1;" "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~ret35#1, stopRequestedInDirection__wrappee__weight_#t~ret36#1, stopRequestedInDirection__wrappee__weight_#t~ret37#1, stopRequestedInDirection__wrappee__weight_#t~ret38#1, stopRequestedInDirection__wrappee__weight_#t~ret39#1, stopRequestedInDirection__wrappee__weight_#t~ret40#1, stopRequestedInDirection__wrappee__weight_#t~ret41#1, stopRequestedInDirection__wrappee__weight_#t~ret42#1, stopRequestedInDirection__wrappee__weight_#t~ret43#1, stopRequestedInDirection__wrappee__weight_#t~ret44#1, stopRequestedInDirection__wrappee__weight_#t~ret45#1, stopRequestedInDirection__wrappee__weight_~dir#1, stopRequestedInDirection__wrappee__weight_~respectFloorCalls#1, stopRequestedInDirection__wrappee__weight_~respectInLiftCalls#1, stopRequestedInDirection__wrappee__weight_~retValue_acc~11#1, stopRequestedInDirection__wrappee__weight_~tmp~7#1, stopRequestedInDirection__wrappee__weight_~tmp___0~1#1, stopRequestedInDirection__wrappee__weight_~tmp___1~1#1, stopRequestedInDirection__wrappee__weight_~tmp___2~1#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~11#1;havoc stopRequestedInDirection__wrappee__weight_~tmp~7#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___0~1#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___1~1#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___2~1#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;" "assume !(1 == stopRequestedInDirection__wrappee__weight_~dir#1);" "assume 0 == ~currentFloorID~0;stopRequestedInDirection__wrappee__weight_~retValue_acc~11#1 := 0;stopRequestedInDirection__wrappee__weight_#res#1 := stopRequestedInDirection__wrappee__weight_~retValue_acc~11#1;" "stopRequestedInDirection_#t~ret49#1 := stopRequestedInDirection__wrappee__weight_#res#1;havoc stopRequestedInDirection__wrappee__weight_#t~ret35#1, stopRequestedInDirection__wrappee__weight_#t~ret36#1, stopRequestedInDirection__wrappee__weight_#t~ret37#1, stopRequestedInDirection__wrappee__weight_#t~ret38#1, stopRequestedInDirection__wrappee__weight_#t~ret39#1, stopRequestedInDirection__wrappee__weight_#t~ret40#1, stopRequestedInDirection__wrappee__weight_#t~ret41#1, stopRequestedInDirection__wrappee__weight_#t~ret42#1, stopRequestedInDirection__wrappee__weight_#t~ret43#1, stopRequestedInDirection__wrappee__weight_#t~ret44#1, stopRequestedInDirection__wrappee__weight_#t~ret45#1, stopRequestedInDirection__wrappee__weight_~dir#1, stopRequestedInDirection__wrappee__weight_~respectFloorCalls#1, stopRequestedInDirection__wrappee__weight_~respectInLiftCalls#1, stopRequestedInDirection__wrappee__weight_~retValue_acc~11#1, stopRequestedInDirection__wrappee__weight_~tmp~7#1, stopRequestedInDirection__wrappee__weight_~tmp___0~1#1, stopRequestedInDirection__wrappee__weight_~tmp___1~1#1, stopRequestedInDirection__wrappee__weight_~tmp___2~1#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~12#1 := stopRequestedInDirection_#t~ret49#1;havoc stopRequestedInDirection_#t~ret49#1;stopRequestedInDirection_#res#1 := stopRequestedInDirection_~retValue_acc~12#1;" "timeShift__wrappee__twothirdsfull_#t~ret75#1 := stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret46#1, stopRequestedInDirection_#t~ret47#1, stopRequestedInDirection_#t~ret48#1, stopRequestedInDirection_#t~ret49#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~12#1, stopRequestedInDirection_~overload~0#1, stopRequestedInDirection_~buttonPressed~0#1, stopRequestedInDirection_~tmp~8#1, stopRequestedInDirection_~__cil_tmp8~5#1, stopRequestedInDirection_~__cil_tmp9~5#1;havoc stopRequestedInDirection_#in~dir#1, stopRequestedInDirection_#in~respectFloorCalls#1, stopRequestedInDirection_#in~respectInLiftCalls#1;assume { :end_inline_stopRequestedInDirection } true;timeShift__wrappee__twothirdsfull_~tmp___8~2#1 := timeShift__wrappee__twothirdsfull_#t~ret75#1;havoc timeShift__wrappee__twothirdsfull_#t~ret75#1;" "assume 0 != timeShift__wrappee__twothirdsfull_~tmp___8~2#1;assume { :begin_inline_continueInDirection } true;continueInDirection_#in~dir#1 := ~currentHeading~0;havoc continueInDirection_#t~ret50#1, continueInDirection_~dir#1, continueInDirection_~tmp~9#1;continueInDirection_~dir#1 := continueInDirection_#in~dir#1;havoc continueInDirection_~tmp~9#1;~currentHeading~0 := continueInDirection_~dir#1;" "assume !(1 == ~currentHeading~0);" "assume 0 == ~currentFloorID~0;~currentHeading~0 := 1;" "assume !(1 == ~currentHeading~0);~currentFloorID~0 := ~currentFloorID~0 - 1;" "havoc continueInDirection_#t~ret50#1, continueInDirection_~dir#1, continueInDirection_~tmp~9#1;havoc continueInDirection_#in~dir#1;assume { :end_inline_continueInDirection } true;" "havoc timeShift__wrappee__twothirdsfull_#t~ret68#1, timeShift__wrappee__twothirdsfull_#t~ret69#1, timeShift__wrappee__twothirdsfull_#t~ret70#1, timeShift__wrappee__twothirdsfull_#t~ret71#1, timeShift__wrappee__twothirdsfull_#t~ret72#1, timeShift__wrappee__twothirdsfull_#t~ret73#1, timeShift__wrappee__twothirdsfull_#t~ret74#1, timeShift__wrappee__twothirdsfull_#t~ret75#1, timeShift__wrappee__twothirdsfull_#t~ret76#1, timeShift__wrappee__twothirdsfull_#t~ret77#1, timeShift__wrappee__twothirdsfull_#t~ret78#1, timeShift__wrappee__twothirdsfull_~tmp~13#1, timeShift__wrappee__twothirdsfull_~tmp___0~5#1, timeShift__wrappee__twothirdsfull_~tmp___1~3#1, timeShift__wrappee__twothirdsfull_~tmp___2~3#1, timeShift__wrappee__twothirdsfull_~tmp___3~3#1, timeShift__wrappee__twothirdsfull_~tmp___4~2#1, timeShift__wrappee__twothirdsfull_~tmp___5~2#1, timeShift__wrappee__twothirdsfull_~tmp___6~2#1, timeShift__wrappee__twothirdsfull_~tmp___7~2#1, timeShift__wrappee__twothirdsfull_~tmp___8~2#1, timeShift__wrappee__twothirdsfull_~tmp___9~2#1;assume { :end_inline_timeShift__wrappee__twothirdsfull } true;" "assume { :begin_inline___utac_acc__Specification13_spec__2 } true;havoc __utac_acc__Specification13_spec__2_#t~ret130#1, __utac_acc__Specification13_spec__2_#t~ret131#1, __utac_acc__Specification13_spec__2_#t~ret132#1, __utac_acc__Specification13_spec__2_#t~ret133#1, __utac_acc__Specification13_spec__2_#t~ret134#1, __utac_acc__Specification13_spec__2_#t~ret135#1, __utac_acc__Specification13_spec__2_~tmp~28#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~6#1, __utac_acc__Specification13_spec__2_~__cil_tmp8~7#1;havoc __utac_acc__Specification13_spec__2_~tmp~28#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~6#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp8~7#1;__utac_acc__Specification13_spec__2_~__cil_tmp7~6#1 := 2 * ~maximumWeight~0;__utac_acc__Specification13_spec__2_~__cil_tmp8~7#1 := (if __utac_acc__Specification13_spec__2_~__cil_tmp7~6#1 < 0 && 0 != __utac_acc__Specification13_spec__2_~__cil_tmp7~6#1 % 3 then 1 + __utac_acc__Specification13_spec__2_~__cil_tmp7~6#1 / 3 else __utac_acc__Specification13_spec__2_~__cil_tmp7~6#1 / 3);" "assume ~weight~0 > __utac_acc__Specification13_spec__2_~__cil_tmp8~7#1;" "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~17#1, existInLiftCallsInDirection_~i~0#1, existInLiftCallsInDirection_~i___0~0#1;existInLiftCallsInDirection_~d#1 := existInLiftCallsInDirection_#in~d#1;havoc existInLiftCallsInDirection_~retValue_acc~17#1;havoc existInLiftCallsInDirection_~i~0#1;havoc existInLiftCallsInDirection_~i___0~0#1;" "assume !(1 == existInLiftCallsInDirection_~d#1);" "assume 0 == existInLiftCallsInDirection_~d#1;existInLiftCallsInDirection_~i___0~0#1 := 0;existInLiftCallsInDirection_~i___0~0#1 := ~currentFloorID~0 - 1;" [2025-01-10 07:36:28,083 INFO L754 eck$LassoCheckResult]: Loop: "assume existInLiftCallsInDirection_~i___0~0#1 >= 0;" "existInLiftCallsInDirection_~i___0~0#1 := 1 + ~currentFloorID~0;" "assume !(existInLiftCallsInDirection_~i___0~0#1 < 5);" "existInLiftCallsInDirection_~i___0~0#1 := existInLiftCallsInDirection_~i___0~0#1 - 1;" [2025-01-10 07:36:28,083 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:36:28,083 INFO L85 PathProgramCache]: Analyzing trace with hash 1502347493, now seen corresponding path program 1 times [2025-01-10 07:36:28,083 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:36:28,083 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1139102350] [2025-01-10 07:36:28,083 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-10 07:36:28,083 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:36:28,105 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 71 statements into 1 equivalence classes. [2025-01-10 07:36:28,111 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 71 of 71 statements. [2025-01-10 07:36:28,112 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:36:28,112 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:36:28,338 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-01-10 07:36:28,338 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-10 07:36:28,338 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1139102350] [2025-01-10 07:36:28,338 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1139102350] provided 1 perfect and 0 imperfect interpolant sequences [2025-01-10 07:36:28,338 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-01-10 07:36:28,338 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2025-01-10 07:36:28,338 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [913837358] [2025-01-10 07:36:28,339 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-01-10 07:36:28,339 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-01-10 07:36:28,339 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:36:28,339 INFO L85 PathProgramCache]: Analyzing trace with hash 501106274, now seen corresponding path program 10 times [2025-01-10 07:36:28,339 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:36:28,339 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2025741535] [2025-01-10 07:36:28,339 INFO L95 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2025-01-10 07:36:28,339 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:36:28,348 INFO L108 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST partitioned 4 statements into 2 equivalence classes. [2025-01-10 07:36:28,349 INFO L111 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 2 check-sat command(s) and asserted 4 of 4 statements. [2025-01-10 07:36:28,349 INFO L114 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 2 check-sat command(s) [2025-01-10 07:36:28,349 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:36:28,349 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-01-10 07:36:28,349 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 4 statements into 1 equivalence classes. [2025-01-10 07:36:28,350 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 4 of 4 statements. [2025-01-10 07:36:28,350 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:36:28,350 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:36:28,356 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-01-10 07:36:28,372 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-10 07:36:28,372 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2025-01-10 07:36:28,373 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=14, Invalid=42, Unknown=0, NotChecked=0, Total=56 [2025-01-10 07:36:28,373 INFO L87 Difference]: Start difference. First operand 27810 states and 52212 transitions. cyclomatic complexity: 24474 Second operand has 8 states, 8 states have (on average 8.875) internal successors, (71), 7 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) [2025-01-10 07:36:28,854 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-01-10 07:36:28,854 INFO L93 Difference]: Finished difference Result 26830 states and 50062 transitions. [2025-01-10 07:36:28,854 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 26830 states and 50062 transitions. [2025-01-10 07:36:28,944 INFO L131 ngComponentsAnalysis]: Automaton has 122 accepting balls. 7966 [2025-01-10 07:36:29,014 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 26830 states to 26830 states and 50062 transitions. [2025-01-10 07:36:29,015 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 26647 [2025-01-10 07:36:29,035 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 26647 [2025-01-10 07:36:29,035 INFO L73 IsDeterministic]: Start isDeterministic. Operand 26830 states and 50062 transitions. [2025-01-10 07:36:29,051 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-01-10 07:36:29,051 INFO L218 hiAutomatonCegarLoop]: Abstraction has 26830 states and 50062 transitions. [2025-01-10 07:36:29,073 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 26830 states and 50062 transitions. [2025-01-10 07:36:29,420 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 26830 to 26830. [2025-01-10 07:36:29,448 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 26830 states, 26830 states have (on average 1.8658963846440553) internal successors, (50062), 26829 states have internal predecessors, (50062), 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) [2025-01-10 07:36:29,490 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26830 states to 26830 states and 50062 transitions. [2025-01-10 07:36:29,490 INFO L240 hiAutomatonCegarLoop]: Abstraction has 26830 states and 50062 transitions. [2025-01-10 07:36:29,491 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2025-01-10 07:36:29,492 INFO L432 stractBuchiCegarLoop]: Abstraction has 26830 states and 50062 transitions. [2025-01-10 07:36:29,492 INFO L338 stractBuchiCegarLoop]: ======== Iteration 13 ============ [2025-01-10 07:36:29,492 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 26830 states and 50062 transitions. [2025-01-10 07:36:29,556 INFO L131 ngComponentsAnalysis]: Automaton has 122 accepting balls. 7966 [2025-01-10 07:36:29,556 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-01-10 07:36:29,556 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-01-10 07:36:29,557 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] [2025-01-10 07:36:29,557 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1] [2025-01-10 07:36:29,557 INFO L752 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int#0(48, 1, 0, 1);call write~init~int#0(0, 1, 1, 1);call #Ultimate.allocInit(32, 2);call #Ultimate.allocInit(12, 3);call #Ultimate.allocInit(30, 4);call #Ultimate.allocInit(9, 5);call #Ultimate.allocInit(21, 6);call #Ultimate.allocInit(30, 7);call #Ultimate.allocInit(9, 8);call #Ultimate.allocInit(21, 9);call #Ultimate.allocInit(30, 10);call #Ultimate.allocInit(9, 11);call #Ultimate.allocInit(25, 12);call #Ultimate.allocInit(30, 13);call #Ultimate.allocInit(9, 14);call #Ultimate.allocInit(25, 15);call #Ultimate.allocInit(10, 16);call #Ultimate.allocInit(4, 17);call write~init~int#5(91, 17, 0, 1);call write~init~int#5(95, 17, 1, 1);call write~init~int#5(93, 17, 2, 1);call write~init~int#5(0, 17, 3, 1);call #Ultimate.allocInit(4, 18);call write~init~int#6(91, 18, 0, 1);call write~init~int#6(93, 18, 1, 1);call write~init~int#6(32, 18, 2, 1);call write~init~int#6(0, 18, 3, 1);call #Ultimate.allocInit(5, 19);call write~init~int#7(32, 19, 0, 1);call write~init~int#7(97, 19, 1, 1);call write~init~int#7(116, 19, 2, 1);call write~init~int#7(32, 19, 3, 1);call write~init~int#7(0, 19, 4, 1);call #Ultimate.allocInit(3, 20);call write~init~int#8(37, 20, 0, 1);call write~init~int#8(105, 20, 1, 1);call write~init~int#8(0, 20, 2, 1);call #Ultimate.allocInit(10, 21);call #Ultimate.allocInit(3, 22);call write~init~int#9(117, 22, 0, 1);call write~init~int#9(112, 22, 1, 1);call write~init~int#9(0, 22, 2, 1);call #Ultimate.allocInit(5, 23);call write~init~int#10(100, 23, 0, 1);call write~init~int#10(111, 23, 1, 1);call write~init~int#10(119, 23, 2, 1);call write~init~int#10(110, 23, 3, 1);call write~init~int#10(0, 23, 4, 1);call #Ultimate.allocInit(7, 24);call write~init~int#11(32, 24, 0, 1);call write~init~int#11(73, 24, 1, 1);call write~init~int#11(76, 24, 2, 1);call write~init~int#11(95, 24, 3, 1);call write~init~int#11(112, 24, 4, 1);call write~init~int#11(58, 24, 5, 1);call write~init~int#11(0, 24, 6, 1);call #Ultimate.allocInit(4, 25);call write~init~int#12(32, 25, 0, 1);call write~init~int#12(37, 25, 1, 1);call write~init~int#12(105, 25, 2, 1);call write~init~int#12(0, 25, 3, 1);call #Ultimate.allocInit(4, 26);call write~init~int#13(32, 26, 0, 1);call write~init~int#13(37, 26, 1, 1);call write~init~int#13(105, 26, 2, 1);call write~init~int#13(0, 26, 3, 1);call #Ultimate.allocInit(4, 27);call write~init~int#14(32, 27, 0, 1);call write~init~int#14(37, 27, 1, 1);call write~init~int#14(105, 27, 2, 1);call write~init~int#14(0, 27, 3, 1);call #Ultimate.allocInit(4, 28);call write~init~int#15(32, 28, 0, 1);call write~init~int#15(37, 28, 1, 1);call write~init~int#15(105, 28, 2, 1);call write~init~int#15(0, 28, 3, 1);call #Ultimate.allocInit(4, 29);call write~init~int#16(32, 29, 0, 1);call write~init~int#16(37, 29, 1, 1);call write~init~int#16(105, 29, 2, 1);call write~init~int#16(0, 29, 3, 1);call #Ultimate.allocInit(6, 30);call write~init~int#17(32, 30, 0, 1);call write~init~int#17(70, 30, 1, 1);call write~init~int#17(95, 30, 2, 1);call write~init~int#17(112, 30, 3, 1);call write~init~int#17(58, 30, 4, 1);call write~init~int#17(0, 30, 5, 1);call #Ultimate.allocInit(4, 31);call write~init~int#18(32, 31, 0, 1);call write~init~int#18(37, 31, 1, 1);call write~init~int#18(105, 31, 2, 1);call write~init~int#18(0, 31, 3, 1);call #Ultimate.allocInit(4, 32);call write~init~int#19(32, 32, 0, 1);call write~init~int#19(37, 32, 1, 1);call write~init~int#19(105, 32, 2, 1);call write~init~int#19(0, 32, 3, 1);call #Ultimate.allocInit(4, 33);call write~init~int#1(32, 33, 0, 1);call write~init~int#1(37, 33, 1, 1);call write~init~int#1(105, 33, 2, 1);call write~init~int#1(0, 33, 3, 1);call #Ultimate.allocInit(4, 34);call write~init~int#2(32, 34, 0, 1);call write~init~int#2(37, 34, 1, 1);call write~init~int#2(105, 34, 2, 1);call write~init~int#2(0, 34, 3, 1);call #Ultimate.allocInit(4, 35);call write~init~int#3(32, 35, 0, 1);call write~init~int#3(37, 35, 1, 1);call write~init~int#3(105, 35, 2, 1);call write~init~int#3(0, 35, 3, 1);call #Ultimate.allocInit(2, 36);call write~init~int#4(10, 36, 0, 1);call write~init~int#4(0, 36, 1, 1);call #Ultimate.allocInit(9, 37);~head~0.base, ~head~0.offset := 0, 0;~weight~0 := 0;~maximumWeight~0 := 100;~blocked~0 := 0;~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;~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;~prevDir~0 := 0;" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret128#1, main_~retValue_acc~27#1, main_~tmp~27#1;havoc main_~retValue_acc~27#1;havoc main_~tmp~27#1;assume { :begin_inline_select_helpers } true;" "assume { :end_inline_select_helpers } true;assume { :begin_inline_select_features } true;" "assume { :end_inline_select_features } true;assume { :begin_inline_valid_product } true;havoc valid_product_#res#1;havoc valid_product_~retValue_acc~25#1;havoc valid_product_~retValue_acc~25#1;valid_product_~retValue_acc~25#1 := 1;valid_product_#res#1 := valid_product_~retValue_acc~25#1;" "main_#t~ret128#1 := valid_product_#res#1;havoc valid_product_~retValue_acc~25#1;assume { :end_inline_valid_product } true;main_~tmp~27#1 := main_#t~ret128#1;havoc main_#t~ret128#1;" "assume 0 != main_~tmp~27#1;assume { :begin_inline_setup } true;" "assume { :end_inline_setup } true;assume { :begin_inline_runTest } true;assume { :begin_inline_test } true;assume { :begin_inline_aliceCall } true;havoc aliceCall_#t~ret117#1, aliceCall_~tmp~20#1;havoc aliceCall_~tmp~20#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 1;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~22#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~22#1;" "assume !(0 == getOrigin_~person#1);" "assume 1 == getOrigin_~person#1;getOrigin_~retValue_acc~22#1 := 3;getOrigin_#res#1 := getOrigin_~retValue_acc~22#1;" "aliceCall_#t~ret117#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~22#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;aliceCall_~tmp~20#1 := aliceCall_#t~ret117#1;havoc aliceCall_#t~ret117#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 1, aliceCall_~tmp~20#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1;" "assume !(0 == initPersonOnFloor_~floor#1);" "assume !(1 == initPersonOnFloor_~floor#1);" "assume !(2 == initPersonOnFloor_~floor#1);" "assume 3 == initPersonOnFloor_~floor#1;" "assume !(0 == initPersonOnFloor_~person#1);" "assume 1 == initPersonOnFloor_~person#1;~personOnFloor_1_3~0 := 1;" "assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1;" "assume !(0 == callOnFloor_~floorID#1);" "assume !(1 == callOnFloor_~floorID#1);" "assume !(2 == callOnFloor_~floorID#1);" "assume 3 == callOnFloor_~floorID#1;~calls_3~0 := 1;" "havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true;" "havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true;" "havoc aliceCall_#t~ret117#1, aliceCall_~tmp~20#1;assume { :end_inline_aliceCall } true;assume { :begin_inline_angelinaCall } true;havoc angelinaCall_#t~ret118#1, angelinaCall_~tmp~21#1;havoc angelinaCall_~tmp~21#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 2;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~22#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~22#1;" "assume !(0 == getOrigin_~person#1);" "assume !(1 == getOrigin_~person#1);" "assume 2 == getOrigin_~person#1;getOrigin_~retValue_acc~22#1 := 2;getOrigin_#res#1 := getOrigin_~retValue_acc~22#1;" "angelinaCall_#t~ret118#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~22#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;angelinaCall_~tmp~21#1 := angelinaCall_#t~ret118#1;havoc angelinaCall_#t~ret118#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 2, angelinaCall_~tmp~21#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1;" "assume !(0 == initPersonOnFloor_~floor#1);" "assume !(1 == initPersonOnFloor_~floor#1);" "assume 2 == initPersonOnFloor_~floor#1;" "assume !(0 == initPersonOnFloor_~person#1);" "assume !(1 == initPersonOnFloor_~person#1);" "assume 2 == initPersonOnFloor_~person#1;~personOnFloor_2_2~0 := 1;" "assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1;" "assume !(0 == callOnFloor_~floorID#1);" "assume !(1 == callOnFloor_~floorID#1);" "assume 2 == callOnFloor_~floorID#1;~calls_2~0 := 1;" "havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true;" "havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true;" "havoc angelinaCall_#t~ret118#1, angelinaCall_~tmp~21#1;assume { :end_inline_angelinaCall } true;assume { :begin_inline_threeTS } true;assume { :begin_inline_timeShift } true;havoc timeShift_#t~ret79#1, timeShift_~tmp~14#1;havoc timeShift_~tmp~14#1;assume { :begin_inline___utac_acc__Specification13_spec__1 } true;havoc __utac_acc__Specification13_spec__1_#t~ret129#1;assume { :begin_inline_getCurrentHeading } true;havoc getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~7#1;havoc getCurrentHeading_~retValue_acc~7#1;getCurrentHeading_~retValue_acc~7#1 := ~currentHeading~0;getCurrentHeading_#res#1 := getCurrentHeading_~retValue_acc~7#1;" "__utac_acc__Specification13_spec__1_#t~ret129#1 := getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~7#1;assume { :end_inline_getCurrentHeading } true;~prevDir~0 := __utac_acc__Specification13_spec__1_#t~ret129#1;havoc __utac_acc__Specification13_spec__1_#t~ret129#1;" "havoc __utac_acc__Specification13_spec__1_#t~ret129#1;assume { :end_inline___utac_acc__Specification13_spec__1 } true;assume { :begin_inline_areDoorsOpen } true;havoc areDoorsOpen_#res#1;havoc areDoorsOpen_~retValue_acc~5#1;havoc areDoorsOpen_~retValue_acc~5#1;areDoorsOpen_~retValue_acc~5#1 := ~doorState~0;areDoorsOpen_#res#1 := areDoorsOpen_~retValue_acc~5#1;" "timeShift_#t~ret79#1 := areDoorsOpen_#res#1;havoc areDoorsOpen_~retValue_acc~5#1;assume { :end_inline_areDoorsOpen } true;timeShift_~tmp~14#1 := timeShift_#t~ret79#1;havoc timeShift_#t~ret79#1;" "assume 0 != timeShift_~tmp~14#1;" "assume !(~weight~0 > ~maximumWeight~0);~blocked~0 := 0;assume { :begin_inline_timeShift__wrappee__twothirdsfull } true;havoc timeShift__wrappee__twothirdsfull_#t~ret68#1, timeShift__wrappee__twothirdsfull_#t~ret69#1, timeShift__wrappee__twothirdsfull_#t~ret70#1, timeShift__wrappee__twothirdsfull_#t~ret71#1, timeShift__wrappee__twothirdsfull_#t~ret72#1, timeShift__wrappee__twothirdsfull_#t~ret73#1, timeShift__wrappee__twothirdsfull_#t~ret74#1, timeShift__wrappee__twothirdsfull_#t~ret75#1, timeShift__wrappee__twothirdsfull_#t~ret76#1, timeShift__wrappee__twothirdsfull_#t~ret77#1, timeShift__wrappee__twothirdsfull_#t~ret78#1, timeShift__wrappee__twothirdsfull_~tmp~13#1, timeShift__wrappee__twothirdsfull_~tmp___0~5#1, timeShift__wrappee__twothirdsfull_~tmp___1~3#1, timeShift__wrappee__twothirdsfull_~tmp___2~3#1, timeShift__wrappee__twothirdsfull_~tmp___3~3#1, timeShift__wrappee__twothirdsfull_~tmp___4~2#1, timeShift__wrappee__twothirdsfull_~tmp___5~2#1, timeShift__wrappee__twothirdsfull_~tmp___6~2#1, timeShift__wrappee__twothirdsfull_~tmp___7~2#1, timeShift__wrappee__twothirdsfull_~tmp___8~2#1, timeShift__wrappee__twothirdsfull_~tmp___9~2#1;havoc timeShift__wrappee__twothirdsfull_~tmp~13#1;havoc timeShift__wrappee__twothirdsfull_~tmp___0~5#1;havoc timeShift__wrappee__twothirdsfull_~tmp___1~3#1;havoc timeShift__wrappee__twothirdsfull_~tmp___2~3#1;havoc timeShift__wrappee__twothirdsfull_~tmp___3~3#1;havoc timeShift__wrappee__twothirdsfull_~tmp___4~2#1;havoc timeShift__wrappee__twothirdsfull_~tmp___5~2#1;havoc timeShift__wrappee__twothirdsfull_~tmp___6~2#1;havoc timeShift__wrappee__twothirdsfull_~tmp___7~2#1;havoc timeShift__wrappee__twothirdsfull_~tmp___8~2#1;havoc timeShift__wrappee__twothirdsfull_~tmp___9~2#1;assume { :begin_inline_stopRequestedAtCurrentFloor } true;havoc stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret53#1, stopRequestedAtCurrentFloor_#t~ret54#1, stopRequestedAtCurrentFloor_#t~ret55#1, stopRequestedAtCurrentFloor_~retValue_acc~15#1, stopRequestedAtCurrentFloor_~tmp~11#1, stopRequestedAtCurrentFloor_~tmp___0~3#1, stopRequestedAtCurrentFloor_~__cil_tmp4~2#1, stopRequestedAtCurrentFloor_~__cil_tmp5~4#1;havoc stopRequestedAtCurrentFloor_~retValue_acc~15#1;havoc stopRequestedAtCurrentFloor_~tmp~11#1;havoc stopRequestedAtCurrentFloor_~tmp___0~3#1;havoc stopRequestedAtCurrentFloor_~__cil_tmp4~2#1;havoc stopRequestedAtCurrentFloor_~__cil_tmp5~4#1;stopRequestedAtCurrentFloor_~__cil_tmp4~2#1 := 2 * ~maximumWeight~0;stopRequestedAtCurrentFloor_~__cil_tmp5~4#1 := (if stopRequestedAtCurrentFloor_~__cil_tmp4~2#1 < 0 && 0 != stopRequestedAtCurrentFloor_~__cil_tmp4~2#1 % 3 then 1 + stopRequestedAtCurrentFloor_~__cil_tmp4~2#1 / 3 else stopRequestedAtCurrentFloor_~__cil_tmp4~2#1 / 3);" "assume ~weight~0 > stopRequestedAtCurrentFloor_~__cil_tmp5~4#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~4#1;havoc getCurrentFloorID_~retValue_acc~4#1;getCurrentFloorID_~retValue_acc~4#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~4#1;" "stopRequestedAtCurrentFloor_#t~ret53#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~4#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedAtCurrentFloor_~tmp~11#1 := stopRequestedAtCurrentFloor_#t~ret53#1;havoc stopRequestedAtCurrentFloor_#t~ret53#1;assume { :begin_inline_buttonForFloorIsPressed } true;buttonForFloorIsPressed_#in~floorID#1 := stopRequestedAtCurrentFloor_~tmp~11#1;havoc buttonForFloorIsPressed_#res#1;havoc buttonForFloorIsPressed_~floorID#1, buttonForFloorIsPressed_~retValue_acc~6#1;buttonForFloorIsPressed_~floorID#1 := buttonForFloorIsPressed_#in~floorID#1;havoc buttonForFloorIsPressed_~retValue_acc~6#1;" "assume 0 == buttonForFloorIsPressed_~floorID#1;buttonForFloorIsPressed_~retValue_acc~6#1 := ~floorButtons_0~0;buttonForFloorIsPressed_#res#1 := buttonForFloorIsPressed_~retValue_acc~6#1;" "stopRequestedAtCurrentFloor_#t~ret54#1 := buttonForFloorIsPressed_#res#1;havoc buttonForFloorIsPressed_~floorID#1, buttonForFloorIsPressed_~retValue_acc~6#1;havoc buttonForFloorIsPressed_#in~floorID#1;assume { :end_inline_buttonForFloorIsPressed } true;stopRequestedAtCurrentFloor_~tmp___0~3#1 := stopRequestedAtCurrentFloor_#t~ret54#1;havoc stopRequestedAtCurrentFloor_#t~ret54#1;stopRequestedAtCurrentFloor_~retValue_acc~15#1 := (if 1 == stopRequestedAtCurrentFloor_~tmp___0~3#1 then 1 else 0);stopRequestedAtCurrentFloor_#res#1 := stopRequestedAtCurrentFloor_~retValue_acc~15#1;" "timeShift__wrappee__twothirdsfull_#t~ret68#1 := stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret53#1, stopRequestedAtCurrentFloor_#t~ret54#1, stopRequestedAtCurrentFloor_#t~ret55#1, stopRequestedAtCurrentFloor_~retValue_acc~15#1, stopRequestedAtCurrentFloor_~tmp~11#1, stopRequestedAtCurrentFloor_~tmp___0~3#1, stopRequestedAtCurrentFloor_~__cil_tmp4~2#1, stopRequestedAtCurrentFloor_~__cil_tmp5~4#1;assume { :end_inline_stopRequestedAtCurrentFloor } true;timeShift__wrappee__twothirdsfull_~tmp___9~2#1 := timeShift__wrappee__twothirdsfull_#t~ret68#1;havoc timeShift__wrappee__twothirdsfull_#t~ret68#1;" "assume !(0 != timeShift__wrappee__twothirdsfull_~tmp___9~2#1);" "assume 1 == ~doorState~0;~doorState~0 := 0;" "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~ret46#1, stopRequestedInDirection_#t~ret47#1, stopRequestedInDirection_#t~ret48#1, stopRequestedInDirection_#t~ret49#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~12#1, stopRequestedInDirection_~overload~0#1, stopRequestedInDirection_~buttonPressed~0#1, stopRequestedInDirection_~tmp~8#1, stopRequestedInDirection_~__cil_tmp8~5#1, stopRequestedInDirection_~__cil_tmp9~5#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~12#1;havoc stopRequestedInDirection_~overload~0#1;havoc stopRequestedInDirection_~buttonPressed~0#1;havoc stopRequestedInDirection_~tmp~8#1;havoc stopRequestedInDirection_~__cil_tmp8~5#1;havoc stopRequestedInDirection_~__cil_tmp9~5#1;stopRequestedInDirection_~__cil_tmp8~5#1 := 2 * ~maximumWeight~0;stopRequestedInDirection_~__cil_tmp9~5#1 := (if stopRequestedInDirection_~__cil_tmp8~5#1 < 0 && 0 != stopRequestedInDirection_~__cil_tmp8~5#1 % 3 then 1 + stopRequestedInDirection_~__cil_tmp8~5#1 / 3 else stopRequestedInDirection_~__cil_tmp8~5#1 / 3);stopRequestedInDirection_~overload~0#1 := (if ~weight~0 > stopRequestedInDirection_~__cil_tmp9~5#1 then 1 else 0);assume { :begin_inline_isAnyLiftButtonPressed } true;havoc isAnyLiftButtonPressed_#res#1;havoc isAnyLiftButtonPressed_~retValue_acc~13#1;havoc isAnyLiftButtonPressed_~retValue_acc~13#1;" "assume 0 != ~floorButtons_0~0;isAnyLiftButtonPressed_~retValue_acc~13#1 := 1;isAnyLiftButtonPressed_#res#1 := isAnyLiftButtonPressed_~retValue_acc~13#1;" "stopRequestedInDirection_#t~ret46#1 := isAnyLiftButtonPressed_#res#1;havoc isAnyLiftButtonPressed_~retValue_acc~13#1;assume { :end_inline_isAnyLiftButtonPressed } true;stopRequestedInDirection_~tmp~8#1 := stopRequestedInDirection_#t~ret46#1;havoc stopRequestedInDirection_#t~ret46#1;stopRequestedInDirection_~buttonPressed~0#1 := stopRequestedInDirection_~tmp~8#1;" "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~ret35#1, stopRequestedInDirection__wrappee__weight_#t~ret36#1, stopRequestedInDirection__wrappee__weight_#t~ret37#1, stopRequestedInDirection__wrappee__weight_#t~ret38#1, stopRequestedInDirection__wrappee__weight_#t~ret39#1, stopRequestedInDirection__wrappee__weight_#t~ret40#1, stopRequestedInDirection__wrappee__weight_#t~ret41#1, stopRequestedInDirection__wrappee__weight_#t~ret42#1, stopRequestedInDirection__wrappee__weight_#t~ret43#1, stopRequestedInDirection__wrappee__weight_#t~ret44#1, stopRequestedInDirection__wrappee__weight_#t~ret45#1, stopRequestedInDirection__wrappee__weight_~dir#1, stopRequestedInDirection__wrappee__weight_~respectFloorCalls#1, stopRequestedInDirection__wrappee__weight_~respectInLiftCalls#1, stopRequestedInDirection__wrappee__weight_~retValue_acc~11#1, stopRequestedInDirection__wrappee__weight_~tmp~7#1, stopRequestedInDirection__wrappee__weight_~tmp___0~1#1, stopRequestedInDirection__wrappee__weight_~tmp___1~1#1, stopRequestedInDirection__wrappee__weight_~tmp___2~1#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~11#1;havoc stopRequestedInDirection__wrappee__weight_~tmp~7#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___0~1#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___1~1#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___2~1#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;" "assume !(1 == stopRequestedInDirection__wrappee__weight_~dir#1);" "assume 0 == ~currentFloorID~0;stopRequestedInDirection__wrappee__weight_~retValue_acc~11#1 := 0;stopRequestedInDirection__wrappee__weight_#res#1 := stopRequestedInDirection__wrappee__weight_~retValue_acc~11#1;" "stopRequestedInDirection_#t~ret49#1 := stopRequestedInDirection__wrappee__weight_#res#1;havoc stopRequestedInDirection__wrappee__weight_#t~ret35#1, stopRequestedInDirection__wrappee__weight_#t~ret36#1, stopRequestedInDirection__wrappee__weight_#t~ret37#1, stopRequestedInDirection__wrappee__weight_#t~ret38#1, stopRequestedInDirection__wrappee__weight_#t~ret39#1, stopRequestedInDirection__wrappee__weight_#t~ret40#1, stopRequestedInDirection__wrappee__weight_#t~ret41#1, stopRequestedInDirection__wrappee__weight_#t~ret42#1, stopRequestedInDirection__wrappee__weight_#t~ret43#1, stopRequestedInDirection__wrappee__weight_#t~ret44#1, stopRequestedInDirection__wrappee__weight_#t~ret45#1, stopRequestedInDirection__wrappee__weight_~dir#1, stopRequestedInDirection__wrappee__weight_~respectFloorCalls#1, stopRequestedInDirection__wrappee__weight_~respectInLiftCalls#1, stopRequestedInDirection__wrappee__weight_~retValue_acc~11#1, stopRequestedInDirection__wrappee__weight_~tmp~7#1, stopRequestedInDirection__wrappee__weight_~tmp___0~1#1, stopRequestedInDirection__wrappee__weight_~tmp___1~1#1, stopRequestedInDirection__wrappee__weight_~tmp___2~1#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~12#1 := stopRequestedInDirection_#t~ret49#1;havoc stopRequestedInDirection_#t~ret49#1;stopRequestedInDirection_#res#1 := stopRequestedInDirection_~retValue_acc~12#1;" "timeShift__wrappee__twothirdsfull_#t~ret75#1 := stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret46#1, stopRequestedInDirection_#t~ret47#1, stopRequestedInDirection_#t~ret48#1, stopRequestedInDirection_#t~ret49#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~12#1, stopRequestedInDirection_~overload~0#1, stopRequestedInDirection_~buttonPressed~0#1, stopRequestedInDirection_~tmp~8#1, stopRequestedInDirection_~__cil_tmp8~5#1, stopRequestedInDirection_~__cil_tmp9~5#1;havoc stopRequestedInDirection_#in~dir#1, stopRequestedInDirection_#in~respectFloorCalls#1, stopRequestedInDirection_#in~respectInLiftCalls#1;assume { :end_inline_stopRequestedInDirection } true;timeShift__wrappee__twothirdsfull_~tmp___8~2#1 := timeShift__wrappee__twothirdsfull_#t~ret75#1;havoc timeShift__wrappee__twothirdsfull_#t~ret75#1;" "assume 0 != timeShift__wrappee__twothirdsfull_~tmp___8~2#1;assume { :begin_inline_continueInDirection } true;continueInDirection_#in~dir#1 := ~currentHeading~0;havoc continueInDirection_#t~ret50#1, continueInDirection_~dir#1, continueInDirection_~tmp~9#1;continueInDirection_~dir#1 := continueInDirection_#in~dir#1;havoc continueInDirection_~tmp~9#1;~currentHeading~0 := continueInDirection_~dir#1;" "assume !(1 == ~currentHeading~0);" "assume !(0 == ~currentFloorID~0);" "assume !(1 == ~currentHeading~0);~currentFloorID~0 := ~currentFloorID~0 - 1;" "havoc continueInDirection_#t~ret50#1, continueInDirection_~dir#1, continueInDirection_~tmp~9#1;havoc continueInDirection_#in~dir#1;assume { :end_inline_continueInDirection } true;" "havoc timeShift__wrappee__twothirdsfull_#t~ret68#1, timeShift__wrappee__twothirdsfull_#t~ret69#1, timeShift__wrappee__twothirdsfull_#t~ret70#1, timeShift__wrappee__twothirdsfull_#t~ret71#1, timeShift__wrappee__twothirdsfull_#t~ret72#1, timeShift__wrappee__twothirdsfull_#t~ret73#1, timeShift__wrappee__twothirdsfull_#t~ret74#1, timeShift__wrappee__twothirdsfull_#t~ret75#1, timeShift__wrappee__twothirdsfull_#t~ret76#1, timeShift__wrappee__twothirdsfull_#t~ret77#1, timeShift__wrappee__twothirdsfull_#t~ret78#1, timeShift__wrappee__twothirdsfull_~tmp~13#1, timeShift__wrappee__twothirdsfull_~tmp___0~5#1, timeShift__wrappee__twothirdsfull_~tmp___1~3#1, timeShift__wrappee__twothirdsfull_~tmp___2~3#1, timeShift__wrappee__twothirdsfull_~tmp___3~3#1, timeShift__wrappee__twothirdsfull_~tmp___4~2#1, timeShift__wrappee__twothirdsfull_~tmp___5~2#1, timeShift__wrappee__twothirdsfull_~tmp___6~2#1, timeShift__wrappee__twothirdsfull_~tmp___7~2#1, timeShift__wrappee__twothirdsfull_~tmp___8~2#1, timeShift__wrappee__twothirdsfull_~tmp___9~2#1;assume { :end_inline_timeShift__wrappee__twothirdsfull } true;" "assume { :begin_inline___utac_acc__Specification13_spec__2 } true;havoc __utac_acc__Specification13_spec__2_#t~ret130#1, __utac_acc__Specification13_spec__2_#t~ret131#1, __utac_acc__Specification13_spec__2_#t~ret132#1, __utac_acc__Specification13_spec__2_#t~ret133#1, __utac_acc__Specification13_spec__2_#t~ret134#1, __utac_acc__Specification13_spec__2_#t~ret135#1, __utac_acc__Specification13_spec__2_~tmp~28#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~6#1, __utac_acc__Specification13_spec__2_~__cil_tmp8~7#1;havoc __utac_acc__Specification13_spec__2_~tmp~28#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~6#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp8~7#1;__utac_acc__Specification13_spec__2_~__cil_tmp7~6#1 := 2 * ~maximumWeight~0;__utac_acc__Specification13_spec__2_~__cil_tmp8~7#1 := (if __utac_acc__Specification13_spec__2_~__cil_tmp7~6#1 < 0 && 0 != __utac_acc__Specification13_spec__2_~__cil_tmp7~6#1 % 3 then 1 + __utac_acc__Specification13_spec__2_~__cil_tmp7~6#1 / 3 else __utac_acc__Specification13_spec__2_~__cil_tmp7~6#1 / 3);" "assume ~weight~0 > __utac_acc__Specification13_spec__2_~__cil_tmp8~7#1;" "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~17#1, existInLiftCallsInDirection_~i~0#1, existInLiftCallsInDirection_~i___0~0#1;existInLiftCallsInDirection_~d#1 := existInLiftCallsInDirection_#in~d#1;havoc existInLiftCallsInDirection_~retValue_acc~17#1;havoc existInLiftCallsInDirection_~i~0#1;havoc existInLiftCallsInDirection_~i___0~0#1;" "assume !(1 == existInLiftCallsInDirection_~d#1);" "assume 0 == existInLiftCallsInDirection_~d#1;existInLiftCallsInDirection_~i___0~0#1 := 0;existInLiftCallsInDirection_~i___0~0#1 := ~currentFloorID~0 - 1;" [2025-01-10 07:36:29,558 INFO L754 eck$LassoCheckResult]: Loop: "assume existInLiftCallsInDirection_~i___0~0#1 >= 0;" "existInLiftCallsInDirection_~i___0~0#1 := 1 + ~currentFloorID~0;" "assume !(existInLiftCallsInDirection_~i___0~0#1 < 5);" "existInLiftCallsInDirection_~i___0~0#1 := existInLiftCallsInDirection_~i___0~0#1 - 1;" [2025-01-10 07:36:29,558 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:36:29,558 INFO L85 PathProgramCache]: Analyzing trace with hash -1647903627, now seen corresponding path program 1 times [2025-01-10 07:36:29,558 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:36:29,558 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [852292292] [2025-01-10 07:36:29,558 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-10 07:36:29,558 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:36:29,574 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 72 statements into 1 equivalence classes. [2025-01-10 07:36:29,579 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 72 of 72 statements. [2025-01-10 07:36:29,579 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:36:29,579 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:36:29,601 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-01-10 07:36:29,602 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-10 07:36:29,602 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [852292292] [2025-01-10 07:36:29,602 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [852292292] provided 1 perfect and 0 imperfect interpolant sequences [2025-01-10 07:36:29,602 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-01-10 07:36:29,602 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2025-01-10 07:36:29,602 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [187705622] [2025-01-10 07:36:29,602 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-01-10 07:36:29,602 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-01-10 07:36:29,602 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:36:29,603 INFO L85 PathProgramCache]: Analyzing trace with hash 501106274, now seen corresponding path program 11 times [2025-01-10 07:36:29,603 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:36:29,603 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1244400762] [2025-01-10 07:36:29,603 INFO L95 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2025-01-10 07:36:29,603 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:36:29,611 INFO L108 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 partitioned 4 statements into 1 equivalence classes. [2025-01-10 07:36:29,612 INFO L111 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 1 check-sat command(s) and asserted 4 of 4 statements. [2025-01-10 07:36:29,612 INFO L114 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2025-01-10 07:36:29,612 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:36:29,612 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-01-10 07:36:29,613 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 4 statements into 1 equivalence classes. [2025-01-10 07:36:29,613 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 4 of 4 statements. [2025-01-10 07:36:29,613 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:36:29,614 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:36:29,618 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-01-10 07:36:29,632 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-10 07:36:29,633 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2025-01-10 07:36:29,633 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2025-01-10 07:36:29,633 INFO L87 Difference]: Start difference. First operand 26830 states and 50062 transitions. cyclomatic complexity: 23363 Second operand has 3 states, 3 states have (on average 24.0) internal successors, (72), 2 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) [2025-01-10 07:36:30,454 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-01-10 07:36:30,454 INFO L93 Difference]: Finished difference Result 40993 states and 76146 transitions. [2025-01-10 07:36:30,454 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 40993 states and 76146 transitions. [2025-01-10 07:36:30,577 INFO L131 ngComponentsAnalysis]: Automaton has 178 accepting balls. 12275 [2025-01-10 07:36:30,676 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 40993 states to 40990 states and 76140 transitions. [2025-01-10 07:36:30,676 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 40758 [2025-01-10 07:36:30,702 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 40758 [2025-01-10 07:36:30,702 INFO L73 IsDeterministic]: Start isDeterministic. Operand 40990 states and 76140 transitions. [2025-01-10 07:36:30,719 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-01-10 07:36:30,720 INFO L218 hiAutomatonCegarLoop]: Abstraction has 40990 states and 76140 transitions. [2025-01-10 07:36:30,748 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 40990 states and 76140 transitions. [2025-01-10 07:36:31,036 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 40990 to 40957. [2025-01-10 07:36:31,081 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 40957 states, 40957 states have (on average 1.8578020851136559) internal successors, (76090), 40956 states have internal predecessors, (76090), 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) [2025-01-10 07:36:31,377 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 40957 states to 40957 states and 76090 transitions. [2025-01-10 07:36:31,377 INFO L240 hiAutomatonCegarLoop]: Abstraction has 40957 states and 76090 transitions. [2025-01-10 07:36:31,377 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2025-01-10 07:36:31,377 INFO L432 stractBuchiCegarLoop]: Abstraction has 40957 states and 76090 transitions. [2025-01-10 07:36:31,377 INFO L338 stractBuchiCegarLoop]: ======== Iteration 14 ============ [2025-01-10 07:36:31,378 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 40957 states and 76090 transitions. [2025-01-10 07:36:31,505 INFO L131 ngComponentsAnalysis]: Automaton has 178 accepting balls. 12275 [2025-01-10 07:36:31,505 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-01-10 07:36:31,505 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-01-10 07:36:31,506 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] [2025-01-10 07:36:31,506 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1] [2025-01-10 07:36:31,506 INFO L752 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int#0(48, 1, 0, 1);call write~init~int#0(0, 1, 1, 1);call #Ultimate.allocInit(32, 2);call #Ultimate.allocInit(12, 3);call #Ultimate.allocInit(30, 4);call #Ultimate.allocInit(9, 5);call #Ultimate.allocInit(21, 6);call #Ultimate.allocInit(30, 7);call #Ultimate.allocInit(9, 8);call #Ultimate.allocInit(21, 9);call #Ultimate.allocInit(30, 10);call #Ultimate.allocInit(9, 11);call #Ultimate.allocInit(25, 12);call #Ultimate.allocInit(30, 13);call #Ultimate.allocInit(9, 14);call #Ultimate.allocInit(25, 15);call #Ultimate.allocInit(10, 16);call #Ultimate.allocInit(4, 17);call write~init~int#5(91, 17, 0, 1);call write~init~int#5(95, 17, 1, 1);call write~init~int#5(93, 17, 2, 1);call write~init~int#5(0, 17, 3, 1);call #Ultimate.allocInit(4, 18);call write~init~int#6(91, 18, 0, 1);call write~init~int#6(93, 18, 1, 1);call write~init~int#6(32, 18, 2, 1);call write~init~int#6(0, 18, 3, 1);call #Ultimate.allocInit(5, 19);call write~init~int#7(32, 19, 0, 1);call write~init~int#7(97, 19, 1, 1);call write~init~int#7(116, 19, 2, 1);call write~init~int#7(32, 19, 3, 1);call write~init~int#7(0, 19, 4, 1);call #Ultimate.allocInit(3, 20);call write~init~int#8(37, 20, 0, 1);call write~init~int#8(105, 20, 1, 1);call write~init~int#8(0, 20, 2, 1);call #Ultimate.allocInit(10, 21);call #Ultimate.allocInit(3, 22);call write~init~int#9(117, 22, 0, 1);call write~init~int#9(112, 22, 1, 1);call write~init~int#9(0, 22, 2, 1);call #Ultimate.allocInit(5, 23);call write~init~int#10(100, 23, 0, 1);call write~init~int#10(111, 23, 1, 1);call write~init~int#10(119, 23, 2, 1);call write~init~int#10(110, 23, 3, 1);call write~init~int#10(0, 23, 4, 1);call #Ultimate.allocInit(7, 24);call write~init~int#11(32, 24, 0, 1);call write~init~int#11(73, 24, 1, 1);call write~init~int#11(76, 24, 2, 1);call write~init~int#11(95, 24, 3, 1);call write~init~int#11(112, 24, 4, 1);call write~init~int#11(58, 24, 5, 1);call write~init~int#11(0, 24, 6, 1);call #Ultimate.allocInit(4, 25);call write~init~int#12(32, 25, 0, 1);call write~init~int#12(37, 25, 1, 1);call write~init~int#12(105, 25, 2, 1);call write~init~int#12(0, 25, 3, 1);call #Ultimate.allocInit(4, 26);call write~init~int#13(32, 26, 0, 1);call write~init~int#13(37, 26, 1, 1);call write~init~int#13(105, 26, 2, 1);call write~init~int#13(0, 26, 3, 1);call #Ultimate.allocInit(4, 27);call write~init~int#14(32, 27, 0, 1);call write~init~int#14(37, 27, 1, 1);call write~init~int#14(105, 27, 2, 1);call write~init~int#14(0, 27, 3, 1);call #Ultimate.allocInit(4, 28);call write~init~int#15(32, 28, 0, 1);call write~init~int#15(37, 28, 1, 1);call write~init~int#15(105, 28, 2, 1);call write~init~int#15(0, 28, 3, 1);call #Ultimate.allocInit(4, 29);call write~init~int#16(32, 29, 0, 1);call write~init~int#16(37, 29, 1, 1);call write~init~int#16(105, 29, 2, 1);call write~init~int#16(0, 29, 3, 1);call #Ultimate.allocInit(6, 30);call write~init~int#17(32, 30, 0, 1);call write~init~int#17(70, 30, 1, 1);call write~init~int#17(95, 30, 2, 1);call write~init~int#17(112, 30, 3, 1);call write~init~int#17(58, 30, 4, 1);call write~init~int#17(0, 30, 5, 1);call #Ultimate.allocInit(4, 31);call write~init~int#18(32, 31, 0, 1);call write~init~int#18(37, 31, 1, 1);call write~init~int#18(105, 31, 2, 1);call write~init~int#18(0, 31, 3, 1);call #Ultimate.allocInit(4, 32);call write~init~int#19(32, 32, 0, 1);call write~init~int#19(37, 32, 1, 1);call write~init~int#19(105, 32, 2, 1);call write~init~int#19(0, 32, 3, 1);call #Ultimate.allocInit(4, 33);call write~init~int#1(32, 33, 0, 1);call write~init~int#1(37, 33, 1, 1);call write~init~int#1(105, 33, 2, 1);call write~init~int#1(0, 33, 3, 1);call #Ultimate.allocInit(4, 34);call write~init~int#2(32, 34, 0, 1);call write~init~int#2(37, 34, 1, 1);call write~init~int#2(105, 34, 2, 1);call write~init~int#2(0, 34, 3, 1);call #Ultimate.allocInit(4, 35);call write~init~int#3(32, 35, 0, 1);call write~init~int#3(37, 35, 1, 1);call write~init~int#3(105, 35, 2, 1);call write~init~int#3(0, 35, 3, 1);call #Ultimate.allocInit(2, 36);call write~init~int#4(10, 36, 0, 1);call write~init~int#4(0, 36, 1, 1);call #Ultimate.allocInit(9, 37);~head~0.base, ~head~0.offset := 0, 0;~weight~0 := 0;~maximumWeight~0 := 100;~blocked~0 := 0;~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;~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;~prevDir~0 := 0;" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret128#1, main_~retValue_acc~27#1, main_~tmp~27#1;havoc main_~retValue_acc~27#1;havoc main_~tmp~27#1;assume { :begin_inline_select_helpers } true;" "assume { :end_inline_select_helpers } true;assume { :begin_inline_select_features } true;" "assume { :end_inline_select_features } true;assume { :begin_inline_valid_product } true;havoc valid_product_#res#1;havoc valid_product_~retValue_acc~25#1;havoc valid_product_~retValue_acc~25#1;valid_product_~retValue_acc~25#1 := 1;valid_product_#res#1 := valid_product_~retValue_acc~25#1;" "main_#t~ret128#1 := valid_product_#res#1;havoc valid_product_~retValue_acc~25#1;assume { :end_inline_valid_product } true;main_~tmp~27#1 := main_#t~ret128#1;havoc main_#t~ret128#1;" "assume 0 != main_~tmp~27#1;assume { :begin_inline_setup } true;" "assume { :end_inline_setup } true;assume { :begin_inline_runTest } true;assume { :begin_inline_test } true;assume { :begin_inline_aliceCall } true;havoc aliceCall_#t~ret117#1, aliceCall_~tmp~20#1;havoc aliceCall_~tmp~20#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 1;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~22#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~22#1;" "assume !(0 == getOrigin_~person#1);" "assume 1 == getOrigin_~person#1;getOrigin_~retValue_acc~22#1 := 3;getOrigin_#res#1 := getOrigin_~retValue_acc~22#1;" "aliceCall_#t~ret117#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~22#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;aliceCall_~tmp~20#1 := aliceCall_#t~ret117#1;havoc aliceCall_#t~ret117#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 1, aliceCall_~tmp~20#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1;" "assume !(0 == initPersonOnFloor_~floor#1);" "assume !(1 == initPersonOnFloor_~floor#1);" "assume !(2 == initPersonOnFloor_~floor#1);" "assume 3 == initPersonOnFloor_~floor#1;" "assume !(0 == initPersonOnFloor_~person#1);" "assume 1 == initPersonOnFloor_~person#1;~personOnFloor_1_3~0 := 1;" "assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1;" "assume !(0 == callOnFloor_~floorID#1);" "assume !(1 == callOnFloor_~floorID#1);" "assume !(2 == callOnFloor_~floorID#1);" "assume 3 == callOnFloor_~floorID#1;~calls_3~0 := 1;" "havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true;" "havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true;" "havoc aliceCall_#t~ret117#1, aliceCall_~tmp~20#1;assume { :end_inline_aliceCall } true;assume { :begin_inline_angelinaCall } true;havoc angelinaCall_#t~ret118#1, angelinaCall_~tmp~21#1;havoc angelinaCall_~tmp~21#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 2;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~22#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~22#1;" "assume !(0 == getOrigin_~person#1);" "assume !(1 == getOrigin_~person#1);" "assume 2 == getOrigin_~person#1;getOrigin_~retValue_acc~22#1 := 2;getOrigin_#res#1 := getOrigin_~retValue_acc~22#1;" "angelinaCall_#t~ret118#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~22#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;angelinaCall_~tmp~21#1 := angelinaCall_#t~ret118#1;havoc angelinaCall_#t~ret118#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 2, angelinaCall_~tmp~21#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1;" "assume !(0 == initPersonOnFloor_~floor#1);" "assume !(1 == initPersonOnFloor_~floor#1);" "assume 2 == initPersonOnFloor_~floor#1;" "assume !(0 == initPersonOnFloor_~person#1);" "assume !(1 == initPersonOnFloor_~person#1);" "assume 2 == initPersonOnFloor_~person#1;~personOnFloor_2_2~0 := 1;" "assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1;" "assume !(0 == callOnFloor_~floorID#1);" "assume !(1 == callOnFloor_~floorID#1);" "assume 2 == callOnFloor_~floorID#1;~calls_2~0 := 1;" "havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true;" "havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true;" "havoc angelinaCall_#t~ret118#1, angelinaCall_~tmp~21#1;assume { :end_inline_angelinaCall } true;assume { :begin_inline_threeTS } true;assume { :begin_inline_timeShift } true;havoc timeShift_#t~ret79#1, timeShift_~tmp~14#1;havoc timeShift_~tmp~14#1;assume { :begin_inline___utac_acc__Specification13_spec__1 } true;havoc __utac_acc__Specification13_spec__1_#t~ret129#1;assume { :begin_inline_getCurrentHeading } true;havoc getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~7#1;havoc getCurrentHeading_~retValue_acc~7#1;getCurrentHeading_~retValue_acc~7#1 := ~currentHeading~0;getCurrentHeading_#res#1 := getCurrentHeading_~retValue_acc~7#1;" "__utac_acc__Specification13_spec__1_#t~ret129#1 := getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~7#1;assume { :end_inline_getCurrentHeading } true;~prevDir~0 := __utac_acc__Specification13_spec__1_#t~ret129#1;havoc __utac_acc__Specification13_spec__1_#t~ret129#1;" "havoc __utac_acc__Specification13_spec__1_#t~ret129#1;assume { :end_inline___utac_acc__Specification13_spec__1 } true;assume { :begin_inline_areDoorsOpen } true;havoc areDoorsOpen_#res#1;havoc areDoorsOpen_~retValue_acc~5#1;havoc areDoorsOpen_~retValue_acc~5#1;areDoorsOpen_~retValue_acc~5#1 := ~doorState~0;areDoorsOpen_#res#1 := areDoorsOpen_~retValue_acc~5#1;" "timeShift_#t~ret79#1 := areDoorsOpen_#res#1;havoc areDoorsOpen_~retValue_acc~5#1;assume { :end_inline_areDoorsOpen } true;timeShift_~tmp~14#1 := timeShift_#t~ret79#1;havoc timeShift_#t~ret79#1;" "assume 0 != timeShift_~tmp~14#1;" "assume !(~weight~0 > ~maximumWeight~0);~blocked~0 := 0;assume { :begin_inline_timeShift__wrappee__twothirdsfull } true;havoc timeShift__wrappee__twothirdsfull_#t~ret68#1, timeShift__wrappee__twothirdsfull_#t~ret69#1, timeShift__wrappee__twothirdsfull_#t~ret70#1, timeShift__wrappee__twothirdsfull_#t~ret71#1, timeShift__wrappee__twothirdsfull_#t~ret72#1, timeShift__wrappee__twothirdsfull_#t~ret73#1, timeShift__wrappee__twothirdsfull_#t~ret74#1, timeShift__wrappee__twothirdsfull_#t~ret75#1, timeShift__wrappee__twothirdsfull_#t~ret76#1, timeShift__wrappee__twothirdsfull_#t~ret77#1, timeShift__wrappee__twothirdsfull_#t~ret78#1, timeShift__wrappee__twothirdsfull_~tmp~13#1, timeShift__wrappee__twothirdsfull_~tmp___0~5#1, timeShift__wrappee__twothirdsfull_~tmp___1~3#1, timeShift__wrappee__twothirdsfull_~tmp___2~3#1, timeShift__wrappee__twothirdsfull_~tmp___3~3#1, timeShift__wrappee__twothirdsfull_~tmp___4~2#1, timeShift__wrappee__twothirdsfull_~tmp___5~2#1, timeShift__wrappee__twothirdsfull_~tmp___6~2#1, timeShift__wrappee__twothirdsfull_~tmp___7~2#1, timeShift__wrappee__twothirdsfull_~tmp___8~2#1, timeShift__wrappee__twothirdsfull_~tmp___9~2#1;havoc timeShift__wrappee__twothirdsfull_~tmp~13#1;havoc timeShift__wrappee__twothirdsfull_~tmp___0~5#1;havoc timeShift__wrappee__twothirdsfull_~tmp___1~3#1;havoc timeShift__wrappee__twothirdsfull_~tmp___2~3#1;havoc timeShift__wrappee__twothirdsfull_~tmp___3~3#1;havoc timeShift__wrappee__twothirdsfull_~tmp___4~2#1;havoc timeShift__wrappee__twothirdsfull_~tmp___5~2#1;havoc timeShift__wrappee__twothirdsfull_~tmp___6~2#1;havoc timeShift__wrappee__twothirdsfull_~tmp___7~2#1;havoc timeShift__wrappee__twothirdsfull_~tmp___8~2#1;havoc timeShift__wrappee__twothirdsfull_~tmp___9~2#1;assume { :begin_inline_stopRequestedAtCurrentFloor } true;havoc stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret53#1, stopRequestedAtCurrentFloor_#t~ret54#1, stopRequestedAtCurrentFloor_#t~ret55#1, stopRequestedAtCurrentFloor_~retValue_acc~15#1, stopRequestedAtCurrentFloor_~tmp~11#1, stopRequestedAtCurrentFloor_~tmp___0~3#1, stopRequestedAtCurrentFloor_~__cil_tmp4~2#1, stopRequestedAtCurrentFloor_~__cil_tmp5~4#1;havoc stopRequestedAtCurrentFloor_~retValue_acc~15#1;havoc stopRequestedAtCurrentFloor_~tmp~11#1;havoc stopRequestedAtCurrentFloor_~tmp___0~3#1;havoc stopRequestedAtCurrentFloor_~__cil_tmp4~2#1;havoc stopRequestedAtCurrentFloor_~__cil_tmp5~4#1;stopRequestedAtCurrentFloor_~__cil_tmp4~2#1 := 2 * ~maximumWeight~0;stopRequestedAtCurrentFloor_~__cil_tmp5~4#1 := (if stopRequestedAtCurrentFloor_~__cil_tmp4~2#1 < 0 && 0 != stopRequestedAtCurrentFloor_~__cil_tmp4~2#1 % 3 then 1 + stopRequestedAtCurrentFloor_~__cil_tmp4~2#1 / 3 else stopRequestedAtCurrentFloor_~__cil_tmp4~2#1 / 3);" "assume ~weight~0 > stopRequestedAtCurrentFloor_~__cil_tmp5~4#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~4#1;havoc getCurrentFloorID_~retValue_acc~4#1;getCurrentFloorID_~retValue_acc~4#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~4#1;" "stopRequestedAtCurrentFloor_#t~ret53#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~4#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedAtCurrentFloor_~tmp~11#1 := stopRequestedAtCurrentFloor_#t~ret53#1;havoc stopRequestedAtCurrentFloor_#t~ret53#1;assume { :begin_inline_buttonForFloorIsPressed } true;buttonForFloorIsPressed_#in~floorID#1 := stopRequestedAtCurrentFloor_~tmp~11#1;havoc buttonForFloorIsPressed_#res#1;havoc buttonForFloorIsPressed_~floorID#1, buttonForFloorIsPressed_~retValue_acc~6#1;buttonForFloorIsPressed_~floorID#1 := buttonForFloorIsPressed_#in~floorID#1;havoc buttonForFloorIsPressed_~retValue_acc~6#1;" "assume 0 == buttonForFloorIsPressed_~floorID#1;buttonForFloorIsPressed_~retValue_acc~6#1 := ~floorButtons_0~0;buttonForFloorIsPressed_#res#1 := buttonForFloorIsPressed_~retValue_acc~6#1;" "stopRequestedAtCurrentFloor_#t~ret54#1 := buttonForFloorIsPressed_#res#1;havoc buttonForFloorIsPressed_~floorID#1, buttonForFloorIsPressed_~retValue_acc~6#1;havoc buttonForFloorIsPressed_#in~floorID#1;assume { :end_inline_buttonForFloorIsPressed } true;stopRequestedAtCurrentFloor_~tmp___0~3#1 := stopRequestedAtCurrentFloor_#t~ret54#1;havoc stopRequestedAtCurrentFloor_#t~ret54#1;stopRequestedAtCurrentFloor_~retValue_acc~15#1 := (if 1 == stopRequestedAtCurrentFloor_~tmp___0~3#1 then 1 else 0);stopRequestedAtCurrentFloor_#res#1 := stopRequestedAtCurrentFloor_~retValue_acc~15#1;" "timeShift__wrappee__twothirdsfull_#t~ret68#1 := stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret53#1, stopRequestedAtCurrentFloor_#t~ret54#1, stopRequestedAtCurrentFloor_#t~ret55#1, stopRequestedAtCurrentFloor_~retValue_acc~15#1, stopRequestedAtCurrentFloor_~tmp~11#1, stopRequestedAtCurrentFloor_~tmp___0~3#1, stopRequestedAtCurrentFloor_~__cil_tmp4~2#1, stopRequestedAtCurrentFloor_~__cil_tmp5~4#1;assume { :end_inline_stopRequestedAtCurrentFloor } true;timeShift__wrappee__twothirdsfull_~tmp___9~2#1 := timeShift__wrappee__twothirdsfull_#t~ret68#1;havoc timeShift__wrappee__twothirdsfull_#t~ret68#1;" "assume !(0 != timeShift__wrappee__twothirdsfull_~tmp___9~2#1);" "assume 1 == ~doorState~0;~doorState~0 := 0;" "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~ret46#1, stopRequestedInDirection_#t~ret47#1, stopRequestedInDirection_#t~ret48#1, stopRequestedInDirection_#t~ret49#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~12#1, stopRequestedInDirection_~overload~0#1, stopRequestedInDirection_~buttonPressed~0#1, stopRequestedInDirection_~tmp~8#1, stopRequestedInDirection_~__cil_tmp8~5#1, stopRequestedInDirection_~__cil_tmp9~5#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~12#1;havoc stopRequestedInDirection_~overload~0#1;havoc stopRequestedInDirection_~buttonPressed~0#1;havoc stopRequestedInDirection_~tmp~8#1;havoc stopRequestedInDirection_~__cil_tmp8~5#1;havoc stopRequestedInDirection_~__cil_tmp9~5#1;stopRequestedInDirection_~__cil_tmp8~5#1 := 2 * ~maximumWeight~0;stopRequestedInDirection_~__cil_tmp9~5#1 := (if stopRequestedInDirection_~__cil_tmp8~5#1 < 0 && 0 != stopRequestedInDirection_~__cil_tmp8~5#1 % 3 then 1 + stopRequestedInDirection_~__cil_tmp8~5#1 / 3 else stopRequestedInDirection_~__cil_tmp8~5#1 / 3);stopRequestedInDirection_~overload~0#1 := (if ~weight~0 > stopRequestedInDirection_~__cil_tmp9~5#1 then 1 else 0);assume { :begin_inline_isAnyLiftButtonPressed } true;havoc isAnyLiftButtonPressed_#res#1;havoc isAnyLiftButtonPressed_~retValue_acc~13#1;havoc isAnyLiftButtonPressed_~retValue_acc~13#1;" "assume !(0 != ~floorButtons_0~0);" "assume 0 != ~floorButtons_1~0;isAnyLiftButtonPressed_~retValue_acc~13#1 := 1;isAnyLiftButtonPressed_#res#1 := isAnyLiftButtonPressed_~retValue_acc~13#1;" "stopRequestedInDirection_#t~ret46#1 := isAnyLiftButtonPressed_#res#1;havoc isAnyLiftButtonPressed_~retValue_acc~13#1;assume { :end_inline_isAnyLiftButtonPressed } true;stopRequestedInDirection_~tmp~8#1 := stopRequestedInDirection_#t~ret46#1;havoc stopRequestedInDirection_#t~ret46#1;stopRequestedInDirection_~buttonPressed~0#1 := stopRequestedInDirection_~tmp~8#1;" "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~ret35#1, stopRequestedInDirection__wrappee__weight_#t~ret36#1, stopRequestedInDirection__wrappee__weight_#t~ret37#1, stopRequestedInDirection__wrappee__weight_#t~ret38#1, stopRequestedInDirection__wrappee__weight_#t~ret39#1, stopRequestedInDirection__wrappee__weight_#t~ret40#1, stopRequestedInDirection__wrappee__weight_#t~ret41#1, stopRequestedInDirection__wrappee__weight_#t~ret42#1, stopRequestedInDirection__wrappee__weight_#t~ret43#1, stopRequestedInDirection__wrappee__weight_#t~ret44#1, stopRequestedInDirection__wrappee__weight_#t~ret45#1, stopRequestedInDirection__wrappee__weight_~dir#1, stopRequestedInDirection__wrappee__weight_~respectFloorCalls#1, stopRequestedInDirection__wrappee__weight_~respectInLiftCalls#1, stopRequestedInDirection__wrappee__weight_~retValue_acc~11#1, stopRequestedInDirection__wrappee__weight_~tmp~7#1, stopRequestedInDirection__wrappee__weight_~tmp___0~1#1, stopRequestedInDirection__wrappee__weight_~tmp___1~1#1, stopRequestedInDirection__wrappee__weight_~tmp___2~1#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~11#1;havoc stopRequestedInDirection__wrappee__weight_~tmp~7#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___0~1#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___1~1#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___2~1#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;" "assume !(1 == stopRequestedInDirection__wrappee__weight_~dir#1);" "assume 0 == ~currentFloorID~0;stopRequestedInDirection__wrappee__weight_~retValue_acc~11#1 := 0;stopRequestedInDirection__wrappee__weight_#res#1 := stopRequestedInDirection__wrappee__weight_~retValue_acc~11#1;" "stopRequestedInDirection_#t~ret49#1 := stopRequestedInDirection__wrappee__weight_#res#1;havoc stopRequestedInDirection__wrappee__weight_#t~ret35#1, stopRequestedInDirection__wrappee__weight_#t~ret36#1, stopRequestedInDirection__wrappee__weight_#t~ret37#1, stopRequestedInDirection__wrappee__weight_#t~ret38#1, stopRequestedInDirection__wrappee__weight_#t~ret39#1, stopRequestedInDirection__wrappee__weight_#t~ret40#1, stopRequestedInDirection__wrappee__weight_#t~ret41#1, stopRequestedInDirection__wrappee__weight_#t~ret42#1, stopRequestedInDirection__wrappee__weight_#t~ret43#1, stopRequestedInDirection__wrappee__weight_#t~ret44#1, stopRequestedInDirection__wrappee__weight_#t~ret45#1, stopRequestedInDirection__wrappee__weight_~dir#1, stopRequestedInDirection__wrappee__weight_~respectFloorCalls#1, stopRequestedInDirection__wrappee__weight_~respectInLiftCalls#1, stopRequestedInDirection__wrappee__weight_~retValue_acc~11#1, stopRequestedInDirection__wrappee__weight_~tmp~7#1, stopRequestedInDirection__wrappee__weight_~tmp___0~1#1, stopRequestedInDirection__wrappee__weight_~tmp___1~1#1, stopRequestedInDirection__wrappee__weight_~tmp___2~1#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~12#1 := stopRequestedInDirection_#t~ret49#1;havoc stopRequestedInDirection_#t~ret49#1;stopRequestedInDirection_#res#1 := stopRequestedInDirection_~retValue_acc~12#1;" "timeShift__wrappee__twothirdsfull_#t~ret75#1 := stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret46#1, stopRequestedInDirection_#t~ret47#1, stopRequestedInDirection_#t~ret48#1, stopRequestedInDirection_#t~ret49#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~12#1, stopRequestedInDirection_~overload~0#1, stopRequestedInDirection_~buttonPressed~0#1, stopRequestedInDirection_~tmp~8#1, stopRequestedInDirection_~__cil_tmp8~5#1, stopRequestedInDirection_~__cil_tmp9~5#1;havoc stopRequestedInDirection_#in~dir#1, stopRequestedInDirection_#in~respectFloorCalls#1, stopRequestedInDirection_#in~respectInLiftCalls#1;assume { :end_inline_stopRequestedInDirection } true;timeShift__wrappee__twothirdsfull_~tmp___8~2#1 := timeShift__wrappee__twothirdsfull_#t~ret75#1;havoc timeShift__wrappee__twothirdsfull_#t~ret75#1;" "assume 0 != timeShift__wrappee__twothirdsfull_~tmp___8~2#1;assume { :begin_inline_continueInDirection } true;continueInDirection_#in~dir#1 := ~currentHeading~0;havoc continueInDirection_#t~ret50#1, continueInDirection_~dir#1, continueInDirection_~tmp~9#1;continueInDirection_~dir#1 := continueInDirection_#in~dir#1;havoc continueInDirection_~tmp~9#1;~currentHeading~0 := continueInDirection_~dir#1;" "assume !(1 == ~currentHeading~0);" "assume !(0 == ~currentFloorID~0);" "assume !(1 == ~currentHeading~0);~currentFloorID~0 := ~currentFloorID~0 - 1;" "havoc continueInDirection_#t~ret50#1, continueInDirection_~dir#1, continueInDirection_~tmp~9#1;havoc continueInDirection_#in~dir#1;assume { :end_inline_continueInDirection } true;" "havoc timeShift__wrappee__twothirdsfull_#t~ret68#1, timeShift__wrappee__twothirdsfull_#t~ret69#1, timeShift__wrappee__twothirdsfull_#t~ret70#1, timeShift__wrappee__twothirdsfull_#t~ret71#1, timeShift__wrappee__twothirdsfull_#t~ret72#1, timeShift__wrappee__twothirdsfull_#t~ret73#1, timeShift__wrappee__twothirdsfull_#t~ret74#1, timeShift__wrappee__twothirdsfull_#t~ret75#1, timeShift__wrappee__twothirdsfull_#t~ret76#1, timeShift__wrappee__twothirdsfull_#t~ret77#1, timeShift__wrappee__twothirdsfull_#t~ret78#1, timeShift__wrappee__twothirdsfull_~tmp~13#1, timeShift__wrappee__twothirdsfull_~tmp___0~5#1, timeShift__wrappee__twothirdsfull_~tmp___1~3#1, timeShift__wrappee__twothirdsfull_~tmp___2~3#1, timeShift__wrappee__twothirdsfull_~tmp___3~3#1, timeShift__wrappee__twothirdsfull_~tmp___4~2#1, timeShift__wrappee__twothirdsfull_~tmp___5~2#1, timeShift__wrappee__twothirdsfull_~tmp___6~2#1, timeShift__wrappee__twothirdsfull_~tmp___7~2#1, timeShift__wrappee__twothirdsfull_~tmp___8~2#1, timeShift__wrappee__twothirdsfull_~tmp___9~2#1;assume { :end_inline_timeShift__wrappee__twothirdsfull } true;" "assume { :begin_inline___utac_acc__Specification13_spec__2 } true;havoc __utac_acc__Specification13_spec__2_#t~ret130#1, __utac_acc__Specification13_spec__2_#t~ret131#1, __utac_acc__Specification13_spec__2_#t~ret132#1, __utac_acc__Specification13_spec__2_#t~ret133#1, __utac_acc__Specification13_spec__2_#t~ret134#1, __utac_acc__Specification13_spec__2_#t~ret135#1, __utac_acc__Specification13_spec__2_~tmp~28#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~6#1, __utac_acc__Specification13_spec__2_~__cil_tmp8~7#1;havoc __utac_acc__Specification13_spec__2_~tmp~28#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~6#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp8~7#1;__utac_acc__Specification13_spec__2_~__cil_tmp7~6#1 := 2 * ~maximumWeight~0;__utac_acc__Specification13_spec__2_~__cil_tmp8~7#1 := (if __utac_acc__Specification13_spec__2_~__cil_tmp7~6#1 < 0 && 0 != __utac_acc__Specification13_spec__2_~__cil_tmp7~6#1 % 3 then 1 + __utac_acc__Specification13_spec__2_~__cil_tmp7~6#1 / 3 else __utac_acc__Specification13_spec__2_~__cil_tmp7~6#1 / 3);" "assume ~weight~0 > __utac_acc__Specification13_spec__2_~__cil_tmp8~7#1;" "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~17#1, existInLiftCallsInDirection_~i~0#1, existInLiftCallsInDirection_~i___0~0#1;existInLiftCallsInDirection_~d#1 := existInLiftCallsInDirection_#in~d#1;havoc existInLiftCallsInDirection_~retValue_acc~17#1;havoc existInLiftCallsInDirection_~i~0#1;havoc existInLiftCallsInDirection_~i___0~0#1;" "assume !(1 == existInLiftCallsInDirection_~d#1);" "assume 0 == existInLiftCallsInDirection_~d#1;existInLiftCallsInDirection_~i___0~0#1 := 0;existInLiftCallsInDirection_~i___0~0#1 := ~currentFloorID~0 - 1;" [2025-01-10 07:36:31,507 INFO L754 eck$LassoCheckResult]: Loop: "assume existInLiftCallsInDirection_~i___0~0#1 >= 0;" "existInLiftCallsInDirection_~i___0~0#1 := 1 + ~currentFloorID~0;" "assume !(existInLiftCallsInDirection_~i___0~0#1 < 5);" "existInLiftCallsInDirection_~i___0~0#1 := existInLiftCallsInDirection_~i___0~0#1 - 1;" [2025-01-10 07:36:31,507 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:36:31,507 INFO L85 PathProgramCache]: Analyzing trace with hash 1142994029, now seen corresponding path program 1 times [2025-01-10 07:36:31,507 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:36:31,507 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [766762425] [2025-01-10 07:36:31,507 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-10 07:36:31,507 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:36:31,528 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 73 statements into 1 equivalence classes. [2025-01-10 07:36:31,533 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 73 of 73 statements. [2025-01-10 07:36:31,534 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:36:31,534 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:36:31,563 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-01-10 07:36:31,563 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-10 07:36:31,563 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [766762425] [2025-01-10 07:36:31,563 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [766762425] provided 1 perfect and 0 imperfect interpolant sequences [2025-01-10 07:36:31,563 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-01-10 07:36:31,563 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2025-01-10 07:36:31,563 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [178226022] [2025-01-10 07:36:31,563 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-01-10 07:36:31,563 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-01-10 07:36:31,563 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:36:31,563 INFO L85 PathProgramCache]: Analyzing trace with hash 501106274, now seen corresponding path program 12 times [2025-01-10 07:36:31,564 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:36:31,564 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2012884622] [2025-01-10 07:36:31,564 INFO L95 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2025-01-10 07:36:31,564 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:36:31,578 INFO L108 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE partitioned 4 statements into 1 equivalence classes. [2025-01-10 07:36:31,579 INFO L111 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 1 check-sat command(s) and asserted 4 of 4 statements. [2025-01-10 07:36:31,579 INFO L114 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 1 check-sat command(s) [2025-01-10 07:36:31,579 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:36:31,579 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-01-10 07:36:31,580 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 4 statements into 1 equivalence classes. [2025-01-10 07:36:31,581 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 4 of 4 statements. [2025-01-10 07:36:31,581 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:36:31,581 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:36:31,586 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-01-10 07:36:31,603 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-10 07:36:31,603 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2025-01-10 07:36:31,603 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2025-01-10 07:36:31,603 INFO L87 Difference]: Start difference. First operand 40957 states and 76090 transitions. cyclomatic complexity: 35321 Second operand has 3 states, 3 states have (on average 24.333333333333332) internal successors, (73), 2 states have internal predecessors, (73), 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) [2025-01-10 07:36:32,646 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-01-10 07:36:32,646 INFO L93 Difference]: Finished difference Result 69065 states and 127901 transitions. [2025-01-10 07:36:32,646 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 69065 states and 127901 transitions. [2025-01-10 07:36:33,134 INFO L131 ngComponentsAnalysis]: Automaton has 290 accepting balls. 20854 [2025-01-10 07:36:33,316 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 69065 states to 69065 states and 127901 transitions. [2025-01-10 07:36:33,316 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 68791 [2025-01-10 07:36:33,369 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 68791 [2025-01-10 07:36:33,369 INFO L73 IsDeterministic]: Start isDeterministic. Operand 69065 states and 127901 transitions. [2025-01-10 07:36:33,370 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-01-10 07:36:33,370 INFO L218 hiAutomatonCegarLoop]: Abstraction has 69065 states and 127901 transitions. [2025-01-10 07:36:33,415 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 69065 states and 127901 transitions. [2025-01-10 07:36:34,063 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 69065 to 69061. [2025-01-10 07:36:34,128 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 69061 states, 69061 states have (on average 1.851942485628647) internal successors, (127897), 69060 states have internal predecessors, (127897), 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) [2025-01-10 07:36:34,229 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 69061 states to 69061 states and 127897 transitions. [2025-01-10 07:36:34,230 INFO L240 hiAutomatonCegarLoop]: Abstraction has 69061 states and 127897 transitions. [2025-01-10 07:36:34,230 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2025-01-10 07:36:34,230 INFO L432 stractBuchiCegarLoop]: Abstraction has 69061 states and 127897 transitions. [2025-01-10 07:36:34,230 INFO L338 stractBuchiCegarLoop]: ======== Iteration 15 ============ [2025-01-10 07:36:34,230 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 69061 states and 127897 transitions. [2025-01-10 07:36:34,394 INFO L131 ngComponentsAnalysis]: Automaton has 290 accepting balls. 20854 [2025-01-10 07:36:34,394 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-01-10 07:36:34,394 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-01-10 07:36:34,395 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] [2025-01-10 07:36:34,395 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1] [2025-01-10 07:36:34,395 INFO L752 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int#0(48, 1, 0, 1);call write~init~int#0(0, 1, 1, 1);call #Ultimate.allocInit(32, 2);call #Ultimate.allocInit(12, 3);call #Ultimate.allocInit(30, 4);call #Ultimate.allocInit(9, 5);call #Ultimate.allocInit(21, 6);call #Ultimate.allocInit(30, 7);call #Ultimate.allocInit(9, 8);call #Ultimate.allocInit(21, 9);call #Ultimate.allocInit(30, 10);call #Ultimate.allocInit(9, 11);call #Ultimate.allocInit(25, 12);call #Ultimate.allocInit(30, 13);call #Ultimate.allocInit(9, 14);call #Ultimate.allocInit(25, 15);call #Ultimate.allocInit(10, 16);call #Ultimate.allocInit(4, 17);call write~init~int#5(91, 17, 0, 1);call write~init~int#5(95, 17, 1, 1);call write~init~int#5(93, 17, 2, 1);call write~init~int#5(0, 17, 3, 1);call #Ultimate.allocInit(4, 18);call write~init~int#6(91, 18, 0, 1);call write~init~int#6(93, 18, 1, 1);call write~init~int#6(32, 18, 2, 1);call write~init~int#6(0, 18, 3, 1);call #Ultimate.allocInit(5, 19);call write~init~int#7(32, 19, 0, 1);call write~init~int#7(97, 19, 1, 1);call write~init~int#7(116, 19, 2, 1);call write~init~int#7(32, 19, 3, 1);call write~init~int#7(0, 19, 4, 1);call #Ultimate.allocInit(3, 20);call write~init~int#8(37, 20, 0, 1);call write~init~int#8(105, 20, 1, 1);call write~init~int#8(0, 20, 2, 1);call #Ultimate.allocInit(10, 21);call #Ultimate.allocInit(3, 22);call write~init~int#9(117, 22, 0, 1);call write~init~int#9(112, 22, 1, 1);call write~init~int#9(0, 22, 2, 1);call #Ultimate.allocInit(5, 23);call write~init~int#10(100, 23, 0, 1);call write~init~int#10(111, 23, 1, 1);call write~init~int#10(119, 23, 2, 1);call write~init~int#10(110, 23, 3, 1);call write~init~int#10(0, 23, 4, 1);call #Ultimate.allocInit(7, 24);call write~init~int#11(32, 24, 0, 1);call write~init~int#11(73, 24, 1, 1);call write~init~int#11(76, 24, 2, 1);call write~init~int#11(95, 24, 3, 1);call write~init~int#11(112, 24, 4, 1);call write~init~int#11(58, 24, 5, 1);call write~init~int#11(0, 24, 6, 1);call #Ultimate.allocInit(4, 25);call write~init~int#12(32, 25, 0, 1);call write~init~int#12(37, 25, 1, 1);call write~init~int#12(105, 25, 2, 1);call write~init~int#12(0, 25, 3, 1);call #Ultimate.allocInit(4, 26);call write~init~int#13(32, 26, 0, 1);call write~init~int#13(37, 26, 1, 1);call write~init~int#13(105, 26, 2, 1);call write~init~int#13(0, 26, 3, 1);call #Ultimate.allocInit(4, 27);call write~init~int#14(32, 27, 0, 1);call write~init~int#14(37, 27, 1, 1);call write~init~int#14(105, 27, 2, 1);call write~init~int#14(0, 27, 3, 1);call #Ultimate.allocInit(4, 28);call write~init~int#15(32, 28, 0, 1);call write~init~int#15(37, 28, 1, 1);call write~init~int#15(105, 28, 2, 1);call write~init~int#15(0, 28, 3, 1);call #Ultimate.allocInit(4, 29);call write~init~int#16(32, 29, 0, 1);call write~init~int#16(37, 29, 1, 1);call write~init~int#16(105, 29, 2, 1);call write~init~int#16(0, 29, 3, 1);call #Ultimate.allocInit(6, 30);call write~init~int#17(32, 30, 0, 1);call write~init~int#17(70, 30, 1, 1);call write~init~int#17(95, 30, 2, 1);call write~init~int#17(112, 30, 3, 1);call write~init~int#17(58, 30, 4, 1);call write~init~int#17(0, 30, 5, 1);call #Ultimate.allocInit(4, 31);call write~init~int#18(32, 31, 0, 1);call write~init~int#18(37, 31, 1, 1);call write~init~int#18(105, 31, 2, 1);call write~init~int#18(0, 31, 3, 1);call #Ultimate.allocInit(4, 32);call write~init~int#19(32, 32, 0, 1);call write~init~int#19(37, 32, 1, 1);call write~init~int#19(105, 32, 2, 1);call write~init~int#19(0, 32, 3, 1);call #Ultimate.allocInit(4, 33);call write~init~int#1(32, 33, 0, 1);call write~init~int#1(37, 33, 1, 1);call write~init~int#1(105, 33, 2, 1);call write~init~int#1(0, 33, 3, 1);call #Ultimate.allocInit(4, 34);call write~init~int#2(32, 34, 0, 1);call write~init~int#2(37, 34, 1, 1);call write~init~int#2(105, 34, 2, 1);call write~init~int#2(0, 34, 3, 1);call #Ultimate.allocInit(4, 35);call write~init~int#3(32, 35, 0, 1);call write~init~int#3(37, 35, 1, 1);call write~init~int#3(105, 35, 2, 1);call write~init~int#3(0, 35, 3, 1);call #Ultimate.allocInit(2, 36);call write~init~int#4(10, 36, 0, 1);call write~init~int#4(0, 36, 1, 1);call #Ultimate.allocInit(9, 37);~head~0.base, ~head~0.offset := 0, 0;~weight~0 := 0;~maximumWeight~0 := 100;~blocked~0 := 0;~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;~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;~prevDir~0 := 0;" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret128#1, main_~retValue_acc~27#1, main_~tmp~27#1;havoc main_~retValue_acc~27#1;havoc main_~tmp~27#1;assume { :begin_inline_select_helpers } true;" "assume { :end_inline_select_helpers } true;assume { :begin_inline_select_features } true;" "assume { :end_inline_select_features } true;assume { :begin_inline_valid_product } true;havoc valid_product_#res#1;havoc valid_product_~retValue_acc~25#1;havoc valid_product_~retValue_acc~25#1;valid_product_~retValue_acc~25#1 := 1;valid_product_#res#1 := valid_product_~retValue_acc~25#1;" "main_#t~ret128#1 := valid_product_#res#1;havoc valid_product_~retValue_acc~25#1;assume { :end_inline_valid_product } true;main_~tmp~27#1 := main_#t~ret128#1;havoc main_#t~ret128#1;" "assume 0 != main_~tmp~27#1;assume { :begin_inline_setup } true;" "assume { :end_inline_setup } true;assume { :begin_inline_runTest } true;assume { :begin_inline_test } true;assume { :begin_inline_aliceCall } true;havoc aliceCall_#t~ret117#1, aliceCall_~tmp~20#1;havoc aliceCall_~tmp~20#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 1;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~22#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~22#1;" "assume !(0 == getOrigin_~person#1);" "assume 1 == getOrigin_~person#1;getOrigin_~retValue_acc~22#1 := 3;getOrigin_#res#1 := getOrigin_~retValue_acc~22#1;" "aliceCall_#t~ret117#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~22#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;aliceCall_~tmp~20#1 := aliceCall_#t~ret117#1;havoc aliceCall_#t~ret117#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 1, aliceCall_~tmp~20#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1;" "assume !(0 == initPersonOnFloor_~floor#1);" "assume !(1 == initPersonOnFloor_~floor#1);" "assume !(2 == initPersonOnFloor_~floor#1);" "assume 3 == initPersonOnFloor_~floor#1;" "assume !(0 == initPersonOnFloor_~person#1);" "assume 1 == initPersonOnFloor_~person#1;~personOnFloor_1_3~0 := 1;" "assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1;" "assume !(0 == callOnFloor_~floorID#1);" "assume !(1 == callOnFloor_~floorID#1);" "assume !(2 == callOnFloor_~floorID#1);" "assume 3 == callOnFloor_~floorID#1;~calls_3~0 := 1;" "havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true;" "havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true;" "havoc aliceCall_#t~ret117#1, aliceCall_~tmp~20#1;assume { :end_inline_aliceCall } true;assume { :begin_inline_angelinaCall } true;havoc angelinaCall_#t~ret118#1, angelinaCall_~tmp~21#1;havoc angelinaCall_~tmp~21#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 2;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~22#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~22#1;" "assume !(0 == getOrigin_~person#1);" "assume !(1 == getOrigin_~person#1);" "assume 2 == getOrigin_~person#1;getOrigin_~retValue_acc~22#1 := 2;getOrigin_#res#1 := getOrigin_~retValue_acc~22#1;" "angelinaCall_#t~ret118#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~22#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;angelinaCall_~tmp~21#1 := angelinaCall_#t~ret118#1;havoc angelinaCall_#t~ret118#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 2, angelinaCall_~tmp~21#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1;" "assume !(0 == initPersonOnFloor_~floor#1);" "assume !(1 == initPersonOnFloor_~floor#1);" "assume 2 == initPersonOnFloor_~floor#1;" "assume !(0 == initPersonOnFloor_~person#1);" "assume !(1 == initPersonOnFloor_~person#1);" "assume 2 == initPersonOnFloor_~person#1;~personOnFloor_2_2~0 := 1;" "assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1;" "assume !(0 == callOnFloor_~floorID#1);" "assume !(1 == callOnFloor_~floorID#1);" "assume 2 == callOnFloor_~floorID#1;~calls_2~0 := 1;" "havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true;" "havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true;" "havoc angelinaCall_#t~ret118#1, angelinaCall_~tmp~21#1;assume { :end_inline_angelinaCall } true;assume { :begin_inline_threeTS } true;assume { :begin_inline_timeShift } true;havoc timeShift_#t~ret79#1, timeShift_~tmp~14#1;havoc timeShift_~tmp~14#1;assume { :begin_inline___utac_acc__Specification13_spec__1 } true;havoc __utac_acc__Specification13_spec__1_#t~ret129#1;assume { :begin_inline_getCurrentHeading } true;havoc getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~7#1;havoc getCurrentHeading_~retValue_acc~7#1;getCurrentHeading_~retValue_acc~7#1 := ~currentHeading~0;getCurrentHeading_#res#1 := getCurrentHeading_~retValue_acc~7#1;" "__utac_acc__Specification13_spec__1_#t~ret129#1 := getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~7#1;assume { :end_inline_getCurrentHeading } true;~prevDir~0 := __utac_acc__Specification13_spec__1_#t~ret129#1;havoc __utac_acc__Specification13_spec__1_#t~ret129#1;" "havoc __utac_acc__Specification13_spec__1_#t~ret129#1;assume { :end_inline___utac_acc__Specification13_spec__1 } true;assume { :begin_inline_areDoorsOpen } true;havoc areDoorsOpen_#res#1;havoc areDoorsOpen_~retValue_acc~5#1;havoc areDoorsOpen_~retValue_acc~5#1;areDoorsOpen_~retValue_acc~5#1 := ~doorState~0;areDoorsOpen_#res#1 := areDoorsOpen_~retValue_acc~5#1;" "timeShift_#t~ret79#1 := areDoorsOpen_#res#1;havoc areDoorsOpen_~retValue_acc~5#1;assume { :end_inline_areDoorsOpen } true;timeShift_~tmp~14#1 := timeShift_#t~ret79#1;havoc timeShift_#t~ret79#1;" "assume 0 != timeShift_~tmp~14#1;" "assume !(~weight~0 > ~maximumWeight~0);~blocked~0 := 0;assume { :begin_inline_timeShift__wrappee__twothirdsfull } true;havoc timeShift__wrappee__twothirdsfull_#t~ret68#1, timeShift__wrappee__twothirdsfull_#t~ret69#1, timeShift__wrappee__twothirdsfull_#t~ret70#1, timeShift__wrappee__twothirdsfull_#t~ret71#1, timeShift__wrappee__twothirdsfull_#t~ret72#1, timeShift__wrappee__twothirdsfull_#t~ret73#1, timeShift__wrappee__twothirdsfull_#t~ret74#1, timeShift__wrappee__twothirdsfull_#t~ret75#1, timeShift__wrappee__twothirdsfull_#t~ret76#1, timeShift__wrappee__twothirdsfull_#t~ret77#1, timeShift__wrappee__twothirdsfull_#t~ret78#1, timeShift__wrappee__twothirdsfull_~tmp~13#1, timeShift__wrappee__twothirdsfull_~tmp___0~5#1, timeShift__wrappee__twothirdsfull_~tmp___1~3#1, timeShift__wrappee__twothirdsfull_~tmp___2~3#1, timeShift__wrappee__twothirdsfull_~tmp___3~3#1, timeShift__wrappee__twothirdsfull_~tmp___4~2#1, timeShift__wrappee__twothirdsfull_~tmp___5~2#1, timeShift__wrappee__twothirdsfull_~tmp___6~2#1, timeShift__wrappee__twothirdsfull_~tmp___7~2#1, timeShift__wrappee__twothirdsfull_~tmp___8~2#1, timeShift__wrappee__twothirdsfull_~tmp___9~2#1;havoc timeShift__wrappee__twothirdsfull_~tmp~13#1;havoc timeShift__wrappee__twothirdsfull_~tmp___0~5#1;havoc timeShift__wrappee__twothirdsfull_~tmp___1~3#1;havoc timeShift__wrappee__twothirdsfull_~tmp___2~3#1;havoc timeShift__wrappee__twothirdsfull_~tmp___3~3#1;havoc timeShift__wrappee__twothirdsfull_~tmp___4~2#1;havoc timeShift__wrappee__twothirdsfull_~tmp___5~2#1;havoc timeShift__wrappee__twothirdsfull_~tmp___6~2#1;havoc timeShift__wrappee__twothirdsfull_~tmp___7~2#1;havoc timeShift__wrappee__twothirdsfull_~tmp___8~2#1;havoc timeShift__wrappee__twothirdsfull_~tmp___9~2#1;assume { :begin_inline_stopRequestedAtCurrentFloor } true;havoc stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret53#1, stopRequestedAtCurrentFloor_#t~ret54#1, stopRequestedAtCurrentFloor_#t~ret55#1, stopRequestedAtCurrentFloor_~retValue_acc~15#1, stopRequestedAtCurrentFloor_~tmp~11#1, stopRequestedAtCurrentFloor_~tmp___0~3#1, stopRequestedAtCurrentFloor_~__cil_tmp4~2#1, stopRequestedAtCurrentFloor_~__cil_tmp5~4#1;havoc stopRequestedAtCurrentFloor_~retValue_acc~15#1;havoc stopRequestedAtCurrentFloor_~tmp~11#1;havoc stopRequestedAtCurrentFloor_~tmp___0~3#1;havoc stopRequestedAtCurrentFloor_~__cil_tmp4~2#1;havoc stopRequestedAtCurrentFloor_~__cil_tmp5~4#1;stopRequestedAtCurrentFloor_~__cil_tmp4~2#1 := 2 * ~maximumWeight~0;stopRequestedAtCurrentFloor_~__cil_tmp5~4#1 := (if stopRequestedAtCurrentFloor_~__cil_tmp4~2#1 < 0 && 0 != stopRequestedAtCurrentFloor_~__cil_tmp4~2#1 % 3 then 1 + stopRequestedAtCurrentFloor_~__cil_tmp4~2#1 / 3 else stopRequestedAtCurrentFloor_~__cil_tmp4~2#1 / 3);" "assume ~weight~0 > stopRequestedAtCurrentFloor_~__cil_tmp5~4#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~4#1;havoc getCurrentFloorID_~retValue_acc~4#1;getCurrentFloorID_~retValue_acc~4#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~4#1;" "stopRequestedAtCurrentFloor_#t~ret53#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~4#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedAtCurrentFloor_~tmp~11#1 := stopRequestedAtCurrentFloor_#t~ret53#1;havoc stopRequestedAtCurrentFloor_#t~ret53#1;assume { :begin_inline_buttonForFloorIsPressed } true;buttonForFloorIsPressed_#in~floorID#1 := stopRequestedAtCurrentFloor_~tmp~11#1;havoc buttonForFloorIsPressed_#res#1;havoc buttonForFloorIsPressed_~floorID#1, buttonForFloorIsPressed_~retValue_acc~6#1;buttonForFloorIsPressed_~floorID#1 := buttonForFloorIsPressed_#in~floorID#1;havoc buttonForFloorIsPressed_~retValue_acc~6#1;" "assume 0 == buttonForFloorIsPressed_~floorID#1;buttonForFloorIsPressed_~retValue_acc~6#1 := ~floorButtons_0~0;buttonForFloorIsPressed_#res#1 := buttonForFloorIsPressed_~retValue_acc~6#1;" "stopRequestedAtCurrentFloor_#t~ret54#1 := buttonForFloorIsPressed_#res#1;havoc buttonForFloorIsPressed_~floorID#1, buttonForFloorIsPressed_~retValue_acc~6#1;havoc buttonForFloorIsPressed_#in~floorID#1;assume { :end_inline_buttonForFloorIsPressed } true;stopRequestedAtCurrentFloor_~tmp___0~3#1 := stopRequestedAtCurrentFloor_#t~ret54#1;havoc stopRequestedAtCurrentFloor_#t~ret54#1;stopRequestedAtCurrentFloor_~retValue_acc~15#1 := (if 1 == stopRequestedAtCurrentFloor_~tmp___0~3#1 then 1 else 0);stopRequestedAtCurrentFloor_#res#1 := stopRequestedAtCurrentFloor_~retValue_acc~15#1;" "timeShift__wrappee__twothirdsfull_#t~ret68#1 := stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret53#1, stopRequestedAtCurrentFloor_#t~ret54#1, stopRequestedAtCurrentFloor_#t~ret55#1, stopRequestedAtCurrentFloor_~retValue_acc~15#1, stopRequestedAtCurrentFloor_~tmp~11#1, stopRequestedAtCurrentFloor_~tmp___0~3#1, stopRequestedAtCurrentFloor_~__cil_tmp4~2#1, stopRequestedAtCurrentFloor_~__cil_tmp5~4#1;assume { :end_inline_stopRequestedAtCurrentFloor } true;timeShift__wrappee__twothirdsfull_~tmp___9~2#1 := timeShift__wrappee__twothirdsfull_#t~ret68#1;havoc timeShift__wrappee__twothirdsfull_#t~ret68#1;" "assume !(0 != timeShift__wrappee__twothirdsfull_~tmp___9~2#1);" "assume 1 == ~doorState~0;~doorState~0 := 0;" "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~ret46#1, stopRequestedInDirection_#t~ret47#1, stopRequestedInDirection_#t~ret48#1, stopRequestedInDirection_#t~ret49#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~12#1, stopRequestedInDirection_~overload~0#1, stopRequestedInDirection_~buttonPressed~0#1, stopRequestedInDirection_~tmp~8#1, stopRequestedInDirection_~__cil_tmp8~5#1, stopRequestedInDirection_~__cil_tmp9~5#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~12#1;havoc stopRequestedInDirection_~overload~0#1;havoc stopRequestedInDirection_~buttonPressed~0#1;havoc stopRequestedInDirection_~tmp~8#1;havoc stopRequestedInDirection_~__cil_tmp8~5#1;havoc stopRequestedInDirection_~__cil_tmp9~5#1;stopRequestedInDirection_~__cil_tmp8~5#1 := 2 * ~maximumWeight~0;stopRequestedInDirection_~__cil_tmp9~5#1 := (if stopRequestedInDirection_~__cil_tmp8~5#1 < 0 && 0 != stopRequestedInDirection_~__cil_tmp8~5#1 % 3 then 1 + stopRequestedInDirection_~__cil_tmp8~5#1 / 3 else stopRequestedInDirection_~__cil_tmp8~5#1 / 3);stopRequestedInDirection_~overload~0#1 := (if ~weight~0 > stopRequestedInDirection_~__cil_tmp9~5#1 then 1 else 0);assume { :begin_inline_isAnyLiftButtonPressed } true;havoc isAnyLiftButtonPressed_#res#1;havoc isAnyLiftButtonPressed_~retValue_acc~13#1;havoc isAnyLiftButtonPressed_~retValue_acc~13#1;" "assume !(0 != ~floorButtons_0~0);" "assume !(0 != ~floorButtons_1~0);" "assume 0 != ~floorButtons_2~0;isAnyLiftButtonPressed_~retValue_acc~13#1 := 1;isAnyLiftButtonPressed_#res#1 := isAnyLiftButtonPressed_~retValue_acc~13#1;" "stopRequestedInDirection_#t~ret46#1 := isAnyLiftButtonPressed_#res#1;havoc isAnyLiftButtonPressed_~retValue_acc~13#1;assume { :end_inline_isAnyLiftButtonPressed } true;stopRequestedInDirection_~tmp~8#1 := stopRequestedInDirection_#t~ret46#1;havoc stopRequestedInDirection_#t~ret46#1;stopRequestedInDirection_~buttonPressed~0#1 := stopRequestedInDirection_~tmp~8#1;" "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~ret35#1, stopRequestedInDirection__wrappee__weight_#t~ret36#1, stopRequestedInDirection__wrappee__weight_#t~ret37#1, stopRequestedInDirection__wrappee__weight_#t~ret38#1, stopRequestedInDirection__wrappee__weight_#t~ret39#1, stopRequestedInDirection__wrappee__weight_#t~ret40#1, stopRequestedInDirection__wrappee__weight_#t~ret41#1, stopRequestedInDirection__wrappee__weight_#t~ret42#1, stopRequestedInDirection__wrappee__weight_#t~ret43#1, stopRequestedInDirection__wrappee__weight_#t~ret44#1, stopRequestedInDirection__wrappee__weight_#t~ret45#1, stopRequestedInDirection__wrappee__weight_~dir#1, stopRequestedInDirection__wrappee__weight_~respectFloorCalls#1, stopRequestedInDirection__wrappee__weight_~respectInLiftCalls#1, stopRequestedInDirection__wrappee__weight_~retValue_acc~11#1, stopRequestedInDirection__wrappee__weight_~tmp~7#1, stopRequestedInDirection__wrappee__weight_~tmp___0~1#1, stopRequestedInDirection__wrappee__weight_~tmp___1~1#1, stopRequestedInDirection__wrappee__weight_~tmp___2~1#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~11#1;havoc stopRequestedInDirection__wrappee__weight_~tmp~7#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___0~1#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___1~1#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___2~1#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;" "assume !(1 == stopRequestedInDirection__wrappee__weight_~dir#1);" "assume 0 == ~currentFloorID~0;stopRequestedInDirection__wrappee__weight_~retValue_acc~11#1 := 0;stopRequestedInDirection__wrappee__weight_#res#1 := stopRequestedInDirection__wrappee__weight_~retValue_acc~11#1;" "stopRequestedInDirection_#t~ret49#1 := stopRequestedInDirection__wrappee__weight_#res#1;havoc stopRequestedInDirection__wrappee__weight_#t~ret35#1, stopRequestedInDirection__wrappee__weight_#t~ret36#1, stopRequestedInDirection__wrappee__weight_#t~ret37#1, stopRequestedInDirection__wrappee__weight_#t~ret38#1, stopRequestedInDirection__wrappee__weight_#t~ret39#1, stopRequestedInDirection__wrappee__weight_#t~ret40#1, stopRequestedInDirection__wrappee__weight_#t~ret41#1, stopRequestedInDirection__wrappee__weight_#t~ret42#1, stopRequestedInDirection__wrappee__weight_#t~ret43#1, stopRequestedInDirection__wrappee__weight_#t~ret44#1, stopRequestedInDirection__wrappee__weight_#t~ret45#1, stopRequestedInDirection__wrappee__weight_~dir#1, stopRequestedInDirection__wrappee__weight_~respectFloorCalls#1, stopRequestedInDirection__wrappee__weight_~respectInLiftCalls#1, stopRequestedInDirection__wrappee__weight_~retValue_acc~11#1, stopRequestedInDirection__wrappee__weight_~tmp~7#1, stopRequestedInDirection__wrappee__weight_~tmp___0~1#1, stopRequestedInDirection__wrappee__weight_~tmp___1~1#1, stopRequestedInDirection__wrappee__weight_~tmp___2~1#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~12#1 := stopRequestedInDirection_#t~ret49#1;havoc stopRequestedInDirection_#t~ret49#1;stopRequestedInDirection_#res#1 := stopRequestedInDirection_~retValue_acc~12#1;" "timeShift__wrappee__twothirdsfull_#t~ret75#1 := stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret46#1, stopRequestedInDirection_#t~ret47#1, stopRequestedInDirection_#t~ret48#1, stopRequestedInDirection_#t~ret49#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~12#1, stopRequestedInDirection_~overload~0#1, stopRequestedInDirection_~buttonPressed~0#1, stopRequestedInDirection_~tmp~8#1, stopRequestedInDirection_~__cil_tmp8~5#1, stopRequestedInDirection_~__cil_tmp9~5#1;havoc stopRequestedInDirection_#in~dir#1, stopRequestedInDirection_#in~respectFloorCalls#1, stopRequestedInDirection_#in~respectInLiftCalls#1;assume { :end_inline_stopRequestedInDirection } true;timeShift__wrappee__twothirdsfull_~tmp___8~2#1 := timeShift__wrappee__twothirdsfull_#t~ret75#1;havoc timeShift__wrappee__twothirdsfull_#t~ret75#1;" "assume 0 != timeShift__wrappee__twothirdsfull_~tmp___8~2#1;assume { :begin_inline_continueInDirection } true;continueInDirection_#in~dir#1 := ~currentHeading~0;havoc continueInDirection_#t~ret50#1, continueInDirection_~dir#1, continueInDirection_~tmp~9#1;continueInDirection_~dir#1 := continueInDirection_#in~dir#1;havoc continueInDirection_~tmp~9#1;~currentHeading~0 := continueInDirection_~dir#1;" "assume !(1 == ~currentHeading~0);" "assume !(0 == ~currentFloorID~0);" "assume !(1 == ~currentHeading~0);~currentFloorID~0 := ~currentFloorID~0 - 1;" "havoc continueInDirection_#t~ret50#1, continueInDirection_~dir#1, continueInDirection_~tmp~9#1;havoc continueInDirection_#in~dir#1;assume { :end_inline_continueInDirection } true;" "havoc timeShift__wrappee__twothirdsfull_#t~ret68#1, timeShift__wrappee__twothirdsfull_#t~ret69#1, timeShift__wrappee__twothirdsfull_#t~ret70#1, timeShift__wrappee__twothirdsfull_#t~ret71#1, timeShift__wrappee__twothirdsfull_#t~ret72#1, timeShift__wrappee__twothirdsfull_#t~ret73#1, timeShift__wrappee__twothirdsfull_#t~ret74#1, timeShift__wrappee__twothirdsfull_#t~ret75#1, timeShift__wrappee__twothirdsfull_#t~ret76#1, timeShift__wrappee__twothirdsfull_#t~ret77#1, timeShift__wrappee__twothirdsfull_#t~ret78#1, timeShift__wrappee__twothirdsfull_~tmp~13#1, timeShift__wrappee__twothirdsfull_~tmp___0~5#1, timeShift__wrappee__twothirdsfull_~tmp___1~3#1, timeShift__wrappee__twothirdsfull_~tmp___2~3#1, timeShift__wrappee__twothirdsfull_~tmp___3~3#1, timeShift__wrappee__twothirdsfull_~tmp___4~2#1, timeShift__wrappee__twothirdsfull_~tmp___5~2#1, timeShift__wrappee__twothirdsfull_~tmp___6~2#1, timeShift__wrappee__twothirdsfull_~tmp___7~2#1, timeShift__wrappee__twothirdsfull_~tmp___8~2#1, timeShift__wrappee__twothirdsfull_~tmp___9~2#1;assume { :end_inline_timeShift__wrappee__twothirdsfull } true;" "assume { :begin_inline___utac_acc__Specification13_spec__2 } true;havoc __utac_acc__Specification13_spec__2_#t~ret130#1, __utac_acc__Specification13_spec__2_#t~ret131#1, __utac_acc__Specification13_spec__2_#t~ret132#1, __utac_acc__Specification13_spec__2_#t~ret133#1, __utac_acc__Specification13_spec__2_#t~ret134#1, __utac_acc__Specification13_spec__2_#t~ret135#1, __utac_acc__Specification13_spec__2_~tmp~28#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~6#1, __utac_acc__Specification13_spec__2_~__cil_tmp8~7#1;havoc __utac_acc__Specification13_spec__2_~tmp~28#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~6#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp8~7#1;__utac_acc__Specification13_spec__2_~__cil_tmp7~6#1 := 2 * ~maximumWeight~0;__utac_acc__Specification13_spec__2_~__cil_tmp8~7#1 := (if __utac_acc__Specification13_spec__2_~__cil_tmp7~6#1 < 0 && 0 != __utac_acc__Specification13_spec__2_~__cil_tmp7~6#1 % 3 then 1 + __utac_acc__Specification13_spec__2_~__cil_tmp7~6#1 / 3 else __utac_acc__Specification13_spec__2_~__cil_tmp7~6#1 / 3);" "assume ~weight~0 > __utac_acc__Specification13_spec__2_~__cil_tmp8~7#1;" "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~17#1, existInLiftCallsInDirection_~i~0#1, existInLiftCallsInDirection_~i___0~0#1;existInLiftCallsInDirection_~d#1 := existInLiftCallsInDirection_#in~d#1;havoc existInLiftCallsInDirection_~retValue_acc~17#1;havoc existInLiftCallsInDirection_~i~0#1;havoc existInLiftCallsInDirection_~i___0~0#1;" "assume !(1 == existInLiftCallsInDirection_~d#1);" "assume 0 == existInLiftCallsInDirection_~d#1;existInLiftCallsInDirection_~i___0~0#1 := 0;existInLiftCallsInDirection_~i___0~0#1 := ~currentFloorID~0 - 1;" [2025-01-10 07:36:34,395 INFO L754 eck$LassoCheckResult]: Loop: "assume existInLiftCallsInDirection_~i___0~0#1 >= 0;" "existInLiftCallsInDirection_~i___0~0#1 := 1 + ~currentFloorID~0;" "assume !(existInLiftCallsInDirection_~i___0~0#1 < 5);" "existInLiftCallsInDirection_~i___0~0#1 := existInLiftCallsInDirection_~i___0~0#1 - 1;" [2025-01-10 07:36:34,395 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:36:34,395 INFO L85 PathProgramCache]: Analyzing trace with hash 1071080976, now seen corresponding path program 1 times [2025-01-10 07:36:34,395 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:36:34,395 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1110742705] [2025-01-10 07:36:34,395 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-10 07:36:34,396 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:36:34,410 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 74 statements into 1 equivalence classes. [2025-01-10 07:36:34,415 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 74 of 74 statements. [2025-01-10 07:36:34,415 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:36:34,415 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:36:34,435 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-01-10 07:36:34,436 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-10 07:36:34,436 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1110742705] [2025-01-10 07:36:34,436 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1110742705] provided 1 perfect and 0 imperfect interpolant sequences [2025-01-10 07:36:34,436 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-01-10 07:36:34,436 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2025-01-10 07:36:34,436 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2968737] [2025-01-10 07:36:34,436 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-01-10 07:36:34,436 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-01-10 07:36:34,437 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:36:34,437 INFO L85 PathProgramCache]: Analyzing trace with hash 501106274, now seen corresponding path program 13 times [2025-01-10 07:36:34,437 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:36:34,437 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [978782604] [2025-01-10 07:36:34,437 INFO L95 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2025-01-10 07:36:34,437 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:36:34,446 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 4 statements into 1 equivalence classes. [2025-01-10 07:36:34,446 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 4 of 4 statements. [2025-01-10 07:36:34,447 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:36:34,447 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:36:34,447 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-01-10 07:36:34,447 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 4 statements into 1 equivalence classes. [2025-01-10 07:36:34,447 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 4 of 4 statements. [2025-01-10 07:36:34,448 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:36:34,448 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:36:34,452 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-01-10 07:36:34,468 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-10 07:36:34,469 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2025-01-10 07:36:34,469 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2025-01-10 07:36:34,469 INFO L87 Difference]: Start difference. First operand 69061 states and 127897 transitions. cyclomatic complexity: 59140 Second operand has 3 states, 3 states have (on average 24.666666666666668) internal successors, (74), 2 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) [2025-01-10 07:36:35,630 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-01-10 07:36:35,630 INFO L93 Difference]: Finished difference Result 124863 states and 230633 transitions. [2025-01-10 07:36:35,630 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 124863 states and 230633 transitions. [2025-01-10 07:36:36,404 INFO L131 ngComponentsAnalysis]: Automaton has 514 accepting balls. 37920 [2025-01-10 07:36:36,811 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 124863 states to 124863 states and 230633 transitions. [2025-01-10 07:36:36,812 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 124449 [2025-01-10 07:36:36,899 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 124449 [2025-01-10 07:36:36,900 INFO L73 IsDeterministic]: Start isDeterministic. Operand 124863 states and 230633 transitions. [2025-01-10 07:36:36,901 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-01-10 07:36:36,901 INFO L218 hiAutomatonCegarLoop]: Abstraction has 124863 states and 230633 transitions. [2025-01-10 07:36:36,975 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 124863 states and 230633 transitions. [2025-01-10 07:36:38,198 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 124863 to 124855. [2025-01-10 07:36:38,322 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 124855 states, 124855 states have (on average 1.8471426855151976) internal successors, (230625), 124854 states have internal predecessors, (230625), 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) [2025-01-10 07:36:38,533 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 124855 states to 124855 states and 230625 transitions. [2025-01-10 07:36:38,534 INFO L240 hiAutomatonCegarLoop]: Abstraction has 124855 states and 230625 transitions. [2025-01-10 07:36:38,534 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2025-01-10 07:36:38,534 INFO L432 stractBuchiCegarLoop]: Abstraction has 124855 states and 230625 transitions. [2025-01-10 07:36:38,534 INFO L338 stractBuchiCegarLoop]: ======== Iteration 16 ============ [2025-01-10 07:36:38,534 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 124855 states and 230625 transitions. [2025-01-10 07:36:39,192 INFO L131 ngComponentsAnalysis]: Automaton has 514 accepting balls. 37920 [2025-01-10 07:36:39,192 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-01-10 07:36:39,192 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-01-10 07:36:39,193 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-01-10 07:36:39,193 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1] [2025-01-10 07:36:39,193 INFO L752 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int#0(48, 1, 0, 1);call write~init~int#0(0, 1, 1, 1);call #Ultimate.allocInit(32, 2);call #Ultimate.allocInit(12, 3);call #Ultimate.allocInit(30, 4);call #Ultimate.allocInit(9, 5);call #Ultimate.allocInit(21, 6);call #Ultimate.allocInit(30, 7);call #Ultimate.allocInit(9, 8);call #Ultimate.allocInit(21, 9);call #Ultimate.allocInit(30, 10);call #Ultimate.allocInit(9, 11);call #Ultimate.allocInit(25, 12);call #Ultimate.allocInit(30, 13);call #Ultimate.allocInit(9, 14);call #Ultimate.allocInit(25, 15);call #Ultimate.allocInit(10, 16);call #Ultimate.allocInit(4, 17);call write~init~int#5(91, 17, 0, 1);call write~init~int#5(95, 17, 1, 1);call write~init~int#5(93, 17, 2, 1);call write~init~int#5(0, 17, 3, 1);call #Ultimate.allocInit(4, 18);call write~init~int#6(91, 18, 0, 1);call write~init~int#6(93, 18, 1, 1);call write~init~int#6(32, 18, 2, 1);call write~init~int#6(0, 18, 3, 1);call #Ultimate.allocInit(5, 19);call write~init~int#7(32, 19, 0, 1);call write~init~int#7(97, 19, 1, 1);call write~init~int#7(116, 19, 2, 1);call write~init~int#7(32, 19, 3, 1);call write~init~int#7(0, 19, 4, 1);call #Ultimate.allocInit(3, 20);call write~init~int#8(37, 20, 0, 1);call write~init~int#8(105, 20, 1, 1);call write~init~int#8(0, 20, 2, 1);call #Ultimate.allocInit(10, 21);call #Ultimate.allocInit(3, 22);call write~init~int#9(117, 22, 0, 1);call write~init~int#9(112, 22, 1, 1);call write~init~int#9(0, 22, 2, 1);call #Ultimate.allocInit(5, 23);call write~init~int#10(100, 23, 0, 1);call write~init~int#10(111, 23, 1, 1);call write~init~int#10(119, 23, 2, 1);call write~init~int#10(110, 23, 3, 1);call write~init~int#10(0, 23, 4, 1);call #Ultimate.allocInit(7, 24);call write~init~int#11(32, 24, 0, 1);call write~init~int#11(73, 24, 1, 1);call write~init~int#11(76, 24, 2, 1);call write~init~int#11(95, 24, 3, 1);call write~init~int#11(112, 24, 4, 1);call write~init~int#11(58, 24, 5, 1);call write~init~int#11(0, 24, 6, 1);call #Ultimate.allocInit(4, 25);call write~init~int#12(32, 25, 0, 1);call write~init~int#12(37, 25, 1, 1);call write~init~int#12(105, 25, 2, 1);call write~init~int#12(0, 25, 3, 1);call #Ultimate.allocInit(4, 26);call write~init~int#13(32, 26, 0, 1);call write~init~int#13(37, 26, 1, 1);call write~init~int#13(105, 26, 2, 1);call write~init~int#13(0, 26, 3, 1);call #Ultimate.allocInit(4, 27);call write~init~int#14(32, 27, 0, 1);call write~init~int#14(37, 27, 1, 1);call write~init~int#14(105, 27, 2, 1);call write~init~int#14(0, 27, 3, 1);call #Ultimate.allocInit(4, 28);call write~init~int#15(32, 28, 0, 1);call write~init~int#15(37, 28, 1, 1);call write~init~int#15(105, 28, 2, 1);call write~init~int#15(0, 28, 3, 1);call #Ultimate.allocInit(4, 29);call write~init~int#16(32, 29, 0, 1);call write~init~int#16(37, 29, 1, 1);call write~init~int#16(105, 29, 2, 1);call write~init~int#16(0, 29, 3, 1);call #Ultimate.allocInit(6, 30);call write~init~int#17(32, 30, 0, 1);call write~init~int#17(70, 30, 1, 1);call write~init~int#17(95, 30, 2, 1);call write~init~int#17(112, 30, 3, 1);call write~init~int#17(58, 30, 4, 1);call write~init~int#17(0, 30, 5, 1);call #Ultimate.allocInit(4, 31);call write~init~int#18(32, 31, 0, 1);call write~init~int#18(37, 31, 1, 1);call write~init~int#18(105, 31, 2, 1);call write~init~int#18(0, 31, 3, 1);call #Ultimate.allocInit(4, 32);call write~init~int#19(32, 32, 0, 1);call write~init~int#19(37, 32, 1, 1);call write~init~int#19(105, 32, 2, 1);call write~init~int#19(0, 32, 3, 1);call #Ultimate.allocInit(4, 33);call write~init~int#1(32, 33, 0, 1);call write~init~int#1(37, 33, 1, 1);call write~init~int#1(105, 33, 2, 1);call write~init~int#1(0, 33, 3, 1);call #Ultimate.allocInit(4, 34);call write~init~int#2(32, 34, 0, 1);call write~init~int#2(37, 34, 1, 1);call write~init~int#2(105, 34, 2, 1);call write~init~int#2(0, 34, 3, 1);call #Ultimate.allocInit(4, 35);call write~init~int#3(32, 35, 0, 1);call write~init~int#3(37, 35, 1, 1);call write~init~int#3(105, 35, 2, 1);call write~init~int#3(0, 35, 3, 1);call #Ultimate.allocInit(2, 36);call write~init~int#4(10, 36, 0, 1);call write~init~int#4(0, 36, 1, 1);call #Ultimate.allocInit(9, 37);~head~0.base, ~head~0.offset := 0, 0;~weight~0 := 0;~maximumWeight~0 := 100;~blocked~0 := 0;~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;~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;~prevDir~0 := 0;" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret128#1, main_~retValue_acc~27#1, main_~tmp~27#1;havoc main_~retValue_acc~27#1;havoc main_~tmp~27#1;assume { :begin_inline_select_helpers } true;" "assume { :end_inline_select_helpers } true;assume { :begin_inline_select_features } true;" "assume { :end_inline_select_features } true;assume { :begin_inline_valid_product } true;havoc valid_product_#res#1;havoc valid_product_~retValue_acc~25#1;havoc valid_product_~retValue_acc~25#1;valid_product_~retValue_acc~25#1 := 1;valid_product_#res#1 := valid_product_~retValue_acc~25#1;" "main_#t~ret128#1 := valid_product_#res#1;havoc valid_product_~retValue_acc~25#1;assume { :end_inline_valid_product } true;main_~tmp~27#1 := main_#t~ret128#1;havoc main_#t~ret128#1;" "assume 0 != main_~tmp~27#1;assume { :begin_inline_setup } true;" "assume { :end_inline_setup } true;assume { :begin_inline_runTest } true;assume { :begin_inline_test } true;assume { :begin_inline_aliceCall } true;havoc aliceCall_#t~ret117#1, aliceCall_~tmp~20#1;havoc aliceCall_~tmp~20#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 1;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~22#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~22#1;" "assume !(0 == getOrigin_~person#1);" "assume 1 == getOrigin_~person#1;getOrigin_~retValue_acc~22#1 := 3;getOrigin_#res#1 := getOrigin_~retValue_acc~22#1;" "aliceCall_#t~ret117#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~22#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;aliceCall_~tmp~20#1 := aliceCall_#t~ret117#1;havoc aliceCall_#t~ret117#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 1, aliceCall_~tmp~20#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1;" "assume !(0 == initPersonOnFloor_~floor#1);" "assume !(1 == initPersonOnFloor_~floor#1);" "assume !(2 == initPersonOnFloor_~floor#1);" "assume 3 == initPersonOnFloor_~floor#1;" "assume !(0 == initPersonOnFloor_~person#1);" "assume 1 == initPersonOnFloor_~person#1;~personOnFloor_1_3~0 := 1;" "assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1;" "assume !(0 == callOnFloor_~floorID#1);" "assume !(1 == callOnFloor_~floorID#1);" "assume !(2 == callOnFloor_~floorID#1);" "assume 3 == callOnFloor_~floorID#1;~calls_3~0 := 1;" "havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true;" "havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true;" "havoc aliceCall_#t~ret117#1, aliceCall_~tmp~20#1;assume { :end_inline_aliceCall } true;assume { :begin_inline_angelinaCall } true;havoc angelinaCall_#t~ret118#1, angelinaCall_~tmp~21#1;havoc angelinaCall_~tmp~21#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 2;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~22#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~22#1;" "assume !(0 == getOrigin_~person#1);" "assume !(1 == getOrigin_~person#1);" "assume 2 == getOrigin_~person#1;getOrigin_~retValue_acc~22#1 := 2;getOrigin_#res#1 := getOrigin_~retValue_acc~22#1;" "angelinaCall_#t~ret118#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~22#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;angelinaCall_~tmp~21#1 := angelinaCall_#t~ret118#1;havoc angelinaCall_#t~ret118#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 2, angelinaCall_~tmp~21#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1;" "assume !(0 == initPersonOnFloor_~floor#1);" "assume !(1 == initPersonOnFloor_~floor#1);" "assume 2 == initPersonOnFloor_~floor#1;" "assume !(0 == initPersonOnFloor_~person#1);" "assume !(1 == initPersonOnFloor_~person#1);" "assume 2 == initPersonOnFloor_~person#1;~personOnFloor_2_2~0 := 1;" "assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1;" "assume !(0 == callOnFloor_~floorID#1);" "assume !(1 == callOnFloor_~floorID#1);" "assume 2 == callOnFloor_~floorID#1;~calls_2~0 := 1;" "havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true;" "havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true;" "havoc angelinaCall_#t~ret118#1, angelinaCall_~tmp~21#1;assume { :end_inline_angelinaCall } true;assume { :begin_inline_threeTS } true;assume { :begin_inline_timeShift } true;havoc timeShift_#t~ret79#1, timeShift_~tmp~14#1;havoc timeShift_~tmp~14#1;assume { :begin_inline___utac_acc__Specification13_spec__1 } true;havoc __utac_acc__Specification13_spec__1_#t~ret129#1;assume { :begin_inline_getCurrentHeading } true;havoc getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~7#1;havoc getCurrentHeading_~retValue_acc~7#1;getCurrentHeading_~retValue_acc~7#1 := ~currentHeading~0;getCurrentHeading_#res#1 := getCurrentHeading_~retValue_acc~7#1;" "__utac_acc__Specification13_spec__1_#t~ret129#1 := getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~7#1;assume { :end_inline_getCurrentHeading } true;~prevDir~0 := __utac_acc__Specification13_spec__1_#t~ret129#1;havoc __utac_acc__Specification13_spec__1_#t~ret129#1;" "havoc __utac_acc__Specification13_spec__1_#t~ret129#1;assume { :end_inline___utac_acc__Specification13_spec__1 } true;assume { :begin_inline_areDoorsOpen } true;havoc areDoorsOpen_#res#1;havoc areDoorsOpen_~retValue_acc~5#1;havoc areDoorsOpen_~retValue_acc~5#1;areDoorsOpen_~retValue_acc~5#1 := ~doorState~0;areDoorsOpen_#res#1 := areDoorsOpen_~retValue_acc~5#1;" "timeShift_#t~ret79#1 := areDoorsOpen_#res#1;havoc areDoorsOpen_~retValue_acc~5#1;assume { :end_inline_areDoorsOpen } true;timeShift_~tmp~14#1 := timeShift_#t~ret79#1;havoc timeShift_#t~ret79#1;" "assume 0 != timeShift_~tmp~14#1;" "assume !(~weight~0 > ~maximumWeight~0);~blocked~0 := 0;assume { :begin_inline_timeShift__wrappee__twothirdsfull } true;havoc timeShift__wrappee__twothirdsfull_#t~ret68#1, timeShift__wrappee__twothirdsfull_#t~ret69#1, timeShift__wrappee__twothirdsfull_#t~ret70#1, timeShift__wrappee__twothirdsfull_#t~ret71#1, timeShift__wrappee__twothirdsfull_#t~ret72#1, timeShift__wrappee__twothirdsfull_#t~ret73#1, timeShift__wrappee__twothirdsfull_#t~ret74#1, timeShift__wrappee__twothirdsfull_#t~ret75#1, timeShift__wrappee__twothirdsfull_#t~ret76#1, timeShift__wrappee__twothirdsfull_#t~ret77#1, timeShift__wrappee__twothirdsfull_#t~ret78#1, timeShift__wrappee__twothirdsfull_~tmp~13#1, timeShift__wrappee__twothirdsfull_~tmp___0~5#1, timeShift__wrappee__twothirdsfull_~tmp___1~3#1, timeShift__wrappee__twothirdsfull_~tmp___2~3#1, timeShift__wrappee__twothirdsfull_~tmp___3~3#1, timeShift__wrappee__twothirdsfull_~tmp___4~2#1, timeShift__wrappee__twothirdsfull_~tmp___5~2#1, timeShift__wrappee__twothirdsfull_~tmp___6~2#1, timeShift__wrappee__twothirdsfull_~tmp___7~2#1, timeShift__wrappee__twothirdsfull_~tmp___8~2#1, timeShift__wrappee__twothirdsfull_~tmp___9~2#1;havoc timeShift__wrappee__twothirdsfull_~tmp~13#1;havoc timeShift__wrappee__twothirdsfull_~tmp___0~5#1;havoc timeShift__wrappee__twothirdsfull_~tmp___1~3#1;havoc timeShift__wrappee__twothirdsfull_~tmp___2~3#1;havoc timeShift__wrappee__twothirdsfull_~tmp___3~3#1;havoc timeShift__wrappee__twothirdsfull_~tmp___4~2#1;havoc timeShift__wrappee__twothirdsfull_~tmp___5~2#1;havoc timeShift__wrappee__twothirdsfull_~tmp___6~2#1;havoc timeShift__wrappee__twothirdsfull_~tmp___7~2#1;havoc timeShift__wrappee__twothirdsfull_~tmp___8~2#1;havoc timeShift__wrappee__twothirdsfull_~tmp___9~2#1;assume { :begin_inline_stopRequestedAtCurrentFloor } true;havoc stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret53#1, stopRequestedAtCurrentFloor_#t~ret54#1, stopRequestedAtCurrentFloor_#t~ret55#1, stopRequestedAtCurrentFloor_~retValue_acc~15#1, stopRequestedAtCurrentFloor_~tmp~11#1, stopRequestedAtCurrentFloor_~tmp___0~3#1, stopRequestedAtCurrentFloor_~__cil_tmp4~2#1, stopRequestedAtCurrentFloor_~__cil_tmp5~4#1;havoc stopRequestedAtCurrentFloor_~retValue_acc~15#1;havoc stopRequestedAtCurrentFloor_~tmp~11#1;havoc stopRequestedAtCurrentFloor_~tmp___0~3#1;havoc stopRequestedAtCurrentFloor_~__cil_tmp4~2#1;havoc stopRequestedAtCurrentFloor_~__cil_tmp5~4#1;stopRequestedAtCurrentFloor_~__cil_tmp4~2#1 := 2 * ~maximumWeight~0;stopRequestedAtCurrentFloor_~__cil_tmp5~4#1 := (if stopRequestedAtCurrentFloor_~__cil_tmp4~2#1 < 0 && 0 != stopRequestedAtCurrentFloor_~__cil_tmp4~2#1 % 3 then 1 + stopRequestedAtCurrentFloor_~__cil_tmp4~2#1 / 3 else stopRequestedAtCurrentFloor_~__cil_tmp4~2#1 / 3);" "assume ~weight~0 > stopRequestedAtCurrentFloor_~__cil_tmp5~4#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~4#1;havoc getCurrentFloorID_~retValue_acc~4#1;getCurrentFloorID_~retValue_acc~4#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~4#1;" "stopRequestedAtCurrentFloor_#t~ret53#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~4#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedAtCurrentFloor_~tmp~11#1 := stopRequestedAtCurrentFloor_#t~ret53#1;havoc stopRequestedAtCurrentFloor_#t~ret53#1;assume { :begin_inline_buttonForFloorIsPressed } true;buttonForFloorIsPressed_#in~floorID#1 := stopRequestedAtCurrentFloor_~tmp~11#1;havoc buttonForFloorIsPressed_#res#1;havoc buttonForFloorIsPressed_~floorID#1, buttonForFloorIsPressed_~retValue_acc~6#1;buttonForFloorIsPressed_~floorID#1 := buttonForFloorIsPressed_#in~floorID#1;havoc buttonForFloorIsPressed_~retValue_acc~6#1;" "assume 0 == buttonForFloorIsPressed_~floorID#1;buttonForFloorIsPressed_~retValue_acc~6#1 := ~floorButtons_0~0;buttonForFloorIsPressed_#res#1 := buttonForFloorIsPressed_~retValue_acc~6#1;" "stopRequestedAtCurrentFloor_#t~ret54#1 := buttonForFloorIsPressed_#res#1;havoc buttonForFloorIsPressed_~floorID#1, buttonForFloorIsPressed_~retValue_acc~6#1;havoc buttonForFloorIsPressed_#in~floorID#1;assume { :end_inline_buttonForFloorIsPressed } true;stopRequestedAtCurrentFloor_~tmp___0~3#1 := stopRequestedAtCurrentFloor_#t~ret54#1;havoc stopRequestedAtCurrentFloor_#t~ret54#1;stopRequestedAtCurrentFloor_~retValue_acc~15#1 := (if 1 == stopRequestedAtCurrentFloor_~tmp___0~3#1 then 1 else 0);stopRequestedAtCurrentFloor_#res#1 := stopRequestedAtCurrentFloor_~retValue_acc~15#1;" "timeShift__wrappee__twothirdsfull_#t~ret68#1 := stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret53#1, stopRequestedAtCurrentFloor_#t~ret54#1, stopRequestedAtCurrentFloor_#t~ret55#1, stopRequestedAtCurrentFloor_~retValue_acc~15#1, stopRequestedAtCurrentFloor_~tmp~11#1, stopRequestedAtCurrentFloor_~tmp___0~3#1, stopRequestedAtCurrentFloor_~__cil_tmp4~2#1, stopRequestedAtCurrentFloor_~__cil_tmp5~4#1;assume { :end_inline_stopRequestedAtCurrentFloor } true;timeShift__wrappee__twothirdsfull_~tmp___9~2#1 := timeShift__wrappee__twothirdsfull_#t~ret68#1;havoc timeShift__wrappee__twothirdsfull_#t~ret68#1;" "assume !(0 != timeShift__wrappee__twothirdsfull_~tmp___9~2#1);" "assume 1 == ~doorState~0;~doorState~0 := 0;" "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~ret46#1, stopRequestedInDirection_#t~ret47#1, stopRequestedInDirection_#t~ret48#1, stopRequestedInDirection_#t~ret49#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~12#1, stopRequestedInDirection_~overload~0#1, stopRequestedInDirection_~buttonPressed~0#1, stopRequestedInDirection_~tmp~8#1, stopRequestedInDirection_~__cil_tmp8~5#1, stopRequestedInDirection_~__cil_tmp9~5#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~12#1;havoc stopRequestedInDirection_~overload~0#1;havoc stopRequestedInDirection_~buttonPressed~0#1;havoc stopRequestedInDirection_~tmp~8#1;havoc stopRequestedInDirection_~__cil_tmp8~5#1;havoc stopRequestedInDirection_~__cil_tmp9~5#1;stopRequestedInDirection_~__cil_tmp8~5#1 := 2 * ~maximumWeight~0;stopRequestedInDirection_~__cil_tmp9~5#1 := (if stopRequestedInDirection_~__cil_tmp8~5#1 < 0 && 0 != stopRequestedInDirection_~__cil_tmp8~5#1 % 3 then 1 + stopRequestedInDirection_~__cil_tmp8~5#1 / 3 else stopRequestedInDirection_~__cil_tmp8~5#1 / 3);stopRequestedInDirection_~overload~0#1 := (if ~weight~0 > stopRequestedInDirection_~__cil_tmp9~5#1 then 1 else 0);assume { :begin_inline_isAnyLiftButtonPressed } true;havoc isAnyLiftButtonPressed_#res#1;havoc isAnyLiftButtonPressed_~retValue_acc~13#1;havoc isAnyLiftButtonPressed_~retValue_acc~13#1;" "assume !(0 != ~floorButtons_0~0);" "assume !(0 != ~floorButtons_1~0);" "assume !(0 != ~floorButtons_2~0);" "assume 0 != ~floorButtons_3~0;isAnyLiftButtonPressed_~retValue_acc~13#1 := 1;isAnyLiftButtonPressed_#res#1 := isAnyLiftButtonPressed_~retValue_acc~13#1;" "stopRequestedInDirection_#t~ret46#1 := isAnyLiftButtonPressed_#res#1;havoc isAnyLiftButtonPressed_~retValue_acc~13#1;assume { :end_inline_isAnyLiftButtonPressed } true;stopRequestedInDirection_~tmp~8#1 := stopRequestedInDirection_#t~ret46#1;havoc stopRequestedInDirection_#t~ret46#1;stopRequestedInDirection_~buttonPressed~0#1 := stopRequestedInDirection_~tmp~8#1;" "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~ret35#1, stopRequestedInDirection__wrappee__weight_#t~ret36#1, stopRequestedInDirection__wrappee__weight_#t~ret37#1, stopRequestedInDirection__wrappee__weight_#t~ret38#1, stopRequestedInDirection__wrappee__weight_#t~ret39#1, stopRequestedInDirection__wrappee__weight_#t~ret40#1, stopRequestedInDirection__wrappee__weight_#t~ret41#1, stopRequestedInDirection__wrappee__weight_#t~ret42#1, stopRequestedInDirection__wrappee__weight_#t~ret43#1, stopRequestedInDirection__wrappee__weight_#t~ret44#1, stopRequestedInDirection__wrappee__weight_#t~ret45#1, stopRequestedInDirection__wrappee__weight_~dir#1, stopRequestedInDirection__wrappee__weight_~respectFloorCalls#1, stopRequestedInDirection__wrappee__weight_~respectInLiftCalls#1, stopRequestedInDirection__wrappee__weight_~retValue_acc~11#1, stopRequestedInDirection__wrappee__weight_~tmp~7#1, stopRequestedInDirection__wrappee__weight_~tmp___0~1#1, stopRequestedInDirection__wrappee__weight_~tmp___1~1#1, stopRequestedInDirection__wrappee__weight_~tmp___2~1#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~11#1;havoc stopRequestedInDirection__wrappee__weight_~tmp~7#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___0~1#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___1~1#1;havoc stopRequestedInDirection__wrappee__weight_~tmp___2~1#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;" "assume !(1 == stopRequestedInDirection__wrappee__weight_~dir#1);" "assume 0 == ~currentFloorID~0;stopRequestedInDirection__wrappee__weight_~retValue_acc~11#1 := 0;stopRequestedInDirection__wrappee__weight_#res#1 := stopRequestedInDirection__wrappee__weight_~retValue_acc~11#1;" "stopRequestedInDirection_#t~ret49#1 := stopRequestedInDirection__wrappee__weight_#res#1;havoc stopRequestedInDirection__wrappee__weight_#t~ret35#1, stopRequestedInDirection__wrappee__weight_#t~ret36#1, stopRequestedInDirection__wrappee__weight_#t~ret37#1, stopRequestedInDirection__wrappee__weight_#t~ret38#1, stopRequestedInDirection__wrappee__weight_#t~ret39#1, stopRequestedInDirection__wrappee__weight_#t~ret40#1, stopRequestedInDirection__wrappee__weight_#t~ret41#1, stopRequestedInDirection__wrappee__weight_#t~ret42#1, stopRequestedInDirection__wrappee__weight_#t~ret43#1, stopRequestedInDirection__wrappee__weight_#t~ret44#1, stopRequestedInDirection__wrappee__weight_#t~ret45#1, stopRequestedInDirection__wrappee__weight_~dir#1, stopRequestedInDirection__wrappee__weight_~respectFloorCalls#1, stopRequestedInDirection__wrappee__weight_~respectInLiftCalls#1, stopRequestedInDirection__wrappee__weight_~retValue_acc~11#1, stopRequestedInDirection__wrappee__weight_~tmp~7#1, stopRequestedInDirection__wrappee__weight_~tmp___0~1#1, stopRequestedInDirection__wrappee__weight_~tmp___1~1#1, stopRequestedInDirection__wrappee__weight_~tmp___2~1#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~12#1 := stopRequestedInDirection_#t~ret49#1;havoc stopRequestedInDirection_#t~ret49#1;stopRequestedInDirection_#res#1 := stopRequestedInDirection_~retValue_acc~12#1;" "timeShift__wrappee__twothirdsfull_#t~ret75#1 := stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret46#1, stopRequestedInDirection_#t~ret47#1, stopRequestedInDirection_#t~ret48#1, stopRequestedInDirection_#t~ret49#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~12#1, stopRequestedInDirection_~overload~0#1, stopRequestedInDirection_~buttonPressed~0#1, stopRequestedInDirection_~tmp~8#1, stopRequestedInDirection_~__cil_tmp8~5#1, stopRequestedInDirection_~__cil_tmp9~5#1;havoc stopRequestedInDirection_#in~dir#1, stopRequestedInDirection_#in~respectFloorCalls#1, stopRequestedInDirection_#in~respectInLiftCalls#1;assume { :end_inline_stopRequestedInDirection } true;timeShift__wrappee__twothirdsfull_~tmp___8~2#1 := timeShift__wrappee__twothirdsfull_#t~ret75#1;havoc timeShift__wrappee__twothirdsfull_#t~ret75#1;" "assume 0 != timeShift__wrappee__twothirdsfull_~tmp___8~2#1;assume { :begin_inline_continueInDirection } true;continueInDirection_#in~dir#1 := ~currentHeading~0;havoc continueInDirection_#t~ret50#1, continueInDirection_~dir#1, continueInDirection_~tmp~9#1;continueInDirection_~dir#1 := continueInDirection_#in~dir#1;havoc continueInDirection_~tmp~9#1;~currentHeading~0 := continueInDirection_~dir#1;" "assume !(1 == ~currentHeading~0);" "assume !(0 == ~currentFloorID~0);" "assume !(1 == ~currentHeading~0);~currentFloorID~0 := ~currentFloorID~0 - 1;" "havoc continueInDirection_#t~ret50#1, continueInDirection_~dir#1, continueInDirection_~tmp~9#1;havoc continueInDirection_#in~dir#1;assume { :end_inline_continueInDirection } true;" "havoc timeShift__wrappee__twothirdsfull_#t~ret68#1, timeShift__wrappee__twothirdsfull_#t~ret69#1, timeShift__wrappee__twothirdsfull_#t~ret70#1, timeShift__wrappee__twothirdsfull_#t~ret71#1, timeShift__wrappee__twothirdsfull_#t~ret72#1, timeShift__wrappee__twothirdsfull_#t~ret73#1, timeShift__wrappee__twothirdsfull_#t~ret74#1, timeShift__wrappee__twothirdsfull_#t~ret75#1, timeShift__wrappee__twothirdsfull_#t~ret76#1, timeShift__wrappee__twothirdsfull_#t~ret77#1, timeShift__wrappee__twothirdsfull_#t~ret78#1, timeShift__wrappee__twothirdsfull_~tmp~13#1, timeShift__wrappee__twothirdsfull_~tmp___0~5#1, timeShift__wrappee__twothirdsfull_~tmp___1~3#1, timeShift__wrappee__twothirdsfull_~tmp___2~3#1, timeShift__wrappee__twothirdsfull_~tmp___3~3#1, timeShift__wrappee__twothirdsfull_~tmp___4~2#1, timeShift__wrappee__twothirdsfull_~tmp___5~2#1, timeShift__wrappee__twothirdsfull_~tmp___6~2#1, timeShift__wrappee__twothirdsfull_~tmp___7~2#1, timeShift__wrappee__twothirdsfull_~tmp___8~2#1, timeShift__wrappee__twothirdsfull_~tmp___9~2#1;assume { :end_inline_timeShift__wrappee__twothirdsfull } true;" "assume { :begin_inline___utac_acc__Specification13_spec__2 } true;havoc __utac_acc__Specification13_spec__2_#t~ret130#1, __utac_acc__Specification13_spec__2_#t~ret131#1, __utac_acc__Specification13_spec__2_#t~ret132#1, __utac_acc__Specification13_spec__2_#t~ret133#1, __utac_acc__Specification13_spec__2_#t~ret134#1, __utac_acc__Specification13_spec__2_#t~ret135#1, __utac_acc__Specification13_spec__2_~tmp~28#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~6#1, __utac_acc__Specification13_spec__2_~__cil_tmp8~7#1;havoc __utac_acc__Specification13_spec__2_~tmp~28#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~6#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp8~7#1;__utac_acc__Specification13_spec__2_~__cil_tmp7~6#1 := 2 * ~maximumWeight~0;__utac_acc__Specification13_spec__2_~__cil_tmp8~7#1 := (if __utac_acc__Specification13_spec__2_~__cil_tmp7~6#1 < 0 && 0 != __utac_acc__Specification13_spec__2_~__cil_tmp7~6#1 % 3 then 1 + __utac_acc__Specification13_spec__2_~__cil_tmp7~6#1 / 3 else __utac_acc__Specification13_spec__2_~__cil_tmp7~6#1 / 3);" "assume ~weight~0 > __utac_acc__Specification13_spec__2_~__cil_tmp8~7#1;" "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~17#1, existInLiftCallsInDirection_~i~0#1, existInLiftCallsInDirection_~i___0~0#1;existInLiftCallsInDirection_~d#1 := existInLiftCallsInDirection_#in~d#1;havoc existInLiftCallsInDirection_~retValue_acc~17#1;havoc existInLiftCallsInDirection_~i~0#1;havoc existInLiftCallsInDirection_~i___0~0#1;" "assume !(1 == existInLiftCallsInDirection_~d#1);" "assume 0 == existInLiftCallsInDirection_~d#1;existInLiftCallsInDirection_~i___0~0#1 := 0;existInLiftCallsInDirection_~i___0~0#1 := ~currentFloorID~0 - 1;" [2025-01-10 07:36:39,193 INFO L754 eck$LassoCheckResult]: Loop: "assume existInLiftCallsInDirection_~i___0~0#1 >= 0;" "existInLiftCallsInDirection_~i___0~0#1 := 1 + ~currentFloorID~0;" "assume !(existInLiftCallsInDirection_~i___0~0#1 < 5);" "existInLiftCallsInDirection_~i___0~0#1 := existInLiftCallsInDirection_~i___0~0#1 - 1;" [2025-01-10 07:36:39,194 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:36:39,194 INFO L85 PathProgramCache]: Analyzing trace with hash -1848618136, now seen corresponding path program 1 times [2025-01-10 07:36:39,194 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:36:39,194 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [999254124] [2025-01-10 07:36:39,194 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-10 07:36:39,194 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:36:39,209 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 75 statements into 1 equivalence classes. [2025-01-10 07:36:39,213 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 75 of 75 statements. [2025-01-10 07:36:39,213 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:36:39,213 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:36:39,234 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-01-10 07:36:39,234 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-10 07:36:39,234 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [999254124] [2025-01-10 07:36:39,234 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [999254124] provided 1 perfect and 0 imperfect interpolant sequences [2025-01-10 07:36:39,234 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-01-10 07:36:39,234 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2025-01-10 07:36:39,234 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [37143616] [2025-01-10 07:36:39,234 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-01-10 07:36:39,234 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-01-10 07:36:39,235 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:36:39,235 INFO L85 PathProgramCache]: Analyzing trace with hash 501106274, now seen corresponding path program 14 times [2025-01-10 07:36:39,235 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:36:39,235 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1607065621] [2025-01-10 07:36:39,235 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-01-10 07:36:39,235 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:36:39,244 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 4 statements into 1 equivalence classes. [2025-01-10 07:36:39,244 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) and asserted 4 of 4 statements. [2025-01-10 07:36:39,245 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2025-01-10 07:36:39,245 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:36:39,245 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-01-10 07:36:39,245 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 4 statements into 1 equivalence classes. [2025-01-10 07:36:39,246 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 4 of 4 statements. [2025-01-10 07:36:39,246 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:36:39,246 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:36:39,251 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-01-10 07:36:39,265 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-10 07:36:39,266 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2025-01-10 07:36:39,266 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2025-01-10 07:36:39,266 INFO L87 Difference]: Start difference. First operand 124855 states and 230625 transitions. cyclomatic complexity: 106306 Second operand has 3 states, 3 states have (on average 25.0) internal successors, (75), 2 states have internal predecessors, (75), 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) [2025-01-10 07:36:40,933 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-01-10 07:36:40,933 INFO L93 Difference]: Finished difference Result 235601 states and 434059 transitions. [2025-01-10 07:36:40,933 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 235601 states and 434059 transitions. [2025-01-10 07:36:42,303 INFO L131 ngComponentsAnalysis]: Automaton has 962 accepting balls. 71848 [2025-01-10 07:36:43,159 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 235601 states to 235601 states and 434059 transitions. [2025-01-10 07:36:43,159 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 234915 [2025-01-10 07:36:43,701 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 234915 [2025-01-10 07:36:43,701 INFO L73 IsDeterministic]: Start isDeterministic. Operand 235601 states and 434059 transitions. [2025-01-10 07:36:43,702 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-01-10 07:36:43,702 INFO L218 hiAutomatonCegarLoop]: Abstraction has 235601 states and 434059 transitions. [2025-01-10 07:36:43,856 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 235601 states and 434059 transitions.