./Ultimate.py --spec ../sv-benchmarks/c/properties/termination.prp --file ../sv-benchmarks/c/product-lines/elevator_spec13_product23.cil.c --full-output --architecture 32bit -------------------------------------------------------------------------------- Checking for termination Using default analysis Version 8be7027f Calling Ultimate with: /root/.sdkman/candidates/java/11.0.12-open/bin/java -Dosgi.configuration.area=/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/config -Xmx15G -Xms4m -jar /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data -tc /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/AutomizerTermination.xml -i ../sv-benchmarks/c/product-lines/elevator_spec13_product23.cil.c -s /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Termination-32bit-Automizer_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /storage/repos/ultimate/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 ef17cfb4a2c8358ea255253edc0610051a64c94a86cd92ff89d3b074c51925f6 --- Real Ultimate output --- This is Ultimate 0.2.5-wip.dk.perfect-tracechecks-8be7027-m [2024-11-12 21:27:47,057 INFO L188 SettingsManager]: Resetting all preferences to default values... [2024-11-12 21:27:47,127 INFO L114 SettingsManager]: Loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Termination-32bit-Automizer_Default.epf [2024-11-12 21:27:47,132 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2024-11-12 21:27:47,134 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2024-11-12 21:27:47,170 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2024-11-12 21:27:47,171 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2024-11-12 21:27:47,171 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2024-11-12 21:27:47,172 INFO L151 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2024-11-12 21:27:47,172 INFO L153 SettingsManager]: * Use memory slicer=true [2024-11-12 21:27:47,173 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2024-11-12 21:27:47,174 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2024-11-12 21:27:47,175 INFO L153 SettingsManager]: * Use SBE=true [2024-11-12 21:27:47,176 INFO L151 SettingsManager]: Preferences of BuchiAutomizer differ from their defaults: [2024-11-12 21:27:47,178 INFO L153 SettingsManager]: * NCSB implementation=INTSET_LAZY3 [2024-11-12 21:27:47,178 INFO L153 SettingsManager]: * Use old map elimination=false [2024-11-12 21:27:47,179 INFO L153 SettingsManager]: * Use external solver (rank synthesis)=false [2024-11-12 21:27:47,179 INFO L153 SettingsManager]: * Use only trivial implications for array writes=true [2024-11-12 21:27:47,179 INFO L153 SettingsManager]: * Rank analysis=LINEAR_WITH_GUESSES [2024-11-12 21:27:47,179 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2024-11-12 21:27:47,180 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=ASSUME [2024-11-12 21:27:47,180 INFO L153 SettingsManager]: * sizeof long=4 [2024-11-12 21:27:47,181 INFO L153 SettingsManager]: * Overapproximate operations on floating types=true [2024-11-12 21:27:47,181 INFO L153 SettingsManager]: * sizeof POINTER=4 [2024-11-12 21:27:47,181 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2024-11-12 21:27:47,181 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=ASSUME [2024-11-12 21:27:47,182 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=ASSUME [2024-11-12 21:27:47,182 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=ASSUME [2024-11-12 21:27:47,182 INFO L153 SettingsManager]: * Allow undefined functions=false [2024-11-12 21:27:47,183 INFO L153 SettingsManager]: * Check unreachability of reach_error function=false [2024-11-12 21:27:47,183 INFO L153 SettingsManager]: * sizeof long double=12 [2024-11-12 21:27:47,188 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2024-11-12 21:27:47,188 INFO L153 SettingsManager]: * Assume nondeterminstic values are in range=false [2024-11-12 21:27:47,188 INFO L153 SettingsManager]: * Use constant arrays=true [2024-11-12 21:27:47,189 INFO L151 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2024-11-12 21:27:47,190 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2024-11-12 21:27:47,190 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2024-11-12 21:27:47,190 INFO L153 SettingsManager]: * Trace refinement strategy=CAMEL [2024-11-12 21:27:47,190 INFO L151 SettingsManager]: Preferences of IcfgTransformer differ from their defaults: [2024-11-12 21:27:47,191 INFO L153 SettingsManager]: * TransformationType=MODULO_NEIGHBOR WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: Entry function -> main Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness directory -> /storage/repos/ultimate/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 -> ef17cfb4a2c8358ea255253edc0610051a64c94a86cd92ff89d3b074c51925f6 [2024-11-12 21:27:47,447 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2024-11-12 21:27:47,477 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2024-11-12 21:27:47,480 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2024-11-12 21:27:47,481 INFO L270 PluginConnector]: Initializing CDTParser... [2024-11-12 21:27:47,482 INFO L274 PluginConnector]: CDTParser initialized [2024-11-12 21:27:47,483 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/product-lines/elevator_spec13_product23.cil.c [2024-11-12 21:27:48,981 INFO L533 CDTParser]: Created temporary CDT project at NULL [2024-11-12 21:27:49,294 INFO L384 CDTParser]: Found 1 translation units. [2024-11-12 21:27:49,294 INFO L180 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/product-lines/elevator_spec13_product23.cil.c [2024-11-12 21:27:49,330 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/97412b2fb/89fa3d035a154917ab9349ac13f7e694/FLAG9d901016a [2024-11-12 21:27:49,351 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/97412b2fb/89fa3d035a154917ab9349ac13f7e694 [2024-11-12 21:27:49,355 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2024-11-12 21:27:49,356 INFO L133 ToolchainWalker]: Walking toolchain with 6 elements. [2024-11-12 21:27:49,360 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2024-11-12 21:27:49,360 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2024-11-12 21:27:49,367 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2024-11-12 21:27:49,368 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 12.11 09:27:49" (1/1) ... [2024-11-12 21:27:49,369 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@18ac722b and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 12.11 09:27:49, skipping insertion in model container [2024-11-12 21:27:49,369 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 12.11 09:27:49" (1/1) ... [2024-11-12 21:27:49,481 INFO L175 MainTranslator]: Built tables and reachable declarations [2024-11-12 21:27:50,088 INFO L210 PostProcessor]: Analyzing one entry point: main [2024-11-12 21:27:50,116 INFO L200 MainTranslator]: Completed pre-run [2024-11-12 21:27:50,127 WARN L75 lationResultReporter]: Unsoundness Warning: Ignoring preprocessor pragma C: #pragma merger(0,"scenario.i","") [48] [2024-11-12 21:27:50,128 WARN L75 lationResultReporter]: Unsoundness Warning: Ignoring preprocessor pragma C: #pragma merger(0,"wsllib_check.i","") [68] [2024-11-12 21:27:50,129 WARN L75 lationResultReporter]: Unsoundness Warning: Ignoring preprocessor pragma C: #pragma merger(0,"Specification13_spec.i","") [77] [2024-11-12 21:27:50,129 WARN L75 lationResultReporter]: Unsoundness Warning: Ignoring preprocessor pragma C: #pragma merger(0,"UnitTests.i","") [171] [2024-11-12 21:27:50,130 WARN L75 lationResultReporter]: Unsoundness Warning: Ignoring preprocessor pragma C: #pragma merger(0,"Elevator.i","") [270] [2024-11-12 21:27:50,130 WARN L75 lationResultReporter]: Unsoundness Warning: Ignoring preprocessor pragma C: #pragma merger(0,"Person.i","") [1873] [2024-11-12 21:27:50,130 WARN L75 lationResultReporter]: Unsoundness Warning: Ignoring preprocessor pragma C: #pragma merger(0,"Test.i","") [1991] [2024-11-12 21:27:50,131 WARN L75 lationResultReporter]: Unsoundness Warning: Ignoring preprocessor pragma C: #pragma merger(0,"libacc.i","") [2342] [2024-11-12 21:27:50,131 WARN L75 lationResultReporter]: Unsoundness Warning: Ignoring preprocessor pragma C: #pragma merger(0,"featureselect.i","") [2708] [2024-11-12 21:27:50,131 WARN L75 lationResultReporter]: Unsoundness Warning: Ignoring preprocessor pragma C: #pragma merger(0,"Floor.i","") [2743] [2024-11-12 21:27:50,247 INFO L210 PostProcessor]: Analyzing one entry point: main [2024-11-12 21:27:50,277 INFO L204 MainTranslator]: Completed translation [2024-11-12 21:27:50,277 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 12.11 09:27:50 WrapperNode [2024-11-12 21:27:50,278 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2024-11-12 21:27:50,279 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2024-11-12 21:27:50,279 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2024-11-12 21:27:50,279 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2024-11-12 21:27:50,285 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 12.11 09:27:50" (1/1) ... [2024-11-12 21:27:50,338 INFO L184 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 12.11 09:27:50" (1/1) ... [2024-11-12 21:27:50,871 INFO L138 Inliner]: procedures = 94, calls = 347, calls flagged for inlining = 200, calls inlined = 1015, statements flattened = 35281 [2024-11-12 21:27:50,872 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2024-11-12 21:27:50,873 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2024-11-12 21:27:50,873 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2024-11-12 21:27:50,873 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2024-11-12 21:27:50,885 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 12.11 09:27:50" (1/1) ... [2024-11-12 21:27:50,886 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 12.11 09:27:50" (1/1) ... [2024-11-12 21:27:50,995 INFO L184 PluginConnector]: Executing the observer MemorySlicer from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 12.11 09:27:50" (1/1) ... [2024-11-12 21:27:51,285 INFO L175 MemorySlicer]: Split 81 memory accesses to 20 slices as follows [2, 4, 4, 5, 3, 3, 5, 7, 4, 4, 4, 4, 4, 6, 4, 4, 4, 4, 4, 2]. 9 percent of accesses are in the largest equivalence class. The 81 initializations are split as follows [2, 4, 4, 5, 3, 3, 5, 7, 4, 4, 4, 4, 4, 6, 4, 4, 4, 4, 4, 2]. The 0 writes are split as follows [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]. [2024-11-12 21:27:51,286 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 12.11 09:27:50" (1/1) ... [2024-11-12 21:27:51,287 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 12.11 09:27:50" (1/1) ... [2024-11-12 21:27:51,563 INFO L184 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 12.11 09:27:50" (1/1) ... [2024-11-12 21:27:51,718 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 12.11 09:27:50" (1/1) ... [2024-11-12 21:27:51,756 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 12.11 09:27:50" (1/1) ... [2024-11-12 21:27:51,808 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 12.11 09:27:50" (1/1) ... [2024-11-12 21:27:52,063 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2024-11-12 21:27:52,065 INFO L112 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2024-11-12 21:27:52,065 INFO L270 PluginConnector]: Initializing RCFGBuilder... [2024-11-12 21:27:52,069 INFO L274 PluginConnector]: RCFGBuilder initialized [2024-11-12 21:27:52,070 INFO L184 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 12.11 09:27:50" (1/1) ... [2024-11-12 21:27:52,079 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-12 21:27:52,096 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-12 21:27:52,133 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-11-12 21:27:52,136 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (1)] Waiting until timeout for monitored process [2024-11-12 21:27:52,213 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2024-11-12 21:27:52,213 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#0 [2024-11-12 21:27:52,213 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#1 [2024-11-12 21:27:52,215 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#2 [2024-11-12 21:27:52,215 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#3 [2024-11-12 21:27:52,215 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#4 [2024-11-12 21:27:52,215 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#5 [2024-11-12 21:27:52,216 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#6 [2024-11-12 21:27:52,216 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#7 [2024-11-12 21:27:52,216 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#8 [2024-11-12 21:27:52,216 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#9 [2024-11-12 21:27:52,216 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#10 [2024-11-12 21:27:52,216 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#11 [2024-11-12 21:27:52,217 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#12 [2024-11-12 21:27:52,217 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#13 [2024-11-12 21:27:52,217 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#14 [2024-11-12 21:27:52,217 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#15 [2024-11-12 21:27:52,217 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#16 [2024-11-12 21:27:52,217 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#17 [2024-11-12 21:27:52,218 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#18 [2024-11-12 21:27:52,218 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#19 [2024-11-12 21:27:52,218 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2024-11-12 21:27:52,219 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2024-11-12 21:27:52,428 INFO L238 CfgBuilder]: Building ICFG [2024-11-12 21:27:52,430 INFO L264 CfgBuilder]: Building CFG for each procedure with an implementation [2024-11-12 21:28:07,623 INFO L? ?]: Removed 15212 outVars from TransFormulas that were not future-live. [2024-11-12 21:28:07,623 INFO L287 CfgBuilder]: Performing block encoding [2024-11-12 21:28:07,741 INFO L311 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2024-11-12 21:28:07,742 INFO L316 CfgBuilder]: Removed 61 assume(true) statements. [2024-11-12 21:28:07,743 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 12.11 09:28:07 BoogieIcfgContainer [2024-11-12 21:28:07,743 INFO L131 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2024-11-12 21:28:07,744 INFO L112 PluginConnector]: ------------------------BuchiAutomizer---------------------------- [2024-11-12 21:28:07,744 INFO L270 PluginConnector]: Initializing BuchiAutomizer... [2024-11-12 21:28:07,748 INFO L274 PluginConnector]: BuchiAutomizer initialized [2024-11-12 21:28:07,749 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2024-11-12 21:28:07,749 INFO L184 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "CDTParser AST 12.11 09:27:49" (1/3) ... [2024-11-12 21:28:07,750 INFO L204 PluginConnector]: Invalid model from BuchiAutomizer for observer de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver@6022db5 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer AST 12.11 09:28:07, skipping insertion in model container [2024-11-12 21:28:07,750 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2024-11-12 21:28:07,750 INFO L184 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 12.11 09:27:50" (2/3) ... [2024-11-12 21:28:07,752 INFO L204 PluginConnector]: Invalid model from BuchiAutomizer for observer de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver@6022db5 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer AST 12.11 09:28:07, skipping insertion in model container [2024-11-12 21:28:07,752 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2024-11-12 21:28:07,753 INFO L184 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 12.11 09:28:07" (3/3) ... [2024-11-12 21:28:07,754 INFO L332 chiAutomizerObserver]: Analyzing ICFG elevator_spec13_product23.cil.c [2024-11-12 21:28:07,933 INFO L301 stractBuchiCegarLoop]: Interprodecural is true [2024-11-12 21:28:07,933 INFO L302 stractBuchiCegarLoop]: Hoare is None [2024-11-12 21:28:07,934 INFO L303 stractBuchiCegarLoop]: Compute interpolants for ForwardPredicates [2024-11-12 21:28:07,934 INFO L304 stractBuchiCegarLoop]: Backedges is STRAIGHT_LINE [2024-11-12 21:28:07,934 INFO L305 stractBuchiCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2024-11-12 21:28:07,934 INFO L306 stractBuchiCegarLoop]: Difference is false [2024-11-12 21:28:07,934 INFO L307 stractBuchiCegarLoop]: Minimize is MINIMIZE_SEVPA [2024-11-12 21:28:07,934 INFO L311 stractBuchiCegarLoop]: ======== Iteration 0 == of CEGAR loop == BuchiAutomatonCegarLoop ======== [2024-11-12 21:28:07,971 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand has 9467 states, 9466 states have (on average 1.8756602577646313) internal successors, (17755), 9466 states have internal predecessors, (17755), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-12 21:28:08,164 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 2379 [2024-11-12 21:28:08,165 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-12 21:28:08,165 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-12 21:28:08,174 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-11-12 21:28:08,175 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1, 1, 1] [2024-11-12 21:28:08,175 INFO L333 stractBuchiCegarLoop]: ======== Iteration 1 ============ [2024-11-12 21:28:08,200 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand has 9467 states, 9466 states have (on average 1.8756602577646313) internal successors, (17755), 9466 states have internal predecessors, (17755), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-12 21:28:08,321 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 2379 [2024-11-12 21:28:08,322 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-12 21:28:08,322 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-12 21:28:08,326 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-11-12 21:28:08,326 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1, 1, 1] [2024-11-12 21:28:08,338 INFO L747 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(10, 4);call #Ultimate.allocInit(4, 5);call write~init~int#1(91, 5, 0, 1);call write~init~int#1(95, 5, 1, 1);call write~init~int#1(93, 5, 2, 1);call write~init~int#1(0, 5, 3, 1);call #Ultimate.allocInit(4, 6);call write~init~int#2(91, 6, 0, 1);call write~init~int#2(93, 6, 1, 1);call write~init~int#2(32, 6, 2, 1);call write~init~int#2(0, 6, 3, 1);call #Ultimate.allocInit(5, 7);call write~init~int#3(32, 7, 0, 1);call write~init~int#3(97, 7, 1, 1);call write~init~int#3(116, 7, 2, 1);call write~init~int#3(32, 7, 3, 1);call write~init~int#3(0, 7, 4, 1);call #Ultimate.allocInit(3, 8);call write~init~int#4(37, 8, 0, 1);call write~init~int#4(105, 8, 1, 1);call write~init~int#4(0, 8, 2, 1);call #Ultimate.allocInit(10, 9);call #Ultimate.allocInit(3, 10);call write~init~int#5(117, 10, 0, 1);call write~init~int#5(112, 10, 1, 1);call write~init~int#5(0, 10, 2, 1);call #Ultimate.allocInit(5, 11);call write~init~int#6(100, 11, 0, 1);call write~init~int#6(111, 11, 1, 1);call write~init~int#6(119, 11, 2, 1);call write~init~int#6(110, 11, 3, 1);call write~init~int#6(0, 11, 4, 1);call #Ultimate.allocInit(7, 12);call write~init~int#7(32, 12, 0, 1);call write~init~int#7(73, 12, 1, 1);call write~init~int#7(76, 12, 2, 1);call write~init~int#7(95, 12, 3, 1);call write~init~int#7(112, 12, 4, 1);call write~init~int#7(58, 12, 5, 1);call write~init~int#7(0, 12, 6, 1);call #Ultimate.allocInit(4, 13);call write~init~int#8(32, 13, 0, 1);call write~init~int#8(37, 13, 1, 1);call write~init~int#8(105, 13, 2, 1);call write~init~int#8(0, 13, 3, 1);call #Ultimate.allocInit(4, 14);call write~init~int#9(32, 14, 0, 1);call write~init~int#9(37, 14, 1, 1);call write~init~int#9(105, 14, 2, 1);call write~init~int#9(0, 14, 3, 1);call #Ultimate.allocInit(4, 15);call write~init~int#10(32, 15, 0, 1);call write~init~int#10(37, 15, 1, 1);call write~init~int#10(105, 15, 2, 1);call write~init~int#10(0, 15, 3, 1);call #Ultimate.allocInit(4, 16);call write~init~int#11(32, 16, 0, 1);call write~init~int#11(37, 16, 1, 1);call write~init~int#11(105, 16, 2, 1);call write~init~int#11(0, 16, 3, 1);call #Ultimate.allocInit(4, 17);call write~init~int#12(32, 17, 0, 1);call write~init~int#12(37, 17, 1, 1);call write~init~int#12(105, 17, 2, 1);call write~init~int#12(0, 17, 3, 1);call #Ultimate.allocInit(6, 18);call write~init~int#13(32, 18, 0, 1);call write~init~int#13(70, 18, 1, 1);call write~init~int#13(95, 18, 2, 1);call write~init~int#13(112, 18, 3, 1);call write~init~int#13(58, 18, 4, 1);call write~init~int#13(0, 18, 5, 1);call #Ultimate.allocInit(4, 19);call write~init~int#14(32, 19, 0, 1);call write~init~int#14(37, 19, 1, 1);call write~init~int#14(105, 19, 2, 1);call write~init~int#14(0, 19, 3, 1);call #Ultimate.allocInit(4, 20);call write~init~int#15(32, 20, 0, 1);call write~init~int#15(37, 20, 1, 1);call write~init~int#15(105, 20, 2, 1);call write~init~int#15(0, 20, 3, 1);call #Ultimate.allocInit(4, 21);call write~init~int#16(32, 21, 0, 1);call write~init~int#16(37, 21, 1, 1);call write~init~int#16(105, 21, 2, 1);call write~init~int#16(0, 21, 3, 1);call #Ultimate.allocInit(4, 22);call write~init~int#17(32, 22, 0, 1);call write~init~int#17(37, 22, 1, 1);call write~init~int#17(105, 22, 2, 1);call write~init~int#17(0, 22, 3, 1);call #Ultimate.allocInit(4, 23);call write~init~int#18(32, 23, 0, 1);call write~init~int#18(37, 23, 1, 1);call write~init~int#18(105, 23, 2, 1);call write~init~int#18(0, 23, 3, 1);call #Ultimate.allocInit(2, 24);call write~init~int#19(10, 24, 0, 1);call write~init~int#19(0, 24, 1, 1);call #Ultimate.allocInit(30, 25);call #Ultimate.allocInit(9, 26);call #Ultimate.allocInit(21, 27);call #Ultimate.allocInit(30, 28);call #Ultimate.allocInit(9, 29);call #Ultimate.allocInit(21, 30);call #Ultimate.allocInit(30, 31);call #Ultimate.allocInit(9, 32);call #Ultimate.allocInit(25, 33);call #Ultimate.allocInit(30, 34);call #Ultimate.allocInit(9, 35);call #Ultimate.allocInit(25, 36);~weight~0 := 0;~maximumWeight~0 := 100;~executiveFloor~0 := 4;~prevDir~0 := 0;~cleanupTimeShifts~0 := 12;~currentHeading~0 := 1;~currentFloorID~0 := 0;~persons_0~0 := 0;~persons_1~0 := 0;~persons_2~0 := 0;~persons_3~0 := 0;~persons_4~0 := 0;~persons_5~0 := 0;~doorState~0 := 1;~floorButtons_0~0 := 0;~floorButtons_1~0 := 0;~floorButtons_2~0 := 0;~floorButtons_3~0 := 0;~floorButtons_4~0 := 0;~head~0.base, ~head~0.offset := 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;" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret116#1, main_~retValue_acc~23#1, main_~tmp~25#1;havoc main_~retValue_acc~23#1;havoc main_~tmp~25#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~28#1;havoc valid_product_~retValue_acc~28#1;valid_product_~retValue_acc~28#1 := 1;valid_product_#res#1 := valid_product_~retValue_acc~28#1;" "main_#t~ret116#1 := valid_product_#res#1;havoc valid_product_~retValue_acc~28#1;assume { :end_inline_valid_product } true;main_~tmp~25#1 := main_#t~ret116#1;havoc main_#t~ret116#1;" "assume 0 != main_~tmp~25#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~ret105#1, aliceCall_~tmp~18#1;havoc aliceCall_~tmp~18#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 1;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~20#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~20#1;" "assume 0 == getOrigin_~person#1;getOrigin_~retValue_acc~20#1 := 4;getOrigin_#res#1 := getOrigin_~retValue_acc~20#1;" "aliceCall_#t~ret105#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~20#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;aliceCall_~tmp~18#1 := aliceCall_#t~ret105#1;havoc aliceCall_#t~ret105#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 1, aliceCall_~tmp~18#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~ret105#1, aliceCall_~tmp~18#1;assume { :end_inline_aliceCall } true;assume { :begin_inline_angelinaCall } true;havoc angelinaCall_#t~ret106#1, angelinaCall_~tmp~19#1;havoc angelinaCall_~tmp~19#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 2;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~20#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~20#1;" "assume 0 == getOrigin_~person#1;getOrigin_~retValue_acc~20#1 := 4;getOrigin_#res#1 := getOrigin_~retValue_acc~20#1;" "angelinaCall_#t~ret106#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~20#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;angelinaCall_~tmp~19#1 := angelinaCall_#t~ret106#1;havoc angelinaCall_#t~ret106#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 2, angelinaCall_~tmp~19#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~ret106#1, angelinaCall_~tmp~19#1;assume { :end_inline_angelinaCall } true;assume { :begin_inline_threeTS } true;assume { :begin_inline_timeShift } true;havoc timeShift_#t~ret65#1, timeShift_#t~ret66#1, timeShift_#t~ret67#1, timeShift_#t~ret68#1, timeShift_#t~ret69#1, timeShift_#t~ret70#1, timeShift_#t~ret71#1, timeShift_#t~ret72#1, timeShift_#t~ret73#1, timeShift_#t~ret74#1, timeShift_#t~ret75#1, timeShift_~tmp~15#1, timeShift_~tmp___0~10#1, timeShift_~tmp___1~6#1, timeShift_~tmp___2~4#1, timeShift_~tmp___3~4#1, timeShift_~tmp___4~3#1, timeShift_~tmp___5~2#1, timeShift_~tmp___6~2#1, timeShift_~tmp___7~2#1, timeShift_~tmp___8~2#1, timeShift_~tmp___9~2#1;havoc timeShift_~tmp~15#1;havoc timeShift_~tmp___0~10#1;havoc timeShift_~tmp___1~6#1;havoc timeShift_~tmp___2~4#1;havoc timeShift_~tmp___3~4#1;havoc timeShift_~tmp___4~3#1;havoc timeShift_~tmp___5~2#1;havoc timeShift_~tmp___6~2#1;havoc timeShift_~tmp___7~2#1;havoc timeShift_~tmp___8~2#1;havoc timeShift_~tmp___9~2#1;assume { :begin_inline___utac_acc__Specification13_spec__1 } true;havoc __utac_acc__Specification13_spec__1_#t~ret4#1;assume { :begin_inline_getCurrentHeading } true;havoc getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~4#1;havoc getCurrentHeading_~retValue_acc~4#1;getCurrentHeading_~retValue_acc~4#1 := ~currentHeading~0;getCurrentHeading_#res#1 := getCurrentHeading_~retValue_acc~4#1;" "__utac_acc__Specification13_spec__1_#t~ret4#1 := getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~4#1;assume { :end_inline_getCurrentHeading } true;~prevDir~0 := __utac_acc__Specification13_spec__1_#t~ret4#1;havoc __utac_acc__Specification13_spec__1_#t~ret4#1;" "havoc __utac_acc__Specification13_spec__1_#t~ret4#1;assume { :end_inline___utac_acc__Specification13_spec__1 } true;assume { :begin_inline_stopRequestedAtCurrentFloor } true;havoc stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret49#1, stopRequestedAtCurrentFloor_#t~ret50#1, stopRequestedAtCurrentFloor_#t~ret51#1, stopRequestedAtCurrentFloor_#t~ret52#1, stopRequestedAtCurrentFloor_~retValue_acc~14#1, stopRequestedAtCurrentFloor_~tmp~13#1, stopRequestedAtCurrentFloor_~tmp___0~8#1;havoc stopRequestedAtCurrentFloor_~retValue_acc~14#1;havoc stopRequestedAtCurrentFloor_~tmp~13#1;havoc stopRequestedAtCurrentFloor_~tmp___0~8#1;assume { :begin_inline_isExecutiveFloorCalling } true;havoc isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret102#1, isExecutiveFloorCalling_~retValue_acc~17#1;havoc isExecutiveFloorCalling_~retValue_acc~17#1;assume { :begin_inline_isFloorCalling } true;isFloorCalling_#in~floorID#1 := ~executiveFloor~0;havoc isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~29#1;isFloorCalling_~floorID#1 := isFloorCalling_#in~floorID#1;havoc isFloorCalling_~retValue_acc~29#1;" "assume 0 == isFloorCalling_~floorID#1;isFloorCalling_~retValue_acc~29#1 := ~calls_0~0;isFloorCalling_#res#1 := isFloorCalling_~retValue_acc~29#1;" "isExecutiveFloorCalling_#t~ret102#1 := isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~29#1;havoc isFloorCalling_#in~floorID#1;assume { :end_inline_isFloorCalling } true;isExecutiveFloorCalling_~retValue_acc~17#1 := isExecutiveFloorCalling_#t~ret102#1;havoc isExecutiveFloorCalling_#t~ret102#1;isExecutiveFloorCalling_#res#1 := isExecutiveFloorCalling_~retValue_acc~17#1;" "stopRequestedAtCurrentFloor_#t~ret49#1 := isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret102#1, isExecutiveFloorCalling_~retValue_acc~17#1;assume { :end_inline_isExecutiveFloorCalling } true;stopRequestedAtCurrentFloor_~tmp~13#1 := stopRequestedAtCurrentFloor_#t~ret49#1;havoc stopRequestedAtCurrentFloor_#t~ret49#1;" "assume 0 != stopRequestedAtCurrentFloor_~tmp~13#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~1#1;havoc getCurrentFloorID_~retValue_acc~1#1;getCurrentFloorID_~retValue_acc~1#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~1#1;" "stopRequestedAtCurrentFloor_#t~ret50#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~1#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedAtCurrentFloor_~tmp___0~8#1 := stopRequestedAtCurrentFloor_#t~ret50#1;havoc stopRequestedAtCurrentFloor_#t~ret50#1;" "assume !(~executiveFloor~0 == stopRequestedAtCurrentFloor_~tmp___0~8#1);stopRequestedAtCurrentFloor_~retValue_acc~14#1 := 0;stopRequestedAtCurrentFloor_#res#1 := stopRequestedAtCurrentFloor_~retValue_acc~14#1;" "timeShift_#t~ret65#1 := stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret49#1, stopRequestedAtCurrentFloor_#t~ret50#1, stopRequestedAtCurrentFloor_#t~ret51#1, stopRequestedAtCurrentFloor_#t~ret52#1, stopRequestedAtCurrentFloor_~retValue_acc~14#1, stopRequestedAtCurrentFloor_~tmp~13#1, stopRequestedAtCurrentFloor_~tmp___0~8#1;assume { :end_inline_stopRequestedAtCurrentFloor } true;timeShift_~tmp___9~2#1 := timeShift_#t~ret65#1;havoc timeShift_#t~ret65#1;" "assume !(0 != timeShift_~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~ret40#1, stopRequestedInDirection_#t~ret41#1, stopRequestedInDirection_#t~ret42#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~10#1, stopRequestedInDirection_~tmp~9#1, stopRequestedInDirection_~tmp___0~5#1, stopRequestedInDirection_~__cil_tmp7~1#1, stopRequestedInDirection_~__cil_tmp8~2#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~10#1;havoc stopRequestedInDirection_~tmp~9#1;havoc stopRequestedInDirection_~tmp___0~5#1;havoc stopRequestedInDirection_~__cil_tmp7~1#1;havoc stopRequestedInDirection_~__cil_tmp8~2#1;assume { :begin_inline_isExecutiveFloorCalling } true;havoc isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret102#1, isExecutiveFloorCalling_~retValue_acc~17#1;havoc isExecutiveFloorCalling_~retValue_acc~17#1;assume { :begin_inline_isFloorCalling } true;isFloorCalling_#in~floorID#1 := ~executiveFloor~0;havoc isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~29#1;isFloorCalling_~floorID#1 := isFloorCalling_#in~floorID#1;havoc isFloorCalling_~retValue_acc~29#1;" "assume 0 == isFloorCalling_~floorID#1;isFloorCalling_~retValue_acc~29#1 := ~calls_0~0;isFloorCalling_#res#1 := isFloorCalling_~retValue_acc~29#1;" "isExecutiveFloorCalling_#t~ret102#1 := isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~29#1;havoc isFloorCalling_#in~floorID#1;assume { :end_inline_isFloorCalling } true;isExecutiveFloorCalling_~retValue_acc~17#1 := isExecutiveFloorCalling_#t~ret102#1;havoc isExecutiveFloorCalling_#t~ret102#1;isExecutiveFloorCalling_#res#1 := isExecutiveFloorCalling_~retValue_acc~17#1;" "stopRequestedInDirection_#t~ret40#1 := isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret102#1, isExecutiveFloorCalling_~retValue_acc~17#1;assume { :end_inline_isExecutiveFloorCalling } true;stopRequestedInDirection_~tmp___0~5#1 := stopRequestedInDirection_#t~ret40#1;havoc stopRequestedInDirection_#t~ret40#1;" "assume 0 != stopRequestedInDirection_~tmp___0~5#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~1#1;havoc getCurrentFloorID_~retValue_acc~1#1;getCurrentFloorID_~retValue_acc~1#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~1#1;" "stopRequestedInDirection_#t~ret41#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~1#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedInDirection_~tmp~9#1 := stopRequestedInDirection_#t~ret41#1;havoc stopRequestedInDirection_#t~ret41#1;stopRequestedInDirection_~__cil_tmp7~1#1 := (if 1 == stopRequestedInDirection_~dir#1 then 1 else 0);stopRequestedInDirection_~__cil_tmp8~2#1 := (if stopRequestedInDirection_~tmp~9#1 < ~executiveFloor~0 then 1 else 0);stopRequestedInDirection_~retValue_acc~10#1 := (if stopRequestedInDirection_~__cil_tmp8~2#1 == stopRequestedInDirection_~__cil_tmp7~1#1 then 1 else 0);stopRequestedInDirection_#res#1 := stopRequestedInDirection_~retValue_acc~10#1;" "timeShift_#t~ret72#1 := stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret40#1, stopRequestedInDirection_#t~ret41#1, stopRequestedInDirection_#t~ret42#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~10#1, stopRequestedInDirection_~tmp~9#1, stopRequestedInDirection_~tmp___0~5#1, stopRequestedInDirection_~__cil_tmp7~1#1, stopRequestedInDirection_~__cil_tmp8~2#1;havoc stopRequestedInDirection_#in~dir#1, stopRequestedInDirection_#in~respectFloorCalls#1, stopRequestedInDirection_#in~respectInLiftCalls#1;assume { :end_inline_stopRequestedInDirection } true;timeShift_~tmp___8~2#1 := timeShift_#t~ret72#1;havoc timeShift_#t~ret72#1;" "assume 0 != timeShift_~tmp___8~2#1;assume { :begin_inline_continueInDirection } true;continueInDirection_#in~dir#1 := ~currentHeading~0;havoc continueInDirection_#t~ret43#1, continueInDirection_~dir#1, continueInDirection_~tmp~10#1;continueInDirection_~dir#1 := continueInDirection_#in~dir#1;havoc continueInDirection_~tmp~10#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~ret43#1, continueInDirection_~dir#1, continueInDirection_~tmp~10#1;havoc continueInDirection_#in~dir#1;assume { :end_inline_continueInDirection } true;" "assume { :begin_inline___utac_acc__Specification13_spec__2 } true;havoc __utac_acc__Specification13_spec__2_#t~ret5#1, __utac_acc__Specification13_spec__2_#t~ret6#1, __utac_acc__Specification13_spec__2_#t~ret7#1, __utac_acc__Specification13_spec__2_#t~ret8#1, __utac_acc__Specification13_spec__2_#t~ret9#1, __utac_acc__Specification13_spec__2_#t~ret10#1, __utac_acc__Specification13_spec__2_~tmp~0#1, __utac_acc__Specification13_spec__2_~tmp___0~0#1, __utac_acc__Specification13_spec__2_~tmp___1~0#1, __utac_acc__Specification13_spec__2_~tmp___2~0#1, __utac_acc__Specification13_spec__2_~tmp___3~0#1, __utac_acc__Specification13_spec__2_~tmp___4~0#1, __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1, __utac_acc__Specification13_spec__2_~__cil_tmp8~0#1;havoc __utac_acc__Specification13_spec__2_~tmp~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___0~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___1~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___2~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___3~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___4~0#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp8~0#1;__utac_acc__Specification13_spec__2_~__cil_tmp7~0#1 := 2 * ~maximumWeight~0;__utac_acc__Specification13_spec__2_~__cil_tmp8~0#1 := (if __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1 < 0 && 0 != __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1 % 3 then 1 + __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1 / 3 else __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1 / 3);" "assume ~weight~0 > __utac_acc__Specification13_spec__2_~__cil_tmp8~0#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~16#1, existInLiftCallsInDirection_~i~2#1, existInLiftCallsInDirection_~i___0~0#1;existInLiftCallsInDirection_~d#1 := existInLiftCallsInDirection_#in~d#1;havoc existInLiftCallsInDirection_~retValue_acc~16#1;havoc existInLiftCallsInDirection_~i~2#1;havoc existInLiftCallsInDirection_~i___0~0#1;" "assume 1 == existInLiftCallsInDirection_~d#1;existInLiftCallsInDirection_~i~2#1 := 0;existInLiftCallsInDirection_~i~2#1 := 1 + ~currentFloorID~0;" [2024-11-12 21:28:08,338 INFO L749 eck$LassoCheckResult]: Loop: "assume !false;" "assume existInLiftCallsInDirection_~i~2#1 < 5;" "assume !(0 == existInLiftCallsInDirection_~i~2#1);" "assume !(1 == existInLiftCallsInDirection_~i~2#1);" "assume !(2 == existInLiftCallsInDirection_~i~2#1);" "assume !(3 == existInLiftCallsInDirection_~i~2#1);" "assume !(4 == existInLiftCallsInDirection_~i~2#1);" "existInLiftCallsInDirection_~i~2#1 := 1 + existInLiftCallsInDirection_~i~2#1;" [2024-11-12 21:28:08,345 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 21:28:08,345 INFO L85 PathProgramCache]: Analyzing trace with hash -377515284, now seen corresponding path program 1 times [2024-11-12 21:28:08,356 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 21:28:08,357 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [396006001] [2024-11-12 21:28:08,357 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 21:28:08,358 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 21:28:08,566 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-12 21:28:08,899 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-12 21:28:08,899 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [396006001] [2024-11-12 21:28:08,900 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [396006001] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-12 21:28:08,900 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1614681254] [2024-11-12 21:28:08,900 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 21:28:08,900 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-12 21:28:08,901 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-12 21:28:08,903 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-11-12 21:28:08,904 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2024-11-12 21:28:09,430 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-12 21:28:09,433 INFO L256 TraceCheckSpWp]: Trace formula consists of 619 conjuncts, 3 conjuncts are in the unsatisfiable core [2024-11-12 21:28:09,440 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2024-11-12 21:28:09,568 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2024-11-12 21:28:09,666 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1614681254] provided 0 perfect and 2 imperfect interpolant sequences [2024-11-12 21:28:09,666 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-11-12 21:28:09,666 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 2, 2] total 6 [2024-11-12 21:28:09,668 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1453009061] [2024-11-12 21:28:09,669 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-11-12 21:28:09,675 INFO L752 eck$LassoCheckResult]: stem already infeasible [2024-11-12 21:28:09,676 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 21:28:09,676 INFO L85 PathProgramCache]: Analyzing trace with hash 1111738493, now seen corresponding path program 1 times [2024-11-12 21:28:09,676 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 21:28:09,676 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1492484819] [2024-11-12 21:28:09,677 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 21:28:09,677 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 21:28:09,690 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 21:28:09,690 INFO L357 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-12 21:28:09,697 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 21:28:09,727 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-12 21:28:09,800 INFO L204 LassoAnalysis]: Preferences: [2024-11-12 21:28:09,801 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2024-11-12 21:28:09,801 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2024-11-12 21:28:09,801 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2024-11-12 21:28:09,802 INFO L128 ssoRankerPreferences]: Use exernal solver: true [2024-11-12 21:28:09,802 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-12 21:28:09,802 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2024-11-12 21:28:09,802 INFO L131 ssoRankerPreferences]: Path of dumped script: [2024-11-12 21:28:09,802 INFO L132 ssoRankerPreferences]: Filename of dumped script: elevator_spec13_product23.cil.c_Iteration1_Loop [2024-11-12 21:28:09,803 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2024-11-12 21:28:09,803 INFO L241 LassoAnalysis]: Starting lasso preprocessing... [2024-11-12 21:28:09,822 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-12 21:28:09,882 INFO L259 LassoAnalysis]: Preprocessing complete. [2024-11-12 21:28:09,883 INFO L365 LassoAnalysis]: Checking for nontermination... [2024-11-12 21:28:09,885 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-12 21:28:09,885 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-12 21:28:09,904 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-11-12 21:28:09,906 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (3)] Waiting until timeout for monitored process [2024-11-12 21:28:09,908 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2024-11-12 21:28:09,908 INFO L160 nArgumentSynthesizer]: Using integer mode. [2024-11-12 21:28:09,940 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (3)] Ended with exit code 0 [2024-11-12 21:28:09,941 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-12 21:28:09,942 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-12 21:28:09,944 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-11-12 21:28:09,945 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (4)] Waiting until timeout for monitored process [2024-11-12 21:28:09,947 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 3 Nilpotent components: true [2024-11-12 21:28:09,947 INFO L160 nArgumentSynthesizer]: Using integer mode. [2024-11-12 21:28:09,993 INFO L405 LassoAnalysis]: Proving nontermination failed: No geometric nontermination argument exists. [2024-11-12 21:28:10,000 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (4)] Ended with exit code 0 [2024-11-12 21:28:10,001 INFO L204 LassoAnalysis]: Preferences: [2024-11-12 21:28:10,002 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2024-11-12 21:28:10,002 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2024-11-12 21:28:10,002 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2024-11-12 21:28:10,002 INFO L128 ssoRankerPreferences]: Use exernal solver: false [2024-11-12 21:28:10,002 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-12 21:28:10,002 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2024-11-12 21:28:10,002 INFO L131 ssoRankerPreferences]: Path of dumped script: [2024-11-12 21:28:10,002 INFO L132 ssoRankerPreferences]: Filename of dumped script: elevator_spec13_product23.cil.c_Iteration1_Loop [2024-11-12 21:28:10,002 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2024-11-12 21:28:10,002 INFO L241 LassoAnalysis]: Starting lasso preprocessing... [2024-11-12 21:28:10,004 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-12 21:28:10,255 INFO L259 LassoAnalysis]: Preprocessing complete. [2024-11-12 21:28:10,263 INFO L451 LassoAnalysis]: Using template 'affine'. [2024-11-12 21:28:10,265 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-12 21:28:10,265 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-12 21:28:10,268 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-11-12 21:28:10,270 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (5)] Waiting until timeout for monitored process [2024-11-12 21:28:10,270 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2024-11-12 21:28:10,281 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-12 21:28:10,281 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-11-12 21:28:10,282 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-12 21:28:10,282 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-12 21:28:10,282 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-12 21:28:10,285 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-11-12 21:28:10,285 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-11-12 21:28:10,287 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2024-11-12 21:28:10,293 INFO L443 ModelExtractionUtils]: Simplification made 2 calls to the SMT solver. [2024-11-12 21:28:10,293 INFO L444 ModelExtractionUtils]: 1 out of 3 variables were initially zero. Simplification set additionally 0 variables to zero. [2024-11-12 21:28:10,295 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-12 21:28:10,295 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-12 21:28:10,297 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-11-12 21:28:10,299 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (6)] Waiting until timeout for monitored process [2024-11-12 21:28:10,300 INFO L435 nArgumentSynthesizer]: Simplifying supporting invariants... [2024-11-12 21:28:10,300 INFO L438 nArgumentSynthesizer]: Removed 0 redundant supporting invariants from a total of 0. [2024-11-12 21:28:10,301 INFO L474 LassoAnalysis]: Proved termination. [2024-11-12 21:28:10,301 INFO L476 LassoAnalysis]: Termination argument consisting of: Ranking function f(ULTIMATE.start_existInLiftCallsInDirection_~i~2#1) = -1*ULTIMATE.start_existInLiftCallsInDirection_~i~2#1 Supporting invariants [] [2024-11-12 21:28:10,317 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (5)] Ended with exit code 0 [2024-11-12 21:28:10,320 INFO L156 tatePredicateManager]: 0 out of 0 supporting invariants were superfluous and have been removed [2024-11-12 21:28:10,346 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 21:28:10,485 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-12 21:28:10,489 INFO L256 TraceCheckSpWp]: Trace formula consists of 619 conjuncts, 2 conjuncts are in the unsatisfiable core [2024-11-12 21:28:10,492 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2024-11-12 21:28:10,593 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-12 21:28:10,594 WARN L254 TraceCheckSpWp]: Trace formula consists of 11 conjuncts, 9 conjuncts are in the unsatisfiable core [2024-11-12 21:28:10,595 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2024-11-12 21:28:10,793 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-11-12 21:28:10,830 INFO L141 lantAutomatonBouncer]: Defining deterministic Buchi interpolant automaton with honda bouncer for stem and without honda bouncer for loop.1 stem predicates 7 loop predicates [2024-11-12 21:28:10,861 INFO L71 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand has 9467 states, 9466 states have (on average 1.8756602577646313) internal successors, (17755), 9466 states have internal predecessors, (17755), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand has 9 states, 9 states have (on average 6.666666666666667) internal successors, (60), 9 states have internal predecessors, (60), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-12 21:28:12,218 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (6)] Ended with exit code 0 [2024-11-12 21:28:12,334 INFO L75 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand has 9467 states, 9466 states have (on average 1.8756602577646313) internal successors, (17755), 9466 states have internal predecessors, (17755), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0). Second operand has 9 states, 9 states have (on average 6.666666666666667) internal successors, (60), 9 states have internal predecessors, (60), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Result 24737 states and 46336 transitions. Complement of second has 18 states. [2024-11-12 21:28:12,339 INFO L141 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 10 states 1 stem states 7 non-accepting loop states 1 accepting loop states [2024-11-12 21:28:12,344 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 6.666666666666667) internal successors, (60), 9 states have internal predecessors, (60), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-12 21:28:12,378 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 32065 transitions. [2024-11-12 21:28:12,380 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 10 states and 32065 transitions. Stem has 52 letters. Loop has 8 letters. [2024-11-12 21:28:12,381 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2024-11-12 21:28:12,382 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 10 states and 32065 transitions. Stem has 60 letters. Loop has 8 letters. [2024-11-12 21:28:12,383 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2024-11-12 21:28:12,383 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 10 states and 32065 transitions. Stem has 52 letters. Loop has 16 letters. [2024-11-12 21:28:12,385 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2024-11-12 21:28:12,386 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 24737 states and 46336 transitions. [2024-11-12 21:28:12,591 INFO L131 ngComponentsAnalysis]: Automaton has 60 accepting balls. 4676 [2024-11-12 21:28:12,741 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 24737 states to 17026 states and 31809 transitions. [2024-11-12 21:28:12,743 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 16996 [2024-11-12 21:28:12,770 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 16997 [2024-11-12 21:28:12,771 INFO L73 IsDeterministic]: Start isDeterministic. Operand 17026 states and 31809 transitions. [2024-11-12 21:28:12,779 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-11-12 21:28:12,779 INFO L218 hiAutomatonCegarLoop]: Abstraction has 17026 states and 31809 transitions. [2024-11-12 21:28:12,823 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 17026 states and 31809 transitions. [2024-11-12 21:28:13,251 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 17026 to 17000. [2024-11-12 21:28:13,299 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17000 states, 17000 states have (on average 1.8688235294117648) internal successors, (31770), 16999 states have internal predecessors, (31770), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-12 21:28:13,337 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17000 states to 17000 states and 31770 transitions. [2024-11-12 21:28:13,339 INFO L240 hiAutomatonCegarLoop]: Abstraction has 17000 states and 31770 transitions. [2024-11-12 21:28:13,339 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-12 21:28:13,342 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2024-11-12 21:28:13,343 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2024-11-12 21:28:13,345 INFO L87 Difference]: Start difference. First operand 17000 states and 31770 transitions. Second operand has 6 states, 6 states have (on average 16.333333333333332) internal successors, (98), 6 states have internal predecessors, (98), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-12 21:28:17,244 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-12 21:28:17,244 INFO L93 Difference]: Finished difference Result 28357 states and 52015 transitions. [2024-11-12 21:28:17,245 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 28357 states and 52015 transitions. [2024-11-12 21:28:17,408 INFO L131 ngComponentsAnalysis]: Automaton has 120 accepting balls. 8112 [2024-11-12 21:28:17,671 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 28357 states to 28339 states and 51997 transitions. [2024-11-12 21:28:17,672 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 28301 [2024-11-12 21:28:17,702 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 28301 [2024-11-12 21:28:17,703 INFO L73 IsDeterministic]: Start isDeterministic. Operand 28339 states and 51997 transitions. [2024-11-12 21:28:17,726 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-11-12 21:28:17,726 INFO L218 hiAutomatonCegarLoop]: Abstraction has 28339 states and 51997 transitions. [2024-11-12 21:28:17,763 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 28339 states and 51997 transitions. [2024-11-12 21:28:18,015 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 28339 to 14957. [2024-11-12 21:28:18,045 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14957 states, 14957 states have (on average 1.83318847362439) internal successors, (27419), 14956 states have internal predecessors, (27419), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-12 21:28:18,081 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14957 states to 14957 states and 27419 transitions. [2024-11-12 21:28:18,082 INFO L240 hiAutomatonCegarLoop]: Abstraction has 14957 states and 27419 transitions. [2024-11-12 21:28:18,082 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2024-11-12 21:28:18,083 INFO L426 stractBuchiCegarLoop]: Abstraction has 14957 states and 27419 transitions. [2024-11-12 21:28:18,083 INFO L333 stractBuchiCegarLoop]: ======== Iteration 2 ============ [2024-11-12 21:28:18,083 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 14957 states and 27419 transitions. [2024-11-12 21:28:18,149 INFO L131 ngComponentsAnalysis]: Automaton has 66 accepting balls. 4141 [2024-11-12 21:28:18,149 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-12 21:28:18,149 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-12 21:28:18,150 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-11-12 21:28:18,151 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1, 1, 1] [2024-11-12 21:28:18,151 INFO L747 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(10, 4);call #Ultimate.allocInit(4, 5);call write~init~int#1(91, 5, 0, 1);call write~init~int#1(95, 5, 1, 1);call write~init~int#1(93, 5, 2, 1);call write~init~int#1(0, 5, 3, 1);call #Ultimate.allocInit(4, 6);call write~init~int#2(91, 6, 0, 1);call write~init~int#2(93, 6, 1, 1);call write~init~int#2(32, 6, 2, 1);call write~init~int#2(0, 6, 3, 1);call #Ultimate.allocInit(5, 7);call write~init~int#3(32, 7, 0, 1);call write~init~int#3(97, 7, 1, 1);call write~init~int#3(116, 7, 2, 1);call write~init~int#3(32, 7, 3, 1);call write~init~int#3(0, 7, 4, 1);call #Ultimate.allocInit(3, 8);call write~init~int#4(37, 8, 0, 1);call write~init~int#4(105, 8, 1, 1);call write~init~int#4(0, 8, 2, 1);call #Ultimate.allocInit(10, 9);call #Ultimate.allocInit(3, 10);call write~init~int#5(117, 10, 0, 1);call write~init~int#5(112, 10, 1, 1);call write~init~int#5(0, 10, 2, 1);call #Ultimate.allocInit(5, 11);call write~init~int#6(100, 11, 0, 1);call write~init~int#6(111, 11, 1, 1);call write~init~int#6(119, 11, 2, 1);call write~init~int#6(110, 11, 3, 1);call write~init~int#6(0, 11, 4, 1);call #Ultimate.allocInit(7, 12);call write~init~int#7(32, 12, 0, 1);call write~init~int#7(73, 12, 1, 1);call write~init~int#7(76, 12, 2, 1);call write~init~int#7(95, 12, 3, 1);call write~init~int#7(112, 12, 4, 1);call write~init~int#7(58, 12, 5, 1);call write~init~int#7(0, 12, 6, 1);call #Ultimate.allocInit(4, 13);call write~init~int#8(32, 13, 0, 1);call write~init~int#8(37, 13, 1, 1);call write~init~int#8(105, 13, 2, 1);call write~init~int#8(0, 13, 3, 1);call #Ultimate.allocInit(4, 14);call write~init~int#9(32, 14, 0, 1);call write~init~int#9(37, 14, 1, 1);call write~init~int#9(105, 14, 2, 1);call write~init~int#9(0, 14, 3, 1);call #Ultimate.allocInit(4, 15);call write~init~int#10(32, 15, 0, 1);call write~init~int#10(37, 15, 1, 1);call write~init~int#10(105, 15, 2, 1);call write~init~int#10(0, 15, 3, 1);call #Ultimate.allocInit(4, 16);call write~init~int#11(32, 16, 0, 1);call write~init~int#11(37, 16, 1, 1);call write~init~int#11(105, 16, 2, 1);call write~init~int#11(0, 16, 3, 1);call #Ultimate.allocInit(4, 17);call write~init~int#12(32, 17, 0, 1);call write~init~int#12(37, 17, 1, 1);call write~init~int#12(105, 17, 2, 1);call write~init~int#12(0, 17, 3, 1);call #Ultimate.allocInit(6, 18);call write~init~int#13(32, 18, 0, 1);call write~init~int#13(70, 18, 1, 1);call write~init~int#13(95, 18, 2, 1);call write~init~int#13(112, 18, 3, 1);call write~init~int#13(58, 18, 4, 1);call write~init~int#13(0, 18, 5, 1);call #Ultimate.allocInit(4, 19);call write~init~int#14(32, 19, 0, 1);call write~init~int#14(37, 19, 1, 1);call write~init~int#14(105, 19, 2, 1);call write~init~int#14(0, 19, 3, 1);call #Ultimate.allocInit(4, 20);call write~init~int#15(32, 20, 0, 1);call write~init~int#15(37, 20, 1, 1);call write~init~int#15(105, 20, 2, 1);call write~init~int#15(0, 20, 3, 1);call #Ultimate.allocInit(4, 21);call write~init~int#16(32, 21, 0, 1);call write~init~int#16(37, 21, 1, 1);call write~init~int#16(105, 21, 2, 1);call write~init~int#16(0, 21, 3, 1);call #Ultimate.allocInit(4, 22);call write~init~int#17(32, 22, 0, 1);call write~init~int#17(37, 22, 1, 1);call write~init~int#17(105, 22, 2, 1);call write~init~int#17(0, 22, 3, 1);call #Ultimate.allocInit(4, 23);call write~init~int#18(32, 23, 0, 1);call write~init~int#18(37, 23, 1, 1);call write~init~int#18(105, 23, 2, 1);call write~init~int#18(0, 23, 3, 1);call #Ultimate.allocInit(2, 24);call write~init~int#19(10, 24, 0, 1);call write~init~int#19(0, 24, 1, 1);call #Ultimate.allocInit(30, 25);call #Ultimate.allocInit(9, 26);call #Ultimate.allocInit(21, 27);call #Ultimate.allocInit(30, 28);call #Ultimate.allocInit(9, 29);call #Ultimate.allocInit(21, 30);call #Ultimate.allocInit(30, 31);call #Ultimate.allocInit(9, 32);call #Ultimate.allocInit(25, 33);call #Ultimate.allocInit(30, 34);call #Ultimate.allocInit(9, 35);call #Ultimate.allocInit(25, 36);~weight~0 := 0;~maximumWeight~0 := 100;~executiveFloor~0 := 4;~prevDir~0 := 0;~cleanupTimeShifts~0 := 12;~currentHeading~0 := 1;~currentFloorID~0 := 0;~persons_0~0 := 0;~persons_1~0 := 0;~persons_2~0 := 0;~persons_3~0 := 0;~persons_4~0 := 0;~persons_5~0 := 0;~doorState~0 := 1;~floorButtons_0~0 := 0;~floorButtons_1~0 := 0;~floorButtons_2~0 := 0;~floorButtons_3~0 := 0;~floorButtons_4~0 := 0;~head~0.base, ~head~0.offset := 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;" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret116#1, main_~retValue_acc~23#1, main_~tmp~25#1;havoc main_~retValue_acc~23#1;havoc main_~tmp~25#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~28#1;havoc valid_product_~retValue_acc~28#1;valid_product_~retValue_acc~28#1 := 1;valid_product_#res#1 := valid_product_~retValue_acc~28#1;" "main_#t~ret116#1 := valid_product_#res#1;havoc valid_product_~retValue_acc~28#1;assume { :end_inline_valid_product } true;main_~tmp~25#1 := main_#t~ret116#1;havoc main_#t~ret116#1;" "assume 0 != main_~tmp~25#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~ret105#1, aliceCall_~tmp~18#1;havoc aliceCall_~tmp~18#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 1;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~20#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~20#1;" "assume !(0 == getOrigin_~person#1);" "assume 1 == getOrigin_~person#1;getOrigin_~retValue_acc~20#1 := 3;getOrigin_#res#1 := getOrigin_~retValue_acc~20#1;" "aliceCall_#t~ret105#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~20#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;aliceCall_~tmp~18#1 := aliceCall_#t~ret105#1;havoc aliceCall_#t~ret105#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 1, aliceCall_~tmp~18#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~ret105#1, aliceCall_~tmp~18#1;assume { :end_inline_aliceCall } true;assume { :begin_inline_angelinaCall } true;havoc angelinaCall_#t~ret106#1, angelinaCall_~tmp~19#1;havoc angelinaCall_~tmp~19#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 2;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~20#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~20#1;" "assume !(0 == getOrigin_~person#1);" "assume 1 == getOrigin_~person#1;getOrigin_~retValue_acc~20#1 := 3;getOrigin_#res#1 := getOrigin_~retValue_acc~20#1;" "angelinaCall_#t~ret106#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~20#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;angelinaCall_~tmp~19#1 := angelinaCall_#t~ret106#1;havoc angelinaCall_#t~ret106#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 2, angelinaCall_~tmp~19#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~ret106#1, angelinaCall_~tmp~19#1;assume { :end_inline_angelinaCall } true;assume { :begin_inline_threeTS } true;assume { :begin_inline_timeShift } true;havoc timeShift_#t~ret65#1, timeShift_#t~ret66#1, timeShift_#t~ret67#1, timeShift_#t~ret68#1, timeShift_#t~ret69#1, timeShift_#t~ret70#1, timeShift_#t~ret71#1, timeShift_#t~ret72#1, timeShift_#t~ret73#1, timeShift_#t~ret74#1, timeShift_#t~ret75#1, timeShift_~tmp~15#1, timeShift_~tmp___0~10#1, timeShift_~tmp___1~6#1, timeShift_~tmp___2~4#1, timeShift_~tmp___3~4#1, timeShift_~tmp___4~3#1, timeShift_~tmp___5~2#1, timeShift_~tmp___6~2#1, timeShift_~tmp___7~2#1, timeShift_~tmp___8~2#1, timeShift_~tmp___9~2#1;havoc timeShift_~tmp~15#1;havoc timeShift_~tmp___0~10#1;havoc timeShift_~tmp___1~6#1;havoc timeShift_~tmp___2~4#1;havoc timeShift_~tmp___3~4#1;havoc timeShift_~tmp___4~3#1;havoc timeShift_~tmp___5~2#1;havoc timeShift_~tmp___6~2#1;havoc timeShift_~tmp___7~2#1;havoc timeShift_~tmp___8~2#1;havoc timeShift_~tmp___9~2#1;assume { :begin_inline___utac_acc__Specification13_spec__1 } true;havoc __utac_acc__Specification13_spec__1_#t~ret4#1;assume { :begin_inline_getCurrentHeading } true;havoc getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~4#1;havoc getCurrentHeading_~retValue_acc~4#1;getCurrentHeading_~retValue_acc~4#1 := ~currentHeading~0;getCurrentHeading_#res#1 := getCurrentHeading_~retValue_acc~4#1;" "__utac_acc__Specification13_spec__1_#t~ret4#1 := getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~4#1;assume { :end_inline_getCurrentHeading } true;~prevDir~0 := __utac_acc__Specification13_spec__1_#t~ret4#1;havoc __utac_acc__Specification13_spec__1_#t~ret4#1;" "havoc __utac_acc__Specification13_spec__1_#t~ret4#1;assume { :end_inline___utac_acc__Specification13_spec__1 } true;assume { :begin_inline_stopRequestedAtCurrentFloor } true;havoc stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret49#1, stopRequestedAtCurrentFloor_#t~ret50#1, stopRequestedAtCurrentFloor_#t~ret51#1, stopRequestedAtCurrentFloor_#t~ret52#1, stopRequestedAtCurrentFloor_~retValue_acc~14#1, stopRequestedAtCurrentFloor_~tmp~13#1, stopRequestedAtCurrentFloor_~tmp___0~8#1;havoc stopRequestedAtCurrentFloor_~retValue_acc~14#1;havoc stopRequestedAtCurrentFloor_~tmp~13#1;havoc stopRequestedAtCurrentFloor_~tmp___0~8#1;assume { :begin_inline_isExecutiveFloorCalling } true;havoc isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret102#1, isExecutiveFloorCalling_~retValue_acc~17#1;havoc isExecutiveFloorCalling_~retValue_acc~17#1;assume { :begin_inline_isFloorCalling } true;isFloorCalling_#in~floorID#1 := ~executiveFloor~0;havoc isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~29#1;isFloorCalling_~floorID#1 := isFloorCalling_#in~floorID#1;havoc isFloorCalling_~retValue_acc~29#1;" "assume 0 == isFloorCalling_~floorID#1;isFloorCalling_~retValue_acc~29#1 := ~calls_0~0;isFloorCalling_#res#1 := isFloorCalling_~retValue_acc~29#1;" "isExecutiveFloorCalling_#t~ret102#1 := isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~29#1;havoc isFloorCalling_#in~floorID#1;assume { :end_inline_isFloorCalling } true;isExecutiveFloorCalling_~retValue_acc~17#1 := isExecutiveFloorCalling_#t~ret102#1;havoc isExecutiveFloorCalling_#t~ret102#1;isExecutiveFloorCalling_#res#1 := isExecutiveFloorCalling_~retValue_acc~17#1;" "stopRequestedAtCurrentFloor_#t~ret49#1 := isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret102#1, isExecutiveFloorCalling_~retValue_acc~17#1;assume { :end_inline_isExecutiveFloorCalling } true;stopRequestedAtCurrentFloor_~tmp~13#1 := stopRequestedAtCurrentFloor_#t~ret49#1;havoc stopRequestedAtCurrentFloor_#t~ret49#1;" "assume 0 != stopRequestedAtCurrentFloor_~tmp~13#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~1#1;havoc getCurrentFloorID_~retValue_acc~1#1;getCurrentFloorID_~retValue_acc~1#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~1#1;" "stopRequestedAtCurrentFloor_#t~ret50#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~1#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedAtCurrentFloor_~tmp___0~8#1 := stopRequestedAtCurrentFloor_#t~ret50#1;havoc stopRequestedAtCurrentFloor_#t~ret50#1;" "assume !(~executiveFloor~0 == stopRequestedAtCurrentFloor_~tmp___0~8#1);stopRequestedAtCurrentFloor_~retValue_acc~14#1 := 0;stopRequestedAtCurrentFloor_#res#1 := stopRequestedAtCurrentFloor_~retValue_acc~14#1;" "timeShift_#t~ret65#1 := stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret49#1, stopRequestedAtCurrentFloor_#t~ret50#1, stopRequestedAtCurrentFloor_#t~ret51#1, stopRequestedAtCurrentFloor_#t~ret52#1, stopRequestedAtCurrentFloor_~retValue_acc~14#1, stopRequestedAtCurrentFloor_~tmp~13#1, stopRequestedAtCurrentFloor_~tmp___0~8#1;assume { :end_inline_stopRequestedAtCurrentFloor } true;timeShift_~tmp___9~2#1 := timeShift_#t~ret65#1;havoc timeShift_#t~ret65#1;" "assume !(0 != timeShift_~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~ret40#1, stopRequestedInDirection_#t~ret41#1, stopRequestedInDirection_#t~ret42#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~10#1, stopRequestedInDirection_~tmp~9#1, stopRequestedInDirection_~tmp___0~5#1, stopRequestedInDirection_~__cil_tmp7~1#1, stopRequestedInDirection_~__cil_tmp8~2#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~10#1;havoc stopRequestedInDirection_~tmp~9#1;havoc stopRequestedInDirection_~tmp___0~5#1;havoc stopRequestedInDirection_~__cil_tmp7~1#1;havoc stopRequestedInDirection_~__cil_tmp8~2#1;assume { :begin_inline_isExecutiveFloorCalling } true;havoc isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret102#1, isExecutiveFloorCalling_~retValue_acc~17#1;havoc isExecutiveFloorCalling_~retValue_acc~17#1;assume { :begin_inline_isFloorCalling } true;isFloorCalling_#in~floorID#1 := ~executiveFloor~0;havoc isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~29#1;isFloorCalling_~floorID#1 := isFloorCalling_#in~floorID#1;havoc isFloorCalling_~retValue_acc~29#1;" "assume 0 == isFloorCalling_~floorID#1;isFloorCalling_~retValue_acc~29#1 := ~calls_0~0;isFloorCalling_#res#1 := isFloorCalling_~retValue_acc~29#1;" "isExecutiveFloorCalling_#t~ret102#1 := isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~29#1;havoc isFloorCalling_#in~floorID#1;assume { :end_inline_isFloorCalling } true;isExecutiveFloorCalling_~retValue_acc~17#1 := isExecutiveFloorCalling_#t~ret102#1;havoc isExecutiveFloorCalling_#t~ret102#1;isExecutiveFloorCalling_#res#1 := isExecutiveFloorCalling_~retValue_acc~17#1;" "stopRequestedInDirection_#t~ret40#1 := isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret102#1, isExecutiveFloorCalling_~retValue_acc~17#1;assume { :end_inline_isExecutiveFloorCalling } true;stopRequestedInDirection_~tmp___0~5#1 := stopRequestedInDirection_#t~ret40#1;havoc stopRequestedInDirection_#t~ret40#1;" "assume 0 != stopRequestedInDirection_~tmp___0~5#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~1#1;havoc getCurrentFloorID_~retValue_acc~1#1;getCurrentFloorID_~retValue_acc~1#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~1#1;" "stopRequestedInDirection_#t~ret41#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~1#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedInDirection_~tmp~9#1 := stopRequestedInDirection_#t~ret41#1;havoc stopRequestedInDirection_#t~ret41#1;stopRequestedInDirection_~__cil_tmp7~1#1 := (if 1 == stopRequestedInDirection_~dir#1 then 1 else 0);stopRequestedInDirection_~__cil_tmp8~2#1 := (if stopRequestedInDirection_~tmp~9#1 < ~executiveFloor~0 then 1 else 0);stopRequestedInDirection_~retValue_acc~10#1 := (if stopRequestedInDirection_~__cil_tmp8~2#1 == stopRequestedInDirection_~__cil_tmp7~1#1 then 1 else 0);stopRequestedInDirection_#res#1 := stopRequestedInDirection_~retValue_acc~10#1;" "timeShift_#t~ret72#1 := stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret40#1, stopRequestedInDirection_#t~ret41#1, stopRequestedInDirection_#t~ret42#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~10#1, stopRequestedInDirection_~tmp~9#1, stopRequestedInDirection_~tmp___0~5#1, stopRequestedInDirection_~__cil_tmp7~1#1, stopRequestedInDirection_~__cil_tmp8~2#1;havoc stopRequestedInDirection_#in~dir#1, stopRequestedInDirection_#in~respectFloorCalls#1, stopRequestedInDirection_#in~respectInLiftCalls#1;assume { :end_inline_stopRequestedInDirection } true;timeShift_~tmp___8~2#1 := timeShift_#t~ret72#1;havoc timeShift_#t~ret72#1;" "assume 0 != timeShift_~tmp___8~2#1;assume { :begin_inline_continueInDirection } true;continueInDirection_#in~dir#1 := ~currentHeading~0;havoc continueInDirection_#t~ret43#1, continueInDirection_~dir#1, continueInDirection_~tmp~10#1;continueInDirection_~dir#1 := continueInDirection_#in~dir#1;havoc continueInDirection_~tmp~10#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~ret43#1, continueInDirection_~dir#1, continueInDirection_~tmp~10#1;havoc continueInDirection_#in~dir#1;assume { :end_inline_continueInDirection } true;" "assume { :begin_inline___utac_acc__Specification13_spec__2 } true;havoc __utac_acc__Specification13_spec__2_#t~ret5#1, __utac_acc__Specification13_spec__2_#t~ret6#1, __utac_acc__Specification13_spec__2_#t~ret7#1, __utac_acc__Specification13_spec__2_#t~ret8#1, __utac_acc__Specification13_spec__2_#t~ret9#1, __utac_acc__Specification13_spec__2_#t~ret10#1, __utac_acc__Specification13_spec__2_~tmp~0#1, __utac_acc__Specification13_spec__2_~tmp___0~0#1, __utac_acc__Specification13_spec__2_~tmp___1~0#1, __utac_acc__Specification13_spec__2_~tmp___2~0#1, __utac_acc__Specification13_spec__2_~tmp___3~0#1, __utac_acc__Specification13_spec__2_~tmp___4~0#1, __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1, __utac_acc__Specification13_spec__2_~__cil_tmp8~0#1;havoc __utac_acc__Specification13_spec__2_~tmp~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___0~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___1~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___2~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___3~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___4~0#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp8~0#1;__utac_acc__Specification13_spec__2_~__cil_tmp7~0#1 := 2 * ~maximumWeight~0;__utac_acc__Specification13_spec__2_~__cil_tmp8~0#1 := (if __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1 < 0 && 0 != __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1 % 3 then 1 + __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1 / 3 else __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1 / 3);" "assume ~weight~0 > __utac_acc__Specification13_spec__2_~__cil_tmp8~0#1;" "assume !(1 == ~prevDir~0);" "assume 0 == ~prevDir~0;assume { :begin_inline_existInLiftCallsInDirection } true;existInLiftCallsInDirection_#in~d#1 := 1;havoc existInLiftCallsInDirection_#res#1;havoc existInLiftCallsInDirection_~d#1, existInLiftCallsInDirection_~retValue_acc~16#1, existInLiftCallsInDirection_~i~2#1, existInLiftCallsInDirection_~i___0~0#1;existInLiftCallsInDirection_~d#1 := existInLiftCallsInDirection_#in~d#1;havoc existInLiftCallsInDirection_~retValue_acc~16#1;havoc existInLiftCallsInDirection_~i~2#1;havoc existInLiftCallsInDirection_~i___0~0#1;" "assume 1 == existInLiftCallsInDirection_~d#1;existInLiftCallsInDirection_~i~2#1 := 0;existInLiftCallsInDirection_~i~2#1 := 1 + ~currentFloorID~0;" [2024-11-12 21:28:18,151 INFO L749 eck$LassoCheckResult]: Loop: "assume !false;" "assume existInLiftCallsInDirection_~i~2#1 < 5;" "assume !(0 == existInLiftCallsInDirection_~i~2#1);" "assume !(1 == existInLiftCallsInDirection_~i~2#1);" "assume !(2 == existInLiftCallsInDirection_~i~2#1);" "assume !(3 == existInLiftCallsInDirection_~i~2#1);" "assume !(4 == existInLiftCallsInDirection_~i~2#1);" "existInLiftCallsInDirection_~i~2#1 := 1 + existInLiftCallsInDirection_~i~2#1;" [2024-11-12 21:28:18,152 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 21:28:18,152 INFO L85 PathProgramCache]: Analyzing trace with hash -1778223971, now seen corresponding path program 1 times [2024-11-12 21:28:18,152 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 21:28:18,153 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1986057856] [2024-11-12 21:28:18,153 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 21:28:18,153 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 21:28:18,181 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-12 21:28:18,478 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-12 21:28:18,479 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1986057856] [2024-11-12 21:28:18,479 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1986057856] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-12 21:28:18,479 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [11033052] [2024-11-12 21:28:18,479 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 21:28:18,479 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-12 21:28:18,480 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-12 21:28:18,481 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-11-12 21:28:18,483 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Waiting until timeout for monitored process [2024-11-12 21:28:18,926 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-12 21:28:18,929 INFO L256 TraceCheckSpWp]: Trace formula consists of 625 conjuncts, 3 conjuncts are in the unsatisfiable core [2024-11-12 21:28:18,931 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2024-11-12 21:28:18,941 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2024-11-12 21:28:18,945 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [11033052] provided 0 perfect and 2 imperfect interpolant sequences [2024-11-12 21:28:18,946 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-11-12 21:28:18,946 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 3, 3] total 5 [2024-11-12 21:28:18,946 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [180109995] [2024-11-12 21:28:18,946 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-11-12 21:28:18,947 INFO L752 eck$LassoCheckResult]: stem already infeasible [2024-11-12 21:28:18,947 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 21:28:18,947 INFO L85 PathProgramCache]: Analyzing trace with hash -81162115, now seen corresponding path program 1 times [2024-11-12 21:28:18,947 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 21:28:18,948 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1979579986] [2024-11-12 21:28:18,948 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 21:28:18,948 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 21:28:18,956 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 21:28:18,957 INFO L357 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-12 21:28:18,958 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 21:28:18,968 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-12 21:28:19,013 INFO L204 LassoAnalysis]: Preferences: [2024-11-12 21:28:19,016 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2024-11-12 21:28:19,016 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2024-11-12 21:28:19,016 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2024-11-12 21:28:19,016 INFO L128 ssoRankerPreferences]: Use exernal solver: true [2024-11-12 21:28:19,016 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-12 21:28:19,016 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2024-11-12 21:28:19,016 INFO L131 ssoRankerPreferences]: Path of dumped script: [2024-11-12 21:28:19,016 INFO L132 ssoRankerPreferences]: Filename of dumped script: elevator_spec13_product23.cil.c_Iteration2_Loop [2024-11-12 21:28:19,016 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2024-11-12 21:28:19,016 INFO L241 LassoAnalysis]: Starting lasso preprocessing... [2024-11-12 21:28:19,017 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-12 21:28:19,067 INFO L259 LassoAnalysis]: Preprocessing complete. [2024-11-12 21:28:19,067 INFO L365 LassoAnalysis]: Checking for nontermination... [2024-11-12 21:28:19,067 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-12 21:28:19,067 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-12 21:28:19,068 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-11-12 21:28:19,069 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (8)] Waiting until timeout for monitored process [2024-11-12 21:28:19,070 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2024-11-12 21:28:19,070 INFO L160 nArgumentSynthesizer]: Using integer mode. [2024-11-12 21:28:19,092 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (8)] Forceful destruction successful, exit code 0 [2024-11-12 21:28:19,093 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-12 21:28:19,093 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-12 21:28:19,096 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-11-12 21:28:19,097 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (9)] Waiting until timeout for monitored process [2024-11-12 21:28:19,099 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 3 Nilpotent components: true [2024-11-12 21:28:19,099 INFO L160 nArgumentSynthesizer]: Using integer mode. [2024-11-12 21:28:19,125 INFO L405 LassoAnalysis]: Proving nontermination failed: No geometric nontermination argument exists. [2024-11-12 21:28:19,130 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (9)] Ended with exit code 0 [2024-11-12 21:28:19,130 INFO L204 LassoAnalysis]: Preferences: [2024-11-12 21:28:19,130 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2024-11-12 21:28:19,130 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2024-11-12 21:28:19,130 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2024-11-12 21:28:19,130 INFO L128 ssoRankerPreferences]: Use exernal solver: false [2024-11-12 21:28:19,130 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-12 21:28:19,130 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2024-11-12 21:28:19,130 INFO L131 ssoRankerPreferences]: Path of dumped script: [2024-11-12 21:28:19,130 INFO L132 ssoRankerPreferences]: Filename of dumped script: elevator_spec13_product23.cil.c_Iteration2_Loop [2024-11-12 21:28:19,130 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2024-11-12 21:28:19,130 INFO L241 LassoAnalysis]: Starting lasso preprocessing... [2024-11-12 21:28:19,131 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-12 21:28:19,177 INFO L259 LassoAnalysis]: Preprocessing complete. [2024-11-12 21:28:19,177 INFO L451 LassoAnalysis]: Using template 'affine'. [2024-11-12 21:28:19,178 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-12 21:28:19,178 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-12 21:28:19,179 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-11-12 21:28:19,181 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (10)] Waiting until timeout for monitored process [2024-11-12 21:28:19,182 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2024-11-12 21:28:19,194 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-12 21:28:19,195 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-11-12 21:28:19,195 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-12 21:28:19,195 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-12 21:28:19,195 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-12 21:28:19,196 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-11-12 21:28:19,196 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-11-12 21:28:19,198 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2024-11-12 21:28:19,202 INFO L443 ModelExtractionUtils]: Simplification made 3 calls to the SMT solver. [2024-11-12 21:28:19,202 INFO L444 ModelExtractionUtils]: 0 out of 3 variables were initially zero. Simplification set additionally 1 variables to zero. [2024-11-12 21:28:19,203 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-12 21:28:19,203 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-12 21:28:19,204 INFO L229 MonitoredProcess]: Starting monitored process 11 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-11-12 21:28:19,206 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (11)] Waiting until timeout for monitored process [2024-11-12 21:28:19,207 INFO L435 nArgumentSynthesizer]: Simplifying supporting invariants... [2024-11-12 21:28:19,207 INFO L438 nArgumentSynthesizer]: Removed 0 redundant supporting invariants from a total of 0. [2024-11-12 21:28:19,207 INFO L474 LassoAnalysis]: Proved termination. [2024-11-12 21:28:19,207 INFO L476 LassoAnalysis]: Termination argument consisting of: Ranking function f(ULTIMATE.start_existInLiftCallsInDirection_~i~2#1) = -1*ULTIMATE.start_existInLiftCallsInDirection_~i~2#1 Supporting invariants [] [2024-11-12 21:28:19,218 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (10)] Ended with exit code 0 [2024-11-12 21:28:19,219 INFO L156 tatePredicateManager]: 0 out of 0 supporting invariants were superfluous and have been removed [2024-11-12 21:28:19,228 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 21:28:19,334 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-12 21:28:19,337 INFO L256 TraceCheckSpWp]: Trace formula consists of 625 conjuncts, 2 conjuncts are in the unsatisfiable core [2024-11-12 21:28:19,339 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2024-11-12 21:28:19,428 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-12 21:28:19,428 WARN L254 TraceCheckSpWp]: Trace formula consists of 11 conjuncts, 9 conjuncts are in the unsatisfiable core [2024-11-12 21:28:19,429 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2024-11-12 21:28:19,562 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-11-12 21:28:19,563 INFO L141 lantAutomatonBouncer]: Defining deterministic Buchi interpolant automaton with honda bouncer for stem and without honda bouncer for loop.1 stem predicates 7 loop predicates [2024-11-12 21:28:19,564 INFO L71 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 14957 states and 27419 transitions. cyclomatic complexity: 12530 Second operand has 9 states, 9 states have (on average 7.0) internal successors, (63), 9 states have internal predecessors, (63), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-12 21:28:20,062 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (11)] Ended with exit code 0 [2024-11-12 21:28:20,339 INFO L75 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 14957 states and 27419 transitions. cyclomatic complexity: 12530. Second operand has 9 states, 9 states have (on average 7.0) internal successors, (63), 9 states have internal predecessors, (63), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Result 28379 states and 52043 transitions. Complement of second has 17 states. [2024-11-12 21:28:20,340 INFO L141 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 9 states 1 stem states 7 non-accepting loop states 1 accepting loop states [2024-11-12 21:28:20,342 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 7.0) internal successors, (63), 9 states have internal predecessors, (63), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-12 21:28:20,356 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 16733 transitions. [2024-11-12 21:28:20,357 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 9 states and 16733 transitions. Stem has 55 letters. Loop has 8 letters. [2024-11-12 21:28:20,358 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2024-11-12 21:28:20,359 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 9 states and 16733 transitions. Stem has 63 letters. Loop has 8 letters. [2024-11-12 21:28:20,360 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2024-11-12 21:28:20,360 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 9 states and 16733 transitions. Stem has 55 letters. Loop has 16 letters. [2024-11-12 21:28:20,360 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2024-11-12 21:28:20,360 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 28379 states and 52043 transitions. [2024-11-12 21:28:20,638 INFO L131 ngComponentsAnalysis]: Automaton has 120 accepting balls. 8122 [2024-11-12 21:28:20,788 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 28379 states to 28367 states and 52031 transitions. [2024-11-12 21:28:20,788 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 28269 [2024-11-12 21:28:20,828 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 28271 [2024-11-12 21:28:20,828 INFO L73 IsDeterministic]: Start isDeterministic. Operand 28367 states and 52031 transitions. [2024-11-12 21:28:20,829 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-11-12 21:28:20,830 INFO L218 hiAutomatonCegarLoop]: Abstraction has 28367 states and 52031 transitions. [2024-11-12 21:28:20,865 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 28367 states and 52031 transitions. [2024-11-12 21:28:21,137 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 28367 to 15005. [2024-11-12 21:28:21,163 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15005 states, 15005 states have (on average 1.8323892035988003) internal successors, (27495), 15004 states have internal predecessors, (27495), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-12 21:28:21,208 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15005 states to 15005 states and 27495 transitions. [2024-11-12 21:28:21,208 INFO L240 hiAutomatonCegarLoop]: Abstraction has 15005 states and 27495 transitions. [2024-11-12 21:28:21,208 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-12 21:28:21,209 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2024-11-12 21:28:21,209 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2024-11-12 21:28:21,209 INFO L87 Difference]: Start difference. First operand 15005 states and 27495 transitions. Second operand has 5 states, 5 states have (on average 19.2) internal successors, (96), 5 states have internal predecessors, (96), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-12 21:28:22,037 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-12 21:28:22,037 INFO L93 Difference]: Finished difference Result 23462 states and 43026 transitions. [2024-11-12 21:28:22,037 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 23462 states and 43026 transitions. [2024-11-12 21:28:22,286 INFO L131 ngComponentsAnalysis]: Automaton has 98 accepting balls. 6717 [2024-11-12 21:28:22,384 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 23462 states to 23462 states and 43026 transitions. [2024-11-12 21:28:22,385 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 23348 [2024-11-12 21:28:22,408 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 23348 [2024-11-12 21:28:22,408 INFO L73 IsDeterministic]: Start isDeterministic. Operand 23462 states and 43026 transitions. [2024-11-12 21:28:22,409 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-11-12 21:28:22,409 INFO L218 hiAutomatonCegarLoop]: Abstraction has 23462 states and 43026 transitions. [2024-11-12 21:28:22,436 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 23462 states and 43026 transitions. [2024-11-12 21:28:22,704 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 23462 to 23433. [2024-11-12 21:28:22,738 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 23433 states, 23433 states have (on average 1.8345495668501686) internal successors, (42989), 23432 states have internal predecessors, (42989), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-12 21:28:22,792 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23433 states to 23433 states and 42989 transitions. [2024-11-12 21:28:22,792 INFO L240 hiAutomatonCegarLoop]: Abstraction has 23433 states and 42989 transitions. [2024-11-12 21:28:22,793 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2024-11-12 21:28:22,793 INFO L426 stractBuchiCegarLoop]: Abstraction has 23433 states and 42989 transitions. [2024-11-12 21:28:22,794 INFO L333 stractBuchiCegarLoop]: ======== Iteration 3 ============ [2024-11-12 21:28:22,794 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 23433 states and 42989 transitions. [2024-11-12 21:28:22,874 INFO L131 ngComponentsAnalysis]: Automaton has 98 accepting balls. 6711 [2024-11-12 21:28:22,874 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-12 21:28:22,874 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-12 21:28:22,875 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-11-12 21:28:22,875 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1] [2024-11-12 21:28:22,876 INFO L747 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(10, 4);call #Ultimate.allocInit(4, 5);call write~init~int#1(91, 5, 0, 1);call write~init~int#1(95, 5, 1, 1);call write~init~int#1(93, 5, 2, 1);call write~init~int#1(0, 5, 3, 1);call #Ultimate.allocInit(4, 6);call write~init~int#2(91, 6, 0, 1);call write~init~int#2(93, 6, 1, 1);call write~init~int#2(32, 6, 2, 1);call write~init~int#2(0, 6, 3, 1);call #Ultimate.allocInit(5, 7);call write~init~int#3(32, 7, 0, 1);call write~init~int#3(97, 7, 1, 1);call write~init~int#3(116, 7, 2, 1);call write~init~int#3(32, 7, 3, 1);call write~init~int#3(0, 7, 4, 1);call #Ultimate.allocInit(3, 8);call write~init~int#4(37, 8, 0, 1);call write~init~int#4(105, 8, 1, 1);call write~init~int#4(0, 8, 2, 1);call #Ultimate.allocInit(10, 9);call #Ultimate.allocInit(3, 10);call write~init~int#5(117, 10, 0, 1);call write~init~int#5(112, 10, 1, 1);call write~init~int#5(0, 10, 2, 1);call #Ultimate.allocInit(5, 11);call write~init~int#6(100, 11, 0, 1);call write~init~int#6(111, 11, 1, 1);call write~init~int#6(119, 11, 2, 1);call write~init~int#6(110, 11, 3, 1);call write~init~int#6(0, 11, 4, 1);call #Ultimate.allocInit(7, 12);call write~init~int#7(32, 12, 0, 1);call write~init~int#7(73, 12, 1, 1);call write~init~int#7(76, 12, 2, 1);call write~init~int#7(95, 12, 3, 1);call write~init~int#7(112, 12, 4, 1);call write~init~int#7(58, 12, 5, 1);call write~init~int#7(0, 12, 6, 1);call #Ultimate.allocInit(4, 13);call write~init~int#8(32, 13, 0, 1);call write~init~int#8(37, 13, 1, 1);call write~init~int#8(105, 13, 2, 1);call write~init~int#8(0, 13, 3, 1);call #Ultimate.allocInit(4, 14);call write~init~int#9(32, 14, 0, 1);call write~init~int#9(37, 14, 1, 1);call write~init~int#9(105, 14, 2, 1);call write~init~int#9(0, 14, 3, 1);call #Ultimate.allocInit(4, 15);call write~init~int#10(32, 15, 0, 1);call write~init~int#10(37, 15, 1, 1);call write~init~int#10(105, 15, 2, 1);call write~init~int#10(0, 15, 3, 1);call #Ultimate.allocInit(4, 16);call write~init~int#11(32, 16, 0, 1);call write~init~int#11(37, 16, 1, 1);call write~init~int#11(105, 16, 2, 1);call write~init~int#11(0, 16, 3, 1);call #Ultimate.allocInit(4, 17);call write~init~int#12(32, 17, 0, 1);call write~init~int#12(37, 17, 1, 1);call write~init~int#12(105, 17, 2, 1);call write~init~int#12(0, 17, 3, 1);call #Ultimate.allocInit(6, 18);call write~init~int#13(32, 18, 0, 1);call write~init~int#13(70, 18, 1, 1);call write~init~int#13(95, 18, 2, 1);call write~init~int#13(112, 18, 3, 1);call write~init~int#13(58, 18, 4, 1);call write~init~int#13(0, 18, 5, 1);call #Ultimate.allocInit(4, 19);call write~init~int#14(32, 19, 0, 1);call write~init~int#14(37, 19, 1, 1);call write~init~int#14(105, 19, 2, 1);call write~init~int#14(0, 19, 3, 1);call #Ultimate.allocInit(4, 20);call write~init~int#15(32, 20, 0, 1);call write~init~int#15(37, 20, 1, 1);call write~init~int#15(105, 20, 2, 1);call write~init~int#15(0, 20, 3, 1);call #Ultimate.allocInit(4, 21);call write~init~int#16(32, 21, 0, 1);call write~init~int#16(37, 21, 1, 1);call write~init~int#16(105, 21, 2, 1);call write~init~int#16(0, 21, 3, 1);call #Ultimate.allocInit(4, 22);call write~init~int#17(32, 22, 0, 1);call write~init~int#17(37, 22, 1, 1);call write~init~int#17(105, 22, 2, 1);call write~init~int#17(0, 22, 3, 1);call #Ultimate.allocInit(4, 23);call write~init~int#18(32, 23, 0, 1);call write~init~int#18(37, 23, 1, 1);call write~init~int#18(105, 23, 2, 1);call write~init~int#18(0, 23, 3, 1);call #Ultimate.allocInit(2, 24);call write~init~int#19(10, 24, 0, 1);call write~init~int#19(0, 24, 1, 1);call #Ultimate.allocInit(30, 25);call #Ultimate.allocInit(9, 26);call #Ultimate.allocInit(21, 27);call #Ultimate.allocInit(30, 28);call #Ultimate.allocInit(9, 29);call #Ultimate.allocInit(21, 30);call #Ultimate.allocInit(30, 31);call #Ultimate.allocInit(9, 32);call #Ultimate.allocInit(25, 33);call #Ultimate.allocInit(30, 34);call #Ultimate.allocInit(9, 35);call #Ultimate.allocInit(25, 36);~weight~0 := 0;~maximumWeight~0 := 100;~executiveFloor~0 := 4;~prevDir~0 := 0;~cleanupTimeShifts~0 := 12;~currentHeading~0 := 1;~currentFloorID~0 := 0;~persons_0~0 := 0;~persons_1~0 := 0;~persons_2~0 := 0;~persons_3~0 := 0;~persons_4~0 := 0;~persons_5~0 := 0;~doorState~0 := 1;~floorButtons_0~0 := 0;~floorButtons_1~0 := 0;~floorButtons_2~0 := 0;~floorButtons_3~0 := 0;~floorButtons_4~0 := 0;~head~0.base, ~head~0.offset := 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;" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret116#1, main_~retValue_acc~23#1, main_~tmp~25#1;havoc main_~retValue_acc~23#1;havoc main_~tmp~25#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~28#1;havoc valid_product_~retValue_acc~28#1;valid_product_~retValue_acc~28#1 := 1;valid_product_#res#1 := valid_product_~retValue_acc~28#1;" "main_#t~ret116#1 := valid_product_#res#1;havoc valid_product_~retValue_acc~28#1;assume { :end_inline_valid_product } true;main_~tmp~25#1 := main_#t~ret116#1;havoc main_#t~ret116#1;" "assume 0 != main_~tmp~25#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~ret105#1, aliceCall_~tmp~18#1;havoc aliceCall_~tmp~18#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 1;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~20#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~20#1;" "assume !(0 == getOrigin_~person#1);" "assume !(1 == getOrigin_~person#1);" "assume 2 == getOrigin_~person#1;getOrigin_~retValue_acc~20#1 := 2;getOrigin_#res#1 := getOrigin_~retValue_acc~20#1;" "aliceCall_#t~ret105#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~20#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;aliceCall_~tmp~18#1 := aliceCall_#t~ret105#1;havoc aliceCall_#t~ret105#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 1, aliceCall_~tmp~18#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~ret105#1, aliceCall_~tmp~18#1;assume { :end_inline_aliceCall } true;assume { :begin_inline_angelinaCall } true;havoc angelinaCall_#t~ret106#1, angelinaCall_~tmp~19#1;havoc angelinaCall_~tmp~19#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 2;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~20#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~20#1;" "assume !(0 == getOrigin_~person#1);" "assume !(1 == getOrigin_~person#1);" "assume 2 == getOrigin_~person#1;getOrigin_~retValue_acc~20#1 := 2;getOrigin_#res#1 := getOrigin_~retValue_acc~20#1;" "angelinaCall_#t~ret106#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~20#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;angelinaCall_~tmp~19#1 := angelinaCall_#t~ret106#1;havoc angelinaCall_#t~ret106#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 2, angelinaCall_~tmp~19#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~ret106#1, angelinaCall_~tmp~19#1;assume { :end_inline_angelinaCall } true;assume { :begin_inline_threeTS } true;assume { :begin_inline_timeShift } true;havoc timeShift_#t~ret65#1, timeShift_#t~ret66#1, timeShift_#t~ret67#1, timeShift_#t~ret68#1, timeShift_#t~ret69#1, timeShift_#t~ret70#1, timeShift_#t~ret71#1, timeShift_#t~ret72#1, timeShift_#t~ret73#1, timeShift_#t~ret74#1, timeShift_#t~ret75#1, timeShift_~tmp~15#1, timeShift_~tmp___0~10#1, timeShift_~tmp___1~6#1, timeShift_~tmp___2~4#1, timeShift_~tmp___3~4#1, timeShift_~tmp___4~3#1, timeShift_~tmp___5~2#1, timeShift_~tmp___6~2#1, timeShift_~tmp___7~2#1, timeShift_~tmp___8~2#1, timeShift_~tmp___9~2#1;havoc timeShift_~tmp~15#1;havoc timeShift_~tmp___0~10#1;havoc timeShift_~tmp___1~6#1;havoc timeShift_~tmp___2~4#1;havoc timeShift_~tmp___3~4#1;havoc timeShift_~tmp___4~3#1;havoc timeShift_~tmp___5~2#1;havoc timeShift_~tmp___6~2#1;havoc timeShift_~tmp___7~2#1;havoc timeShift_~tmp___8~2#1;havoc timeShift_~tmp___9~2#1;assume { :begin_inline___utac_acc__Specification13_spec__1 } true;havoc __utac_acc__Specification13_spec__1_#t~ret4#1;assume { :begin_inline_getCurrentHeading } true;havoc getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~4#1;havoc getCurrentHeading_~retValue_acc~4#1;getCurrentHeading_~retValue_acc~4#1 := ~currentHeading~0;getCurrentHeading_#res#1 := getCurrentHeading_~retValue_acc~4#1;" "__utac_acc__Specification13_spec__1_#t~ret4#1 := getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~4#1;assume { :end_inline_getCurrentHeading } true;~prevDir~0 := __utac_acc__Specification13_spec__1_#t~ret4#1;havoc __utac_acc__Specification13_spec__1_#t~ret4#1;" "havoc __utac_acc__Specification13_spec__1_#t~ret4#1;assume { :end_inline___utac_acc__Specification13_spec__1 } true;assume { :begin_inline_stopRequestedAtCurrentFloor } true;havoc stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret49#1, stopRequestedAtCurrentFloor_#t~ret50#1, stopRequestedAtCurrentFloor_#t~ret51#1, stopRequestedAtCurrentFloor_#t~ret52#1, stopRequestedAtCurrentFloor_~retValue_acc~14#1, stopRequestedAtCurrentFloor_~tmp~13#1, stopRequestedAtCurrentFloor_~tmp___0~8#1;havoc stopRequestedAtCurrentFloor_~retValue_acc~14#1;havoc stopRequestedAtCurrentFloor_~tmp~13#1;havoc stopRequestedAtCurrentFloor_~tmp___0~8#1;assume { :begin_inline_isExecutiveFloorCalling } true;havoc isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret102#1, isExecutiveFloorCalling_~retValue_acc~17#1;havoc isExecutiveFloorCalling_~retValue_acc~17#1;assume { :begin_inline_isFloorCalling } true;isFloorCalling_#in~floorID#1 := ~executiveFloor~0;havoc isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~29#1;isFloorCalling_~floorID#1 := isFloorCalling_#in~floorID#1;havoc isFloorCalling_~retValue_acc~29#1;" "assume 0 == isFloorCalling_~floorID#1;isFloorCalling_~retValue_acc~29#1 := ~calls_0~0;isFloorCalling_#res#1 := isFloorCalling_~retValue_acc~29#1;" "isExecutiveFloorCalling_#t~ret102#1 := isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~29#1;havoc isFloorCalling_#in~floorID#1;assume { :end_inline_isFloorCalling } true;isExecutiveFloorCalling_~retValue_acc~17#1 := isExecutiveFloorCalling_#t~ret102#1;havoc isExecutiveFloorCalling_#t~ret102#1;isExecutiveFloorCalling_#res#1 := isExecutiveFloorCalling_~retValue_acc~17#1;" "stopRequestedAtCurrentFloor_#t~ret49#1 := isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret102#1, isExecutiveFloorCalling_~retValue_acc~17#1;assume { :end_inline_isExecutiveFloorCalling } true;stopRequestedAtCurrentFloor_~tmp~13#1 := stopRequestedAtCurrentFloor_#t~ret49#1;havoc stopRequestedAtCurrentFloor_#t~ret49#1;" "assume 0 != stopRequestedAtCurrentFloor_~tmp~13#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~1#1;havoc getCurrentFloorID_~retValue_acc~1#1;getCurrentFloorID_~retValue_acc~1#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~1#1;" "stopRequestedAtCurrentFloor_#t~ret50#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~1#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedAtCurrentFloor_~tmp___0~8#1 := stopRequestedAtCurrentFloor_#t~ret50#1;havoc stopRequestedAtCurrentFloor_#t~ret50#1;" "assume !(~executiveFloor~0 == stopRequestedAtCurrentFloor_~tmp___0~8#1);stopRequestedAtCurrentFloor_~retValue_acc~14#1 := 0;stopRequestedAtCurrentFloor_#res#1 := stopRequestedAtCurrentFloor_~retValue_acc~14#1;" "timeShift_#t~ret65#1 := stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret49#1, stopRequestedAtCurrentFloor_#t~ret50#1, stopRequestedAtCurrentFloor_#t~ret51#1, stopRequestedAtCurrentFloor_#t~ret52#1, stopRequestedAtCurrentFloor_~retValue_acc~14#1, stopRequestedAtCurrentFloor_~tmp~13#1, stopRequestedAtCurrentFloor_~tmp___0~8#1;assume { :end_inline_stopRequestedAtCurrentFloor } true;timeShift_~tmp___9~2#1 := timeShift_#t~ret65#1;havoc timeShift_#t~ret65#1;" "assume !(0 != timeShift_~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~ret40#1, stopRequestedInDirection_#t~ret41#1, stopRequestedInDirection_#t~ret42#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~10#1, stopRequestedInDirection_~tmp~9#1, stopRequestedInDirection_~tmp___0~5#1, stopRequestedInDirection_~__cil_tmp7~1#1, stopRequestedInDirection_~__cil_tmp8~2#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~10#1;havoc stopRequestedInDirection_~tmp~9#1;havoc stopRequestedInDirection_~tmp___0~5#1;havoc stopRequestedInDirection_~__cil_tmp7~1#1;havoc stopRequestedInDirection_~__cil_tmp8~2#1;assume { :begin_inline_isExecutiveFloorCalling } true;havoc isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret102#1, isExecutiveFloorCalling_~retValue_acc~17#1;havoc isExecutiveFloorCalling_~retValue_acc~17#1;assume { :begin_inline_isFloorCalling } true;isFloorCalling_#in~floorID#1 := ~executiveFloor~0;havoc isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~29#1;isFloorCalling_~floorID#1 := isFloorCalling_#in~floorID#1;havoc isFloorCalling_~retValue_acc~29#1;" "assume 0 == isFloorCalling_~floorID#1;isFloorCalling_~retValue_acc~29#1 := ~calls_0~0;isFloorCalling_#res#1 := isFloorCalling_~retValue_acc~29#1;" "isExecutiveFloorCalling_#t~ret102#1 := isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~29#1;havoc isFloorCalling_#in~floorID#1;assume { :end_inline_isFloorCalling } true;isExecutiveFloorCalling_~retValue_acc~17#1 := isExecutiveFloorCalling_#t~ret102#1;havoc isExecutiveFloorCalling_#t~ret102#1;isExecutiveFloorCalling_#res#1 := isExecutiveFloorCalling_~retValue_acc~17#1;" "stopRequestedInDirection_#t~ret40#1 := isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret102#1, isExecutiveFloorCalling_~retValue_acc~17#1;assume { :end_inline_isExecutiveFloorCalling } true;stopRequestedInDirection_~tmp___0~5#1 := stopRequestedInDirection_#t~ret40#1;havoc stopRequestedInDirection_#t~ret40#1;" "assume 0 != stopRequestedInDirection_~tmp___0~5#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~1#1;havoc getCurrentFloorID_~retValue_acc~1#1;getCurrentFloorID_~retValue_acc~1#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~1#1;" "stopRequestedInDirection_#t~ret41#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~1#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedInDirection_~tmp~9#1 := stopRequestedInDirection_#t~ret41#1;havoc stopRequestedInDirection_#t~ret41#1;stopRequestedInDirection_~__cil_tmp7~1#1 := (if 1 == stopRequestedInDirection_~dir#1 then 1 else 0);stopRequestedInDirection_~__cil_tmp8~2#1 := (if stopRequestedInDirection_~tmp~9#1 < ~executiveFloor~0 then 1 else 0);stopRequestedInDirection_~retValue_acc~10#1 := (if stopRequestedInDirection_~__cil_tmp8~2#1 == stopRequestedInDirection_~__cil_tmp7~1#1 then 1 else 0);stopRequestedInDirection_#res#1 := stopRequestedInDirection_~retValue_acc~10#1;" "timeShift_#t~ret72#1 := stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret40#1, stopRequestedInDirection_#t~ret41#1, stopRequestedInDirection_#t~ret42#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~10#1, stopRequestedInDirection_~tmp~9#1, stopRequestedInDirection_~tmp___0~5#1, stopRequestedInDirection_~__cil_tmp7~1#1, stopRequestedInDirection_~__cil_tmp8~2#1;havoc stopRequestedInDirection_#in~dir#1, stopRequestedInDirection_#in~respectFloorCalls#1, stopRequestedInDirection_#in~respectInLiftCalls#1;assume { :end_inline_stopRequestedInDirection } true;timeShift_~tmp___8~2#1 := timeShift_#t~ret72#1;havoc timeShift_#t~ret72#1;" "assume 0 != timeShift_~tmp___8~2#1;assume { :begin_inline_continueInDirection } true;continueInDirection_#in~dir#1 := ~currentHeading~0;havoc continueInDirection_#t~ret43#1, continueInDirection_~dir#1, continueInDirection_~tmp~10#1;continueInDirection_~dir#1 := continueInDirection_#in~dir#1;havoc continueInDirection_~tmp~10#1;~currentHeading~0 := continueInDirection_~dir#1;" "assume 1 == ~currentHeading~0;assume { :begin_inline_isTopFloor } true;isTopFloor_#in~floorID#1 := ~currentFloorID~0;havoc isTopFloor_#res#1;havoc isTopFloor_~floorID#1, isTopFloor_~retValue_acc~31#1;isTopFloor_~floorID#1 := isTopFloor_#in~floorID#1;havoc isTopFloor_~retValue_acc~31#1;isTopFloor_~retValue_acc~31#1 := (if 4 == isTopFloor_~floorID#1 then 1 else 0);isTopFloor_#res#1 := isTopFloor_~retValue_acc~31#1;" "continueInDirection_#t~ret43#1 := isTopFloor_#res#1;havoc isTopFloor_~floorID#1, isTopFloor_~retValue_acc~31#1;havoc isTopFloor_#in~floorID#1;assume { :end_inline_isTopFloor } true;continueInDirection_~tmp~10#1 := continueInDirection_#t~ret43#1;havoc continueInDirection_#t~ret43#1;" "assume 0 != continueInDirection_~tmp~10#1;~currentHeading~0 := 0;" "assume 1 == ~currentHeading~0;~currentFloorID~0 := 1 + ~currentFloorID~0;" "havoc continueInDirection_#t~ret43#1, continueInDirection_~dir#1, continueInDirection_~tmp~10#1;havoc continueInDirection_#in~dir#1;assume { :end_inline_continueInDirection } true;" "assume { :begin_inline___utac_acc__Specification13_spec__2 } true;havoc __utac_acc__Specification13_spec__2_#t~ret5#1, __utac_acc__Specification13_spec__2_#t~ret6#1, __utac_acc__Specification13_spec__2_#t~ret7#1, __utac_acc__Specification13_spec__2_#t~ret8#1, __utac_acc__Specification13_spec__2_#t~ret9#1, __utac_acc__Specification13_spec__2_#t~ret10#1, __utac_acc__Specification13_spec__2_~tmp~0#1, __utac_acc__Specification13_spec__2_~tmp___0~0#1, __utac_acc__Specification13_spec__2_~tmp___1~0#1, __utac_acc__Specification13_spec__2_~tmp___2~0#1, __utac_acc__Specification13_spec__2_~tmp___3~0#1, __utac_acc__Specification13_spec__2_~tmp___4~0#1, __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1, __utac_acc__Specification13_spec__2_~__cil_tmp8~0#1;havoc __utac_acc__Specification13_spec__2_~tmp~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___0~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___1~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___2~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___3~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___4~0#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp8~0#1;__utac_acc__Specification13_spec__2_~__cil_tmp7~0#1 := 2 * ~maximumWeight~0;__utac_acc__Specification13_spec__2_~__cil_tmp8~0#1 := (if __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1 < 0 && 0 != __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1 % 3 then 1 + __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1 / 3 else __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1 / 3);" "assume ~weight~0 > __utac_acc__Specification13_spec__2_~__cil_tmp8~0#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~16#1, existInLiftCallsInDirection_~i~2#1, existInLiftCallsInDirection_~i___0~0#1;existInLiftCallsInDirection_~d#1 := existInLiftCallsInDirection_#in~d#1;havoc existInLiftCallsInDirection_~retValue_acc~16#1;havoc existInLiftCallsInDirection_~i~2#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;" [2024-11-12 21:28:22,876 INFO L749 eck$LassoCheckResult]: Loop: "assume !false;" "assume existInLiftCallsInDirection_~i___0~0#1 >= 0;" "existInLiftCallsInDirection_~i___0~0#1 := 1 + ~currentFloorID~0;" "assume !false;" "assume !(existInLiftCallsInDirection_~i___0~0#1 < 5);" "existInLiftCallsInDirection_~i___0~0#1 := existInLiftCallsInDirection_~i___0~0#1 - 1;" [2024-11-12 21:28:22,877 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 21:28:22,877 INFO L85 PathProgramCache]: Analyzing trace with hash 1721055179, now seen corresponding path program 1 times [2024-11-12 21:28:22,877 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 21:28:22,877 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [930111715] [2024-11-12 21:28:22,877 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 21:28:22,878 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 21:28:23,057 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-12 21:28:23,110 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-12 21:28:23,110 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [930111715] [2024-11-12 21:28:23,110 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [930111715] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-12 21:28:23,111 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1776674794] [2024-11-12 21:28:23,111 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 21:28:23,111 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-12 21:28:23,111 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-12 21:28:23,113 INFO L229 MonitoredProcess]: Starting monitored process 12 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-11-12 21:28:23,116 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Waiting until timeout for monitored process [2024-11-12 21:28:23,561 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-12 21:28:23,565 INFO L256 TraceCheckSpWp]: Trace formula consists of 638 conjuncts, 2 conjuncts are in the unsatisfiable core [2024-11-12 21:28:23,566 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2024-11-12 21:28:23,580 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2024-11-12 21:28:23,589 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1776674794] provided 0 perfect and 2 imperfect interpolant sequences [2024-11-12 21:28:23,589 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-11-12 21:28:23,589 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 4 [2024-11-12 21:28:23,590 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1986368280] [2024-11-12 21:28:23,590 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-11-12 21:28:23,590 INFO L752 eck$LassoCheckResult]: stem already infeasible [2024-11-12 21:28:23,591 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 21:28:23,591 INFO L85 PathProgramCache]: Analyzing trace with hash -1087190869, now seen corresponding path program 1 times [2024-11-12 21:28:23,591 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 21:28:23,591 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [55422181] [2024-11-12 21:28:23,591 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 21:28:23,591 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 21:28:23,599 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 21:28:23,600 INFO L357 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-12 21:28:23,602 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 21:28:23,610 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-12 21:28:23,642 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-12 21:28:23,643 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2024-11-12 21:28:23,643 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2024-11-12 21:28:23,643 INFO L87 Difference]: Start difference. First operand 23433 states and 42989 transitions. cyclomatic complexity: 19660 Second operand has 4 states, 4 states have (on average 26.0) internal successors, (104), 4 states have internal predecessors, (104), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-12 21:28:24,277 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-12 21:28:24,277 INFO L93 Difference]: Finished difference Result 29766 states and 54620 transitions. [2024-11-12 21:28:24,277 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 29766 states and 54620 transitions. [2024-11-12 21:28:24,418 INFO L131 ngComponentsAnalysis]: Automaton has 122 accepting balls. 9155 [2024-11-12 21:28:24,537 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 29766 states to 29766 states and 54620 transitions. [2024-11-12 21:28:24,537 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 29652 [2024-11-12 21:28:24,567 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 29652 [2024-11-12 21:28:24,567 INFO L73 IsDeterministic]: Start isDeterministic. Operand 29766 states and 54620 transitions. [2024-11-12 21:28:24,597 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-11-12 21:28:24,597 INFO L218 hiAutomatonCegarLoop]: Abstraction has 29766 states and 54620 transitions. [2024-11-12 21:28:24,630 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 29766 states and 54620 transitions. [2024-11-12 21:28:25,151 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 29766 to 29744. [2024-11-12 21:28:25,189 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 29744 states, 29744 states have (on average 1.8353281334050564) internal successors, (54590), 29743 states have internal predecessors, (54590), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-12 21:28:25,247 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29744 states to 29744 states and 54590 transitions. [2024-11-12 21:28:25,247 INFO L240 hiAutomatonCegarLoop]: Abstraction has 29744 states and 54590 transitions. [2024-11-12 21:28:25,247 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2024-11-12 21:28:25,248 INFO L426 stractBuchiCegarLoop]: Abstraction has 29744 states and 54590 transitions. [2024-11-12 21:28:25,248 INFO L333 stractBuchiCegarLoop]: ======== Iteration 4 ============ [2024-11-12 21:28:25,248 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 29744 states and 54590 transitions. [2024-11-12 21:28:25,333 INFO L131 ngComponentsAnalysis]: Automaton has 122 accepting balls. 9149 [2024-11-12 21:28:25,333 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-12 21:28:25,333 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-12 21:28:25,334 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-11-12 21:28:25,334 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1] [2024-11-12 21:28:25,334 INFO L747 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(10, 4);call #Ultimate.allocInit(4, 5);call write~init~int#1(91, 5, 0, 1);call write~init~int#1(95, 5, 1, 1);call write~init~int#1(93, 5, 2, 1);call write~init~int#1(0, 5, 3, 1);call #Ultimate.allocInit(4, 6);call write~init~int#2(91, 6, 0, 1);call write~init~int#2(93, 6, 1, 1);call write~init~int#2(32, 6, 2, 1);call write~init~int#2(0, 6, 3, 1);call #Ultimate.allocInit(5, 7);call write~init~int#3(32, 7, 0, 1);call write~init~int#3(97, 7, 1, 1);call write~init~int#3(116, 7, 2, 1);call write~init~int#3(32, 7, 3, 1);call write~init~int#3(0, 7, 4, 1);call #Ultimate.allocInit(3, 8);call write~init~int#4(37, 8, 0, 1);call write~init~int#4(105, 8, 1, 1);call write~init~int#4(0, 8, 2, 1);call #Ultimate.allocInit(10, 9);call #Ultimate.allocInit(3, 10);call write~init~int#5(117, 10, 0, 1);call write~init~int#5(112, 10, 1, 1);call write~init~int#5(0, 10, 2, 1);call #Ultimate.allocInit(5, 11);call write~init~int#6(100, 11, 0, 1);call write~init~int#6(111, 11, 1, 1);call write~init~int#6(119, 11, 2, 1);call write~init~int#6(110, 11, 3, 1);call write~init~int#6(0, 11, 4, 1);call #Ultimate.allocInit(7, 12);call write~init~int#7(32, 12, 0, 1);call write~init~int#7(73, 12, 1, 1);call write~init~int#7(76, 12, 2, 1);call write~init~int#7(95, 12, 3, 1);call write~init~int#7(112, 12, 4, 1);call write~init~int#7(58, 12, 5, 1);call write~init~int#7(0, 12, 6, 1);call #Ultimate.allocInit(4, 13);call write~init~int#8(32, 13, 0, 1);call write~init~int#8(37, 13, 1, 1);call write~init~int#8(105, 13, 2, 1);call write~init~int#8(0, 13, 3, 1);call #Ultimate.allocInit(4, 14);call write~init~int#9(32, 14, 0, 1);call write~init~int#9(37, 14, 1, 1);call write~init~int#9(105, 14, 2, 1);call write~init~int#9(0, 14, 3, 1);call #Ultimate.allocInit(4, 15);call write~init~int#10(32, 15, 0, 1);call write~init~int#10(37, 15, 1, 1);call write~init~int#10(105, 15, 2, 1);call write~init~int#10(0, 15, 3, 1);call #Ultimate.allocInit(4, 16);call write~init~int#11(32, 16, 0, 1);call write~init~int#11(37, 16, 1, 1);call write~init~int#11(105, 16, 2, 1);call write~init~int#11(0, 16, 3, 1);call #Ultimate.allocInit(4, 17);call write~init~int#12(32, 17, 0, 1);call write~init~int#12(37, 17, 1, 1);call write~init~int#12(105, 17, 2, 1);call write~init~int#12(0, 17, 3, 1);call #Ultimate.allocInit(6, 18);call write~init~int#13(32, 18, 0, 1);call write~init~int#13(70, 18, 1, 1);call write~init~int#13(95, 18, 2, 1);call write~init~int#13(112, 18, 3, 1);call write~init~int#13(58, 18, 4, 1);call write~init~int#13(0, 18, 5, 1);call #Ultimate.allocInit(4, 19);call write~init~int#14(32, 19, 0, 1);call write~init~int#14(37, 19, 1, 1);call write~init~int#14(105, 19, 2, 1);call write~init~int#14(0, 19, 3, 1);call #Ultimate.allocInit(4, 20);call write~init~int#15(32, 20, 0, 1);call write~init~int#15(37, 20, 1, 1);call write~init~int#15(105, 20, 2, 1);call write~init~int#15(0, 20, 3, 1);call #Ultimate.allocInit(4, 21);call write~init~int#16(32, 21, 0, 1);call write~init~int#16(37, 21, 1, 1);call write~init~int#16(105, 21, 2, 1);call write~init~int#16(0, 21, 3, 1);call #Ultimate.allocInit(4, 22);call write~init~int#17(32, 22, 0, 1);call write~init~int#17(37, 22, 1, 1);call write~init~int#17(105, 22, 2, 1);call write~init~int#17(0, 22, 3, 1);call #Ultimate.allocInit(4, 23);call write~init~int#18(32, 23, 0, 1);call write~init~int#18(37, 23, 1, 1);call write~init~int#18(105, 23, 2, 1);call write~init~int#18(0, 23, 3, 1);call #Ultimate.allocInit(2, 24);call write~init~int#19(10, 24, 0, 1);call write~init~int#19(0, 24, 1, 1);call #Ultimate.allocInit(30, 25);call #Ultimate.allocInit(9, 26);call #Ultimate.allocInit(21, 27);call #Ultimate.allocInit(30, 28);call #Ultimate.allocInit(9, 29);call #Ultimate.allocInit(21, 30);call #Ultimate.allocInit(30, 31);call #Ultimate.allocInit(9, 32);call #Ultimate.allocInit(25, 33);call #Ultimate.allocInit(30, 34);call #Ultimate.allocInit(9, 35);call #Ultimate.allocInit(25, 36);~weight~0 := 0;~maximumWeight~0 := 100;~executiveFloor~0 := 4;~prevDir~0 := 0;~cleanupTimeShifts~0 := 12;~currentHeading~0 := 1;~currentFloorID~0 := 0;~persons_0~0 := 0;~persons_1~0 := 0;~persons_2~0 := 0;~persons_3~0 := 0;~persons_4~0 := 0;~persons_5~0 := 0;~doorState~0 := 1;~floorButtons_0~0 := 0;~floorButtons_1~0 := 0;~floorButtons_2~0 := 0;~floorButtons_3~0 := 0;~floorButtons_4~0 := 0;~head~0.base, ~head~0.offset := 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;" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret116#1, main_~retValue_acc~23#1, main_~tmp~25#1;havoc main_~retValue_acc~23#1;havoc main_~tmp~25#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~28#1;havoc valid_product_~retValue_acc~28#1;valid_product_~retValue_acc~28#1 := 1;valid_product_#res#1 := valid_product_~retValue_acc~28#1;" "main_#t~ret116#1 := valid_product_#res#1;havoc valid_product_~retValue_acc~28#1;assume { :end_inline_valid_product } true;main_~tmp~25#1 := main_#t~ret116#1;havoc main_#t~ret116#1;" "assume 0 != main_~tmp~25#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~ret105#1, aliceCall_~tmp~18#1;havoc aliceCall_~tmp~18#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 1;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~20#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~20#1;" "assume !(0 == getOrigin_~person#1);" "assume 1 == getOrigin_~person#1;getOrigin_~retValue_acc~20#1 := 3;getOrigin_#res#1 := getOrigin_~retValue_acc~20#1;" "aliceCall_#t~ret105#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~20#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;aliceCall_~tmp~18#1 := aliceCall_#t~ret105#1;havoc aliceCall_#t~ret105#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 1, aliceCall_~tmp~18#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~ret105#1, aliceCall_~tmp~18#1;assume { :end_inline_aliceCall } true;assume { :begin_inline_angelinaCall } true;havoc angelinaCall_#t~ret106#1, angelinaCall_~tmp~19#1;havoc angelinaCall_~tmp~19#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 2;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~20#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~20#1;" "assume !(0 == getOrigin_~person#1);" "assume !(1 == getOrigin_~person#1);" "assume 2 == getOrigin_~person#1;getOrigin_~retValue_acc~20#1 := 2;getOrigin_#res#1 := getOrigin_~retValue_acc~20#1;" "angelinaCall_#t~ret106#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~20#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;angelinaCall_~tmp~19#1 := angelinaCall_#t~ret106#1;havoc angelinaCall_#t~ret106#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 2, angelinaCall_~tmp~19#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~ret106#1, angelinaCall_~tmp~19#1;assume { :end_inline_angelinaCall } true;assume { :begin_inline_threeTS } true;assume { :begin_inline_timeShift } true;havoc timeShift_#t~ret65#1, timeShift_#t~ret66#1, timeShift_#t~ret67#1, timeShift_#t~ret68#1, timeShift_#t~ret69#1, timeShift_#t~ret70#1, timeShift_#t~ret71#1, timeShift_#t~ret72#1, timeShift_#t~ret73#1, timeShift_#t~ret74#1, timeShift_#t~ret75#1, timeShift_~tmp~15#1, timeShift_~tmp___0~10#1, timeShift_~tmp___1~6#1, timeShift_~tmp___2~4#1, timeShift_~tmp___3~4#1, timeShift_~tmp___4~3#1, timeShift_~tmp___5~2#1, timeShift_~tmp___6~2#1, timeShift_~tmp___7~2#1, timeShift_~tmp___8~2#1, timeShift_~tmp___9~2#1;havoc timeShift_~tmp~15#1;havoc timeShift_~tmp___0~10#1;havoc timeShift_~tmp___1~6#1;havoc timeShift_~tmp___2~4#1;havoc timeShift_~tmp___3~4#1;havoc timeShift_~tmp___4~3#1;havoc timeShift_~tmp___5~2#1;havoc timeShift_~tmp___6~2#1;havoc timeShift_~tmp___7~2#1;havoc timeShift_~tmp___8~2#1;havoc timeShift_~tmp___9~2#1;assume { :begin_inline___utac_acc__Specification13_spec__1 } true;havoc __utac_acc__Specification13_spec__1_#t~ret4#1;assume { :begin_inline_getCurrentHeading } true;havoc getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~4#1;havoc getCurrentHeading_~retValue_acc~4#1;getCurrentHeading_~retValue_acc~4#1 := ~currentHeading~0;getCurrentHeading_#res#1 := getCurrentHeading_~retValue_acc~4#1;" "__utac_acc__Specification13_spec__1_#t~ret4#1 := getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~4#1;assume { :end_inline_getCurrentHeading } true;~prevDir~0 := __utac_acc__Specification13_spec__1_#t~ret4#1;havoc __utac_acc__Specification13_spec__1_#t~ret4#1;" "havoc __utac_acc__Specification13_spec__1_#t~ret4#1;assume { :end_inline___utac_acc__Specification13_spec__1 } true;assume { :begin_inline_stopRequestedAtCurrentFloor } true;havoc stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret49#1, stopRequestedAtCurrentFloor_#t~ret50#1, stopRequestedAtCurrentFloor_#t~ret51#1, stopRequestedAtCurrentFloor_#t~ret52#1, stopRequestedAtCurrentFloor_~retValue_acc~14#1, stopRequestedAtCurrentFloor_~tmp~13#1, stopRequestedAtCurrentFloor_~tmp___0~8#1;havoc stopRequestedAtCurrentFloor_~retValue_acc~14#1;havoc stopRequestedAtCurrentFloor_~tmp~13#1;havoc stopRequestedAtCurrentFloor_~tmp___0~8#1;assume { :begin_inline_isExecutiveFloorCalling } true;havoc isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret102#1, isExecutiveFloorCalling_~retValue_acc~17#1;havoc isExecutiveFloorCalling_~retValue_acc~17#1;assume { :begin_inline_isFloorCalling } true;isFloorCalling_#in~floorID#1 := ~executiveFloor~0;havoc isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~29#1;isFloorCalling_~floorID#1 := isFloorCalling_#in~floorID#1;havoc isFloorCalling_~retValue_acc~29#1;" "assume 0 == isFloorCalling_~floorID#1;isFloorCalling_~retValue_acc~29#1 := ~calls_0~0;isFloorCalling_#res#1 := isFloorCalling_~retValue_acc~29#1;" "isExecutiveFloorCalling_#t~ret102#1 := isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~29#1;havoc isFloorCalling_#in~floorID#1;assume { :end_inline_isFloorCalling } true;isExecutiveFloorCalling_~retValue_acc~17#1 := isExecutiveFloorCalling_#t~ret102#1;havoc isExecutiveFloorCalling_#t~ret102#1;isExecutiveFloorCalling_#res#1 := isExecutiveFloorCalling_~retValue_acc~17#1;" "stopRequestedAtCurrentFloor_#t~ret49#1 := isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret102#1, isExecutiveFloorCalling_~retValue_acc~17#1;assume { :end_inline_isExecutiveFloorCalling } true;stopRequestedAtCurrentFloor_~tmp~13#1 := stopRequestedAtCurrentFloor_#t~ret49#1;havoc stopRequestedAtCurrentFloor_#t~ret49#1;" "assume 0 != stopRequestedAtCurrentFloor_~tmp~13#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~1#1;havoc getCurrentFloorID_~retValue_acc~1#1;getCurrentFloorID_~retValue_acc~1#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~1#1;" "stopRequestedAtCurrentFloor_#t~ret50#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~1#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedAtCurrentFloor_~tmp___0~8#1 := stopRequestedAtCurrentFloor_#t~ret50#1;havoc stopRequestedAtCurrentFloor_#t~ret50#1;" "assume !(~executiveFloor~0 == stopRequestedAtCurrentFloor_~tmp___0~8#1);stopRequestedAtCurrentFloor_~retValue_acc~14#1 := 0;stopRequestedAtCurrentFloor_#res#1 := stopRequestedAtCurrentFloor_~retValue_acc~14#1;" "timeShift_#t~ret65#1 := stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret49#1, stopRequestedAtCurrentFloor_#t~ret50#1, stopRequestedAtCurrentFloor_#t~ret51#1, stopRequestedAtCurrentFloor_#t~ret52#1, stopRequestedAtCurrentFloor_~retValue_acc~14#1, stopRequestedAtCurrentFloor_~tmp~13#1, stopRequestedAtCurrentFloor_~tmp___0~8#1;assume { :end_inline_stopRequestedAtCurrentFloor } true;timeShift_~tmp___9~2#1 := timeShift_#t~ret65#1;havoc timeShift_#t~ret65#1;" "assume !(0 != timeShift_~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~ret40#1, stopRequestedInDirection_#t~ret41#1, stopRequestedInDirection_#t~ret42#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~10#1, stopRequestedInDirection_~tmp~9#1, stopRequestedInDirection_~tmp___0~5#1, stopRequestedInDirection_~__cil_tmp7~1#1, stopRequestedInDirection_~__cil_tmp8~2#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~10#1;havoc stopRequestedInDirection_~tmp~9#1;havoc stopRequestedInDirection_~tmp___0~5#1;havoc stopRequestedInDirection_~__cil_tmp7~1#1;havoc stopRequestedInDirection_~__cil_tmp8~2#1;assume { :begin_inline_isExecutiveFloorCalling } true;havoc isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret102#1, isExecutiveFloorCalling_~retValue_acc~17#1;havoc isExecutiveFloorCalling_~retValue_acc~17#1;assume { :begin_inline_isFloorCalling } true;isFloorCalling_#in~floorID#1 := ~executiveFloor~0;havoc isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~29#1;isFloorCalling_~floorID#1 := isFloorCalling_#in~floorID#1;havoc isFloorCalling_~retValue_acc~29#1;" "assume 0 == isFloorCalling_~floorID#1;isFloorCalling_~retValue_acc~29#1 := ~calls_0~0;isFloorCalling_#res#1 := isFloorCalling_~retValue_acc~29#1;" "isExecutiveFloorCalling_#t~ret102#1 := isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~29#1;havoc isFloorCalling_#in~floorID#1;assume { :end_inline_isFloorCalling } true;isExecutiveFloorCalling_~retValue_acc~17#1 := isExecutiveFloorCalling_#t~ret102#1;havoc isExecutiveFloorCalling_#t~ret102#1;isExecutiveFloorCalling_#res#1 := isExecutiveFloorCalling_~retValue_acc~17#1;" "stopRequestedInDirection_#t~ret40#1 := isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret102#1, isExecutiveFloorCalling_~retValue_acc~17#1;assume { :end_inline_isExecutiveFloorCalling } true;stopRequestedInDirection_~tmp___0~5#1 := stopRequestedInDirection_#t~ret40#1;havoc stopRequestedInDirection_#t~ret40#1;" "assume 0 != stopRequestedInDirection_~tmp___0~5#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~1#1;havoc getCurrentFloorID_~retValue_acc~1#1;getCurrentFloorID_~retValue_acc~1#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~1#1;" "stopRequestedInDirection_#t~ret41#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~1#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedInDirection_~tmp~9#1 := stopRequestedInDirection_#t~ret41#1;havoc stopRequestedInDirection_#t~ret41#1;stopRequestedInDirection_~__cil_tmp7~1#1 := (if 1 == stopRequestedInDirection_~dir#1 then 1 else 0);stopRequestedInDirection_~__cil_tmp8~2#1 := (if stopRequestedInDirection_~tmp~9#1 < ~executiveFloor~0 then 1 else 0);stopRequestedInDirection_~retValue_acc~10#1 := (if stopRequestedInDirection_~__cil_tmp8~2#1 == stopRequestedInDirection_~__cil_tmp7~1#1 then 1 else 0);stopRequestedInDirection_#res#1 := stopRequestedInDirection_~retValue_acc~10#1;" "timeShift_#t~ret72#1 := stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret40#1, stopRequestedInDirection_#t~ret41#1, stopRequestedInDirection_#t~ret42#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~10#1, stopRequestedInDirection_~tmp~9#1, stopRequestedInDirection_~tmp___0~5#1, stopRequestedInDirection_~__cil_tmp7~1#1, stopRequestedInDirection_~__cil_tmp8~2#1;havoc stopRequestedInDirection_#in~dir#1, stopRequestedInDirection_#in~respectFloorCalls#1, stopRequestedInDirection_#in~respectInLiftCalls#1;assume { :end_inline_stopRequestedInDirection } true;timeShift_~tmp___8~2#1 := timeShift_#t~ret72#1;havoc timeShift_#t~ret72#1;" "assume 0 != timeShift_~tmp___8~2#1;assume { :begin_inline_continueInDirection } true;continueInDirection_#in~dir#1 := ~currentHeading~0;havoc continueInDirection_#t~ret43#1, continueInDirection_~dir#1, continueInDirection_~tmp~10#1;continueInDirection_~dir#1 := continueInDirection_#in~dir#1;havoc continueInDirection_~tmp~10#1;~currentHeading~0 := continueInDirection_~dir#1;" "assume 1 == ~currentHeading~0;assume { :begin_inline_isTopFloor } true;isTopFloor_#in~floorID#1 := ~currentFloorID~0;havoc isTopFloor_#res#1;havoc isTopFloor_~floorID#1, isTopFloor_~retValue_acc~31#1;isTopFloor_~floorID#1 := isTopFloor_#in~floorID#1;havoc isTopFloor_~retValue_acc~31#1;isTopFloor_~retValue_acc~31#1 := (if 4 == isTopFloor_~floorID#1 then 1 else 0);isTopFloor_#res#1 := isTopFloor_~retValue_acc~31#1;" "continueInDirection_#t~ret43#1 := isTopFloor_#res#1;havoc isTopFloor_~floorID#1, isTopFloor_~retValue_acc~31#1;havoc isTopFloor_#in~floorID#1;assume { :end_inline_isTopFloor } true;continueInDirection_~tmp~10#1 := continueInDirection_#t~ret43#1;havoc continueInDirection_#t~ret43#1;" "assume 0 != continueInDirection_~tmp~10#1;~currentHeading~0 := 0;" "assume !(1 == ~currentHeading~0);~currentFloorID~0 := ~currentFloorID~0 - 1;" "havoc continueInDirection_#t~ret43#1, continueInDirection_~dir#1, continueInDirection_~tmp~10#1;havoc continueInDirection_#in~dir#1;assume { :end_inline_continueInDirection } true;" "assume { :begin_inline___utac_acc__Specification13_spec__2 } true;havoc __utac_acc__Specification13_spec__2_#t~ret5#1, __utac_acc__Specification13_spec__2_#t~ret6#1, __utac_acc__Specification13_spec__2_#t~ret7#1, __utac_acc__Specification13_spec__2_#t~ret8#1, __utac_acc__Specification13_spec__2_#t~ret9#1, __utac_acc__Specification13_spec__2_#t~ret10#1, __utac_acc__Specification13_spec__2_~tmp~0#1, __utac_acc__Specification13_spec__2_~tmp___0~0#1, __utac_acc__Specification13_spec__2_~tmp___1~0#1, __utac_acc__Specification13_spec__2_~tmp___2~0#1, __utac_acc__Specification13_spec__2_~tmp___3~0#1, __utac_acc__Specification13_spec__2_~tmp___4~0#1, __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1, __utac_acc__Specification13_spec__2_~__cil_tmp8~0#1;havoc __utac_acc__Specification13_spec__2_~tmp~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___0~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___1~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___2~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___3~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___4~0#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp8~0#1;__utac_acc__Specification13_spec__2_~__cil_tmp7~0#1 := 2 * ~maximumWeight~0;__utac_acc__Specification13_spec__2_~__cil_tmp8~0#1 := (if __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1 < 0 && 0 != __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1 % 3 then 1 + __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1 / 3 else __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1 / 3);" "assume ~weight~0 > __utac_acc__Specification13_spec__2_~__cil_tmp8~0#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~16#1, existInLiftCallsInDirection_~i~2#1, existInLiftCallsInDirection_~i___0~0#1;existInLiftCallsInDirection_~d#1 := existInLiftCallsInDirection_#in~d#1;havoc existInLiftCallsInDirection_~retValue_acc~16#1;havoc existInLiftCallsInDirection_~i~2#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;" [2024-11-12 21:28:25,335 INFO L749 eck$LassoCheckResult]: Loop: "assume !false;" "assume existInLiftCallsInDirection_~i___0~0#1 >= 0;" "existInLiftCallsInDirection_~i___0~0#1 := 1 + ~currentFloorID~0;" "assume !false;" "assume !(existInLiftCallsInDirection_~i___0~0#1 < 5);" "existInLiftCallsInDirection_~i___0~0#1 := existInLiftCallsInDirection_~i___0~0#1 - 1;" [2024-11-12 21:28:25,335 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 21:28:25,335 INFO L85 PathProgramCache]: Analyzing trace with hash -327980614, now seen corresponding path program 1 times [2024-11-12 21:28:25,335 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 21:28:25,336 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [256680077] [2024-11-12 21:28:25,336 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 21:28:25,336 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 21:28:25,357 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-12 21:28:25,455 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-12 21:28:25,455 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [256680077] [2024-11-12 21:28:25,455 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [256680077] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-12 21:28:25,456 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1216197062] [2024-11-12 21:28:25,456 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 21:28:25,456 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-12 21:28:25,456 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-12 21:28:25,458 INFO L229 MonitoredProcess]: Starting monitored process 13 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-11-12 21:28:25,461 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Waiting until timeout for monitored process [2024-11-12 21:28:25,924 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-12 21:28:25,926 INFO L256 TraceCheckSpWp]: Trace formula consists of 639 conjuncts, 3 conjuncts are in the unsatisfiable core [2024-11-12 21:28:25,928 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2024-11-12 21:28:25,944 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2024-11-12 21:28:25,957 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1216197062] provided 0 perfect and 2 imperfect interpolant sequences [2024-11-12 21:28:25,958 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-11-12 21:28:25,958 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 3, 3] total 6 [2024-11-12 21:28:25,958 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [515345252] [2024-11-12 21:28:25,958 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-11-12 21:28:25,958 INFO L752 eck$LassoCheckResult]: stem already infeasible [2024-11-12 21:28:25,958 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 21:28:25,959 INFO L85 PathProgramCache]: Analyzing trace with hash -1087190869, now seen corresponding path program 2 times [2024-11-12 21:28:25,959 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 21:28:25,959 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [595069402] [2024-11-12 21:28:25,959 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 21:28:25,960 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 21:28:25,967 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 21:28:25,967 INFO L357 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-12 21:28:25,969 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 21:28:25,976 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-12 21:28:26,000 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-12 21:28:26,001 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2024-11-12 21:28:26,001 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=10, Invalid=20, Unknown=0, NotChecked=0, Total=30 [2024-11-12 21:28:26,001 INFO L87 Difference]: Start difference. First operand 29744 states and 54590 transitions. cyclomatic complexity: 24974 Second operand has 6 states, 6 states have (on average 11.5) internal successors, (69), 6 states have internal predecessors, (69), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-12 21:28:26,659 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-12 21:28:26,660 INFO L93 Difference]: Finished difference Result 29752 states and 54597 transitions. [2024-11-12 21:28:26,660 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 29752 states and 54597 transitions. [2024-11-12 21:28:26,782 INFO L131 ngComponentsAnalysis]: Automaton has 122 accepting balls. 9149 [2024-11-12 21:28:27,048 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 29752 states to 29752 states and 54597 transitions. [2024-11-12 21:28:27,048 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 29638 [2024-11-12 21:28:27,072 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 29638 [2024-11-12 21:28:27,072 INFO L73 IsDeterministic]: Start isDeterministic. Operand 29752 states and 54597 transitions. [2024-11-12 21:28:27,090 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-11-12 21:28:27,090 INFO L218 hiAutomatonCegarLoop]: Abstraction has 29752 states and 54597 transitions. [2024-11-12 21:28:27,119 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 29752 states and 54597 transitions. [2024-11-12 21:28:27,381 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 29752 to 29744. [2024-11-12 21:28:27,415 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 29744 states, 29744 states have (on average 1.835126412049489) internal successors, (54584), 29743 states have internal predecessors, (54584), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-12 21:28:27,469 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29744 states to 29744 states and 54584 transitions. [2024-11-12 21:28:27,469 INFO L240 hiAutomatonCegarLoop]: Abstraction has 29744 states and 54584 transitions. [2024-11-12 21:28:27,470 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2024-11-12 21:28:27,470 INFO L426 stractBuchiCegarLoop]: Abstraction has 29744 states and 54584 transitions. [2024-11-12 21:28:27,470 INFO L333 stractBuchiCegarLoop]: ======== Iteration 5 ============ [2024-11-12 21:28:27,470 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 29744 states and 54584 transitions. [2024-11-12 21:28:27,745 INFO L131 ngComponentsAnalysis]: Automaton has 122 accepting balls. 9149 [2024-11-12 21:28:27,745 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-12 21:28:27,745 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-12 21:28:27,746 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-11-12 21:28:27,747 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1] [2024-11-12 21:28:27,748 INFO L747 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(10, 4);call #Ultimate.allocInit(4, 5);call write~init~int#1(91, 5, 0, 1);call write~init~int#1(95, 5, 1, 1);call write~init~int#1(93, 5, 2, 1);call write~init~int#1(0, 5, 3, 1);call #Ultimate.allocInit(4, 6);call write~init~int#2(91, 6, 0, 1);call write~init~int#2(93, 6, 1, 1);call write~init~int#2(32, 6, 2, 1);call write~init~int#2(0, 6, 3, 1);call #Ultimate.allocInit(5, 7);call write~init~int#3(32, 7, 0, 1);call write~init~int#3(97, 7, 1, 1);call write~init~int#3(116, 7, 2, 1);call write~init~int#3(32, 7, 3, 1);call write~init~int#3(0, 7, 4, 1);call #Ultimate.allocInit(3, 8);call write~init~int#4(37, 8, 0, 1);call write~init~int#4(105, 8, 1, 1);call write~init~int#4(0, 8, 2, 1);call #Ultimate.allocInit(10, 9);call #Ultimate.allocInit(3, 10);call write~init~int#5(117, 10, 0, 1);call write~init~int#5(112, 10, 1, 1);call write~init~int#5(0, 10, 2, 1);call #Ultimate.allocInit(5, 11);call write~init~int#6(100, 11, 0, 1);call write~init~int#6(111, 11, 1, 1);call write~init~int#6(119, 11, 2, 1);call write~init~int#6(110, 11, 3, 1);call write~init~int#6(0, 11, 4, 1);call #Ultimate.allocInit(7, 12);call write~init~int#7(32, 12, 0, 1);call write~init~int#7(73, 12, 1, 1);call write~init~int#7(76, 12, 2, 1);call write~init~int#7(95, 12, 3, 1);call write~init~int#7(112, 12, 4, 1);call write~init~int#7(58, 12, 5, 1);call write~init~int#7(0, 12, 6, 1);call #Ultimate.allocInit(4, 13);call write~init~int#8(32, 13, 0, 1);call write~init~int#8(37, 13, 1, 1);call write~init~int#8(105, 13, 2, 1);call write~init~int#8(0, 13, 3, 1);call #Ultimate.allocInit(4, 14);call write~init~int#9(32, 14, 0, 1);call write~init~int#9(37, 14, 1, 1);call write~init~int#9(105, 14, 2, 1);call write~init~int#9(0, 14, 3, 1);call #Ultimate.allocInit(4, 15);call write~init~int#10(32, 15, 0, 1);call write~init~int#10(37, 15, 1, 1);call write~init~int#10(105, 15, 2, 1);call write~init~int#10(0, 15, 3, 1);call #Ultimate.allocInit(4, 16);call write~init~int#11(32, 16, 0, 1);call write~init~int#11(37, 16, 1, 1);call write~init~int#11(105, 16, 2, 1);call write~init~int#11(0, 16, 3, 1);call #Ultimate.allocInit(4, 17);call write~init~int#12(32, 17, 0, 1);call write~init~int#12(37, 17, 1, 1);call write~init~int#12(105, 17, 2, 1);call write~init~int#12(0, 17, 3, 1);call #Ultimate.allocInit(6, 18);call write~init~int#13(32, 18, 0, 1);call write~init~int#13(70, 18, 1, 1);call write~init~int#13(95, 18, 2, 1);call write~init~int#13(112, 18, 3, 1);call write~init~int#13(58, 18, 4, 1);call write~init~int#13(0, 18, 5, 1);call #Ultimate.allocInit(4, 19);call write~init~int#14(32, 19, 0, 1);call write~init~int#14(37, 19, 1, 1);call write~init~int#14(105, 19, 2, 1);call write~init~int#14(0, 19, 3, 1);call #Ultimate.allocInit(4, 20);call write~init~int#15(32, 20, 0, 1);call write~init~int#15(37, 20, 1, 1);call write~init~int#15(105, 20, 2, 1);call write~init~int#15(0, 20, 3, 1);call #Ultimate.allocInit(4, 21);call write~init~int#16(32, 21, 0, 1);call write~init~int#16(37, 21, 1, 1);call write~init~int#16(105, 21, 2, 1);call write~init~int#16(0, 21, 3, 1);call #Ultimate.allocInit(4, 22);call write~init~int#17(32, 22, 0, 1);call write~init~int#17(37, 22, 1, 1);call write~init~int#17(105, 22, 2, 1);call write~init~int#17(0, 22, 3, 1);call #Ultimate.allocInit(4, 23);call write~init~int#18(32, 23, 0, 1);call write~init~int#18(37, 23, 1, 1);call write~init~int#18(105, 23, 2, 1);call write~init~int#18(0, 23, 3, 1);call #Ultimate.allocInit(2, 24);call write~init~int#19(10, 24, 0, 1);call write~init~int#19(0, 24, 1, 1);call #Ultimate.allocInit(30, 25);call #Ultimate.allocInit(9, 26);call #Ultimate.allocInit(21, 27);call #Ultimate.allocInit(30, 28);call #Ultimate.allocInit(9, 29);call #Ultimate.allocInit(21, 30);call #Ultimate.allocInit(30, 31);call #Ultimate.allocInit(9, 32);call #Ultimate.allocInit(25, 33);call #Ultimate.allocInit(30, 34);call #Ultimate.allocInit(9, 35);call #Ultimate.allocInit(25, 36);~weight~0 := 0;~maximumWeight~0 := 100;~executiveFloor~0 := 4;~prevDir~0 := 0;~cleanupTimeShifts~0 := 12;~currentHeading~0 := 1;~currentFloorID~0 := 0;~persons_0~0 := 0;~persons_1~0 := 0;~persons_2~0 := 0;~persons_3~0 := 0;~persons_4~0 := 0;~persons_5~0 := 0;~doorState~0 := 1;~floorButtons_0~0 := 0;~floorButtons_1~0 := 0;~floorButtons_2~0 := 0;~floorButtons_3~0 := 0;~floorButtons_4~0 := 0;~head~0.base, ~head~0.offset := 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;" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret116#1, main_~retValue_acc~23#1, main_~tmp~25#1;havoc main_~retValue_acc~23#1;havoc main_~tmp~25#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~28#1;havoc valid_product_~retValue_acc~28#1;valid_product_~retValue_acc~28#1 := 1;valid_product_#res#1 := valid_product_~retValue_acc~28#1;" "main_#t~ret116#1 := valid_product_#res#1;havoc valid_product_~retValue_acc~28#1;assume { :end_inline_valid_product } true;main_~tmp~25#1 := main_#t~ret116#1;havoc main_#t~ret116#1;" "assume 0 != main_~tmp~25#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~ret105#1, aliceCall_~tmp~18#1;havoc aliceCall_~tmp~18#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 1;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~20#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~20#1;" "assume !(0 == getOrigin_~person#1);" "assume 1 == getOrigin_~person#1;getOrigin_~retValue_acc~20#1 := 3;getOrigin_#res#1 := getOrigin_~retValue_acc~20#1;" "aliceCall_#t~ret105#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~20#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;aliceCall_~tmp~18#1 := aliceCall_#t~ret105#1;havoc aliceCall_#t~ret105#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 1, aliceCall_~tmp~18#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~ret105#1, aliceCall_~tmp~18#1;assume { :end_inline_aliceCall } true;assume { :begin_inline_angelinaCall } true;havoc angelinaCall_#t~ret106#1, angelinaCall_~tmp~19#1;havoc angelinaCall_~tmp~19#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 2;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~20#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~20#1;" "assume !(0 == getOrigin_~person#1);" "assume !(1 == getOrigin_~person#1);" "assume 2 == getOrigin_~person#1;getOrigin_~retValue_acc~20#1 := 2;getOrigin_#res#1 := getOrigin_~retValue_acc~20#1;" "angelinaCall_#t~ret106#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~20#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;angelinaCall_~tmp~19#1 := angelinaCall_#t~ret106#1;havoc angelinaCall_#t~ret106#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 2, angelinaCall_~tmp~19#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~ret106#1, angelinaCall_~tmp~19#1;assume { :end_inline_angelinaCall } true;assume { :begin_inline_threeTS } true;assume { :begin_inline_timeShift } true;havoc timeShift_#t~ret65#1, timeShift_#t~ret66#1, timeShift_#t~ret67#1, timeShift_#t~ret68#1, timeShift_#t~ret69#1, timeShift_#t~ret70#1, timeShift_#t~ret71#1, timeShift_#t~ret72#1, timeShift_#t~ret73#1, timeShift_#t~ret74#1, timeShift_#t~ret75#1, timeShift_~tmp~15#1, timeShift_~tmp___0~10#1, timeShift_~tmp___1~6#1, timeShift_~tmp___2~4#1, timeShift_~tmp___3~4#1, timeShift_~tmp___4~3#1, timeShift_~tmp___5~2#1, timeShift_~tmp___6~2#1, timeShift_~tmp___7~2#1, timeShift_~tmp___8~2#1, timeShift_~tmp___9~2#1;havoc timeShift_~tmp~15#1;havoc timeShift_~tmp___0~10#1;havoc timeShift_~tmp___1~6#1;havoc timeShift_~tmp___2~4#1;havoc timeShift_~tmp___3~4#1;havoc timeShift_~tmp___4~3#1;havoc timeShift_~tmp___5~2#1;havoc timeShift_~tmp___6~2#1;havoc timeShift_~tmp___7~2#1;havoc timeShift_~tmp___8~2#1;havoc timeShift_~tmp___9~2#1;assume { :begin_inline___utac_acc__Specification13_spec__1 } true;havoc __utac_acc__Specification13_spec__1_#t~ret4#1;assume { :begin_inline_getCurrentHeading } true;havoc getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~4#1;havoc getCurrentHeading_~retValue_acc~4#1;getCurrentHeading_~retValue_acc~4#1 := ~currentHeading~0;getCurrentHeading_#res#1 := getCurrentHeading_~retValue_acc~4#1;" "__utac_acc__Specification13_spec__1_#t~ret4#1 := getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~4#1;assume { :end_inline_getCurrentHeading } true;~prevDir~0 := __utac_acc__Specification13_spec__1_#t~ret4#1;havoc __utac_acc__Specification13_spec__1_#t~ret4#1;" "havoc __utac_acc__Specification13_spec__1_#t~ret4#1;assume { :end_inline___utac_acc__Specification13_spec__1 } true;assume { :begin_inline_stopRequestedAtCurrentFloor } true;havoc stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret49#1, stopRequestedAtCurrentFloor_#t~ret50#1, stopRequestedAtCurrentFloor_#t~ret51#1, stopRequestedAtCurrentFloor_#t~ret52#1, stopRequestedAtCurrentFloor_~retValue_acc~14#1, stopRequestedAtCurrentFloor_~tmp~13#1, stopRequestedAtCurrentFloor_~tmp___0~8#1;havoc stopRequestedAtCurrentFloor_~retValue_acc~14#1;havoc stopRequestedAtCurrentFloor_~tmp~13#1;havoc stopRequestedAtCurrentFloor_~tmp___0~8#1;assume { :begin_inline_isExecutiveFloorCalling } true;havoc isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret102#1, isExecutiveFloorCalling_~retValue_acc~17#1;havoc isExecutiveFloorCalling_~retValue_acc~17#1;assume { :begin_inline_isFloorCalling } true;isFloorCalling_#in~floorID#1 := ~executiveFloor~0;havoc isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~29#1;isFloorCalling_~floorID#1 := isFloorCalling_#in~floorID#1;havoc isFloorCalling_~retValue_acc~29#1;" "assume 0 == isFloorCalling_~floorID#1;isFloorCalling_~retValue_acc~29#1 := ~calls_0~0;isFloorCalling_#res#1 := isFloorCalling_~retValue_acc~29#1;" "isExecutiveFloorCalling_#t~ret102#1 := isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~29#1;havoc isFloorCalling_#in~floorID#1;assume { :end_inline_isFloorCalling } true;isExecutiveFloorCalling_~retValue_acc~17#1 := isExecutiveFloorCalling_#t~ret102#1;havoc isExecutiveFloorCalling_#t~ret102#1;isExecutiveFloorCalling_#res#1 := isExecutiveFloorCalling_~retValue_acc~17#1;" "stopRequestedAtCurrentFloor_#t~ret49#1 := isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret102#1, isExecutiveFloorCalling_~retValue_acc~17#1;assume { :end_inline_isExecutiveFloorCalling } true;stopRequestedAtCurrentFloor_~tmp~13#1 := stopRequestedAtCurrentFloor_#t~ret49#1;havoc stopRequestedAtCurrentFloor_#t~ret49#1;" "assume 0 != stopRequestedAtCurrentFloor_~tmp~13#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~1#1;havoc getCurrentFloorID_~retValue_acc~1#1;getCurrentFloorID_~retValue_acc~1#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~1#1;" "stopRequestedAtCurrentFloor_#t~ret50#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~1#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedAtCurrentFloor_~tmp___0~8#1 := stopRequestedAtCurrentFloor_#t~ret50#1;havoc stopRequestedAtCurrentFloor_#t~ret50#1;" "assume !(~executiveFloor~0 == stopRequestedAtCurrentFloor_~tmp___0~8#1);stopRequestedAtCurrentFloor_~retValue_acc~14#1 := 0;stopRequestedAtCurrentFloor_#res#1 := stopRequestedAtCurrentFloor_~retValue_acc~14#1;" "timeShift_#t~ret65#1 := stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret49#1, stopRequestedAtCurrentFloor_#t~ret50#1, stopRequestedAtCurrentFloor_#t~ret51#1, stopRequestedAtCurrentFloor_#t~ret52#1, stopRequestedAtCurrentFloor_~retValue_acc~14#1, stopRequestedAtCurrentFloor_~tmp~13#1, stopRequestedAtCurrentFloor_~tmp___0~8#1;assume { :end_inline_stopRequestedAtCurrentFloor } true;timeShift_~tmp___9~2#1 := timeShift_#t~ret65#1;havoc timeShift_#t~ret65#1;" "assume !(0 != timeShift_~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~ret40#1, stopRequestedInDirection_#t~ret41#1, stopRequestedInDirection_#t~ret42#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~10#1, stopRequestedInDirection_~tmp~9#1, stopRequestedInDirection_~tmp___0~5#1, stopRequestedInDirection_~__cil_tmp7~1#1, stopRequestedInDirection_~__cil_tmp8~2#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~10#1;havoc stopRequestedInDirection_~tmp~9#1;havoc stopRequestedInDirection_~tmp___0~5#1;havoc stopRequestedInDirection_~__cil_tmp7~1#1;havoc stopRequestedInDirection_~__cil_tmp8~2#1;assume { :begin_inline_isExecutiveFloorCalling } true;havoc isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret102#1, isExecutiveFloorCalling_~retValue_acc~17#1;havoc isExecutiveFloorCalling_~retValue_acc~17#1;assume { :begin_inline_isFloorCalling } true;isFloorCalling_#in~floorID#1 := ~executiveFloor~0;havoc isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~29#1;isFloorCalling_~floorID#1 := isFloorCalling_#in~floorID#1;havoc isFloorCalling_~retValue_acc~29#1;" "assume 0 == isFloorCalling_~floorID#1;isFloorCalling_~retValue_acc~29#1 := ~calls_0~0;isFloorCalling_#res#1 := isFloorCalling_~retValue_acc~29#1;" "isExecutiveFloorCalling_#t~ret102#1 := isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~29#1;havoc isFloorCalling_#in~floorID#1;assume { :end_inline_isFloorCalling } true;isExecutiveFloorCalling_~retValue_acc~17#1 := isExecutiveFloorCalling_#t~ret102#1;havoc isExecutiveFloorCalling_#t~ret102#1;isExecutiveFloorCalling_#res#1 := isExecutiveFloorCalling_~retValue_acc~17#1;" "stopRequestedInDirection_#t~ret40#1 := isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret102#1, isExecutiveFloorCalling_~retValue_acc~17#1;assume { :end_inline_isExecutiveFloorCalling } true;stopRequestedInDirection_~tmp___0~5#1 := stopRequestedInDirection_#t~ret40#1;havoc stopRequestedInDirection_#t~ret40#1;" "assume 0 != stopRequestedInDirection_~tmp___0~5#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~1#1;havoc getCurrentFloorID_~retValue_acc~1#1;getCurrentFloorID_~retValue_acc~1#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~1#1;" "stopRequestedInDirection_#t~ret41#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~1#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedInDirection_~tmp~9#1 := stopRequestedInDirection_#t~ret41#1;havoc stopRequestedInDirection_#t~ret41#1;stopRequestedInDirection_~__cil_tmp7~1#1 := (if 1 == stopRequestedInDirection_~dir#1 then 1 else 0);stopRequestedInDirection_~__cil_tmp8~2#1 := (if stopRequestedInDirection_~tmp~9#1 < ~executiveFloor~0 then 1 else 0);stopRequestedInDirection_~retValue_acc~10#1 := (if stopRequestedInDirection_~__cil_tmp8~2#1 == stopRequestedInDirection_~__cil_tmp7~1#1 then 1 else 0);stopRequestedInDirection_#res#1 := stopRequestedInDirection_~retValue_acc~10#1;" "timeShift_#t~ret72#1 := stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret40#1, stopRequestedInDirection_#t~ret41#1, stopRequestedInDirection_#t~ret42#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~10#1, stopRequestedInDirection_~tmp~9#1, stopRequestedInDirection_~tmp___0~5#1, stopRequestedInDirection_~__cil_tmp7~1#1, stopRequestedInDirection_~__cil_tmp8~2#1;havoc stopRequestedInDirection_#in~dir#1, stopRequestedInDirection_#in~respectFloorCalls#1, stopRequestedInDirection_#in~respectInLiftCalls#1;assume { :end_inline_stopRequestedInDirection } true;timeShift_~tmp___8~2#1 := timeShift_#t~ret72#1;havoc timeShift_#t~ret72#1;" "assume 0 != timeShift_~tmp___8~2#1;assume { :begin_inline_continueInDirection } true;continueInDirection_#in~dir#1 := ~currentHeading~0;havoc continueInDirection_#t~ret43#1, continueInDirection_~dir#1, continueInDirection_~tmp~10#1;continueInDirection_~dir#1 := continueInDirection_#in~dir#1;havoc continueInDirection_~tmp~10#1;~currentHeading~0 := continueInDirection_~dir#1;" "assume 1 == ~currentHeading~0;assume { :begin_inline_isTopFloor } true;isTopFloor_#in~floorID#1 := ~currentFloorID~0;havoc isTopFloor_#res#1;havoc isTopFloor_~floorID#1, isTopFloor_~retValue_acc~31#1;isTopFloor_~floorID#1 := isTopFloor_#in~floorID#1;havoc isTopFloor_~retValue_acc~31#1;isTopFloor_~retValue_acc~31#1 := (if 4 == isTopFloor_~floorID#1 then 1 else 0);isTopFloor_#res#1 := isTopFloor_~retValue_acc~31#1;" "continueInDirection_#t~ret43#1 := isTopFloor_#res#1;havoc isTopFloor_~floorID#1, isTopFloor_~retValue_acc~31#1;havoc isTopFloor_#in~floorID#1;assume { :end_inline_isTopFloor } true;continueInDirection_~tmp~10#1 := continueInDirection_#t~ret43#1;havoc continueInDirection_#t~ret43#1;" "assume 0 != continueInDirection_~tmp~10#1;~currentHeading~0 := 0;" "assume !(1 == ~currentHeading~0);~currentFloorID~0 := ~currentFloorID~0 - 1;" "havoc continueInDirection_#t~ret43#1, continueInDirection_~dir#1, continueInDirection_~tmp~10#1;havoc continueInDirection_#in~dir#1;assume { :end_inline_continueInDirection } true;" "assume { :begin_inline___utac_acc__Specification13_spec__2 } true;havoc __utac_acc__Specification13_spec__2_#t~ret5#1, __utac_acc__Specification13_spec__2_#t~ret6#1, __utac_acc__Specification13_spec__2_#t~ret7#1, __utac_acc__Specification13_spec__2_#t~ret8#1, __utac_acc__Specification13_spec__2_#t~ret9#1, __utac_acc__Specification13_spec__2_#t~ret10#1, __utac_acc__Specification13_spec__2_~tmp~0#1, __utac_acc__Specification13_spec__2_~tmp___0~0#1, __utac_acc__Specification13_spec__2_~tmp___1~0#1, __utac_acc__Specification13_spec__2_~tmp___2~0#1, __utac_acc__Specification13_spec__2_~tmp___3~0#1, __utac_acc__Specification13_spec__2_~tmp___4~0#1, __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1, __utac_acc__Specification13_spec__2_~__cil_tmp8~0#1;havoc __utac_acc__Specification13_spec__2_~tmp~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___0~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___1~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___2~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___3~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___4~0#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp8~0#1;__utac_acc__Specification13_spec__2_~__cil_tmp7~0#1 := 2 * ~maximumWeight~0;__utac_acc__Specification13_spec__2_~__cil_tmp8~0#1 := (if __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1 < 0 && 0 != __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1 % 3 then 1 + __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1 / 3 else __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1 / 3);" "assume ~weight~0 > __utac_acc__Specification13_spec__2_~__cil_tmp8~0#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~16#1, existInLiftCallsInDirection_~i~2#1, existInLiftCallsInDirection_~i___0~0#1;existInLiftCallsInDirection_~d#1 := existInLiftCallsInDirection_#in~d#1;havoc existInLiftCallsInDirection_~retValue_acc~16#1;havoc existInLiftCallsInDirection_~i~2#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;" [2024-11-12 21:28:27,748 INFO L749 eck$LassoCheckResult]: Loop: "assume !false;" "assume existInLiftCallsInDirection_~i___0~0#1 >= 0;" "existInLiftCallsInDirection_~i___0~0#1 := 1 + ~currentFloorID~0;" "assume !false;" "assume !(existInLiftCallsInDirection_~i___0~0#1 < 5);" "existInLiftCallsInDirection_~i___0~0#1 := existInLiftCallsInDirection_~i___0~0#1 - 1;" [2024-11-12 21:28:27,748 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 21:28:27,749 INFO L85 PathProgramCache]: Analyzing trace with hash 1600909686, now seen corresponding path program 1 times [2024-11-12 21:28:27,749 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 21:28:27,749 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2073654477] [2024-11-12 21:28:27,749 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 21:28:27,750 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 21:28:27,786 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-12 21:28:27,882 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-12 21:28:27,882 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2073654477] [2024-11-12 21:28:27,882 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2073654477] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-12 21:28:27,882 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [625545794] [2024-11-12 21:28:27,883 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 21:28:27,883 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-12 21:28:27,883 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-12 21:28:27,885 INFO L229 MonitoredProcess]: Starting monitored process 14 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-11-12 21:28:27,887 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Waiting until timeout for monitored process [2024-11-12 21:28:28,356 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-12 21:28:28,359 INFO L256 TraceCheckSpWp]: Trace formula consists of 641 conjuncts, 4 conjuncts are in the unsatisfiable core [2024-11-12 21:28:28,362 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2024-11-12 21:28:28,387 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2024-11-12 21:28:28,413 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [625545794] provided 0 perfect and 2 imperfect interpolant sequences [2024-11-12 21:28:28,413 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-11-12 21:28:28,413 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 8 [2024-11-12 21:28:28,414 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1112632581] [2024-11-12 21:28:28,414 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-11-12 21:28:28,414 INFO L752 eck$LassoCheckResult]: stem already infeasible [2024-11-12 21:28:28,415 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 21:28:28,415 INFO L85 PathProgramCache]: Analyzing trace with hash -1087190869, now seen corresponding path program 3 times [2024-11-12 21:28:28,415 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 21:28:28,415 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [26236902] [2024-11-12 21:28:28,415 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 21:28:28,415 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 21:28:28,427 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 21:28:28,428 INFO L357 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-12 21:28:28,429 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 21:28:28,437 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-12 21:28:28,453 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-12 21:28:28,454 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2024-11-12 21:28:28,454 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=37, Unknown=0, NotChecked=0, Total=56 [2024-11-12 21:28:28,454 INFO L87 Difference]: Start difference. First operand 29744 states and 54584 transitions. cyclomatic complexity: 24968 Second operand has 8 states, 8 states have (on average 9.375) internal successors, (75), 8 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) [2024-11-12 21:28:28,920 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-12 21:28:28,921 INFO L93 Difference]: Finished difference Result 29814 states and 54681 transitions. [2024-11-12 21:28:28,921 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 29814 states and 54681 transitions. [2024-11-12 21:28:29,071 INFO L131 ngComponentsAnalysis]: Automaton has 122 accepting balls. 9149 [2024-11-12 21:28:29,397 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 29814 states to 29814 states and 54681 transitions. [2024-11-12 21:28:29,397 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 29700 [2024-11-12 21:28:29,420 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 29700 [2024-11-12 21:28:29,420 INFO L73 IsDeterministic]: Start isDeterministic. Operand 29814 states and 54681 transitions. [2024-11-12 21:28:29,430 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-11-12 21:28:29,430 INFO L218 hiAutomatonCegarLoop]: Abstraction has 29814 states and 54681 transitions. [2024-11-12 21:28:29,452 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 29814 states and 54681 transitions. [2024-11-12 21:28:29,670 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 29814 to 29774. [2024-11-12 21:28:29,699 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 29774 states, 29774 states have (on average 1.8341841875461813) internal successors, (54611), 29773 states have internal predecessors, (54611), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-12 21:28:29,748 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29774 states to 29774 states and 54611 transitions. [2024-11-12 21:28:29,748 INFO L240 hiAutomatonCegarLoop]: Abstraction has 29774 states and 54611 transitions. [2024-11-12 21:28:29,748 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2024-11-12 21:28:29,749 INFO L426 stractBuchiCegarLoop]: Abstraction has 29774 states and 54611 transitions. [2024-11-12 21:28:29,749 INFO L333 stractBuchiCegarLoop]: ======== Iteration 6 ============ [2024-11-12 21:28:29,749 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 29774 states and 54611 transitions. [2024-11-12 21:28:29,828 INFO L131 ngComponentsAnalysis]: Automaton has 122 accepting balls. 9149 [2024-11-12 21:28:29,828 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-12 21:28:29,828 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-12 21:28:29,829 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-11-12 21:28:29,829 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1] [2024-11-12 21:28:29,830 INFO L747 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(10, 4);call #Ultimate.allocInit(4, 5);call write~init~int#1(91, 5, 0, 1);call write~init~int#1(95, 5, 1, 1);call write~init~int#1(93, 5, 2, 1);call write~init~int#1(0, 5, 3, 1);call #Ultimate.allocInit(4, 6);call write~init~int#2(91, 6, 0, 1);call write~init~int#2(93, 6, 1, 1);call write~init~int#2(32, 6, 2, 1);call write~init~int#2(0, 6, 3, 1);call #Ultimate.allocInit(5, 7);call write~init~int#3(32, 7, 0, 1);call write~init~int#3(97, 7, 1, 1);call write~init~int#3(116, 7, 2, 1);call write~init~int#3(32, 7, 3, 1);call write~init~int#3(0, 7, 4, 1);call #Ultimate.allocInit(3, 8);call write~init~int#4(37, 8, 0, 1);call write~init~int#4(105, 8, 1, 1);call write~init~int#4(0, 8, 2, 1);call #Ultimate.allocInit(10, 9);call #Ultimate.allocInit(3, 10);call write~init~int#5(117, 10, 0, 1);call write~init~int#5(112, 10, 1, 1);call write~init~int#5(0, 10, 2, 1);call #Ultimate.allocInit(5, 11);call write~init~int#6(100, 11, 0, 1);call write~init~int#6(111, 11, 1, 1);call write~init~int#6(119, 11, 2, 1);call write~init~int#6(110, 11, 3, 1);call write~init~int#6(0, 11, 4, 1);call #Ultimate.allocInit(7, 12);call write~init~int#7(32, 12, 0, 1);call write~init~int#7(73, 12, 1, 1);call write~init~int#7(76, 12, 2, 1);call write~init~int#7(95, 12, 3, 1);call write~init~int#7(112, 12, 4, 1);call write~init~int#7(58, 12, 5, 1);call write~init~int#7(0, 12, 6, 1);call #Ultimate.allocInit(4, 13);call write~init~int#8(32, 13, 0, 1);call write~init~int#8(37, 13, 1, 1);call write~init~int#8(105, 13, 2, 1);call write~init~int#8(0, 13, 3, 1);call #Ultimate.allocInit(4, 14);call write~init~int#9(32, 14, 0, 1);call write~init~int#9(37, 14, 1, 1);call write~init~int#9(105, 14, 2, 1);call write~init~int#9(0, 14, 3, 1);call #Ultimate.allocInit(4, 15);call write~init~int#10(32, 15, 0, 1);call write~init~int#10(37, 15, 1, 1);call write~init~int#10(105, 15, 2, 1);call write~init~int#10(0, 15, 3, 1);call #Ultimate.allocInit(4, 16);call write~init~int#11(32, 16, 0, 1);call write~init~int#11(37, 16, 1, 1);call write~init~int#11(105, 16, 2, 1);call write~init~int#11(0, 16, 3, 1);call #Ultimate.allocInit(4, 17);call write~init~int#12(32, 17, 0, 1);call write~init~int#12(37, 17, 1, 1);call write~init~int#12(105, 17, 2, 1);call write~init~int#12(0, 17, 3, 1);call #Ultimate.allocInit(6, 18);call write~init~int#13(32, 18, 0, 1);call write~init~int#13(70, 18, 1, 1);call write~init~int#13(95, 18, 2, 1);call write~init~int#13(112, 18, 3, 1);call write~init~int#13(58, 18, 4, 1);call write~init~int#13(0, 18, 5, 1);call #Ultimate.allocInit(4, 19);call write~init~int#14(32, 19, 0, 1);call write~init~int#14(37, 19, 1, 1);call write~init~int#14(105, 19, 2, 1);call write~init~int#14(0, 19, 3, 1);call #Ultimate.allocInit(4, 20);call write~init~int#15(32, 20, 0, 1);call write~init~int#15(37, 20, 1, 1);call write~init~int#15(105, 20, 2, 1);call write~init~int#15(0, 20, 3, 1);call #Ultimate.allocInit(4, 21);call write~init~int#16(32, 21, 0, 1);call write~init~int#16(37, 21, 1, 1);call write~init~int#16(105, 21, 2, 1);call write~init~int#16(0, 21, 3, 1);call #Ultimate.allocInit(4, 22);call write~init~int#17(32, 22, 0, 1);call write~init~int#17(37, 22, 1, 1);call write~init~int#17(105, 22, 2, 1);call write~init~int#17(0, 22, 3, 1);call #Ultimate.allocInit(4, 23);call write~init~int#18(32, 23, 0, 1);call write~init~int#18(37, 23, 1, 1);call write~init~int#18(105, 23, 2, 1);call write~init~int#18(0, 23, 3, 1);call #Ultimate.allocInit(2, 24);call write~init~int#19(10, 24, 0, 1);call write~init~int#19(0, 24, 1, 1);call #Ultimate.allocInit(30, 25);call #Ultimate.allocInit(9, 26);call #Ultimate.allocInit(21, 27);call #Ultimate.allocInit(30, 28);call #Ultimate.allocInit(9, 29);call #Ultimate.allocInit(21, 30);call #Ultimate.allocInit(30, 31);call #Ultimate.allocInit(9, 32);call #Ultimate.allocInit(25, 33);call #Ultimate.allocInit(30, 34);call #Ultimate.allocInit(9, 35);call #Ultimate.allocInit(25, 36);~weight~0 := 0;~maximumWeight~0 := 100;~executiveFloor~0 := 4;~prevDir~0 := 0;~cleanupTimeShifts~0 := 12;~currentHeading~0 := 1;~currentFloorID~0 := 0;~persons_0~0 := 0;~persons_1~0 := 0;~persons_2~0 := 0;~persons_3~0 := 0;~persons_4~0 := 0;~persons_5~0 := 0;~doorState~0 := 1;~floorButtons_0~0 := 0;~floorButtons_1~0 := 0;~floorButtons_2~0 := 0;~floorButtons_3~0 := 0;~floorButtons_4~0 := 0;~head~0.base, ~head~0.offset := 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;" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret116#1, main_~retValue_acc~23#1, main_~tmp~25#1;havoc main_~retValue_acc~23#1;havoc main_~tmp~25#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~28#1;havoc valid_product_~retValue_acc~28#1;valid_product_~retValue_acc~28#1 := 1;valid_product_#res#1 := valid_product_~retValue_acc~28#1;" "main_#t~ret116#1 := valid_product_#res#1;havoc valid_product_~retValue_acc~28#1;assume { :end_inline_valid_product } true;main_~tmp~25#1 := main_#t~ret116#1;havoc main_#t~ret116#1;" "assume 0 != main_~tmp~25#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~ret105#1, aliceCall_~tmp~18#1;havoc aliceCall_~tmp~18#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 1;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~20#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~20#1;" "assume !(0 == getOrigin_~person#1);" "assume 1 == getOrigin_~person#1;getOrigin_~retValue_acc~20#1 := 3;getOrigin_#res#1 := getOrigin_~retValue_acc~20#1;" "aliceCall_#t~ret105#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~20#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;aliceCall_~tmp~18#1 := aliceCall_#t~ret105#1;havoc aliceCall_#t~ret105#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 1, aliceCall_~tmp~18#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~ret105#1, aliceCall_~tmp~18#1;assume { :end_inline_aliceCall } true;assume { :begin_inline_angelinaCall } true;havoc angelinaCall_#t~ret106#1, angelinaCall_~tmp~19#1;havoc angelinaCall_~tmp~19#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 2;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~20#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~20#1;" "assume !(0 == getOrigin_~person#1);" "assume !(1 == getOrigin_~person#1);" "assume 2 == getOrigin_~person#1;getOrigin_~retValue_acc~20#1 := 2;getOrigin_#res#1 := getOrigin_~retValue_acc~20#1;" "angelinaCall_#t~ret106#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~20#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;angelinaCall_~tmp~19#1 := angelinaCall_#t~ret106#1;havoc angelinaCall_#t~ret106#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 2, angelinaCall_~tmp~19#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~ret106#1, angelinaCall_~tmp~19#1;assume { :end_inline_angelinaCall } true;assume { :begin_inline_threeTS } true;assume { :begin_inline_timeShift } true;havoc timeShift_#t~ret65#1, timeShift_#t~ret66#1, timeShift_#t~ret67#1, timeShift_#t~ret68#1, timeShift_#t~ret69#1, timeShift_#t~ret70#1, timeShift_#t~ret71#1, timeShift_#t~ret72#1, timeShift_#t~ret73#1, timeShift_#t~ret74#1, timeShift_#t~ret75#1, timeShift_~tmp~15#1, timeShift_~tmp___0~10#1, timeShift_~tmp___1~6#1, timeShift_~tmp___2~4#1, timeShift_~tmp___3~4#1, timeShift_~tmp___4~3#1, timeShift_~tmp___5~2#1, timeShift_~tmp___6~2#1, timeShift_~tmp___7~2#1, timeShift_~tmp___8~2#1, timeShift_~tmp___9~2#1;havoc timeShift_~tmp~15#1;havoc timeShift_~tmp___0~10#1;havoc timeShift_~tmp___1~6#1;havoc timeShift_~tmp___2~4#1;havoc timeShift_~tmp___3~4#1;havoc timeShift_~tmp___4~3#1;havoc timeShift_~tmp___5~2#1;havoc timeShift_~tmp___6~2#1;havoc timeShift_~tmp___7~2#1;havoc timeShift_~tmp___8~2#1;havoc timeShift_~tmp___9~2#1;assume { :begin_inline___utac_acc__Specification13_spec__1 } true;havoc __utac_acc__Specification13_spec__1_#t~ret4#1;assume { :begin_inline_getCurrentHeading } true;havoc getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~4#1;havoc getCurrentHeading_~retValue_acc~4#1;getCurrentHeading_~retValue_acc~4#1 := ~currentHeading~0;getCurrentHeading_#res#1 := getCurrentHeading_~retValue_acc~4#1;" "__utac_acc__Specification13_spec__1_#t~ret4#1 := getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~4#1;assume { :end_inline_getCurrentHeading } true;~prevDir~0 := __utac_acc__Specification13_spec__1_#t~ret4#1;havoc __utac_acc__Specification13_spec__1_#t~ret4#1;" "havoc __utac_acc__Specification13_spec__1_#t~ret4#1;assume { :end_inline___utac_acc__Specification13_spec__1 } true;assume { :begin_inline_stopRequestedAtCurrentFloor } true;havoc stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret49#1, stopRequestedAtCurrentFloor_#t~ret50#1, stopRequestedAtCurrentFloor_#t~ret51#1, stopRequestedAtCurrentFloor_#t~ret52#1, stopRequestedAtCurrentFloor_~retValue_acc~14#1, stopRequestedAtCurrentFloor_~tmp~13#1, stopRequestedAtCurrentFloor_~tmp___0~8#1;havoc stopRequestedAtCurrentFloor_~retValue_acc~14#1;havoc stopRequestedAtCurrentFloor_~tmp~13#1;havoc stopRequestedAtCurrentFloor_~tmp___0~8#1;assume { :begin_inline_isExecutiveFloorCalling } true;havoc isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret102#1, isExecutiveFloorCalling_~retValue_acc~17#1;havoc isExecutiveFloorCalling_~retValue_acc~17#1;assume { :begin_inline_isFloorCalling } true;isFloorCalling_#in~floorID#1 := ~executiveFloor~0;havoc isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~29#1;isFloorCalling_~floorID#1 := isFloorCalling_#in~floorID#1;havoc isFloorCalling_~retValue_acc~29#1;" "assume 0 == isFloorCalling_~floorID#1;isFloorCalling_~retValue_acc~29#1 := ~calls_0~0;isFloorCalling_#res#1 := isFloorCalling_~retValue_acc~29#1;" "isExecutiveFloorCalling_#t~ret102#1 := isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~29#1;havoc isFloorCalling_#in~floorID#1;assume { :end_inline_isFloorCalling } true;isExecutiveFloorCalling_~retValue_acc~17#1 := isExecutiveFloorCalling_#t~ret102#1;havoc isExecutiveFloorCalling_#t~ret102#1;isExecutiveFloorCalling_#res#1 := isExecutiveFloorCalling_~retValue_acc~17#1;" "stopRequestedAtCurrentFloor_#t~ret49#1 := isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret102#1, isExecutiveFloorCalling_~retValue_acc~17#1;assume { :end_inline_isExecutiveFloorCalling } true;stopRequestedAtCurrentFloor_~tmp~13#1 := stopRequestedAtCurrentFloor_#t~ret49#1;havoc stopRequestedAtCurrentFloor_#t~ret49#1;" "assume 0 != stopRequestedAtCurrentFloor_~tmp~13#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~1#1;havoc getCurrentFloorID_~retValue_acc~1#1;getCurrentFloorID_~retValue_acc~1#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~1#1;" "stopRequestedAtCurrentFloor_#t~ret50#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~1#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedAtCurrentFloor_~tmp___0~8#1 := stopRequestedAtCurrentFloor_#t~ret50#1;havoc stopRequestedAtCurrentFloor_#t~ret50#1;" "assume !(~executiveFloor~0 == stopRequestedAtCurrentFloor_~tmp___0~8#1);stopRequestedAtCurrentFloor_~retValue_acc~14#1 := 0;stopRequestedAtCurrentFloor_#res#1 := stopRequestedAtCurrentFloor_~retValue_acc~14#1;" "timeShift_#t~ret65#1 := stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret49#1, stopRequestedAtCurrentFloor_#t~ret50#1, stopRequestedAtCurrentFloor_#t~ret51#1, stopRequestedAtCurrentFloor_#t~ret52#1, stopRequestedAtCurrentFloor_~retValue_acc~14#1, stopRequestedAtCurrentFloor_~tmp~13#1, stopRequestedAtCurrentFloor_~tmp___0~8#1;assume { :end_inline_stopRequestedAtCurrentFloor } true;timeShift_~tmp___9~2#1 := timeShift_#t~ret65#1;havoc timeShift_#t~ret65#1;" "assume !(0 != timeShift_~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~ret40#1, stopRequestedInDirection_#t~ret41#1, stopRequestedInDirection_#t~ret42#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~10#1, stopRequestedInDirection_~tmp~9#1, stopRequestedInDirection_~tmp___0~5#1, stopRequestedInDirection_~__cil_tmp7~1#1, stopRequestedInDirection_~__cil_tmp8~2#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~10#1;havoc stopRequestedInDirection_~tmp~9#1;havoc stopRequestedInDirection_~tmp___0~5#1;havoc stopRequestedInDirection_~__cil_tmp7~1#1;havoc stopRequestedInDirection_~__cil_tmp8~2#1;assume { :begin_inline_isExecutiveFloorCalling } true;havoc isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret102#1, isExecutiveFloorCalling_~retValue_acc~17#1;havoc isExecutiveFloorCalling_~retValue_acc~17#1;assume { :begin_inline_isFloorCalling } true;isFloorCalling_#in~floorID#1 := ~executiveFloor~0;havoc isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~29#1;isFloorCalling_~floorID#1 := isFloorCalling_#in~floorID#1;havoc isFloorCalling_~retValue_acc~29#1;" "assume 0 == isFloorCalling_~floorID#1;isFloorCalling_~retValue_acc~29#1 := ~calls_0~0;isFloorCalling_#res#1 := isFloorCalling_~retValue_acc~29#1;" "isExecutiveFloorCalling_#t~ret102#1 := isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~29#1;havoc isFloorCalling_#in~floorID#1;assume { :end_inline_isFloorCalling } true;isExecutiveFloorCalling_~retValue_acc~17#1 := isExecutiveFloorCalling_#t~ret102#1;havoc isExecutiveFloorCalling_#t~ret102#1;isExecutiveFloorCalling_#res#1 := isExecutiveFloorCalling_~retValue_acc~17#1;" "stopRequestedInDirection_#t~ret40#1 := isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret102#1, isExecutiveFloorCalling_~retValue_acc~17#1;assume { :end_inline_isExecutiveFloorCalling } true;stopRequestedInDirection_~tmp___0~5#1 := stopRequestedInDirection_#t~ret40#1;havoc stopRequestedInDirection_#t~ret40#1;" "assume 0 != stopRequestedInDirection_~tmp___0~5#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~1#1;havoc getCurrentFloorID_~retValue_acc~1#1;getCurrentFloorID_~retValue_acc~1#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~1#1;" "stopRequestedInDirection_#t~ret41#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~1#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedInDirection_~tmp~9#1 := stopRequestedInDirection_#t~ret41#1;havoc stopRequestedInDirection_#t~ret41#1;stopRequestedInDirection_~__cil_tmp7~1#1 := (if 1 == stopRequestedInDirection_~dir#1 then 1 else 0);stopRequestedInDirection_~__cil_tmp8~2#1 := (if stopRequestedInDirection_~tmp~9#1 < ~executiveFloor~0 then 1 else 0);stopRequestedInDirection_~retValue_acc~10#1 := (if stopRequestedInDirection_~__cil_tmp8~2#1 == stopRequestedInDirection_~__cil_tmp7~1#1 then 1 else 0);stopRequestedInDirection_#res#1 := stopRequestedInDirection_~retValue_acc~10#1;" "timeShift_#t~ret72#1 := stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret40#1, stopRequestedInDirection_#t~ret41#1, stopRequestedInDirection_#t~ret42#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~10#1, stopRequestedInDirection_~tmp~9#1, stopRequestedInDirection_~tmp___0~5#1, stopRequestedInDirection_~__cil_tmp7~1#1, stopRequestedInDirection_~__cil_tmp8~2#1;havoc stopRequestedInDirection_#in~dir#1, stopRequestedInDirection_#in~respectFloorCalls#1, stopRequestedInDirection_#in~respectInLiftCalls#1;assume { :end_inline_stopRequestedInDirection } true;timeShift_~tmp___8~2#1 := timeShift_#t~ret72#1;havoc timeShift_#t~ret72#1;" "assume 0 != timeShift_~tmp___8~2#1;assume { :begin_inline_continueInDirection } true;continueInDirection_#in~dir#1 := ~currentHeading~0;havoc continueInDirection_#t~ret43#1, continueInDirection_~dir#1, continueInDirection_~tmp~10#1;continueInDirection_~dir#1 := continueInDirection_#in~dir#1;havoc continueInDirection_~tmp~10#1;~currentHeading~0 := continueInDirection_~dir#1;" "assume 1 == ~currentHeading~0;assume { :begin_inline_isTopFloor } true;isTopFloor_#in~floorID#1 := ~currentFloorID~0;havoc isTopFloor_#res#1;havoc isTopFloor_~floorID#1, isTopFloor_~retValue_acc~31#1;isTopFloor_~floorID#1 := isTopFloor_#in~floorID#1;havoc isTopFloor_~retValue_acc~31#1;isTopFloor_~retValue_acc~31#1 := (if 4 == isTopFloor_~floorID#1 then 1 else 0);isTopFloor_#res#1 := isTopFloor_~retValue_acc~31#1;" "continueInDirection_#t~ret43#1 := isTopFloor_#res#1;havoc isTopFloor_~floorID#1, isTopFloor_~retValue_acc~31#1;havoc isTopFloor_#in~floorID#1;assume { :end_inline_isTopFloor } true;continueInDirection_~tmp~10#1 := continueInDirection_#t~ret43#1;havoc continueInDirection_#t~ret43#1;" "assume 0 != continueInDirection_~tmp~10#1;~currentHeading~0 := 0;" "assume !(1 == ~currentHeading~0);~currentFloorID~0 := ~currentFloorID~0 - 1;" "havoc continueInDirection_#t~ret43#1, continueInDirection_~dir#1, continueInDirection_~tmp~10#1;havoc continueInDirection_#in~dir#1;assume { :end_inline_continueInDirection } true;" "assume { :begin_inline___utac_acc__Specification13_spec__2 } true;havoc __utac_acc__Specification13_spec__2_#t~ret5#1, __utac_acc__Specification13_spec__2_#t~ret6#1, __utac_acc__Specification13_spec__2_#t~ret7#1, __utac_acc__Specification13_spec__2_#t~ret8#1, __utac_acc__Specification13_spec__2_#t~ret9#1, __utac_acc__Specification13_spec__2_#t~ret10#1, __utac_acc__Specification13_spec__2_~tmp~0#1, __utac_acc__Specification13_spec__2_~tmp___0~0#1, __utac_acc__Specification13_spec__2_~tmp___1~0#1, __utac_acc__Specification13_spec__2_~tmp___2~0#1, __utac_acc__Specification13_spec__2_~tmp___3~0#1, __utac_acc__Specification13_spec__2_~tmp___4~0#1, __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1, __utac_acc__Specification13_spec__2_~__cil_tmp8~0#1;havoc __utac_acc__Specification13_spec__2_~tmp~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___0~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___1~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___2~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___3~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___4~0#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp8~0#1;__utac_acc__Specification13_spec__2_~__cil_tmp7~0#1 := 2 * ~maximumWeight~0;__utac_acc__Specification13_spec__2_~__cil_tmp8~0#1 := (if __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1 < 0 && 0 != __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1 % 3 then 1 + __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1 / 3 else __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1 / 3);" "assume ~weight~0 > __utac_acc__Specification13_spec__2_~__cil_tmp8~0#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~16#1, existInLiftCallsInDirection_~i~2#1, existInLiftCallsInDirection_~i___0~0#1;existInLiftCallsInDirection_~d#1 := existInLiftCallsInDirection_#in~d#1;havoc existInLiftCallsInDirection_~retValue_acc~16#1;havoc existInLiftCallsInDirection_~i~2#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;" [2024-11-12 21:28:29,830 INFO L749 eck$LassoCheckResult]: Loop: "assume !false;" "assume existInLiftCallsInDirection_~i___0~0#1 >= 0;" "existInLiftCallsInDirection_~i___0~0#1 := 1 + ~currentFloorID~0;" "assume !false;" "assume !(existInLiftCallsInDirection_~i___0~0#1 < 5);" "existInLiftCallsInDirection_~i___0~0#1 := existInLiftCallsInDirection_~i___0~0#1 - 1;" [2024-11-12 21:28:29,830 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 21:28:29,831 INFO L85 PathProgramCache]: Analyzing trace with hash -2092483136, now seen corresponding path program 1 times [2024-11-12 21:28:29,831 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 21:28:29,831 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1474070208] [2024-11-12 21:28:29,831 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 21:28:29,831 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 21:28:29,853 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-12 21:28:29,949 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-12 21:28:29,950 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1474070208] [2024-11-12 21:28:29,950 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1474070208] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-12 21:28:29,950 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1466334869] [2024-11-12 21:28:29,950 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 21:28:29,950 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-12 21:28:29,951 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-12 21:28:29,953 INFO L229 MonitoredProcess]: Starting monitored process 15 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-11-12 21:28:29,954 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Waiting until timeout for monitored process [2024-11-12 21:28:30,419 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-12 21:28:30,421 INFO L256 TraceCheckSpWp]: Trace formula consists of 644 conjuncts, 6 conjuncts are in the unsatisfiable core [2024-11-12 21:28:30,423 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2024-11-12 21:28:30,447 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2024-11-12 21:28:30,473 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1466334869] provided 0 perfect and 2 imperfect interpolant sequences [2024-11-12 21:28:30,474 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-11-12 21:28:30,475 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 4, 4] total 9 [2024-11-12 21:28:30,477 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [836356630] [2024-11-12 21:28:30,477 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-11-12 21:28:30,478 INFO L752 eck$LassoCheckResult]: stem already infeasible [2024-11-12 21:28:30,478 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 21:28:30,478 INFO L85 PathProgramCache]: Analyzing trace with hash -1087190869, now seen corresponding path program 4 times [2024-11-12 21:28:30,478 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 21:28:30,478 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [159834732] [2024-11-12 21:28:30,478 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 21:28:30,478 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 21:28:30,487 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 21:28:30,487 INFO L357 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-12 21:28:30,488 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 21:28:30,496 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-12 21:28:30,515 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-12 21:28:30,515 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2024-11-12 21:28:30,516 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=21, Invalid=51, Unknown=0, NotChecked=0, Total=72 [2024-11-12 21:28:30,516 INFO L87 Difference]: Start difference. First operand 29774 states and 54611 transitions. cyclomatic complexity: 24965 Second operand has 9 states, 9 states have (on average 8.11111111111111) internal successors, (73), 9 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) [2024-11-12 21:28:31,071 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-12 21:28:31,071 INFO L93 Difference]: Finished difference Result 29796 states and 54631 transitions. [2024-11-12 21:28:31,071 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 29796 states and 54631 transitions. [2024-11-12 21:28:31,186 INFO L131 ngComponentsAnalysis]: Automaton has 122 accepting balls. 9149 [2024-11-12 21:28:31,271 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 29796 states to 29796 states and 54631 transitions. [2024-11-12 21:28:31,272 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 29682 [2024-11-12 21:28:31,302 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 29682 [2024-11-12 21:28:31,303 INFO L73 IsDeterministic]: Start isDeterministic. Operand 29796 states and 54631 transitions. [2024-11-12 21:28:31,307 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-11-12 21:28:31,307 INFO L218 hiAutomatonCegarLoop]: Abstraction has 29796 states and 54631 transitions. [2024-11-12 21:28:31,339 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 29796 states and 54631 transitions. [2024-11-12 21:28:31,833 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 29796 to 29772. [2024-11-12 21:28:31,863 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 29772 states, 29772 states have (on average 1.8336356307940347) internal successors, (54591), 29771 states have internal predecessors, (54591), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-12 21:28:31,918 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29772 states to 29772 states and 54591 transitions. [2024-11-12 21:28:31,919 INFO L240 hiAutomatonCegarLoop]: Abstraction has 29772 states and 54591 transitions. [2024-11-12 21:28:31,919 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2024-11-12 21:28:31,920 INFO L426 stractBuchiCegarLoop]: Abstraction has 29772 states and 54591 transitions. [2024-11-12 21:28:31,920 INFO L333 stractBuchiCegarLoop]: ======== Iteration 7 ============ [2024-11-12 21:28:31,920 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 29772 states and 54591 transitions. [2024-11-12 21:28:31,999 INFO L131 ngComponentsAnalysis]: Automaton has 122 accepting balls. 9149 [2024-11-12 21:28:32,000 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-12 21:28:32,000 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-12 21:28:32,000 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-11-12 21:28:32,001 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1] [2024-11-12 21:28:32,001 INFO L747 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(10, 4);call #Ultimate.allocInit(4, 5);call write~init~int#1(91, 5, 0, 1);call write~init~int#1(95, 5, 1, 1);call write~init~int#1(93, 5, 2, 1);call write~init~int#1(0, 5, 3, 1);call #Ultimate.allocInit(4, 6);call write~init~int#2(91, 6, 0, 1);call write~init~int#2(93, 6, 1, 1);call write~init~int#2(32, 6, 2, 1);call write~init~int#2(0, 6, 3, 1);call #Ultimate.allocInit(5, 7);call write~init~int#3(32, 7, 0, 1);call write~init~int#3(97, 7, 1, 1);call write~init~int#3(116, 7, 2, 1);call write~init~int#3(32, 7, 3, 1);call write~init~int#3(0, 7, 4, 1);call #Ultimate.allocInit(3, 8);call write~init~int#4(37, 8, 0, 1);call write~init~int#4(105, 8, 1, 1);call write~init~int#4(0, 8, 2, 1);call #Ultimate.allocInit(10, 9);call #Ultimate.allocInit(3, 10);call write~init~int#5(117, 10, 0, 1);call write~init~int#5(112, 10, 1, 1);call write~init~int#5(0, 10, 2, 1);call #Ultimate.allocInit(5, 11);call write~init~int#6(100, 11, 0, 1);call write~init~int#6(111, 11, 1, 1);call write~init~int#6(119, 11, 2, 1);call write~init~int#6(110, 11, 3, 1);call write~init~int#6(0, 11, 4, 1);call #Ultimate.allocInit(7, 12);call write~init~int#7(32, 12, 0, 1);call write~init~int#7(73, 12, 1, 1);call write~init~int#7(76, 12, 2, 1);call write~init~int#7(95, 12, 3, 1);call write~init~int#7(112, 12, 4, 1);call write~init~int#7(58, 12, 5, 1);call write~init~int#7(0, 12, 6, 1);call #Ultimate.allocInit(4, 13);call write~init~int#8(32, 13, 0, 1);call write~init~int#8(37, 13, 1, 1);call write~init~int#8(105, 13, 2, 1);call write~init~int#8(0, 13, 3, 1);call #Ultimate.allocInit(4, 14);call write~init~int#9(32, 14, 0, 1);call write~init~int#9(37, 14, 1, 1);call write~init~int#9(105, 14, 2, 1);call write~init~int#9(0, 14, 3, 1);call #Ultimate.allocInit(4, 15);call write~init~int#10(32, 15, 0, 1);call write~init~int#10(37, 15, 1, 1);call write~init~int#10(105, 15, 2, 1);call write~init~int#10(0, 15, 3, 1);call #Ultimate.allocInit(4, 16);call write~init~int#11(32, 16, 0, 1);call write~init~int#11(37, 16, 1, 1);call write~init~int#11(105, 16, 2, 1);call write~init~int#11(0, 16, 3, 1);call #Ultimate.allocInit(4, 17);call write~init~int#12(32, 17, 0, 1);call write~init~int#12(37, 17, 1, 1);call write~init~int#12(105, 17, 2, 1);call write~init~int#12(0, 17, 3, 1);call #Ultimate.allocInit(6, 18);call write~init~int#13(32, 18, 0, 1);call write~init~int#13(70, 18, 1, 1);call write~init~int#13(95, 18, 2, 1);call write~init~int#13(112, 18, 3, 1);call write~init~int#13(58, 18, 4, 1);call write~init~int#13(0, 18, 5, 1);call #Ultimate.allocInit(4, 19);call write~init~int#14(32, 19, 0, 1);call write~init~int#14(37, 19, 1, 1);call write~init~int#14(105, 19, 2, 1);call write~init~int#14(0, 19, 3, 1);call #Ultimate.allocInit(4, 20);call write~init~int#15(32, 20, 0, 1);call write~init~int#15(37, 20, 1, 1);call write~init~int#15(105, 20, 2, 1);call write~init~int#15(0, 20, 3, 1);call #Ultimate.allocInit(4, 21);call write~init~int#16(32, 21, 0, 1);call write~init~int#16(37, 21, 1, 1);call write~init~int#16(105, 21, 2, 1);call write~init~int#16(0, 21, 3, 1);call #Ultimate.allocInit(4, 22);call write~init~int#17(32, 22, 0, 1);call write~init~int#17(37, 22, 1, 1);call write~init~int#17(105, 22, 2, 1);call write~init~int#17(0, 22, 3, 1);call #Ultimate.allocInit(4, 23);call write~init~int#18(32, 23, 0, 1);call write~init~int#18(37, 23, 1, 1);call write~init~int#18(105, 23, 2, 1);call write~init~int#18(0, 23, 3, 1);call #Ultimate.allocInit(2, 24);call write~init~int#19(10, 24, 0, 1);call write~init~int#19(0, 24, 1, 1);call #Ultimate.allocInit(30, 25);call #Ultimate.allocInit(9, 26);call #Ultimate.allocInit(21, 27);call #Ultimate.allocInit(30, 28);call #Ultimate.allocInit(9, 29);call #Ultimate.allocInit(21, 30);call #Ultimate.allocInit(30, 31);call #Ultimate.allocInit(9, 32);call #Ultimate.allocInit(25, 33);call #Ultimate.allocInit(30, 34);call #Ultimate.allocInit(9, 35);call #Ultimate.allocInit(25, 36);~weight~0 := 0;~maximumWeight~0 := 100;~executiveFloor~0 := 4;~prevDir~0 := 0;~cleanupTimeShifts~0 := 12;~currentHeading~0 := 1;~currentFloorID~0 := 0;~persons_0~0 := 0;~persons_1~0 := 0;~persons_2~0 := 0;~persons_3~0 := 0;~persons_4~0 := 0;~persons_5~0 := 0;~doorState~0 := 1;~floorButtons_0~0 := 0;~floorButtons_1~0 := 0;~floorButtons_2~0 := 0;~floorButtons_3~0 := 0;~floorButtons_4~0 := 0;~head~0.base, ~head~0.offset := 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;" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret116#1, main_~retValue_acc~23#1, main_~tmp~25#1;havoc main_~retValue_acc~23#1;havoc main_~tmp~25#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~28#1;havoc valid_product_~retValue_acc~28#1;valid_product_~retValue_acc~28#1 := 1;valid_product_#res#1 := valid_product_~retValue_acc~28#1;" "main_#t~ret116#1 := valid_product_#res#1;havoc valid_product_~retValue_acc~28#1;assume { :end_inline_valid_product } true;main_~tmp~25#1 := main_#t~ret116#1;havoc main_#t~ret116#1;" "assume 0 != main_~tmp~25#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~ret105#1, aliceCall_~tmp~18#1;havoc aliceCall_~tmp~18#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 1;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~20#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~20#1;" "assume !(0 == getOrigin_~person#1);" "assume 1 == getOrigin_~person#1;getOrigin_~retValue_acc~20#1 := 3;getOrigin_#res#1 := getOrigin_~retValue_acc~20#1;" "aliceCall_#t~ret105#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~20#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;aliceCall_~tmp~18#1 := aliceCall_#t~ret105#1;havoc aliceCall_#t~ret105#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 1, aliceCall_~tmp~18#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~ret105#1, aliceCall_~tmp~18#1;assume { :end_inline_aliceCall } true;assume { :begin_inline_angelinaCall } true;havoc angelinaCall_#t~ret106#1, angelinaCall_~tmp~19#1;havoc angelinaCall_~tmp~19#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 2;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~20#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~20#1;" "assume !(0 == getOrigin_~person#1);" "assume !(1 == getOrigin_~person#1);" "assume 2 == getOrigin_~person#1;getOrigin_~retValue_acc~20#1 := 2;getOrigin_#res#1 := getOrigin_~retValue_acc~20#1;" "angelinaCall_#t~ret106#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~20#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;angelinaCall_~tmp~19#1 := angelinaCall_#t~ret106#1;havoc angelinaCall_#t~ret106#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 2, angelinaCall_~tmp~19#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;~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~ret106#1, angelinaCall_~tmp~19#1;assume { :end_inline_angelinaCall } true;assume { :begin_inline_threeTS } true;assume { :begin_inline_timeShift } true;havoc timeShift_#t~ret65#1, timeShift_#t~ret66#1, timeShift_#t~ret67#1, timeShift_#t~ret68#1, timeShift_#t~ret69#1, timeShift_#t~ret70#1, timeShift_#t~ret71#1, timeShift_#t~ret72#1, timeShift_#t~ret73#1, timeShift_#t~ret74#1, timeShift_#t~ret75#1, timeShift_~tmp~15#1, timeShift_~tmp___0~10#1, timeShift_~tmp___1~6#1, timeShift_~tmp___2~4#1, timeShift_~tmp___3~4#1, timeShift_~tmp___4~3#1, timeShift_~tmp___5~2#1, timeShift_~tmp___6~2#1, timeShift_~tmp___7~2#1, timeShift_~tmp___8~2#1, timeShift_~tmp___9~2#1;havoc timeShift_~tmp~15#1;havoc timeShift_~tmp___0~10#1;havoc timeShift_~tmp___1~6#1;havoc timeShift_~tmp___2~4#1;havoc timeShift_~tmp___3~4#1;havoc timeShift_~tmp___4~3#1;havoc timeShift_~tmp___5~2#1;havoc timeShift_~tmp___6~2#1;havoc timeShift_~tmp___7~2#1;havoc timeShift_~tmp___8~2#1;havoc timeShift_~tmp___9~2#1;assume { :begin_inline___utac_acc__Specification13_spec__1 } true;havoc __utac_acc__Specification13_spec__1_#t~ret4#1;assume { :begin_inline_getCurrentHeading } true;havoc getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~4#1;havoc getCurrentHeading_~retValue_acc~4#1;getCurrentHeading_~retValue_acc~4#1 := ~currentHeading~0;getCurrentHeading_#res#1 := getCurrentHeading_~retValue_acc~4#1;" "__utac_acc__Specification13_spec__1_#t~ret4#1 := getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~4#1;assume { :end_inline_getCurrentHeading } true;~prevDir~0 := __utac_acc__Specification13_spec__1_#t~ret4#1;havoc __utac_acc__Specification13_spec__1_#t~ret4#1;" "havoc __utac_acc__Specification13_spec__1_#t~ret4#1;assume { :end_inline___utac_acc__Specification13_spec__1 } true;assume { :begin_inline_stopRequestedAtCurrentFloor } true;havoc stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret49#1, stopRequestedAtCurrentFloor_#t~ret50#1, stopRequestedAtCurrentFloor_#t~ret51#1, stopRequestedAtCurrentFloor_#t~ret52#1, stopRequestedAtCurrentFloor_~retValue_acc~14#1, stopRequestedAtCurrentFloor_~tmp~13#1, stopRequestedAtCurrentFloor_~tmp___0~8#1;havoc stopRequestedAtCurrentFloor_~retValue_acc~14#1;havoc stopRequestedAtCurrentFloor_~tmp~13#1;havoc stopRequestedAtCurrentFloor_~tmp___0~8#1;assume { :begin_inline_isExecutiveFloorCalling } true;havoc isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret102#1, isExecutiveFloorCalling_~retValue_acc~17#1;havoc isExecutiveFloorCalling_~retValue_acc~17#1;assume { :begin_inline_isFloorCalling } true;isFloorCalling_#in~floorID#1 := ~executiveFloor~0;havoc isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~29#1;isFloorCalling_~floorID#1 := isFloorCalling_#in~floorID#1;havoc isFloorCalling_~retValue_acc~29#1;" "assume 0 == isFloorCalling_~floorID#1;isFloorCalling_~retValue_acc~29#1 := ~calls_0~0;isFloorCalling_#res#1 := isFloorCalling_~retValue_acc~29#1;" "isExecutiveFloorCalling_#t~ret102#1 := isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~29#1;havoc isFloorCalling_#in~floorID#1;assume { :end_inline_isFloorCalling } true;isExecutiveFloorCalling_~retValue_acc~17#1 := isExecutiveFloorCalling_#t~ret102#1;havoc isExecutiveFloorCalling_#t~ret102#1;isExecutiveFloorCalling_#res#1 := isExecutiveFloorCalling_~retValue_acc~17#1;" "stopRequestedAtCurrentFloor_#t~ret49#1 := isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret102#1, isExecutiveFloorCalling_~retValue_acc~17#1;assume { :end_inline_isExecutiveFloorCalling } true;stopRequestedAtCurrentFloor_~tmp~13#1 := stopRequestedAtCurrentFloor_#t~ret49#1;havoc stopRequestedAtCurrentFloor_#t~ret49#1;" "assume 0 != stopRequestedAtCurrentFloor_~tmp~13#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~1#1;havoc getCurrentFloorID_~retValue_acc~1#1;getCurrentFloorID_~retValue_acc~1#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~1#1;" "stopRequestedAtCurrentFloor_#t~ret50#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~1#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedAtCurrentFloor_~tmp___0~8#1 := stopRequestedAtCurrentFloor_#t~ret50#1;havoc stopRequestedAtCurrentFloor_#t~ret50#1;" "assume !(~executiveFloor~0 == stopRequestedAtCurrentFloor_~tmp___0~8#1);stopRequestedAtCurrentFloor_~retValue_acc~14#1 := 0;stopRequestedAtCurrentFloor_#res#1 := stopRequestedAtCurrentFloor_~retValue_acc~14#1;" "timeShift_#t~ret65#1 := stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret49#1, stopRequestedAtCurrentFloor_#t~ret50#1, stopRequestedAtCurrentFloor_#t~ret51#1, stopRequestedAtCurrentFloor_#t~ret52#1, stopRequestedAtCurrentFloor_~retValue_acc~14#1, stopRequestedAtCurrentFloor_~tmp~13#1, stopRequestedAtCurrentFloor_~tmp___0~8#1;assume { :end_inline_stopRequestedAtCurrentFloor } true;timeShift_~tmp___9~2#1 := timeShift_#t~ret65#1;havoc timeShift_#t~ret65#1;" "assume !(0 != timeShift_~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~ret40#1, stopRequestedInDirection_#t~ret41#1, stopRequestedInDirection_#t~ret42#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~10#1, stopRequestedInDirection_~tmp~9#1, stopRequestedInDirection_~tmp___0~5#1, stopRequestedInDirection_~__cil_tmp7~1#1, stopRequestedInDirection_~__cil_tmp8~2#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~10#1;havoc stopRequestedInDirection_~tmp~9#1;havoc stopRequestedInDirection_~tmp___0~5#1;havoc stopRequestedInDirection_~__cil_tmp7~1#1;havoc stopRequestedInDirection_~__cil_tmp8~2#1;assume { :begin_inline_isExecutiveFloorCalling } true;havoc isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret102#1, isExecutiveFloorCalling_~retValue_acc~17#1;havoc isExecutiveFloorCalling_~retValue_acc~17#1;assume { :begin_inline_isFloorCalling } true;isFloorCalling_#in~floorID#1 := ~executiveFloor~0;havoc isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~29#1;isFloorCalling_~floorID#1 := isFloorCalling_#in~floorID#1;havoc isFloorCalling_~retValue_acc~29#1;" "assume 0 == isFloorCalling_~floorID#1;isFloorCalling_~retValue_acc~29#1 := ~calls_0~0;isFloorCalling_#res#1 := isFloorCalling_~retValue_acc~29#1;" "isExecutiveFloorCalling_#t~ret102#1 := isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~29#1;havoc isFloorCalling_#in~floorID#1;assume { :end_inline_isFloorCalling } true;isExecutiveFloorCalling_~retValue_acc~17#1 := isExecutiveFloorCalling_#t~ret102#1;havoc isExecutiveFloorCalling_#t~ret102#1;isExecutiveFloorCalling_#res#1 := isExecutiveFloorCalling_~retValue_acc~17#1;" "stopRequestedInDirection_#t~ret40#1 := isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret102#1, isExecutiveFloorCalling_~retValue_acc~17#1;assume { :end_inline_isExecutiveFloorCalling } true;stopRequestedInDirection_~tmp___0~5#1 := stopRequestedInDirection_#t~ret40#1;havoc stopRequestedInDirection_#t~ret40#1;" "assume 0 != stopRequestedInDirection_~tmp___0~5#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~1#1;havoc getCurrentFloorID_~retValue_acc~1#1;getCurrentFloorID_~retValue_acc~1#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~1#1;" "stopRequestedInDirection_#t~ret41#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~1#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedInDirection_~tmp~9#1 := stopRequestedInDirection_#t~ret41#1;havoc stopRequestedInDirection_#t~ret41#1;stopRequestedInDirection_~__cil_tmp7~1#1 := (if 1 == stopRequestedInDirection_~dir#1 then 1 else 0);stopRequestedInDirection_~__cil_tmp8~2#1 := (if stopRequestedInDirection_~tmp~9#1 < ~executiveFloor~0 then 1 else 0);stopRequestedInDirection_~retValue_acc~10#1 := (if stopRequestedInDirection_~__cil_tmp8~2#1 == stopRequestedInDirection_~__cil_tmp7~1#1 then 1 else 0);stopRequestedInDirection_#res#1 := stopRequestedInDirection_~retValue_acc~10#1;" "timeShift_#t~ret72#1 := stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret40#1, stopRequestedInDirection_#t~ret41#1, stopRequestedInDirection_#t~ret42#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~10#1, stopRequestedInDirection_~tmp~9#1, stopRequestedInDirection_~tmp___0~5#1, stopRequestedInDirection_~__cil_tmp7~1#1, stopRequestedInDirection_~__cil_tmp8~2#1;havoc stopRequestedInDirection_#in~dir#1, stopRequestedInDirection_#in~respectFloorCalls#1, stopRequestedInDirection_#in~respectInLiftCalls#1;assume { :end_inline_stopRequestedInDirection } true;timeShift_~tmp___8~2#1 := timeShift_#t~ret72#1;havoc timeShift_#t~ret72#1;" "assume 0 != timeShift_~tmp___8~2#1;assume { :begin_inline_continueInDirection } true;continueInDirection_#in~dir#1 := ~currentHeading~0;havoc continueInDirection_#t~ret43#1, continueInDirection_~dir#1, continueInDirection_~tmp~10#1;continueInDirection_~dir#1 := continueInDirection_#in~dir#1;havoc continueInDirection_~tmp~10#1;~currentHeading~0 := continueInDirection_~dir#1;" "assume 1 == ~currentHeading~0;assume { :begin_inline_isTopFloor } true;isTopFloor_#in~floorID#1 := ~currentFloorID~0;havoc isTopFloor_#res#1;havoc isTopFloor_~floorID#1, isTopFloor_~retValue_acc~31#1;isTopFloor_~floorID#1 := isTopFloor_#in~floorID#1;havoc isTopFloor_~retValue_acc~31#1;isTopFloor_~retValue_acc~31#1 := (if 4 == isTopFloor_~floorID#1 then 1 else 0);isTopFloor_#res#1 := isTopFloor_~retValue_acc~31#1;" "continueInDirection_#t~ret43#1 := isTopFloor_#res#1;havoc isTopFloor_~floorID#1, isTopFloor_~retValue_acc~31#1;havoc isTopFloor_#in~floorID#1;assume { :end_inline_isTopFloor } true;continueInDirection_~tmp~10#1 := continueInDirection_#t~ret43#1;havoc continueInDirection_#t~ret43#1;" "assume 0 != continueInDirection_~tmp~10#1;~currentHeading~0 := 0;" "assume !(1 == ~currentHeading~0);~currentFloorID~0 := ~currentFloorID~0 - 1;" "havoc continueInDirection_#t~ret43#1, continueInDirection_~dir#1, continueInDirection_~tmp~10#1;havoc continueInDirection_#in~dir#1;assume { :end_inline_continueInDirection } true;" "assume { :begin_inline___utac_acc__Specification13_spec__2 } true;havoc __utac_acc__Specification13_spec__2_#t~ret5#1, __utac_acc__Specification13_spec__2_#t~ret6#1, __utac_acc__Specification13_spec__2_#t~ret7#1, __utac_acc__Specification13_spec__2_#t~ret8#1, __utac_acc__Specification13_spec__2_#t~ret9#1, __utac_acc__Specification13_spec__2_#t~ret10#1, __utac_acc__Specification13_spec__2_~tmp~0#1, __utac_acc__Specification13_spec__2_~tmp___0~0#1, __utac_acc__Specification13_spec__2_~tmp___1~0#1, __utac_acc__Specification13_spec__2_~tmp___2~0#1, __utac_acc__Specification13_spec__2_~tmp___3~0#1, __utac_acc__Specification13_spec__2_~tmp___4~0#1, __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1, __utac_acc__Specification13_spec__2_~__cil_tmp8~0#1;havoc __utac_acc__Specification13_spec__2_~tmp~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___0~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___1~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___2~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___3~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___4~0#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp8~0#1;__utac_acc__Specification13_spec__2_~__cil_tmp7~0#1 := 2 * ~maximumWeight~0;__utac_acc__Specification13_spec__2_~__cil_tmp8~0#1 := (if __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1 < 0 && 0 != __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1 % 3 then 1 + __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1 / 3 else __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1 / 3);" "assume ~weight~0 > __utac_acc__Specification13_spec__2_~__cil_tmp8~0#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~16#1, existInLiftCallsInDirection_~i~2#1, existInLiftCallsInDirection_~i___0~0#1;existInLiftCallsInDirection_~d#1 := existInLiftCallsInDirection_#in~d#1;havoc existInLiftCallsInDirection_~retValue_acc~16#1;havoc existInLiftCallsInDirection_~i~2#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;" [2024-11-12 21:28:32,001 INFO L749 eck$LassoCheckResult]: Loop: "assume !false;" "assume existInLiftCallsInDirection_~i___0~0#1 >= 0;" "existInLiftCallsInDirection_~i___0~0#1 := 1 + ~currentFloorID~0;" "assume !false;" "assume !(existInLiftCallsInDirection_~i___0~0#1 < 5);" "existInLiftCallsInDirection_~i___0~0#1 := existInLiftCallsInDirection_~i___0~0#1 - 1;" [2024-11-12 21:28:32,002 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 21:28:32,002 INFO L85 PathProgramCache]: Analyzing trace with hash 627221469, now seen corresponding path program 1 times [2024-11-12 21:28:32,002 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 21:28:32,002 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [429204192] [2024-11-12 21:28:32,002 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 21:28:32,003 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 21:28:32,028 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-12 21:28:32,110 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-12 21:28:32,111 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [429204192] [2024-11-12 21:28:32,111 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [429204192] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-12 21:28:32,111 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2037956803] [2024-11-12 21:28:32,111 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 21:28:32,111 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-12 21:28:32,111 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-12 21:28:32,114 INFO L229 MonitoredProcess]: Starting monitored process 16 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-11-12 21:28:32,115 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Waiting until timeout for monitored process [2024-11-12 21:28:32,573 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-12 21:28:32,575 INFO L256 TraceCheckSpWp]: Trace formula consists of 647 conjuncts, 3 conjuncts are in the unsatisfiable core [2024-11-12 21:28:32,576 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2024-11-12 21:28:32,590 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2024-11-12 21:28:32,605 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2037956803] provided 0 perfect and 2 imperfect interpolant sequences [2024-11-12 21:28:32,605 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-11-12 21:28:32,605 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 3, 3] total 5 [2024-11-12 21:28:32,605 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [465797821] [2024-11-12 21:28:32,606 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-11-12 21:28:32,606 INFO L752 eck$LassoCheckResult]: stem already infeasible [2024-11-12 21:28:32,606 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 21:28:32,606 INFO L85 PathProgramCache]: Analyzing trace with hash -1087190869, now seen corresponding path program 5 times [2024-11-12 21:28:32,606 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 21:28:32,606 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [396731324] [2024-11-12 21:28:32,606 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 21:28:32,607 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 21:28:32,613 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 21:28:32,614 INFO L357 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-12 21:28:32,615 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 21:28:32,621 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-12 21:28:32,641 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-12 21:28:32,641 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2024-11-12 21:28:32,641 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2024-11-12 21:28:32,642 INFO L87 Difference]: Start difference. First operand 29772 states and 54591 transitions. cyclomatic complexity: 24947 Second operand has 5 states, 5 states have (on average 15.4) internal successors, (77), 5 states have internal predecessors, (77), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-12 21:28:33,335 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-12 21:28:33,335 INFO L93 Difference]: Finished difference Result 29812 states and 54628 transitions. [2024-11-12 21:28:33,336 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 29812 states and 54628 transitions. [2024-11-12 21:28:33,475 INFO L131 ngComponentsAnalysis]: Automaton has 122 accepting balls. 9149 [2024-11-12 21:28:33,563 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 29812 states to 29812 states and 54628 transitions. [2024-11-12 21:28:33,563 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 29698 [2024-11-12 21:28:33,591 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 29698 [2024-11-12 21:28:33,591 INFO L73 IsDeterministic]: Start isDeterministic. Operand 29812 states and 54628 transitions. [2024-11-12 21:28:33,592 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-11-12 21:28:33,592 INFO L218 hiAutomatonCegarLoop]: Abstraction has 29812 states and 54628 transitions. [2024-11-12 21:28:33,616 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 29812 states and 54628 transitions. [2024-11-12 21:28:33,899 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 29812 to 29772. [2024-11-12 21:28:33,931 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 29772 states, 29772 states have (on average 1.8328630928389091) internal successors, (54568), 29771 states have internal predecessors, (54568), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-12 21:28:33,991 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29772 states to 29772 states and 54568 transitions. [2024-11-12 21:28:33,992 INFO L240 hiAutomatonCegarLoop]: Abstraction has 29772 states and 54568 transitions. [2024-11-12 21:28:33,992 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2024-11-12 21:28:33,992 INFO L426 stractBuchiCegarLoop]: Abstraction has 29772 states and 54568 transitions. [2024-11-12 21:28:33,993 INFO L333 stractBuchiCegarLoop]: ======== Iteration 8 ============ [2024-11-12 21:28:33,993 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 29772 states and 54568 transitions. [2024-11-12 21:28:34,331 INFO L131 ngComponentsAnalysis]: Automaton has 122 accepting balls. 9149 [2024-11-12 21:28:34,332 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-12 21:28:34,332 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-12 21:28:34,332 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-11-12 21:28:34,332 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1] [2024-11-12 21:28:34,333 INFO L747 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(10, 4);call #Ultimate.allocInit(4, 5);call write~init~int#1(91, 5, 0, 1);call write~init~int#1(95, 5, 1, 1);call write~init~int#1(93, 5, 2, 1);call write~init~int#1(0, 5, 3, 1);call #Ultimate.allocInit(4, 6);call write~init~int#2(91, 6, 0, 1);call write~init~int#2(93, 6, 1, 1);call write~init~int#2(32, 6, 2, 1);call write~init~int#2(0, 6, 3, 1);call #Ultimate.allocInit(5, 7);call write~init~int#3(32, 7, 0, 1);call write~init~int#3(97, 7, 1, 1);call write~init~int#3(116, 7, 2, 1);call write~init~int#3(32, 7, 3, 1);call write~init~int#3(0, 7, 4, 1);call #Ultimate.allocInit(3, 8);call write~init~int#4(37, 8, 0, 1);call write~init~int#4(105, 8, 1, 1);call write~init~int#4(0, 8, 2, 1);call #Ultimate.allocInit(10, 9);call #Ultimate.allocInit(3, 10);call write~init~int#5(117, 10, 0, 1);call write~init~int#5(112, 10, 1, 1);call write~init~int#5(0, 10, 2, 1);call #Ultimate.allocInit(5, 11);call write~init~int#6(100, 11, 0, 1);call write~init~int#6(111, 11, 1, 1);call write~init~int#6(119, 11, 2, 1);call write~init~int#6(110, 11, 3, 1);call write~init~int#6(0, 11, 4, 1);call #Ultimate.allocInit(7, 12);call write~init~int#7(32, 12, 0, 1);call write~init~int#7(73, 12, 1, 1);call write~init~int#7(76, 12, 2, 1);call write~init~int#7(95, 12, 3, 1);call write~init~int#7(112, 12, 4, 1);call write~init~int#7(58, 12, 5, 1);call write~init~int#7(0, 12, 6, 1);call #Ultimate.allocInit(4, 13);call write~init~int#8(32, 13, 0, 1);call write~init~int#8(37, 13, 1, 1);call write~init~int#8(105, 13, 2, 1);call write~init~int#8(0, 13, 3, 1);call #Ultimate.allocInit(4, 14);call write~init~int#9(32, 14, 0, 1);call write~init~int#9(37, 14, 1, 1);call write~init~int#9(105, 14, 2, 1);call write~init~int#9(0, 14, 3, 1);call #Ultimate.allocInit(4, 15);call write~init~int#10(32, 15, 0, 1);call write~init~int#10(37, 15, 1, 1);call write~init~int#10(105, 15, 2, 1);call write~init~int#10(0, 15, 3, 1);call #Ultimate.allocInit(4, 16);call write~init~int#11(32, 16, 0, 1);call write~init~int#11(37, 16, 1, 1);call write~init~int#11(105, 16, 2, 1);call write~init~int#11(0, 16, 3, 1);call #Ultimate.allocInit(4, 17);call write~init~int#12(32, 17, 0, 1);call write~init~int#12(37, 17, 1, 1);call write~init~int#12(105, 17, 2, 1);call write~init~int#12(0, 17, 3, 1);call #Ultimate.allocInit(6, 18);call write~init~int#13(32, 18, 0, 1);call write~init~int#13(70, 18, 1, 1);call write~init~int#13(95, 18, 2, 1);call write~init~int#13(112, 18, 3, 1);call write~init~int#13(58, 18, 4, 1);call write~init~int#13(0, 18, 5, 1);call #Ultimate.allocInit(4, 19);call write~init~int#14(32, 19, 0, 1);call write~init~int#14(37, 19, 1, 1);call write~init~int#14(105, 19, 2, 1);call write~init~int#14(0, 19, 3, 1);call #Ultimate.allocInit(4, 20);call write~init~int#15(32, 20, 0, 1);call write~init~int#15(37, 20, 1, 1);call write~init~int#15(105, 20, 2, 1);call write~init~int#15(0, 20, 3, 1);call #Ultimate.allocInit(4, 21);call write~init~int#16(32, 21, 0, 1);call write~init~int#16(37, 21, 1, 1);call write~init~int#16(105, 21, 2, 1);call write~init~int#16(0, 21, 3, 1);call #Ultimate.allocInit(4, 22);call write~init~int#17(32, 22, 0, 1);call write~init~int#17(37, 22, 1, 1);call write~init~int#17(105, 22, 2, 1);call write~init~int#17(0, 22, 3, 1);call #Ultimate.allocInit(4, 23);call write~init~int#18(32, 23, 0, 1);call write~init~int#18(37, 23, 1, 1);call write~init~int#18(105, 23, 2, 1);call write~init~int#18(0, 23, 3, 1);call #Ultimate.allocInit(2, 24);call write~init~int#19(10, 24, 0, 1);call write~init~int#19(0, 24, 1, 1);call #Ultimate.allocInit(30, 25);call #Ultimate.allocInit(9, 26);call #Ultimate.allocInit(21, 27);call #Ultimate.allocInit(30, 28);call #Ultimate.allocInit(9, 29);call #Ultimate.allocInit(21, 30);call #Ultimate.allocInit(30, 31);call #Ultimate.allocInit(9, 32);call #Ultimate.allocInit(25, 33);call #Ultimate.allocInit(30, 34);call #Ultimate.allocInit(9, 35);call #Ultimate.allocInit(25, 36);~weight~0 := 0;~maximumWeight~0 := 100;~executiveFloor~0 := 4;~prevDir~0 := 0;~cleanupTimeShifts~0 := 12;~currentHeading~0 := 1;~currentFloorID~0 := 0;~persons_0~0 := 0;~persons_1~0 := 0;~persons_2~0 := 0;~persons_3~0 := 0;~persons_4~0 := 0;~persons_5~0 := 0;~doorState~0 := 1;~floorButtons_0~0 := 0;~floorButtons_1~0 := 0;~floorButtons_2~0 := 0;~floorButtons_3~0 := 0;~floorButtons_4~0 := 0;~head~0.base, ~head~0.offset := 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;" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret116#1, main_~retValue_acc~23#1, main_~tmp~25#1;havoc main_~retValue_acc~23#1;havoc main_~tmp~25#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~28#1;havoc valid_product_~retValue_acc~28#1;valid_product_~retValue_acc~28#1 := 1;valid_product_#res#1 := valid_product_~retValue_acc~28#1;" "main_#t~ret116#1 := valid_product_#res#1;havoc valid_product_~retValue_acc~28#1;assume { :end_inline_valid_product } true;main_~tmp~25#1 := main_#t~ret116#1;havoc main_#t~ret116#1;" "assume 0 != main_~tmp~25#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~ret105#1, aliceCall_~tmp~18#1;havoc aliceCall_~tmp~18#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 1;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~20#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~20#1;" "assume !(0 == getOrigin_~person#1);" "assume 1 == getOrigin_~person#1;getOrigin_~retValue_acc~20#1 := 3;getOrigin_#res#1 := getOrigin_~retValue_acc~20#1;" "aliceCall_#t~ret105#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~20#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;aliceCall_~tmp~18#1 := aliceCall_#t~ret105#1;havoc aliceCall_#t~ret105#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 1, aliceCall_~tmp~18#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~ret105#1, aliceCall_~tmp~18#1;assume { :end_inline_aliceCall } true;assume { :begin_inline_angelinaCall } true;havoc angelinaCall_#t~ret106#1, angelinaCall_~tmp~19#1;havoc angelinaCall_~tmp~19#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 2;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~20#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~20#1;" "assume !(0 == getOrigin_~person#1);" "assume !(1 == getOrigin_~person#1);" "assume 2 == getOrigin_~person#1;getOrigin_~retValue_acc~20#1 := 2;getOrigin_#res#1 := getOrigin_~retValue_acc~20#1;" "angelinaCall_#t~ret106#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~20#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;angelinaCall_~tmp~19#1 := angelinaCall_#t~ret106#1;havoc angelinaCall_#t~ret106#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 2, angelinaCall_~tmp~19#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 !(4 == initPersonOnFloor_~floor#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~ret106#1, angelinaCall_~tmp~19#1;assume { :end_inline_angelinaCall } true;assume { :begin_inline_threeTS } true;assume { :begin_inline_timeShift } true;havoc timeShift_#t~ret65#1, timeShift_#t~ret66#1, timeShift_#t~ret67#1, timeShift_#t~ret68#1, timeShift_#t~ret69#1, timeShift_#t~ret70#1, timeShift_#t~ret71#1, timeShift_#t~ret72#1, timeShift_#t~ret73#1, timeShift_#t~ret74#1, timeShift_#t~ret75#1, timeShift_~tmp~15#1, timeShift_~tmp___0~10#1, timeShift_~tmp___1~6#1, timeShift_~tmp___2~4#1, timeShift_~tmp___3~4#1, timeShift_~tmp___4~3#1, timeShift_~tmp___5~2#1, timeShift_~tmp___6~2#1, timeShift_~tmp___7~2#1, timeShift_~tmp___8~2#1, timeShift_~tmp___9~2#1;havoc timeShift_~tmp~15#1;havoc timeShift_~tmp___0~10#1;havoc timeShift_~tmp___1~6#1;havoc timeShift_~tmp___2~4#1;havoc timeShift_~tmp___3~4#1;havoc timeShift_~tmp___4~3#1;havoc timeShift_~tmp___5~2#1;havoc timeShift_~tmp___6~2#1;havoc timeShift_~tmp___7~2#1;havoc timeShift_~tmp___8~2#1;havoc timeShift_~tmp___9~2#1;assume { :begin_inline___utac_acc__Specification13_spec__1 } true;havoc __utac_acc__Specification13_spec__1_#t~ret4#1;assume { :begin_inline_getCurrentHeading } true;havoc getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~4#1;havoc getCurrentHeading_~retValue_acc~4#1;getCurrentHeading_~retValue_acc~4#1 := ~currentHeading~0;getCurrentHeading_#res#1 := getCurrentHeading_~retValue_acc~4#1;" "__utac_acc__Specification13_spec__1_#t~ret4#1 := getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~4#1;assume { :end_inline_getCurrentHeading } true;~prevDir~0 := __utac_acc__Specification13_spec__1_#t~ret4#1;havoc __utac_acc__Specification13_spec__1_#t~ret4#1;" "havoc __utac_acc__Specification13_spec__1_#t~ret4#1;assume { :end_inline___utac_acc__Specification13_spec__1 } true;assume { :begin_inline_stopRequestedAtCurrentFloor } true;havoc stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret49#1, stopRequestedAtCurrentFloor_#t~ret50#1, stopRequestedAtCurrentFloor_#t~ret51#1, stopRequestedAtCurrentFloor_#t~ret52#1, stopRequestedAtCurrentFloor_~retValue_acc~14#1, stopRequestedAtCurrentFloor_~tmp~13#1, stopRequestedAtCurrentFloor_~tmp___0~8#1;havoc stopRequestedAtCurrentFloor_~retValue_acc~14#1;havoc stopRequestedAtCurrentFloor_~tmp~13#1;havoc stopRequestedAtCurrentFloor_~tmp___0~8#1;assume { :begin_inline_isExecutiveFloorCalling } true;havoc isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret102#1, isExecutiveFloorCalling_~retValue_acc~17#1;havoc isExecutiveFloorCalling_~retValue_acc~17#1;assume { :begin_inline_isFloorCalling } true;isFloorCalling_#in~floorID#1 := ~executiveFloor~0;havoc isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~29#1;isFloorCalling_~floorID#1 := isFloorCalling_#in~floorID#1;havoc isFloorCalling_~retValue_acc~29#1;" "assume 0 == isFloorCalling_~floorID#1;isFloorCalling_~retValue_acc~29#1 := ~calls_0~0;isFloorCalling_#res#1 := isFloorCalling_~retValue_acc~29#1;" "isExecutiveFloorCalling_#t~ret102#1 := isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~29#1;havoc isFloorCalling_#in~floorID#1;assume { :end_inline_isFloorCalling } true;isExecutiveFloorCalling_~retValue_acc~17#1 := isExecutiveFloorCalling_#t~ret102#1;havoc isExecutiveFloorCalling_#t~ret102#1;isExecutiveFloorCalling_#res#1 := isExecutiveFloorCalling_~retValue_acc~17#1;" "stopRequestedAtCurrentFloor_#t~ret49#1 := isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret102#1, isExecutiveFloorCalling_~retValue_acc~17#1;assume { :end_inline_isExecutiveFloorCalling } true;stopRequestedAtCurrentFloor_~tmp~13#1 := stopRequestedAtCurrentFloor_#t~ret49#1;havoc stopRequestedAtCurrentFloor_#t~ret49#1;" "assume 0 != stopRequestedAtCurrentFloor_~tmp~13#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~1#1;havoc getCurrentFloorID_~retValue_acc~1#1;getCurrentFloorID_~retValue_acc~1#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~1#1;" "stopRequestedAtCurrentFloor_#t~ret50#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~1#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedAtCurrentFloor_~tmp___0~8#1 := stopRequestedAtCurrentFloor_#t~ret50#1;havoc stopRequestedAtCurrentFloor_#t~ret50#1;" "assume !(~executiveFloor~0 == stopRequestedAtCurrentFloor_~tmp___0~8#1);stopRequestedAtCurrentFloor_~retValue_acc~14#1 := 0;stopRequestedAtCurrentFloor_#res#1 := stopRequestedAtCurrentFloor_~retValue_acc~14#1;" "timeShift_#t~ret65#1 := stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret49#1, stopRequestedAtCurrentFloor_#t~ret50#1, stopRequestedAtCurrentFloor_#t~ret51#1, stopRequestedAtCurrentFloor_#t~ret52#1, stopRequestedAtCurrentFloor_~retValue_acc~14#1, stopRequestedAtCurrentFloor_~tmp~13#1, stopRequestedAtCurrentFloor_~tmp___0~8#1;assume { :end_inline_stopRequestedAtCurrentFloor } true;timeShift_~tmp___9~2#1 := timeShift_#t~ret65#1;havoc timeShift_#t~ret65#1;" "assume !(0 != timeShift_~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~ret40#1, stopRequestedInDirection_#t~ret41#1, stopRequestedInDirection_#t~ret42#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~10#1, stopRequestedInDirection_~tmp~9#1, stopRequestedInDirection_~tmp___0~5#1, stopRequestedInDirection_~__cil_tmp7~1#1, stopRequestedInDirection_~__cil_tmp8~2#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~10#1;havoc stopRequestedInDirection_~tmp~9#1;havoc stopRequestedInDirection_~tmp___0~5#1;havoc stopRequestedInDirection_~__cil_tmp7~1#1;havoc stopRequestedInDirection_~__cil_tmp8~2#1;assume { :begin_inline_isExecutiveFloorCalling } true;havoc isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret102#1, isExecutiveFloorCalling_~retValue_acc~17#1;havoc isExecutiveFloorCalling_~retValue_acc~17#1;assume { :begin_inline_isFloorCalling } true;isFloorCalling_#in~floorID#1 := ~executiveFloor~0;havoc isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~29#1;isFloorCalling_~floorID#1 := isFloorCalling_#in~floorID#1;havoc isFloorCalling_~retValue_acc~29#1;" "assume 0 == isFloorCalling_~floorID#1;isFloorCalling_~retValue_acc~29#1 := ~calls_0~0;isFloorCalling_#res#1 := isFloorCalling_~retValue_acc~29#1;" "isExecutiveFloorCalling_#t~ret102#1 := isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~29#1;havoc isFloorCalling_#in~floorID#1;assume { :end_inline_isFloorCalling } true;isExecutiveFloorCalling_~retValue_acc~17#1 := isExecutiveFloorCalling_#t~ret102#1;havoc isExecutiveFloorCalling_#t~ret102#1;isExecutiveFloorCalling_#res#1 := isExecutiveFloorCalling_~retValue_acc~17#1;" "stopRequestedInDirection_#t~ret40#1 := isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret102#1, isExecutiveFloorCalling_~retValue_acc~17#1;assume { :end_inline_isExecutiveFloorCalling } true;stopRequestedInDirection_~tmp___0~5#1 := stopRequestedInDirection_#t~ret40#1;havoc stopRequestedInDirection_#t~ret40#1;" "assume 0 != stopRequestedInDirection_~tmp___0~5#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~1#1;havoc getCurrentFloorID_~retValue_acc~1#1;getCurrentFloorID_~retValue_acc~1#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~1#1;" "stopRequestedInDirection_#t~ret41#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~1#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedInDirection_~tmp~9#1 := stopRequestedInDirection_#t~ret41#1;havoc stopRequestedInDirection_#t~ret41#1;stopRequestedInDirection_~__cil_tmp7~1#1 := (if 1 == stopRequestedInDirection_~dir#1 then 1 else 0);stopRequestedInDirection_~__cil_tmp8~2#1 := (if stopRequestedInDirection_~tmp~9#1 < ~executiveFloor~0 then 1 else 0);stopRequestedInDirection_~retValue_acc~10#1 := (if stopRequestedInDirection_~__cil_tmp8~2#1 == stopRequestedInDirection_~__cil_tmp7~1#1 then 1 else 0);stopRequestedInDirection_#res#1 := stopRequestedInDirection_~retValue_acc~10#1;" "timeShift_#t~ret72#1 := stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret40#1, stopRequestedInDirection_#t~ret41#1, stopRequestedInDirection_#t~ret42#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~10#1, stopRequestedInDirection_~tmp~9#1, stopRequestedInDirection_~tmp___0~5#1, stopRequestedInDirection_~__cil_tmp7~1#1, stopRequestedInDirection_~__cil_tmp8~2#1;havoc stopRequestedInDirection_#in~dir#1, stopRequestedInDirection_#in~respectFloorCalls#1, stopRequestedInDirection_#in~respectInLiftCalls#1;assume { :end_inline_stopRequestedInDirection } true;timeShift_~tmp___8~2#1 := timeShift_#t~ret72#1;havoc timeShift_#t~ret72#1;" "assume 0 != timeShift_~tmp___8~2#1;assume { :begin_inline_continueInDirection } true;continueInDirection_#in~dir#1 := ~currentHeading~0;havoc continueInDirection_#t~ret43#1, continueInDirection_~dir#1, continueInDirection_~tmp~10#1;continueInDirection_~dir#1 := continueInDirection_#in~dir#1;havoc continueInDirection_~tmp~10#1;~currentHeading~0 := continueInDirection_~dir#1;" "assume 1 == ~currentHeading~0;assume { :begin_inline_isTopFloor } true;isTopFloor_#in~floorID#1 := ~currentFloorID~0;havoc isTopFloor_#res#1;havoc isTopFloor_~floorID#1, isTopFloor_~retValue_acc~31#1;isTopFloor_~floorID#1 := isTopFloor_#in~floorID#1;havoc isTopFloor_~retValue_acc~31#1;isTopFloor_~retValue_acc~31#1 := (if 4 == isTopFloor_~floorID#1 then 1 else 0);isTopFloor_#res#1 := isTopFloor_~retValue_acc~31#1;" "continueInDirection_#t~ret43#1 := isTopFloor_#res#1;havoc isTopFloor_~floorID#1, isTopFloor_~retValue_acc~31#1;havoc isTopFloor_#in~floorID#1;assume { :end_inline_isTopFloor } true;continueInDirection_~tmp~10#1 := continueInDirection_#t~ret43#1;havoc continueInDirection_#t~ret43#1;" "assume 0 != continueInDirection_~tmp~10#1;~currentHeading~0 := 0;" "assume !(1 == ~currentHeading~0);~currentFloorID~0 := ~currentFloorID~0 - 1;" "havoc continueInDirection_#t~ret43#1, continueInDirection_~dir#1, continueInDirection_~tmp~10#1;havoc continueInDirection_#in~dir#1;assume { :end_inline_continueInDirection } true;" "assume { :begin_inline___utac_acc__Specification13_spec__2 } true;havoc __utac_acc__Specification13_spec__2_#t~ret5#1, __utac_acc__Specification13_spec__2_#t~ret6#1, __utac_acc__Specification13_spec__2_#t~ret7#1, __utac_acc__Specification13_spec__2_#t~ret8#1, __utac_acc__Specification13_spec__2_#t~ret9#1, __utac_acc__Specification13_spec__2_#t~ret10#1, __utac_acc__Specification13_spec__2_~tmp~0#1, __utac_acc__Specification13_spec__2_~tmp___0~0#1, __utac_acc__Specification13_spec__2_~tmp___1~0#1, __utac_acc__Specification13_spec__2_~tmp___2~0#1, __utac_acc__Specification13_spec__2_~tmp___3~0#1, __utac_acc__Specification13_spec__2_~tmp___4~0#1, __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1, __utac_acc__Specification13_spec__2_~__cil_tmp8~0#1;havoc __utac_acc__Specification13_spec__2_~tmp~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___0~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___1~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___2~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___3~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___4~0#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp8~0#1;__utac_acc__Specification13_spec__2_~__cil_tmp7~0#1 := 2 * ~maximumWeight~0;__utac_acc__Specification13_spec__2_~__cil_tmp8~0#1 := (if __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1 < 0 && 0 != __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1 % 3 then 1 + __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1 / 3 else __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1 / 3);" "assume ~weight~0 > __utac_acc__Specification13_spec__2_~__cil_tmp8~0#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~16#1, existInLiftCallsInDirection_~i~2#1, existInLiftCallsInDirection_~i___0~0#1;existInLiftCallsInDirection_~d#1 := existInLiftCallsInDirection_#in~d#1;havoc existInLiftCallsInDirection_~retValue_acc~16#1;havoc existInLiftCallsInDirection_~i~2#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;" [2024-11-12 21:28:34,333 INFO L749 eck$LassoCheckResult]: Loop: "assume !false;" "assume existInLiftCallsInDirection_~i___0~0#1 >= 0;" "existInLiftCallsInDirection_~i___0~0#1 := 1 + ~currentFloorID~0;" "assume !false;" "assume !(existInLiftCallsInDirection_~i___0~0#1 < 5);" "existInLiftCallsInDirection_~i___0~0#1 := existInLiftCallsInDirection_~i___0~0#1 - 1;" [2024-11-12 21:28:34,333 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 21:28:34,334 INFO L85 PathProgramCache]: Analyzing trace with hash -1494085477, now seen corresponding path program 1 times [2024-11-12 21:28:34,334 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 21:28:34,334 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [117630046] [2024-11-12 21:28:34,334 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 21:28:34,334 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 21:28:34,359 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-12 21:28:34,430 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-12 21:28:34,430 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [117630046] [2024-11-12 21:28:34,430 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [117630046] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-12 21:28:34,430 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [99688047] [2024-11-12 21:28:34,430 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 21:28:34,430 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-12 21:28:34,431 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-12 21:28:34,433 INFO L229 MonitoredProcess]: Starting monitored process 17 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-11-12 21:28:34,434 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (17)] Waiting until timeout for monitored process [2024-11-12 21:28:34,904 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-12 21:28:34,906 INFO L256 TraceCheckSpWp]: Trace formula consists of 643 conjuncts, 8 conjuncts are in the unsatisfiable core [2024-11-12 21:28:34,907 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2024-11-12 21:28:34,939 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2024-11-12 21:28:34,962 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [99688047] provided 0 perfect and 2 imperfect interpolant sequences [2024-11-12 21:28:34,962 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-11-12 21:28:34,963 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 5, 5] total 7 [2024-11-12 21:28:34,963 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2079146823] [2024-11-12 21:28:34,963 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-11-12 21:28:34,963 INFO L752 eck$LassoCheckResult]: stem already infeasible [2024-11-12 21:28:34,963 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 21:28:34,963 INFO L85 PathProgramCache]: Analyzing trace with hash -1087190869, now seen corresponding path program 6 times [2024-11-12 21:28:34,964 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 21:28:34,964 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1261663593] [2024-11-12 21:28:34,964 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 21:28:34,964 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 21:28:34,971 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 21:28:34,972 INFO L357 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-12 21:28:34,973 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 21:28:34,980 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-12 21:28:35,006 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-12 21:28:35,007 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2024-11-12 21:28:35,007 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=29, Unknown=0, NotChecked=0, Total=42 [2024-11-12 21:28:35,008 INFO L87 Difference]: Start difference. First operand 29772 states and 54568 transitions. cyclomatic complexity: 24924 Second operand has 7 states, 7 states have (on average 11.142857142857142) internal successors, (78), 7 states have internal predecessors, (78), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-12 21:28:35,407 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-12 21:28:35,408 INFO L93 Difference]: Finished difference Result 29810 states and 54618 transitions. [2024-11-12 21:28:35,408 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 29810 states and 54618 transitions. [2024-11-12 21:28:35,765 INFO L131 ngComponentsAnalysis]: Automaton has 122 accepting balls. 9149 [2024-11-12 21:28:35,831 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 29810 states to 29810 states and 54618 transitions. [2024-11-12 21:28:35,832 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 29696 [2024-11-12 21:28:35,855 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 29696 [2024-11-12 21:28:35,856 INFO L73 IsDeterministic]: Start isDeterministic. Operand 29810 states and 54618 transitions. [2024-11-12 21:28:35,856 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-11-12 21:28:35,856 INFO L218 hiAutomatonCegarLoop]: Abstraction has 29810 states and 54618 transitions. [2024-11-12 21:28:35,877 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 29810 states and 54618 transitions. [2024-11-12 21:28:36,089 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 29810 to 29794. [2024-11-12 21:28:36,123 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 29794 states, 29794 states have (on average 1.832248103645029) internal successors, (54590), 29793 states have internal predecessors, (54590), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-12 21:28:36,176 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29794 states to 29794 states and 54590 transitions. [2024-11-12 21:28:36,177 INFO L240 hiAutomatonCegarLoop]: Abstraction has 29794 states and 54590 transitions. [2024-11-12 21:28:36,177 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2024-11-12 21:28:36,177 INFO L426 stractBuchiCegarLoop]: Abstraction has 29794 states and 54590 transitions. [2024-11-12 21:28:36,177 INFO L333 stractBuchiCegarLoop]: ======== Iteration 9 ============ [2024-11-12 21:28:36,178 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 29794 states and 54590 transitions. [2024-11-12 21:28:36,256 INFO L131 ngComponentsAnalysis]: Automaton has 122 accepting balls. 9149 [2024-11-12 21:28:36,257 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-12 21:28:36,257 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-12 21:28:36,257 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-11-12 21:28:36,257 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1] [2024-11-12 21:28:36,258 INFO L747 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(10, 4);call #Ultimate.allocInit(4, 5);call write~init~int#1(91, 5, 0, 1);call write~init~int#1(95, 5, 1, 1);call write~init~int#1(93, 5, 2, 1);call write~init~int#1(0, 5, 3, 1);call #Ultimate.allocInit(4, 6);call write~init~int#2(91, 6, 0, 1);call write~init~int#2(93, 6, 1, 1);call write~init~int#2(32, 6, 2, 1);call write~init~int#2(0, 6, 3, 1);call #Ultimate.allocInit(5, 7);call write~init~int#3(32, 7, 0, 1);call write~init~int#3(97, 7, 1, 1);call write~init~int#3(116, 7, 2, 1);call write~init~int#3(32, 7, 3, 1);call write~init~int#3(0, 7, 4, 1);call #Ultimate.allocInit(3, 8);call write~init~int#4(37, 8, 0, 1);call write~init~int#4(105, 8, 1, 1);call write~init~int#4(0, 8, 2, 1);call #Ultimate.allocInit(10, 9);call #Ultimate.allocInit(3, 10);call write~init~int#5(117, 10, 0, 1);call write~init~int#5(112, 10, 1, 1);call write~init~int#5(0, 10, 2, 1);call #Ultimate.allocInit(5, 11);call write~init~int#6(100, 11, 0, 1);call write~init~int#6(111, 11, 1, 1);call write~init~int#6(119, 11, 2, 1);call write~init~int#6(110, 11, 3, 1);call write~init~int#6(0, 11, 4, 1);call #Ultimate.allocInit(7, 12);call write~init~int#7(32, 12, 0, 1);call write~init~int#7(73, 12, 1, 1);call write~init~int#7(76, 12, 2, 1);call write~init~int#7(95, 12, 3, 1);call write~init~int#7(112, 12, 4, 1);call write~init~int#7(58, 12, 5, 1);call write~init~int#7(0, 12, 6, 1);call #Ultimate.allocInit(4, 13);call write~init~int#8(32, 13, 0, 1);call write~init~int#8(37, 13, 1, 1);call write~init~int#8(105, 13, 2, 1);call write~init~int#8(0, 13, 3, 1);call #Ultimate.allocInit(4, 14);call write~init~int#9(32, 14, 0, 1);call write~init~int#9(37, 14, 1, 1);call write~init~int#9(105, 14, 2, 1);call write~init~int#9(0, 14, 3, 1);call #Ultimate.allocInit(4, 15);call write~init~int#10(32, 15, 0, 1);call write~init~int#10(37, 15, 1, 1);call write~init~int#10(105, 15, 2, 1);call write~init~int#10(0, 15, 3, 1);call #Ultimate.allocInit(4, 16);call write~init~int#11(32, 16, 0, 1);call write~init~int#11(37, 16, 1, 1);call write~init~int#11(105, 16, 2, 1);call write~init~int#11(0, 16, 3, 1);call #Ultimate.allocInit(4, 17);call write~init~int#12(32, 17, 0, 1);call write~init~int#12(37, 17, 1, 1);call write~init~int#12(105, 17, 2, 1);call write~init~int#12(0, 17, 3, 1);call #Ultimate.allocInit(6, 18);call write~init~int#13(32, 18, 0, 1);call write~init~int#13(70, 18, 1, 1);call write~init~int#13(95, 18, 2, 1);call write~init~int#13(112, 18, 3, 1);call write~init~int#13(58, 18, 4, 1);call write~init~int#13(0, 18, 5, 1);call #Ultimate.allocInit(4, 19);call write~init~int#14(32, 19, 0, 1);call write~init~int#14(37, 19, 1, 1);call write~init~int#14(105, 19, 2, 1);call write~init~int#14(0, 19, 3, 1);call #Ultimate.allocInit(4, 20);call write~init~int#15(32, 20, 0, 1);call write~init~int#15(37, 20, 1, 1);call write~init~int#15(105, 20, 2, 1);call write~init~int#15(0, 20, 3, 1);call #Ultimate.allocInit(4, 21);call write~init~int#16(32, 21, 0, 1);call write~init~int#16(37, 21, 1, 1);call write~init~int#16(105, 21, 2, 1);call write~init~int#16(0, 21, 3, 1);call #Ultimate.allocInit(4, 22);call write~init~int#17(32, 22, 0, 1);call write~init~int#17(37, 22, 1, 1);call write~init~int#17(105, 22, 2, 1);call write~init~int#17(0, 22, 3, 1);call #Ultimate.allocInit(4, 23);call write~init~int#18(32, 23, 0, 1);call write~init~int#18(37, 23, 1, 1);call write~init~int#18(105, 23, 2, 1);call write~init~int#18(0, 23, 3, 1);call #Ultimate.allocInit(2, 24);call write~init~int#19(10, 24, 0, 1);call write~init~int#19(0, 24, 1, 1);call #Ultimate.allocInit(30, 25);call #Ultimate.allocInit(9, 26);call #Ultimate.allocInit(21, 27);call #Ultimate.allocInit(30, 28);call #Ultimate.allocInit(9, 29);call #Ultimate.allocInit(21, 30);call #Ultimate.allocInit(30, 31);call #Ultimate.allocInit(9, 32);call #Ultimate.allocInit(25, 33);call #Ultimate.allocInit(30, 34);call #Ultimate.allocInit(9, 35);call #Ultimate.allocInit(25, 36);~weight~0 := 0;~maximumWeight~0 := 100;~executiveFloor~0 := 4;~prevDir~0 := 0;~cleanupTimeShifts~0 := 12;~currentHeading~0 := 1;~currentFloorID~0 := 0;~persons_0~0 := 0;~persons_1~0 := 0;~persons_2~0 := 0;~persons_3~0 := 0;~persons_4~0 := 0;~persons_5~0 := 0;~doorState~0 := 1;~floorButtons_0~0 := 0;~floorButtons_1~0 := 0;~floorButtons_2~0 := 0;~floorButtons_3~0 := 0;~floorButtons_4~0 := 0;~head~0.base, ~head~0.offset := 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;" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret116#1, main_~retValue_acc~23#1, main_~tmp~25#1;havoc main_~retValue_acc~23#1;havoc main_~tmp~25#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~28#1;havoc valid_product_~retValue_acc~28#1;valid_product_~retValue_acc~28#1 := 1;valid_product_#res#1 := valid_product_~retValue_acc~28#1;" "main_#t~ret116#1 := valid_product_#res#1;havoc valid_product_~retValue_acc~28#1;assume { :end_inline_valid_product } true;main_~tmp~25#1 := main_#t~ret116#1;havoc main_#t~ret116#1;" "assume 0 != main_~tmp~25#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~ret105#1, aliceCall_~tmp~18#1;havoc aliceCall_~tmp~18#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 1;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~20#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~20#1;" "assume !(0 == getOrigin_~person#1);" "assume 1 == getOrigin_~person#1;getOrigin_~retValue_acc~20#1 := 3;getOrigin_#res#1 := getOrigin_~retValue_acc~20#1;" "aliceCall_#t~ret105#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~20#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;aliceCall_~tmp~18#1 := aliceCall_#t~ret105#1;havoc aliceCall_#t~ret105#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 1, aliceCall_~tmp~18#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~ret105#1, aliceCall_~tmp~18#1;assume { :end_inline_aliceCall } true;assume { :begin_inline_angelinaCall } true;havoc angelinaCall_#t~ret106#1, angelinaCall_~tmp~19#1;havoc angelinaCall_~tmp~19#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 2;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~20#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~20#1;" "assume !(0 == getOrigin_~person#1);" "assume !(1 == getOrigin_~person#1);" "assume 2 == getOrigin_~person#1;getOrigin_~retValue_acc~20#1 := 2;getOrigin_#res#1 := getOrigin_~retValue_acc~20#1;" "angelinaCall_#t~ret106#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~20#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;angelinaCall_~tmp~19#1 := angelinaCall_#t~ret106#1;havoc angelinaCall_#t~ret106#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 2, angelinaCall_~tmp~19#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~ret106#1, angelinaCall_~tmp~19#1;assume { :end_inline_angelinaCall } true;assume { :begin_inline_threeTS } true;assume { :begin_inline_timeShift } true;havoc timeShift_#t~ret65#1, timeShift_#t~ret66#1, timeShift_#t~ret67#1, timeShift_#t~ret68#1, timeShift_#t~ret69#1, timeShift_#t~ret70#1, timeShift_#t~ret71#1, timeShift_#t~ret72#1, timeShift_#t~ret73#1, timeShift_#t~ret74#1, timeShift_#t~ret75#1, timeShift_~tmp~15#1, timeShift_~tmp___0~10#1, timeShift_~tmp___1~6#1, timeShift_~tmp___2~4#1, timeShift_~tmp___3~4#1, timeShift_~tmp___4~3#1, timeShift_~tmp___5~2#1, timeShift_~tmp___6~2#1, timeShift_~tmp___7~2#1, timeShift_~tmp___8~2#1, timeShift_~tmp___9~2#1;havoc timeShift_~tmp~15#1;havoc timeShift_~tmp___0~10#1;havoc timeShift_~tmp___1~6#1;havoc timeShift_~tmp___2~4#1;havoc timeShift_~tmp___3~4#1;havoc timeShift_~tmp___4~3#1;havoc timeShift_~tmp___5~2#1;havoc timeShift_~tmp___6~2#1;havoc timeShift_~tmp___7~2#1;havoc timeShift_~tmp___8~2#1;havoc timeShift_~tmp___9~2#1;assume { :begin_inline___utac_acc__Specification13_spec__1 } true;havoc __utac_acc__Specification13_spec__1_#t~ret4#1;assume { :begin_inline_getCurrentHeading } true;havoc getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~4#1;havoc getCurrentHeading_~retValue_acc~4#1;getCurrentHeading_~retValue_acc~4#1 := ~currentHeading~0;getCurrentHeading_#res#1 := getCurrentHeading_~retValue_acc~4#1;" "__utac_acc__Specification13_spec__1_#t~ret4#1 := getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~4#1;assume { :end_inline_getCurrentHeading } true;~prevDir~0 := __utac_acc__Specification13_spec__1_#t~ret4#1;havoc __utac_acc__Specification13_spec__1_#t~ret4#1;" "havoc __utac_acc__Specification13_spec__1_#t~ret4#1;assume { :end_inline___utac_acc__Specification13_spec__1 } true;assume { :begin_inline_stopRequestedAtCurrentFloor } true;havoc stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret49#1, stopRequestedAtCurrentFloor_#t~ret50#1, stopRequestedAtCurrentFloor_#t~ret51#1, stopRequestedAtCurrentFloor_#t~ret52#1, stopRequestedAtCurrentFloor_~retValue_acc~14#1, stopRequestedAtCurrentFloor_~tmp~13#1, stopRequestedAtCurrentFloor_~tmp___0~8#1;havoc stopRequestedAtCurrentFloor_~retValue_acc~14#1;havoc stopRequestedAtCurrentFloor_~tmp~13#1;havoc stopRequestedAtCurrentFloor_~tmp___0~8#1;assume { :begin_inline_isExecutiveFloorCalling } true;havoc isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret102#1, isExecutiveFloorCalling_~retValue_acc~17#1;havoc isExecutiveFloorCalling_~retValue_acc~17#1;assume { :begin_inline_isFloorCalling } true;isFloorCalling_#in~floorID#1 := ~executiveFloor~0;havoc isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~29#1;isFloorCalling_~floorID#1 := isFloorCalling_#in~floorID#1;havoc isFloorCalling_~retValue_acc~29#1;" "assume 0 == isFloorCalling_~floorID#1;isFloorCalling_~retValue_acc~29#1 := ~calls_0~0;isFloorCalling_#res#1 := isFloorCalling_~retValue_acc~29#1;" "isExecutiveFloorCalling_#t~ret102#1 := isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~29#1;havoc isFloorCalling_#in~floorID#1;assume { :end_inline_isFloorCalling } true;isExecutiveFloorCalling_~retValue_acc~17#1 := isExecutiveFloorCalling_#t~ret102#1;havoc isExecutiveFloorCalling_#t~ret102#1;isExecutiveFloorCalling_#res#1 := isExecutiveFloorCalling_~retValue_acc~17#1;" "stopRequestedAtCurrentFloor_#t~ret49#1 := isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret102#1, isExecutiveFloorCalling_~retValue_acc~17#1;assume { :end_inline_isExecutiveFloorCalling } true;stopRequestedAtCurrentFloor_~tmp~13#1 := stopRequestedAtCurrentFloor_#t~ret49#1;havoc stopRequestedAtCurrentFloor_#t~ret49#1;" "assume 0 != stopRequestedAtCurrentFloor_~tmp~13#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~1#1;havoc getCurrentFloorID_~retValue_acc~1#1;getCurrentFloorID_~retValue_acc~1#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~1#1;" "stopRequestedAtCurrentFloor_#t~ret50#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~1#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedAtCurrentFloor_~tmp___0~8#1 := stopRequestedAtCurrentFloor_#t~ret50#1;havoc stopRequestedAtCurrentFloor_#t~ret50#1;" "assume !(~executiveFloor~0 == stopRequestedAtCurrentFloor_~tmp___0~8#1);stopRequestedAtCurrentFloor_~retValue_acc~14#1 := 0;stopRequestedAtCurrentFloor_#res#1 := stopRequestedAtCurrentFloor_~retValue_acc~14#1;" "timeShift_#t~ret65#1 := stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret49#1, stopRequestedAtCurrentFloor_#t~ret50#1, stopRequestedAtCurrentFloor_#t~ret51#1, stopRequestedAtCurrentFloor_#t~ret52#1, stopRequestedAtCurrentFloor_~retValue_acc~14#1, stopRequestedAtCurrentFloor_~tmp~13#1, stopRequestedAtCurrentFloor_~tmp___0~8#1;assume { :end_inline_stopRequestedAtCurrentFloor } true;timeShift_~tmp___9~2#1 := timeShift_#t~ret65#1;havoc timeShift_#t~ret65#1;" "assume !(0 != timeShift_~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~ret40#1, stopRequestedInDirection_#t~ret41#1, stopRequestedInDirection_#t~ret42#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~10#1, stopRequestedInDirection_~tmp~9#1, stopRequestedInDirection_~tmp___0~5#1, stopRequestedInDirection_~__cil_tmp7~1#1, stopRequestedInDirection_~__cil_tmp8~2#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~10#1;havoc stopRequestedInDirection_~tmp~9#1;havoc stopRequestedInDirection_~tmp___0~5#1;havoc stopRequestedInDirection_~__cil_tmp7~1#1;havoc stopRequestedInDirection_~__cil_tmp8~2#1;assume { :begin_inline_isExecutiveFloorCalling } true;havoc isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret102#1, isExecutiveFloorCalling_~retValue_acc~17#1;havoc isExecutiveFloorCalling_~retValue_acc~17#1;assume { :begin_inline_isFloorCalling } true;isFloorCalling_#in~floorID#1 := ~executiveFloor~0;havoc isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~29#1;isFloorCalling_~floorID#1 := isFloorCalling_#in~floorID#1;havoc isFloorCalling_~retValue_acc~29#1;" "assume 0 == isFloorCalling_~floorID#1;isFloorCalling_~retValue_acc~29#1 := ~calls_0~0;isFloorCalling_#res#1 := isFloorCalling_~retValue_acc~29#1;" "isExecutiveFloorCalling_#t~ret102#1 := isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~29#1;havoc isFloorCalling_#in~floorID#1;assume { :end_inline_isFloorCalling } true;isExecutiveFloorCalling_~retValue_acc~17#1 := isExecutiveFloorCalling_#t~ret102#1;havoc isExecutiveFloorCalling_#t~ret102#1;isExecutiveFloorCalling_#res#1 := isExecutiveFloorCalling_~retValue_acc~17#1;" "stopRequestedInDirection_#t~ret40#1 := isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret102#1, isExecutiveFloorCalling_~retValue_acc~17#1;assume { :end_inline_isExecutiveFloorCalling } true;stopRequestedInDirection_~tmp___0~5#1 := stopRequestedInDirection_#t~ret40#1;havoc stopRequestedInDirection_#t~ret40#1;" "assume 0 != stopRequestedInDirection_~tmp___0~5#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~1#1;havoc getCurrentFloorID_~retValue_acc~1#1;getCurrentFloorID_~retValue_acc~1#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~1#1;" "stopRequestedInDirection_#t~ret41#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~1#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedInDirection_~tmp~9#1 := stopRequestedInDirection_#t~ret41#1;havoc stopRequestedInDirection_#t~ret41#1;stopRequestedInDirection_~__cil_tmp7~1#1 := (if 1 == stopRequestedInDirection_~dir#1 then 1 else 0);stopRequestedInDirection_~__cil_tmp8~2#1 := (if stopRequestedInDirection_~tmp~9#1 < ~executiveFloor~0 then 1 else 0);stopRequestedInDirection_~retValue_acc~10#1 := (if stopRequestedInDirection_~__cil_tmp8~2#1 == stopRequestedInDirection_~__cil_tmp7~1#1 then 1 else 0);stopRequestedInDirection_#res#1 := stopRequestedInDirection_~retValue_acc~10#1;" "timeShift_#t~ret72#1 := stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret40#1, stopRequestedInDirection_#t~ret41#1, stopRequestedInDirection_#t~ret42#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~10#1, stopRequestedInDirection_~tmp~9#1, stopRequestedInDirection_~tmp___0~5#1, stopRequestedInDirection_~__cil_tmp7~1#1, stopRequestedInDirection_~__cil_tmp8~2#1;havoc stopRequestedInDirection_#in~dir#1, stopRequestedInDirection_#in~respectFloorCalls#1, stopRequestedInDirection_#in~respectInLiftCalls#1;assume { :end_inline_stopRequestedInDirection } true;timeShift_~tmp___8~2#1 := timeShift_#t~ret72#1;havoc timeShift_#t~ret72#1;" "assume 0 != timeShift_~tmp___8~2#1;assume { :begin_inline_continueInDirection } true;continueInDirection_#in~dir#1 := ~currentHeading~0;havoc continueInDirection_#t~ret43#1, continueInDirection_~dir#1, continueInDirection_~tmp~10#1;continueInDirection_~dir#1 := continueInDirection_#in~dir#1;havoc continueInDirection_~tmp~10#1;~currentHeading~0 := continueInDirection_~dir#1;" "assume 1 == ~currentHeading~0;assume { :begin_inline_isTopFloor } true;isTopFloor_#in~floorID#1 := ~currentFloorID~0;havoc isTopFloor_#res#1;havoc isTopFloor_~floorID#1, isTopFloor_~retValue_acc~31#1;isTopFloor_~floorID#1 := isTopFloor_#in~floorID#1;havoc isTopFloor_~retValue_acc~31#1;isTopFloor_~retValue_acc~31#1 := (if 4 == isTopFloor_~floorID#1 then 1 else 0);isTopFloor_#res#1 := isTopFloor_~retValue_acc~31#1;" "continueInDirection_#t~ret43#1 := isTopFloor_#res#1;havoc isTopFloor_~floorID#1, isTopFloor_~retValue_acc~31#1;havoc isTopFloor_#in~floorID#1;assume { :end_inline_isTopFloor } true;continueInDirection_~tmp~10#1 := continueInDirection_#t~ret43#1;havoc continueInDirection_#t~ret43#1;" "assume 0 != continueInDirection_~tmp~10#1;~currentHeading~0 := 0;" "assume !(1 == ~currentHeading~0);~currentFloorID~0 := ~currentFloorID~0 - 1;" "havoc continueInDirection_#t~ret43#1, continueInDirection_~dir#1, continueInDirection_~tmp~10#1;havoc continueInDirection_#in~dir#1;assume { :end_inline_continueInDirection } true;" "assume { :begin_inline___utac_acc__Specification13_spec__2 } true;havoc __utac_acc__Specification13_spec__2_#t~ret5#1, __utac_acc__Specification13_spec__2_#t~ret6#1, __utac_acc__Specification13_spec__2_#t~ret7#1, __utac_acc__Specification13_spec__2_#t~ret8#1, __utac_acc__Specification13_spec__2_#t~ret9#1, __utac_acc__Specification13_spec__2_#t~ret10#1, __utac_acc__Specification13_spec__2_~tmp~0#1, __utac_acc__Specification13_spec__2_~tmp___0~0#1, __utac_acc__Specification13_spec__2_~tmp___1~0#1, __utac_acc__Specification13_spec__2_~tmp___2~0#1, __utac_acc__Specification13_spec__2_~tmp___3~0#1, __utac_acc__Specification13_spec__2_~tmp___4~0#1, __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1, __utac_acc__Specification13_spec__2_~__cil_tmp8~0#1;havoc __utac_acc__Specification13_spec__2_~tmp~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___0~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___1~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___2~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___3~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___4~0#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp8~0#1;__utac_acc__Specification13_spec__2_~__cil_tmp7~0#1 := 2 * ~maximumWeight~0;__utac_acc__Specification13_spec__2_~__cil_tmp8~0#1 := (if __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1 < 0 && 0 != __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1 % 3 then 1 + __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1 / 3 else __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1 / 3);" "assume ~weight~0 > __utac_acc__Specification13_spec__2_~__cil_tmp8~0#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~16#1, existInLiftCallsInDirection_~i~2#1, existInLiftCallsInDirection_~i___0~0#1;existInLiftCallsInDirection_~d#1 := existInLiftCallsInDirection_#in~d#1;havoc existInLiftCallsInDirection_~retValue_acc~16#1;havoc existInLiftCallsInDirection_~i~2#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;" [2024-11-12 21:28:36,258 INFO L749 eck$LassoCheckResult]: Loop: "assume !false;" "assume existInLiftCallsInDirection_~i___0~0#1 >= 0;" "existInLiftCallsInDirection_~i___0~0#1 := 1 + ~currentFloorID~0;" "assume !false;" "assume !(existInLiftCallsInDirection_~i___0~0#1 < 5);" "existInLiftCallsInDirection_~i___0~0#1 := existInLiftCallsInDirection_~i___0~0#1 - 1;" [2024-11-12 21:28:36,259 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 21:28:36,259 INFO L85 PathProgramCache]: Analyzing trace with hash -1576015870, now seen corresponding path program 1 times [2024-11-12 21:28:36,259 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 21:28:36,259 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1237444003] [2024-11-12 21:28:36,260 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 21:28:36,260 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 21:28:36,282 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-12 21:28:36,358 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-12 21:28:36,358 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1237444003] [2024-11-12 21:28:36,358 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1237444003] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-12 21:28:36,358 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1094198392] [2024-11-12 21:28:36,358 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 21:28:36,358 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-12 21:28:36,359 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-12 21:28:36,361 INFO L229 MonitoredProcess]: Starting monitored process 18 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-11-12 21:28:36,362 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (18)] Waiting until timeout for monitored process [2024-11-12 21:28:36,881 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-12 21:28:36,886 INFO L256 TraceCheckSpWp]: Trace formula consists of 649 conjuncts, 4 conjuncts are in the unsatisfiable core [2024-11-12 21:28:36,888 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2024-11-12 21:28:36,950 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2024-11-12 21:28:37,009 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1094198392] provided 0 perfect and 2 imperfect interpolant sequences [2024-11-12 21:28:37,009 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-11-12 21:28:37,009 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 7 [2024-11-12 21:28:37,009 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [48725497] [2024-11-12 21:28:37,009 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-11-12 21:28:37,010 INFO L752 eck$LassoCheckResult]: stem already infeasible [2024-11-12 21:28:37,010 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 21:28:37,010 INFO L85 PathProgramCache]: Analyzing trace with hash -1087190869, now seen corresponding path program 7 times [2024-11-12 21:28:37,010 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 21:28:37,010 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [796676903] [2024-11-12 21:28:37,010 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 21:28:37,010 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 21:28:37,016 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 21:28:37,017 INFO L357 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-12 21:28:37,018 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 21:28:37,023 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-12 21:28:37,043 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-12 21:28:37,043 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2024-11-12 21:28:37,043 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=37, Unknown=0, NotChecked=0, Total=56 [2024-11-12 21:28:37,044 INFO L87 Difference]: Start difference. First operand 29794 states and 54590 transitions. cyclomatic complexity: 24924 Second operand has 8 states, 8 states have (on average 19.75) internal successors, (158), 7 states have internal predecessors, (158), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-12 21:28:41,171 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-12 21:28:41,171 INFO L93 Difference]: Finished difference Result 29794 states and 52819 transitions. [2024-11-12 21:28:41,171 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 29794 states and 52819 transitions. [2024-11-12 21:28:41,277 INFO L131 ngComponentsAnalysis]: Automaton has 122 accepting balls. 9149 [2024-11-12 21:28:41,565 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 29794 states to 29794 states and 52819 transitions. [2024-11-12 21:28:41,565 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 29680 [2024-11-12 21:28:41,583 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 29680 [2024-11-12 21:28:41,583 INFO L73 IsDeterministic]: Start isDeterministic. Operand 29794 states and 52819 transitions. [2024-11-12 21:28:41,584 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-11-12 21:28:41,584 INFO L218 hiAutomatonCegarLoop]: Abstraction has 29794 states and 52819 transitions. [2024-11-12 21:28:41,601 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 29794 states and 52819 transitions. [2024-11-12 21:28:41,870 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 29794 to 29794. [2024-11-12 21:28:41,906 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 29794 states, 29794 states have (on average 1.7728066053567832) internal successors, (52819), 29793 states have internal predecessors, (52819), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-12 21:28:41,973 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29794 states to 29794 states and 52819 transitions. [2024-11-12 21:28:41,973 INFO L240 hiAutomatonCegarLoop]: Abstraction has 29794 states and 52819 transitions. [2024-11-12 21:28:41,973 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2024-11-12 21:28:41,974 INFO L426 stractBuchiCegarLoop]: Abstraction has 29794 states and 52819 transitions. [2024-11-12 21:28:41,974 INFO L333 stractBuchiCegarLoop]: ======== Iteration 10 ============ [2024-11-12 21:28:41,974 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 29794 states and 52819 transitions. [2024-11-12 21:28:42,076 INFO L131 ngComponentsAnalysis]: Automaton has 122 accepting balls. 9149 [2024-11-12 21:28:42,076 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-12 21:28:42,076 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-12 21:28:42,077 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-11-12 21:28:42,077 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1] [2024-11-12 21:28:42,077 INFO L747 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(10, 4);call #Ultimate.allocInit(4, 5);call write~init~int#1(91, 5, 0, 1);call write~init~int#1(95, 5, 1, 1);call write~init~int#1(93, 5, 2, 1);call write~init~int#1(0, 5, 3, 1);call #Ultimate.allocInit(4, 6);call write~init~int#2(91, 6, 0, 1);call write~init~int#2(93, 6, 1, 1);call write~init~int#2(32, 6, 2, 1);call write~init~int#2(0, 6, 3, 1);call #Ultimate.allocInit(5, 7);call write~init~int#3(32, 7, 0, 1);call write~init~int#3(97, 7, 1, 1);call write~init~int#3(116, 7, 2, 1);call write~init~int#3(32, 7, 3, 1);call write~init~int#3(0, 7, 4, 1);call #Ultimate.allocInit(3, 8);call write~init~int#4(37, 8, 0, 1);call write~init~int#4(105, 8, 1, 1);call write~init~int#4(0, 8, 2, 1);call #Ultimate.allocInit(10, 9);call #Ultimate.allocInit(3, 10);call write~init~int#5(117, 10, 0, 1);call write~init~int#5(112, 10, 1, 1);call write~init~int#5(0, 10, 2, 1);call #Ultimate.allocInit(5, 11);call write~init~int#6(100, 11, 0, 1);call write~init~int#6(111, 11, 1, 1);call write~init~int#6(119, 11, 2, 1);call write~init~int#6(110, 11, 3, 1);call write~init~int#6(0, 11, 4, 1);call #Ultimate.allocInit(7, 12);call write~init~int#7(32, 12, 0, 1);call write~init~int#7(73, 12, 1, 1);call write~init~int#7(76, 12, 2, 1);call write~init~int#7(95, 12, 3, 1);call write~init~int#7(112, 12, 4, 1);call write~init~int#7(58, 12, 5, 1);call write~init~int#7(0, 12, 6, 1);call #Ultimate.allocInit(4, 13);call write~init~int#8(32, 13, 0, 1);call write~init~int#8(37, 13, 1, 1);call write~init~int#8(105, 13, 2, 1);call write~init~int#8(0, 13, 3, 1);call #Ultimate.allocInit(4, 14);call write~init~int#9(32, 14, 0, 1);call write~init~int#9(37, 14, 1, 1);call write~init~int#9(105, 14, 2, 1);call write~init~int#9(0, 14, 3, 1);call #Ultimate.allocInit(4, 15);call write~init~int#10(32, 15, 0, 1);call write~init~int#10(37, 15, 1, 1);call write~init~int#10(105, 15, 2, 1);call write~init~int#10(0, 15, 3, 1);call #Ultimate.allocInit(4, 16);call write~init~int#11(32, 16, 0, 1);call write~init~int#11(37, 16, 1, 1);call write~init~int#11(105, 16, 2, 1);call write~init~int#11(0, 16, 3, 1);call #Ultimate.allocInit(4, 17);call write~init~int#12(32, 17, 0, 1);call write~init~int#12(37, 17, 1, 1);call write~init~int#12(105, 17, 2, 1);call write~init~int#12(0, 17, 3, 1);call #Ultimate.allocInit(6, 18);call write~init~int#13(32, 18, 0, 1);call write~init~int#13(70, 18, 1, 1);call write~init~int#13(95, 18, 2, 1);call write~init~int#13(112, 18, 3, 1);call write~init~int#13(58, 18, 4, 1);call write~init~int#13(0, 18, 5, 1);call #Ultimate.allocInit(4, 19);call write~init~int#14(32, 19, 0, 1);call write~init~int#14(37, 19, 1, 1);call write~init~int#14(105, 19, 2, 1);call write~init~int#14(0, 19, 3, 1);call #Ultimate.allocInit(4, 20);call write~init~int#15(32, 20, 0, 1);call write~init~int#15(37, 20, 1, 1);call write~init~int#15(105, 20, 2, 1);call write~init~int#15(0, 20, 3, 1);call #Ultimate.allocInit(4, 21);call write~init~int#16(32, 21, 0, 1);call write~init~int#16(37, 21, 1, 1);call write~init~int#16(105, 21, 2, 1);call write~init~int#16(0, 21, 3, 1);call #Ultimate.allocInit(4, 22);call write~init~int#17(32, 22, 0, 1);call write~init~int#17(37, 22, 1, 1);call write~init~int#17(105, 22, 2, 1);call write~init~int#17(0, 22, 3, 1);call #Ultimate.allocInit(4, 23);call write~init~int#18(32, 23, 0, 1);call write~init~int#18(37, 23, 1, 1);call write~init~int#18(105, 23, 2, 1);call write~init~int#18(0, 23, 3, 1);call #Ultimate.allocInit(2, 24);call write~init~int#19(10, 24, 0, 1);call write~init~int#19(0, 24, 1, 1);call #Ultimate.allocInit(30, 25);call #Ultimate.allocInit(9, 26);call #Ultimate.allocInit(21, 27);call #Ultimate.allocInit(30, 28);call #Ultimate.allocInit(9, 29);call #Ultimate.allocInit(21, 30);call #Ultimate.allocInit(30, 31);call #Ultimate.allocInit(9, 32);call #Ultimate.allocInit(25, 33);call #Ultimate.allocInit(30, 34);call #Ultimate.allocInit(9, 35);call #Ultimate.allocInit(25, 36);~weight~0 := 0;~maximumWeight~0 := 100;~executiveFloor~0 := 4;~prevDir~0 := 0;~cleanupTimeShifts~0 := 12;~currentHeading~0 := 1;~currentFloorID~0 := 0;~persons_0~0 := 0;~persons_1~0 := 0;~persons_2~0 := 0;~persons_3~0 := 0;~persons_4~0 := 0;~persons_5~0 := 0;~doorState~0 := 1;~floorButtons_0~0 := 0;~floorButtons_1~0 := 0;~floorButtons_2~0 := 0;~floorButtons_3~0 := 0;~floorButtons_4~0 := 0;~head~0.base, ~head~0.offset := 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;" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret116#1, main_~retValue_acc~23#1, main_~tmp~25#1;havoc main_~retValue_acc~23#1;havoc main_~tmp~25#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~28#1;havoc valid_product_~retValue_acc~28#1;valid_product_~retValue_acc~28#1 := 1;valid_product_#res#1 := valid_product_~retValue_acc~28#1;" "main_#t~ret116#1 := valid_product_#res#1;havoc valid_product_~retValue_acc~28#1;assume { :end_inline_valid_product } true;main_~tmp~25#1 := main_#t~ret116#1;havoc main_#t~ret116#1;" "assume 0 != main_~tmp~25#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~ret105#1, aliceCall_~tmp~18#1;havoc aliceCall_~tmp~18#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 1;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~20#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~20#1;" "assume !(0 == getOrigin_~person#1);" "assume 1 == getOrigin_~person#1;getOrigin_~retValue_acc~20#1 := 3;getOrigin_#res#1 := getOrigin_~retValue_acc~20#1;" "aliceCall_#t~ret105#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~20#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;aliceCall_~tmp~18#1 := aliceCall_#t~ret105#1;havoc aliceCall_#t~ret105#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 1, aliceCall_~tmp~18#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~ret105#1, aliceCall_~tmp~18#1;assume { :end_inline_aliceCall } true;assume { :begin_inline_angelinaCall } true;havoc angelinaCall_#t~ret106#1, angelinaCall_~tmp~19#1;havoc angelinaCall_~tmp~19#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 2;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~20#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~20#1;" "assume !(0 == getOrigin_~person#1);" "assume !(1 == getOrigin_~person#1);" "assume 2 == getOrigin_~person#1;getOrigin_~retValue_acc~20#1 := 2;getOrigin_#res#1 := getOrigin_~retValue_acc~20#1;" "angelinaCall_#t~ret106#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~20#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;angelinaCall_~tmp~19#1 := angelinaCall_#t~ret106#1;havoc angelinaCall_#t~ret106#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 2, angelinaCall_~tmp~19#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~ret106#1, angelinaCall_~tmp~19#1;assume { :end_inline_angelinaCall } true;assume { :begin_inline_threeTS } true;assume { :begin_inline_timeShift } true;havoc timeShift_#t~ret65#1, timeShift_#t~ret66#1, timeShift_#t~ret67#1, timeShift_#t~ret68#1, timeShift_#t~ret69#1, timeShift_#t~ret70#1, timeShift_#t~ret71#1, timeShift_#t~ret72#1, timeShift_#t~ret73#1, timeShift_#t~ret74#1, timeShift_#t~ret75#1, timeShift_~tmp~15#1, timeShift_~tmp___0~10#1, timeShift_~tmp___1~6#1, timeShift_~tmp___2~4#1, timeShift_~tmp___3~4#1, timeShift_~tmp___4~3#1, timeShift_~tmp___5~2#1, timeShift_~tmp___6~2#1, timeShift_~tmp___7~2#1, timeShift_~tmp___8~2#1, timeShift_~tmp___9~2#1;havoc timeShift_~tmp~15#1;havoc timeShift_~tmp___0~10#1;havoc timeShift_~tmp___1~6#1;havoc timeShift_~tmp___2~4#1;havoc timeShift_~tmp___3~4#1;havoc timeShift_~tmp___4~3#1;havoc timeShift_~tmp___5~2#1;havoc timeShift_~tmp___6~2#1;havoc timeShift_~tmp___7~2#1;havoc timeShift_~tmp___8~2#1;havoc timeShift_~tmp___9~2#1;assume { :begin_inline___utac_acc__Specification13_spec__1 } true;havoc __utac_acc__Specification13_spec__1_#t~ret4#1;assume { :begin_inline_getCurrentHeading } true;havoc getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~4#1;havoc getCurrentHeading_~retValue_acc~4#1;getCurrentHeading_~retValue_acc~4#1 := ~currentHeading~0;getCurrentHeading_#res#1 := getCurrentHeading_~retValue_acc~4#1;" "__utac_acc__Specification13_spec__1_#t~ret4#1 := getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~4#1;assume { :end_inline_getCurrentHeading } true;~prevDir~0 := __utac_acc__Specification13_spec__1_#t~ret4#1;havoc __utac_acc__Specification13_spec__1_#t~ret4#1;" "havoc __utac_acc__Specification13_spec__1_#t~ret4#1;assume { :end_inline___utac_acc__Specification13_spec__1 } true;assume { :begin_inline_stopRequestedAtCurrentFloor } true;havoc stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret49#1, stopRequestedAtCurrentFloor_#t~ret50#1, stopRequestedAtCurrentFloor_#t~ret51#1, stopRequestedAtCurrentFloor_#t~ret52#1, stopRequestedAtCurrentFloor_~retValue_acc~14#1, stopRequestedAtCurrentFloor_~tmp~13#1, stopRequestedAtCurrentFloor_~tmp___0~8#1;havoc stopRequestedAtCurrentFloor_~retValue_acc~14#1;havoc stopRequestedAtCurrentFloor_~tmp~13#1;havoc stopRequestedAtCurrentFloor_~tmp___0~8#1;assume { :begin_inline_isExecutiveFloorCalling } true;havoc isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret102#1, isExecutiveFloorCalling_~retValue_acc~17#1;havoc isExecutiveFloorCalling_~retValue_acc~17#1;assume { :begin_inline_isFloorCalling } true;isFloorCalling_#in~floorID#1 := ~executiveFloor~0;havoc isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~29#1;isFloorCalling_~floorID#1 := isFloorCalling_#in~floorID#1;havoc isFloorCalling_~retValue_acc~29#1;" "assume !(0 == isFloorCalling_~floorID#1);" "assume !(1 == isFloorCalling_~floorID#1);" "assume !(2 == isFloorCalling_~floorID#1);" "assume !(3 == isFloorCalling_~floorID#1);" "assume 4 == isFloorCalling_~floorID#1;isFloorCalling_~retValue_acc~29#1 := ~calls_4~0;isFloorCalling_#res#1 := isFloorCalling_~retValue_acc~29#1;" "isExecutiveFloorCalling_#t~ret102#1 := isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~29#1;havoc isFloorCalling_#in~floorID#1;assume { :end_inline_isFloorCalling } true;isExecutiveFloorCalling_~retValue_acc~17#1 := isExecutiveFloorCalling_#t~ret102#1;havoc isExecutiveFloorCalling_#t~ret102#1;isExecutiveFloorCalling_#res#1 := isExecutiveFloorCalling_~retValue_acc~17#1;" "stopRequestedAtCurrentFloor_#t~ret49#1 := isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret102#1, isExecutiveFloorCalling_~retValue_acc~17#1;assume { :end_inline_isExecutiveFloorCalling } true;stopRequestedAtCurrentFloor_~tmp~13#1 := stopRequestedAtCurrentFloor_#t~ret49#1;havoc stopRequestedAtCurrentFloor_#t~ret49#1;" "assume 0 != stopRequestedAtCurrentFloor_~tmp~13#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~1#1;havoc getCurrentFloorID_~retValue_acc~1#1;getCurrentFloorID_~retValue_acc~1#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~1#1;" "stopRequestedAtCurrentFloor_#t~ret50#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~1#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedAtCurrentFloor_~tmp___0~8#1 := stopRequestedAtCurrentFloor_#t~ret50#1;havoc stopRequestedAtCurrentFloor_#t~ret50#1;" "assume !(~executiveFloor~0 == stopRequestedAtCurrentFloor_~tmp___0~8#1);stopRequestedAtCurrentFloor_~retValue_acc~14#1 := 0;stopRequestedAtCurrentFloor_#res#1 := stopRequestedAtCurrentFloor_~retValue_acc~14#1;" "timeShift_#t~ret65#1 := stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret49#1, stopRequestedAtCurrentFloor_#t~ret50#1, stopRequestedAtCurrentFloor_#t~ret51#1, stopRequestedAtCurrentFloor_#t~ret52#1, stopRequestedAtCurrentFloor_~retValue_acc~14#1, stopRequestedAtCurrentFloor_~tmp~13#1, stopRequestedAtCurrentFloor_~tmp___0~8#1;assume { :end_inline_stopRequestedAtCurrentFloor } true;timeShift_~tmp___9~2#1 := timeShift_#t~ret65#1;havoc timeShift_#t~ret65#1;" "assume !(0 != timeShift_~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~ret40#1, stopRequestedInDirection_#t~ret41#1, stopRequestedInDirection_#t~ret42#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~10#1, stopRequestedInDirection_~tmp~9#1, stopRequestedInDirection_~tmp___0~5#1, stopRequestedInDirection_~__cil_tmp7~1#1, stopRequestedInDirection_~__cil_tmp8~2#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~10#1;havoc stopRequestedInDirection_~tmp~9#1;havoc stopRequestedInDirection_~tmp___0~5#1;havoc stopRequestedInDirection_~__cil_tmp7~1#1;havoc stopRequestedInDirection_~__cil_tmp8~2#1;assume { :begin_inline_isExecutiveFloorCalling } true;havoc isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret102#1, isExecutiveFloorCalling_~retValue_acc~17#1;havoc isExecutiveFloorCalling_~retValue_acc~17#1;assume { :begin_inline_isFloorCalling } true;isFloorCalling_#in~floorID#1 := ~executiveFloor~0;havoc isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~29#1;isFloorCalling_~floorID#1 := isFloorCalling_#in~floorID#1;havoc isFloorCalling_~retValue_acc~29#1;" "assume !(0 == isFloorCalling_~floorID#1);" "assume !(1 == isFloorCalling_~floorID#1);" "assume !(2 == isFloorCalling_~floorID#1);" "assume !(3 == isFloorCalling_~floorID#1);" "assume 4 == isFloorCalling_~floorID#1;isFloorCalling_~retValue_acc~29#1 := ~calls_4~0;isFloorCalling_#res#1 := isFloorCalling_~retValue_acc~29#1;" "isExecutiveFloorCalling_#t~ret102#1 := isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~29#1;havoc isFloorCalling_#in~floorID#1;assume { :end_inline_isFloorCalling } true;isExecutiveFloorCalling_~retValue_acc~17#1 := isExecutiveFloorCalling_#t~ret102#1;havoc isExecutiveFloorCalling_#t~ret102#1;isExecutiveFloorCalling_#res#1 := isExecutiveFloorCalling_~retValue_acc~17#1;" "stopRequestedInDirection_#t~ret40#1 := isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret102#1, isExecutiveFloorCalling_~retValue_acc~17#1;assume { :end_inline_isExecutiveFloorCalling } true;stopRequestedInDirection_~tmp___0~5#1 := stopRequestedInDirection_#t~ret40#1;havoc stopRequestedInDirection_#t~ret40#1;" "assume 0 != stopRequestedInDirection_~tmp___0~5#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~1#1;havoc getCurrentFloorID_~retValue_acc~1#1;getCurrentFloorID_~retValue_acc~1#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~1#1;" "stopRequestedInDirection_#t~ret41#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~1#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedInDirection_~tmp~9#1 := stopRequestedInDirection_#t~ret41#1;havoc stopRequestedInDirection_#t~ret41#1;stopRequestedInDirection_~__cil_tmp7~1#1 := (if 1 == stopRequestedInDirection_~dir#1 then 1 else 0);stopRequestedInDirection_~__cil_tmp8~2#1 := (if stopRequestedInDirection_~tmp~9#1 < ~executiveFloor~0 then 1 else 0);stopRequestedInDirection_~retValue_acc~10#1 := (if stopRequestedInDirection_~__cil_tmp8~2#1 == stopRequestedInDirection_~__cil_tmp7~1#1 then 1 else 0);stopRequestedInDirection_#res#1 := stopRequestedInDirection_~retValue_acc~10#1;" "timeShift_#t~ret72#1 := stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret40#1, stopRequestedInDirection_#t~ret41#1, stopRequestedInDirection_#t~ret42#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~10#1, stopRequestedInDirection_~tmp~9#1, stopRequestedInDirection_~tmp___0~5#1, stopRequestedInDirection_~__cil_tmp7~1#1, stopRequestedInDirection_~__cil_tmp8~2#1;havoc stopRequestedInDirection_#in~dir#1, stopRequestedInDirection_#in~respectFloorCalls#1, stopRequestedInDirection_#in~respectInLiftCalls#1;assume { :end_inline_stopRequestedInDirection } true;timeShift_~tmp___8~2#1 := timeShift_#t~ret72#1;havoc timeShift_#t~ret72#1;" "assume 0 != timeShift_~tmp___8~2#1;assume { :begin_inline_continueInDirection } true;continueInDirection_#in~dir#1 := ~currentHeading~0;havoc continueInDirection_#t~ret43#1, continueInDirection_~dir#1, continueInDirection_~tmp~10#1;continueInDirection_~dir#1 := continueInDirection_#in~dir#1;havoc continueInDirection_~tmp~10#1;~currentHeading~0 := continueInDirection_~dir#1;" "assume 1 == ~currentHeading~0;assume { :begin_inline_isTopFloor } true;isTopFloor_#in~floorID#1 := ~currentFloorID~0;havoc isTopFloor_#res#1;havoc isTopFloor_~floorID#1, isTopFloor_~retValue_acc~31#1;isTopFloor_~floorID#1 := isTopFloor_#in~floorID#1;havoc isTopFloor_~retValue_acc~31#1;isTopFloor_~retValue_acc~31#1 := (if 4 == isTopFloor_~floorID#1 then 1 else 0);isTopFloor_#res#1 := isTopFloor_~retValue_acc~31#1;" "continueInDirection_#t~ret43#1 := isTopFloor_#res#1;havoc isTopFloor_~floorID#1, isTopFloor_~retValue_acc~31#1;havoc isTopFloor_#in~floorID#1;assume { :end_inline_isTopFloor } true;continueInDirection_~tmp~10#1 := continueInDirection_#t~ret43#1;havoc continueInDirection_#t~ret43#1;" "assume 0 != continueInDirection_~tmp~10#1;~currentHeading~0 := 0;" "assume !(1 == ~currentHeading~0);~currentFloorID~0 := ~currentFloorID~0 - 1;" "havoc continueInDirection_#t~ret43#1, continueInDirection_~dir#1, continueInDirection_~tmp~10#1;havoc continueInDirection_#in~dir#1;assume { :end_inline_continueInDirection } true;" "assume { :begin_inline___utac_acc__Specification13_spec__2 } true;havoc __utac_acc__Specification13_spec__2_#t~ret5#1, __utac_acc__Specification13_spec__2_#t~ret6#1, __utac_acc__Specification13_spec__2_#t~ret7#1, __utac_acc__Specification13_spec__2_#t~ret8#1, __utac_acc__Specification13_spec__2_#t~ret9#1, __utac_acc__Specification13_spec__2_#t~ret10#1, __utac_acc__Specification13_spec__2_~tmp~0#1, __utac_acc__Specification13_spec__2_~tmp___0~0#1, __utac_acc__Specification13_spec__2_~tmp___1~0#1, __utac_acc__Specification13_spec__2_~tmp___2~0#1, __utac_acc__Specification13_spec__2_~tmp___3~0#1, __utac_acc__Specification13_spec__2_~tmp___4~0#1, __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1, __utac_acc__Specification13_spec__2_~__cil_tmp8~0#1;havoc __utac_acc__Specification13_spec__2_~tmp~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___0~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___1~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___2~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___3~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___4~0#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp8~0#1;__utac_acc__Specification13_spec__2_~__cil_tmp7~0#1 := 2 * ~maximumWeight~0;__utac_acc__Specification13_spec__2_~__cil_tmp8~0#1 := (if __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1 < 0 && 0 != __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1 % 3 then 1 + __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1 / 3 else __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1 / 3);" "assume ~weight~0 > __utac_acc__Specification13_spec__2_~__cil_tmp8~0#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~16#1, existInLiftCallsInDirection_~i~2#1, existInLiftCallsInDirection_~i___0~0#1;existInLiftCallsInDirection_~d#1 := existInLiftCallsInDirection_#in~d#1;havoc existInLiftCallsInDirection_~retValue_acc~16#1;havoc existInLiftCallsInDirection_~i~2#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;" [2024-11-12 21:28:42,079 INFO L749 eck$LassoCheckResult]: Loop: "assume !false;" "assume existInLiftCallsInDirection_~i___0~0#1 >= 0;" "existInLiftCallsInDirection_~i___0~0#1 := 1 + ~currentFloorID~0;" "assume !false;" "assume !(existInLiftCallsInDirection_~i___0~0#1 < 5);" "existInLiftCallsInDirection_~i___0~0#1 := existInLiftCallsInDirection_~i___0~0#1 - 1;" [2024-11-12 21:28:42,079 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 21:28:42,080 INFO L85 PathProgramCache]: Analyzing trace with hash 1369921430, now seen corresponding path program 1 times [2024-11-12 21:28:42,080 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 21:28:42,080 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1435474359] [2024-11-12 21:28:42,080 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 21:28:42,080 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 21:28:42,107 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-12 21:28:42,217 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-12 21:28:42,217 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1435474359] [2024-11-12 21:28:42,217 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1435474359] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-12 21:28:42,217 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [611377966] [2024-11-12 21:28:42,218 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 21:28:42,218 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-12 21:28:42,218 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-12 21:28:42,220 INFO L229 MonitoredProcess]: Starting monitored process 19 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-11-12 21:28:42,222 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (19)] Waiting until timeout for monitored process [2024-11-12 21:28:42,696 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-12 21:28:42,698 INFO L256 TraceCheckSpWp]: Trace formula consists of 657 conjuncts, 5 conjuncts are in the unsatisfiable core [2024-11-12 21:28:42,700 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2024-11-12 21:28:43,035 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2024-11-12 21:28:43,874 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [611377966] provided 0 perfect and 2 imperfect interpolant sequences [2024-11-12 21:28:43,874 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-11-12 21:28:43,874 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 3, 3] total 9 [2024-11-12 21:28:43,874 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1048109980] [2024-11-12 21:28:43,875 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-11-12 21:28:43,875 INFO L752 eck$LassoCheckResult]: stem already infeasible [2024-11-12 21:28:43,878 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 21:28:43,878 INFO L85 PathProgramCache]: Analyzing trace with hash -1087190869, now seen corresponding path program 8 times [2024-11-12 21:28:43,878 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 21:28:43,879 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2040041437] [2024-11-12 21:28:43,879 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 21:28:43,879 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 21:28:43,890 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 21:28:43,890 INFO L357 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-12 21:28:43,892 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 21:28:43,899 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-12 21:28:43,921 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-12 21:28:43,921 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2024-11-12 21:28:43,922 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=71, Unknown=0, NotChecked=0, Total=90 [2024-11-12 21:28:43,922 INFO L87 Difference]: Start difference. First operand 29794 states and 52819 transitions. cyclomatic complexity: 23153 Second operand has 10 states, 10 states have (on average 22.8) internal successors, (228), 9 states have internal predecessors, (228), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-12 21:28:52,072 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-12 21:28:52,073 INFO L93 Difference]: Finished difference Result 106460 states and 188051 transitions. [2024-11-12 21:28:52,073 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 106460 states and 188051 transitions. [2024-11-12 21:28:52,728 INFO L131 ngComponentsAnalysis]: Automaton has 200 accepting balls. 27464 [2024-11-12 21:28:53,049 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 106460 states to 106460 states and 188051 transitions. [2024-11-12 21:28:53,050 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 106384 [2024-11-12 21:28:53,132 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 106384 [2024-11-12 21:28:53,132 INFO L73 IsDeterministic]: Start isDeterministic. Operand 106460 states and 188051 transitions. [2024-11-12 21:28:53,139 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-11-12 21:28:53,139 INFO L218 hiAutomatonCegarLoop]: Abstraction has 106460 states and 188051 transitions. [2024-11-12 21:28:53,216 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 106460 states and 188051 transitions. [2024-11-12 21:28:54,322 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 106460 to 87932. [2024-11-12 21:28:54,406 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 87932 states, 87932 states have (on average 1.7652163035072557) internal successors, (155219), 87931 states have internal predecessors, (155219), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-12 21:28:54,588 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 87932 states to 87932 states and 155219 transitions. [2024-11-12 21:28:54,588 INFO L240 hiAutomatonCegarLoop]: Abstraction has 87932 states and 155219 transitions. [2024-11-12 21:28:54,588 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2024-11-12 21:28:54,589 INFO L426 stractBuchiCegarLoop]: Abstraction has 87932 states and 155219 transitions. [2024-11-12 21:28:54,589 INFO L333 stractBuchiCegarLoop]: ======== Iteration 11 ============ [2024-11-12 21:28:54,589 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 87932 states and 155219 transitions. [2024-11-12 21:28:54,894 INFO L131 ngComponentsAnalysis]: Automaton has 200 accepting balls. 26692 [2024-11-12 21:28:54,894 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-12 21:28:54,894 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-12 21:28:54,895 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-11-12 21:28:54,895 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1] [2024-11-12 21:28:54,896 INFO L747 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(10, 4);call #Ultimate.allocInit(4, 5);call write~init~int#1(91, 5, 0, 1);call write~init~int#1(95, 5, 1, 1);call write~init~int#1(93, 5, 2, 1);call write~init~int#1(0, 5, 3, 1);call #Ultimate.allocInit(4, 6);call write~init~int#2(91, 6, 0, 1);call write~init~int#2(93, 6, 1, 1);call write~init~int#2(32, 6, 2, 1);call write~init~int#2(0, 6, 3, 1);call #Ultimate.allocInit(5, 7);call write~init~int#3(32, 7, 0, 1);call write~init~int#3(97, 7, 1, 1);call write~init~int#3(116, 7, 2, 1);call write~init~int#3(32, 7, 3, 1);call write~init~int#3(0, 7, 4, 1);call #Ultimate.allocInit(3, 8);call write~init~int#4(37, 8, 0, 1);call write~init~int#4(105, 8, 1, 1);call write~init~int#4(0, 8, 2, 1);call #Ultimate.allocInit(10, 9);call #Ultimate.allocInit(3, 10);call write~init~int#5(117, 10, 0, 1);call write~init~int#5(112, 10, 1, 1);call write~init~int#5(0, 10, 2, 1);call #Ultimate.allocInit(5, 11);call write~init~int#6(100, 11, 0, 1);call write~init~int#6(111, 11, 1, 1);call write~init~int#6(119, 11, 2, 1);call write~init~int#6(110, 11, 3, 1);call write~init~int#6(0, 11, 4, 1);call #Ultimate.allocInit(7, 12);call write~init~int#7(32, 12, 0, 1);call write~init~int#7(73, 12, 1, 1);call write~init~int#7(76, 12, 2, 1);call write~init~int#7(95, 12, 3, 1);call write~init~int#7(112, 12, 4, 1);call write~init~int#7(58, 12, 5, 1);call write~init~int#7(0, 12, 6, 1);call #Ultimate.allocInit(4, 13);call write~init~int#8(32, 13, 0, 1);call write~init~int#8(37, 13, 1, 1);call write~init~int#8(105, 13, 2, 1);call write~init~int#8(0, 13, 3, 1);call #Ultimate.allocInit(4, 14);call write~init~int#9(32, 14, 0, 1);call write~init~int#9(37, 14, 1, 1);call write~init~int#9(105, 14, 2, 1);call write~init~int#9(0, 14, 3, 1);call #Ultimate.allocInit(4, 15);call write~init~int#10(32, 15, 0, 1);call write~init~int#10(37, 15, 1, 1);call write~init~int#10(105, 15, 2, 1);call write~init~int#10(0, 15, 3, 1);call #Ultimate.allocInit(4, 16);call write~init~int#11(32, 16, 0, 1);call write~init~int#11(37, 16, 1, 1);call write~init~int#11(105, 16, 2, 1);call write~init~int#11(0, 16, 3, 1);call #Ultimate.allocInit(4, 17);call write~init~int#12(32, 17, 0, 1);call write~init~int#12(37, 17, 1, 1);call write~init~int#12(105, 17, 2, 1);call write~init~int#12(0, 17, 3, 1);call #Ultimate.allocInit(6, 18);call write~init~int#13(32, 18, 0, 1);call write~init~int#13(70, 18, 1, 1);call write~init~int#13(95, 18, 2, 1);call write~init~int#13(112, 18, 3, 1);call write~init~int#13(58, 18, 4, 1);call write~init~int#13(0, 18, 5, 1);call #Ultimate.allocInit(4, 19);call write~init~int#14(32, 19, 0, 1);call write~init~int#14(37, 19, 1, 1);call write~init~int#14(105, 19, 2, 1);call write~init~int#14(0, 19, 3, 1);call #Ultimate.allocInit(4, 20);call write~init~int#15(32, 20, 0, 1);call write~init~int#15(37, 20, 1, 1);call write~init~int#15(105, 20, 2, 1);call write~init~int#15(0, 20, 3, 1);call #Ultimate.allocInit(4, 21);call write~init~int#16(32, 21, 0, 1);call write~init~int#16(37, 21, 1, 1);call write~init~int#16(105, 21, 2, 1);call write~init~int#16(0, 21, 3, 1);call #Ultimate.allocInit(4, 22);call write~init~int#17(32, 22, 0, 1);call write~init~int#17(37, 22, 1, 1);call write~init~int#17(105, 22, 2, 1);call write~init~int#17(0, 22, 3, 1);call #Ultimate.allocInit(4, 23);call write~init~int#18(32, 23, 0, 1);call write~init~int#18(37, 23, 1, 1);call write~init~int#18(105, 23, 2, 1);call write~init~int#18(0, 23, 3, 1);call #Ultimate.allocInit(2, 24);call write~init~int#19(10, 24, 0, 1);call write~init~int#19(0, 24, 1, 1);call #Ultimate.allocInit(30, 25);call #Ultimate.allocInit(9, 26);call #Ultimate.allocInit(21, 27);call #Ultimate.allocInit(30, 28);call #Ultimate.allocInit(9, 29);call #Ultimate.allocInit(21, 30);call #Ultimate.allocInit(30, 31);call #Ultimate.allocInit(9, 32);call #Ultimate.allocInit(25, 33);call #Ultimate.allocInit(30, 34);call #Ultimate.allocInit(9, 35);call #Ultimate.allocInit(25, 36);~weight~0 := 0;~maximumWeight~0 := 100;~executiveFloor~0 := 4;~prevDir~0 := 0;~cleanupTimeShifts~0 := 12;~currentHeading~0 := 1;~currentFloorID~0 := 0;~persons_0~0 := 0;~persons_1~0 := 0;~persons_2~0 := 0;~persons_3~0 := 0;~persons_4~0 := 0;~persons_5~0 := 0;~doorState~0 := 1;~floorButtons_0~0 := 0;~floorButtons_1~0 := 0;~floorButtons_2~0 := 0;~floorButtons_3~0 := 0;~floorButtons_4~0 := 0;~head~0.base, ~head~0.offset := 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;" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret116#1, main_~retValue_acc~23#1, main_~tmp~25#1;havoc main_~retValue_acc~23#1;havoc main_~tmp~25#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~28#1;havoc valid_product_~retValue_acc~28#1;valid_product_~retValue_acc~28#1 := 1;valid_product_#res#1 := valid_product_~retValue_acc~28#1;" "main_#t~ret116#1 := valid_product_#res#1;havoc valid_product_~retValue_acc~28#1;assume { :end_inline_valid_product } true;main_~tmp~25#1 := main_#t~ret116#1;havoc main_#t~ret116#1;" "assume 0 != main_~tmp~25#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~ret105#1, aliceCall_~tmp~18#1;havoc aliceCall_~tmp~18#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 1;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~20#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~20#1;" "assume !(0 == getOrigin_~person#1);" "assume 1 == getOrigin_~person#1;getOrigin_~retValue_acc~20#1 := 3;getOrigin_#res#1 := getOrigin_~retValue_acc~20#1;" "aliceCall_#t~ret105#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~20#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;aliceCall_~tmp~18#1 := aliceCall_#t~ret105#1;havoc aliceCall_#t~ret105#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 1, aliceCall_~tmp~18#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);" "assume 4 == callOnFloor_~floorID#1;~calls_4~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~ret105#1, aliceCall_~tmp~18#1;assume { :end_inline_aliceCall } true;assume { :begin_inline_angelinaCall } true;havoc angelinaCall_#t~ret106#1, angelinaCall_~tmp~19#1;havoc angelinaCall_~tmp~19#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 2;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~20#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~20#1;" "assume !(0 == getOrigin_~person#1);" "assume !(1 == getOrigin_~person#1);" "assume 2 == getOrigin_~person#1;getOrigin_~retValue_acc~20#1 := 2;getOrigin_#res#1 := getOrigin_~retValue_acc~20#1;" "angelinaCall_#t~ret106#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~20#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;angelinaCall_~tmp~19#1 := angelinaCall_#t~ret106#1;havoc angelinaCall_#t~ret106#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 2, angelinaCall_~tmp~19#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~ret106#1, angelinaCall_~tmp~19#1;assume { :end_inline_angelinaCall } true;assume { :begin_inline_threeTS } true;assume { :begin_inline_timeShift } true;havoc timeShift_#t~ret65#1, timeShift_#t~ret66#1, timeShift_#t~ret67#1, timeShift_#t~ret68#1, timeShift_#t~ret69#1, timeShift_#t~ret70#1, timeShift_#t~ret71#1, timeShift_#t~ret72#1, timeShift_#t~ret73#1, timeShift_#t~ret74#1, timeShift_#t~ret75#1, timeShift_~tmp~15#1, timeShift_~tmp___0~10#1, timeShift_~tmp___1~6#1, timeShift_~tmp___2~4#1, timeShift_~tmp___3~4#1, timeShift_~tmp___4~3#1, timeShift_~tmp___5~2#1, timeShift_~tmp___6~2#1, timeShift_~tmp___7~2#1, timeShift_~tmp___8~2#1, timeShift_~tmp___9~2#1;havoc timeShift_~tmp~15#1;havoc timeShift_~tmp___0~10#1;havoc timeShift_~tmp___1~6#1;havoc timeShift_~tmp___2~4#1;havoc timeShift_~tmp___3~4#1;havoc timeShift_~tmp___4~3#1;havoc timeShift_~tmp___5~2#1;havoc timeShift_~tmp___6~2#1;havoc timeShift_~tmp___7~2#1;havoc timeShift_~tmp___8~2#1;havoc timeShift_~tmp___9~2#1;assume { :begin_inline___utac_acc__Specification13_spec__1 } true;havoc __utac_acc__Specification13_spec__1_#t~ret4#1;assume { :begin_inline_getCurrentHeading } true;havoc getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~4#1;havoc getCurrentHeading_~retValue_acc~4#1;getCurrentHeading_~retValue_acc~4#1 := ~currentHeading~0;getCurrentHeading_#res#1 := getCurrentHeading_~retValue_acc~4#1;" "__utac_acc__Specification13_spec__1_#t~ret4#1 := getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~4#1;assume { :end_inline_getCurrentHeading } true;~prevDir~0 := __utac_acc__Specification13_spec__1_#t~ret4#1;havoc __utac_acc__Specification13_spec__1_#t~ret4#1;" "havoc __utac_acc__Specification13_spec__1_#t~ret4#1;assume { :end_inline___utac_acc__Specification13_spec__1 } true;assume { :begin_inline_stopRequestedAtCurrentFloor } true;havoc stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret49#1, stopRequestedAtCurrentFloor_#t~ret50#1, stopRequestedAtCurrentFloor_#t~ret51#1, stopRequestedAtCurrentFloor_#t~ret52#1, stopRequestedAtCurrentFloor_~retValue_acc~14#1, stopRequestedAtCurrentFloor_~tmp~13#1, stopRequestedAtCurrentFloor_~tmp___0~8#1;havoc stopRequestedAtCurrentFloor_~retValue_acc~14#1;havoc stopRequestedAtCurrentFloor_~tmp~13#1;havoc stopRequestedAtCurrentFloor_~tmp___0~8#1;assume { :begin_inline_isExecutiveFloorCalling } true;havoc isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret102#1, isExecutiveFloorCalling_~retValue_acc~17#1;havoc isExecutiveFloorCalling_~retValue_acc~17#1;assume { :begin_inline_isFloorCalling } true;isFloorCalling_#in~floorID#1 := ~executiveFloor~0;havoc isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~29#1;isFloorCalling_~floorID#1 := isFloorCalling_#in~floorID#1;havoc isFloorCalling_~retValue_acc~29#1;" "assume !(0 == isFloorCalling_~floorID#1);" "assume !(1 == isFloorCalling_~floorID#1);" "assume !(2 == isFloorCalling_~floorID#1);" "assume !(3 == isFloorCalling_~floorID#1);" "assume 4 == isFloorCalling_~floorID#1;isFloorCalling_~retValue_acc~29#1 := ~calls_4~0;isFloorCalling_#res#1 := isFloorCalling_~retValue_acc~29#1;" "isExecutiveFloorCalling_#t~ret102#1 := isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~29#1;havoc isFloorCalling_#in~floorID#1;assume { :end_inline_isFloorCalling } true;isExecutiveFloorCalling_~retValue_acc~17#1 := isExecutiveFloorCalling_#t~ret102#1;havoc isExecutiveFloorCalling_#t~ret102#1;isExecutiveFloorCalling_#res#1 := isExecutiveFloorCalling_~retValue_acc~17#1;" "stopRequestedAtCurrentFloor_#t~ret49#1 := isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret102#1, isExecutiveFloorCalling_~retValue_acc~17#1;assume { :end_inline_isExecutiveFloorCalling } true;stopRequestedAtCurrentFloor_~tmp~13#1 := stopRequestedAtCurrentFloor_#t~ret49#1;havoc stopRequestedAtCurrentFloor_#t~ret49#1;" "assume 0 != stopRequestedAtCurrentFloor_~tmp~13#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~1#1;havoc getCurrentFloorID_~retValue_acc~1#1;getCurrentFloorID_~retValue_acc~1#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~1#1;" "stopRequestedAtCurrentFloor_#t~ret50#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~1#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedAtCurrentFloor_~tmp___0~8#1 := stopRequestedAtCurrentFloor_#t~ret50#1;havoc stopRequestedAtCurrentFloor_#t~ret50#1;" "assume !(~executiveFloor~0 == stopRequestedAtCurrentFloor_~tmp___0~8#1);stopRequestedAtCurrentFloor_~retValue_acc~14#1 := 0;stopRequestedAtCurrentFloor_#res#1 := stopRequestedAtCurrentFloor_~retValue_acc~14#1;" "timeShift_#t~ret65#1 := stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret49#1, stopRequestedAtCurrentFloor_#t~ret50#1, stopRequestedAtCurrentFloor_#t~ret51#1, stopRequestedAtCurrentFloor_#t~ret52#1, stopRequestedAtCurrentFloor_~retValue_acc~14#1, stopRequestedAtCurrentFloor_~tmp~13#1, stopRequestedAtCurrentFloor_~tmp___0~8#1;assume { :end_inline_stopRequestedAtCurrentFloor } true;timeShift_~tmp___9~2#1 := timeShift_#t~ret65#1;havoc timeShift_#t~ret65#1;" "assume 0 != timeShift_~tmp___9~2#1;~doorState~0 := 1;" "assume !(0 != ~persons_0~0);" "assume !(0 != ~persons_1~0);" "assume !(0 != ~persons_2~0);" "assume !(0 != ~persons_3~0);" "assume !(0 != ~persons_4~0);" "assume 0 != ~persons_5~0;assume { :begin_inline_getDestination } true;getDestination_#in~person#1 := 5;havoc getDestination_#res#1;havoc getDestination_~person#1, getDestination_~retValue_acc~21#1;getDestination_~person#1 := getDestination_#in~person#1;havoc getDestination_~retValue_acc~21#1;" "assume 0 == getDestination_~person#1;getDestination_~retValue_acc~21#1 := 0;getDestination_#res#1 := getDestination_~retValue_acc~21#1;" "timeShift_#t~ret71#1 := getDestination_#res#1;havoc getDestination_~person#1, getDestination_~retValue_acc~21#1;havoc getDestination_#in~person#1;assume { :end_inline_getDestination } true;timeShift_~tmp___4~3#1 := timeShift_#t~ret71#1;havoc timeShift_#t~ret71#1;" "assume timeShift_~tmp___4~3#1 == ~currentFloorID~0;assume { :begin_inline_leaveElevator } true;leaveElevator_#in~p#1 := 5;havoc leaveElevator_#t~ret18#1, leaveElevator_~p#1, leaveElevator_~tmp~4#1;leaveElevator_~p#1 := leaveElevator_#in~p#1;havoc leaveElevator_~tmp~4#1;assume { :begin_inline_leaveElevator__wrappee__base } true;leaveElevator__wrappee__base_#in~p#1 := leaveElevator_~p#1;havoc leaveElevator__wrappee__base_~p#1;leaveElevator__wrappee__base_~p#1 := leaveElevator__wrappee__base_#in~p#1;" "assume 0 == leaveElevator__wrappee__base_~p#1;~persons_0~0 := 0;" "havoc leaveElevator__wrappee__base_~p#1;havoc leaveElevator__wrappee__base_#in~p#1;assume { :end_inline_leaveElevator__wrappee__base } true;assume { :begin_inline_getWeight } true;getWeight_#in~person#1 := leaveElevator_~p#1;havoc getWeight_#res#1;havoc getWeight_~person#1, getWeight_~retValue_acc~19#1;getWeight_~person#1 := getWeight_#in~person#1;havoc getWeight_~retValue_acc~19#1;" "assume 0 == getWeight_~person#1;getWeight_~retValue_acc~19#1 := 40;getWeight_#res#1 := getWeight_~retValue_acc~19#1;" "leaveElevator_#t~ret18#1 := getWeight_#res#1;havoc getWeight_~person#1, getWeight_~retValue_acc~19#1;havoc getWeight_#in~person#1;assume { :end_inline_getWeight } true;leaveElevator_~tmp~4#1 := leaveElevator_#t~ret18#1;havoc leaveElevator_#t~ret18#1;~weight~0 := ~weight~0 - leaveElevator_~tmp~4#1;" "havoc leaveElevator_#t~ret18#1, leaveElevator_~p#1, leaveElevator_~tmp~4#1;havoc leaveElevator_#in~p#1;assume { :end_inline_leaveElevator } true;" "assume { :begin_inline_processWaitingOnFloor } true;processWaitingOnFloor_#in~floorID#1 := ~currentFloorID~0;havoc processWaitingOnFloor_#t~ret53#1, processWaitingOnFloor_#t~ret54#1, processWaitingOnFloor_#t~ret55#1, processWaitingOnFloor_#t~ret56#1, processWaitingOnFloor_#t~ret57#1, processWaitingOnFloor_#t~ret58#1, processWaitingOnFloor_#t~ret59#1, processWaitingOnFloor_#t~ret60#1, processWaitingOnFloor_#t~ret61#1, processWaitingOnFloor_#t~ret62#1, processWaitingOnFloor_#t~ret63#1, processWaitingOnFloor_#t~ret64#1, processWaitingOnFloor_~floorID#1, processWaitingOnFloor_~tmp~14#1, processWaitingOnFloor_~tmp___0~9#1, processWaitingOnFloor_~tmp___1~5#1, processWaitingOnFloor_~tmp___2~3#1, processWaitingOnFloor_~tmp___3~3#1, processWaitingOnFloor_~tmp___4~2#1, processWaitingOnFloor_~tmp___5~1#1, processWaitingOnFloor_~tmp___6~1#1, processWaitingOnFloor_~tmp___7~1#1, processWaitingOnFloor_~tmp___8~1#1, processWaitingOnFloor_~tmp___9~1#1, processWaitingOnFloor_~tmp___10~0#1;processWaitingOnFloor_~floorID#1 := processWaitingOnFloor_#in~floorID#1;havoc processWaitingOnFloor_~tmp~14#1;havoc processWaitingOnFloor_~tmp___0~9#1;havoc processWaitingOnFloor_~tmp___1~5#1;havoc processWaitingOnFloor_~tmp___2~3#1;havoc processWaitingOnFloor_~tmp___3~3#1;havoc processWaitingOnFloor_~tmp___4~2#1;havoc processWaitingOnFloor_~tmp___5~1#1;havoc processWaitingOnFloor_~tmp___6~1#1;havoc processWaitingOnFloor_~tmp___7~1#1;havoc processWaitingOnFloor_~tmp___8~1#1;havoc processWaitingOnFloor_~tmp___9~1#1;havoc processWaitingOnFloor_~tmp___10~0#1;assume { :begin_inline_isPersonOnFloor } true;isPersonOnFloor_#in~person#1, isPersonOnFloor_#in~floor#1 := 0, processWaitingOnFloor_~floorID#1;havoc isPersonOnFloor_#res#1;havoc isPersonOnFloor_~person#1, isPersonOnFloor_~floor#1, isPersonOnFloor_~retValue_acc~30#1;isPersonOnFloor_~person#1 := isPersonOnFloor_#in~person#1;isPersonOnFloor_~floor#1 := isPersonOnFloor_#in~floor#1;havoc isPersonOnFloor_~retValue_acc~30#1;" "assume 0 == isPersonOnFloor_~floor#1;" "assume 0 == isPersonOnFloor_~person#1;isPersonOnFloor_~retValue_acc~30#1 := ~personOnFloor_0_0~0;isPersonOnFloor_#res#1 := isPersonOnFloor_~retValue_acc~30#1;" "processWaitingOnFloor_#t~ret53#1 := isPersonOnFloor_#res#1;havoc isPersonOnFloor_~person#1, isPersonOnFloor_~floor#1, isPersonOnFloor_~retValue_acc~30#1;havoc isPersonOnFloor_#in~person#1, isPersonOnFloor_#in~floor#1;assume { :end_inline_isPersonOnFloor } true;processWaitingOnFloor_~tmp___0~9#1 := processWaitingOnFloor_#t~ret53#1;havoc processWaitingOnFloor_#t~ret53#1;" "assume !(0 != processWaitingOnFloor_~tmp___0~9#1);" "assume { :begin_inline_isPersonOnFloor } true;isPersonOnFloor_#in~person#1, isPersonOnFloor_#in~floor#1 := 1, processWaitingOnFloor_~floorID#1;havoc isPersonOnFloor_#res#1;havoc isPersonOnFloor_~person#1, isPersonOnFloor_~floor#1, isPersonOnFloor_~retValue_acc~30#1;isPersonOnFloor_~person#1 := isPersonOnFloor_#in~person#1;isPersonOnFloor_~floor#1 := isPersonOnFloor_#in~floor#1;havoc isPersonOnFloor_~retValue_acc~30#1;" "assume 0 == isPersonOnFloor_~floor#1;" "assume 0 == isPersonOnFloor_~person#1;isPersonOnFloor_~retValue_acc~30#1 := ~personOnFloor_0_0~0;isPersonOnFloor_#res#1 := isPersonOnFloor_~retValue_acc~30#1;" "processWaitingOnFloor_#t~ret55#1 := isPersonOnFloor_#res#1;havoc isPersonOnFloor_~person#1, isPersonOnFloor_~floor#1, isPersonOnFloor_~retValue_acc~30#1;havoc isPersonOnFloor_#in~person#1, isPersonOnFloor_#in~floor#1;assume { :end_inline_isPersonOnFloor } true;processWaitingOnFloor_~tmp___2~3#1 := processWaitingOnFloor_#t~ret55#1;havoc processWaitingOnFloor_#t~ret55#1;" "assume !(0 != processWaitingOnFloor_~tmp___2~3#1);" "assume { :begin_inline_isPersonOnFloor } true;isPersonOnFloor_#in~person#1, isPersonOnFloor_#in~floor#1 := 2, processWaitingOnFloor_~floorID#1;havoc isPersonOnFloor_#res#1;havoc isPersonOnFloor_~person#1, isPersonOnFloor_~floor#1, isPersonOnFloor_~retValue_acc~30#1;isPersonOnFloor_~person#1 := isPersonOnFloor_#in~person#1;isPersonOnFloor_~floor#1 := isPersonOnFloor_#in~floor#1;havoc isPersonOnFloor_~retValue_acc~30#1;" "assume 0 == isPersonOnFloor_~floor#1;" "assume 0 == isPersonOnFloor_~person#1;isPersonOnFloor_~retValue_acc~30#1 := ~personOnFloor_0_0~0;isPersonOnFloor_#res#1 := isPersonOnFloor_~retValue_acc~30#1;" "processWaitingOnFloor_#t~ret57#1 := isPersonOnFloor_#res#1;havoc isPersonOnFloor_~person#1, isPersonOnFloor_~floor#1, isPersonOnFloor_~retValue_acc~30#1;havoc isPersonOnFloor_#in~person#1, isPersonOnFloor_#in~floor#1;assume { :end_inline_isPersonOnFloor } true;processWaitingOnFloor_~tmp___4~2#1 := processWaitingOnFloor_#t~ret57#1;havoc processWaitingOnFloor_#t~ret57#1;" "assume !(0 != processWaitingOnFloor_~tmp___4~2#1);" "assume { :begin_inline_isPersonOnFloor } true;isPersonOnFloor_#in~person#1, isPersonOnFloor_#in~floor#1 := 3, processWaitingOnFloor_~floorID#1;havoc isPersonOnFloor_#res#1;havoc isPersonOnFloor_~person#1, isPersonOnFloor_~floor#1, isPersonOnFloor_~retValue_acc~30#1;isPersonOnFloor_~person#1 := isPersonOnFloor_#in~person#1;isPersonOnFloor_~floor#1 := isPersonOnFloor_#in~floor#1;havoc isPersonOnFloor_~retValue_acc~30#1;" "assume 0 == isPersonOnFloor_~floor#1;" "assume 0 == isPersonOnFloor_~person#1;isPersonOnFloor_~retValue_acc~30#1 := ~personOnFloor_0_0~0;isPersonOnFloor_#res#1 := isPersonOnFloor_~retValue_acc~30#1;" "processWaitingOnFloor_#t~ret59#1 := isPersonOnFloor_#res#1;havoc isPersonOnFloor_~person#1, isPersonOnFloor_~floor#1, isPersonOnFloor_~retValue_acc~30#1;havoc isPersonOnFloor_#in~person#1, isPersonOnFloor_#in~floor#1;assume { :end_inline_isPersonOnFloor } true;processWaitingOnFloor_~tmp___6~1#1 := processWaitingOnFloor_#t~ret59#1;havoc processWaitingOnFloor_#t~ret59#1;" "assume !(0 != processWaitingOnFloor_~tmp___6~1#1);" "assume { :begin_inline_isPersonOnFloor } true;isPersonOnFloor_#in~person#1, isPersonOnFloor_#in~floor#1 := 4, processWaitingOnFloor_~floorID#1;havoc isPersonOnFloor_#res#1;havoc isPersonOnFloor_~person#1, isPersonOnFloor_~floor#1, isPersonOnFloor_~retValue_acc~30#1;isPersonOnFloor_~person#1 := isPersonOnFloor_#in~person#1;isPersonOnFloor_~floor#1 := isPersonOnFloor_#in~floor#1;havoc isPersonOnFloor_~retValue_acc~30#1;" "assume 0 == isPersonOnFloor_~floor#1;" "assume 0 == isPersonOnFloor_~person#1;isPersonOnFloor_~retValue_acc~30#1 := ~personOnFloor_0_0~0;isPersonOnFloor_#res#1 := isPersonOnFloor_~retValue_acc~30#1;" "processWaitingOnFloor_#t~ret61#1 := isPersonOnFloor_#res#1;havoc isPersonOnFloor_~person#1, isPersonOnFloor_~floor#1, isPersonOnFloor_~retValue_acc~30#1;havoc isPersonOnFloor_#in~person#1, isPersonOnFloor_#in~floor#1;assume { :end_inline_isPersonOnFloor } true;processWaitingOnFloor_~tmp___8~1#1 := processWaitingOnFloor_#t~ret61#1;havoc processWaitingOnFloor_#t~ret61#1;" "assume !(0 != processWaitingOnFloor_~tmp___8~1#1);" "assume { :begin_inline_isPersonOnFloor } true;isPersonOnFloor_#in~person#1, isPersonOnFloor_#in~floor#1 := 5, processWaitingOnFloor_~floorID#1;havoc isPersonOnFloor_#res#1;havoc isPersonOnFloor_~person#1, isPersonOnFloor_~floor#1, isPersonOnFloor_~retValue_acc~30#1;isPersonOnFloor_~person#1 := isPersonOnFloor_#in~person#1;isPersonOnFloor_~floor#1 := isPersonOnFloor_#in~floor#1;havoc isPersonOnFloor_~retValue_acc~30#1;" "assume 0 == isPersonOnFloor_~floor#1;" "assume 0 == isPersonOnFloor_~person#1;isPersonOnFloor_~retValue_acc~30#1 := ~personOnFloor_0_0~0;isPersonOnFloor_#res#1 := isPersonOnFloor_~retValue_acc~30#1;" "processWaitingOnFloor_#t~ret63#1 := isPersonOnFloor_#res#1;havoc isPersonOnFloor_~person#1, isPersonOnFloor_~floor#1, isPersonOnFloor_~retValue_acc~30#1;havoc isPersonOnFloor_#in~person#1, isPersonOnFloor_#in~floor#1;assume { :end_inline_isPersonOnFloor } true;processWaitingOnFloor_~tmp___10~0#1 := processWaitingOnFloor_#t~ret63#1;havoc processWaitingOnFloor_#t~ret63#1;" "assume !(0 != processWaitingOnFloor_~tmp___10~0#1);" "assume { :begin_inline_resetCallOnFloor } true;resetCallOnFloor_#in~floorID#1 := processWaitingOnFloor_~floorID#1;havoc resetCallOnFloor_~floorID#1;resetCallOnFloor_~floorID#1 := resetCallOnFloor_#in~floorID#1;" "assume 0 == resetCallOnFloor_~floorID#1;~calls_0~0 := 0;" "havoc resetCallOnFloor_~floorID#1;havoc resetCallOnFloor_#in~floorID#1;assume { :end_inline_resetCallOnFloor } true;" "havoc processWaitingOnFloor_#t~ret53#1, processWaitingOnFloor_#t~ret54#1, processWaitingOnFloor_#t~ret55#1, processWaitingOnFloor_#t~ret56#1, processWaitingOnFloor_#t~ret57#1, processWaitingOnFloor_#t~ret58#1, processWaitingOnFloor_#t~ret59#1, processWaitingOnFloor_#t~ret60#1, processWaitingOnFloor_#t~ret61#1, processWaitingOnFloor_#t~ret62#1, processWaitingOnFloor_#t~ret63#1, processWaitingOnFloor_#t~ret64#1, processWaitingOnFloor_~floorID#1, processWaitingOnFloor_~tmp~14#1, processWaitingOnFloor_~tmp___0~9#1, processWaitingOnFloor_~tmp___1~5#1, processWaitingOnFloor_~tmp___2~3#1, processWaitingOnFloor_~tmp___3~3#1, processWaitingOnFloor_~tmp___4~2#1, processWaitingOnFloor_~tmp___5~1#1, processWaitingOnFloor_~tmp___6~1#1, processWaitingOnFloor_~tmp___7~1#1, processWaitingOnFloor_~tmp___8~1#1, processWaitingOnFloor_~tmp___9~1#1, processWaitingOnFloor_~tmp___10~0#1;havoc processWaitingOnFloor_#in~floorID#1;assume { :end_inline_processWaitingOnFloor } true;assume { :begin_inline_resetFloorButton } true;resetFloorButton_#in~floorID#1 := ~currentFloorID~0;havoc resetFloorButton_~floorID#1;resetFloorButton_~floorID#1 := resetFloorButton_#in~floorID#1;" "assume 0 == resetFloorButton_~floorID#1;~floorButtons_0~0 := 0;" "havoc resetFloorButton_~floorID#1;havoc resetFloorButton_#in~floorID#1;assume { :end_inline_resetFloorButton } true;" "assume { :begin_inline___utac_acc__Specification13_spec__2 } true;havoc __utac_acc__Specification13_spec__2_#t~ret5#1, __utac_acc__Specification13_spec__2_#t~ret6#1, __utac_acc__Specification13_spec__2_#t~ret7#1, __utac_acc__Specification13_spec__2_#t~ret8#1, __utac_acc__Specification13_spec__2_#t~ret9#1, __utac_acc__Specification13_spec__2_#t~ret10#1, __utac_acc__Specification13_spec__2_~tmp~0#1, __utac_acc__Specification13_spec__2_~tmp___0~0#1, __utac_acc__Specification13_spec__2_~tmp___1~0#1, __utac_acc__Specification13_spec__2_~tmp___2~0#1, __utac_acc__Specification13_spec__2_~tmp___3~0#1, __utac_acc__Specification13_spec__2_~tmp___4~0#1, __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1, __utac_acc__Specification13_spec__2_~__cil_tmp8~0#1;havoc __utac_acc__Specification13_spec__2_~tmp~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___0~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___1~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___2~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___3~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___4~0#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp8~0#1;__utac_acc__Specification13_spec__2_~__cil_tmp7~0#1 := 2 * ~maximumWeight~0;__utac_acc__Specification13_spec__2_~__cil_tmp8~0#1 := (if __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1 < 0 && 0 != __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1 % 3 then 1 + __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1 / 3 else __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1 / 3);" "assume ~weight~0 > __utac_acc__Specification13_spec__2_~__cil_tmp8~0#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~16#1, existInLiftCallsInDirection_~i~2#1, existInLiftCallsInDirection_~i___0~0#1;existInLiftCallsInDirection_~d#1 := existInLiftCallsInDirection_#in~d#1;havoc existInLiftCallsInDirection_~retValue_acc~16#1;havoc existInLiftCallsInDirection_~i~2#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;" [2024-11-12 21:28:54,896 INFO L749 eck$LassoCheckResult]: Loop: "assume !false;" "assume existInLiftCallsInDirection_~i___0~0#1 >= 0;" "existInLiftCallsInDirection_~i___0~0#1 := 1 + ~currentFloorID~0;" "assume !false;" "assume !(existInLiftCallsInDirection_~i___0~0#1 < 5);" "existInLiftCallsInDirection_~i___0~0#1 := existInLiftCallsInDirection_~i___0~0#1 - 1;" [2024-11-12 21:28:54,896 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 21:28:54,897 INFO L85 PathProgramCache]: Analyzing trace with hash 374822581, now seen corresponding path program 1 times [2024-11-12 21:28:54,897 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 21:28:54,897 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [162503953] [2024-11-12 21:28:54,897 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 21:28:54,897 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 21:28:54,926 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-12 21:28:55,122 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-12 21:28:55,122 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [162503953] [2024-11-12 21:28:55,123 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [162503953] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-12 21:28:55,123 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [7074232] [2024-11-12 21:28:55,123 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 21:28:55,123 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-12 21:28:55,123 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-12 21:28:55,125 INFO L229 MonitoredProcess]: Starting monitored process 20 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-11-12 21:28:55,127 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (20)] Waiting until timeout for monitored process [2024-11-12 21:28:55,624 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-12 21:28:55,627 INFO L256 TraceCheckSpWp]: Trace formula consists of 774 conjuncts, 3 conjuncts are in the unsatisfiable core [2024-11-12 21:28:55,628 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2024-11-12 21:28:56,250 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2024-11-12 21:28:56,389 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [7074232] provided 0 perfect and 2 imperfect interpolant sequences [2024-11-12 21:28:56,390 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-11-12 21:28:56,390 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 2, 2] total 6 [2024-11-12 21:28:56,390 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [120069178] [2024-11-12 21:28:56,390 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-11-12 21:28:56,391 INFO L752 eck$LassoCheckResult]: stem already infeasible [2024-11-12 21:28:56,391 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-12 21:28:56,391 INFO L85 PathProgramCache]: Analyzing trace with hash -1087190869, now seen corresponding path program 9 times [2024-11-12 21:28:56,391 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-12 21:28:56,391 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [283325976] [2024-11-12 21:28:56,391 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-12 21:28:56,391 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-12 21:28:56,399 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 21:28:56,399 INFO L357 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-12 21:28:56,400 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-12 21:28:56,405 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-12 21:28:56,423 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-12 21:28:56,424 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2024-11-12 21:28:56,424 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2024-11-12 21:28:56,424 INFO L87 Difference]: Start difference. First operand 87932 states and 155219 transitions. cyclomatic complexity: 67491 Second operand has 6 states, 6 states have (on average 28.833333333333332) internal successors, (173), 6 states have internal predecessors, (173), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-12 21:28:57,318 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-12 21:28:57,319 INFO L93 Difference]: Finished difference Result 136499 states and 241583 transitions. [2024-11-12 21:28:57,319 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 136499 states and 241583 transitions. [2024-11-12 21:28:58,378 INFO L131 ngComponentsAnalysis]: Automaton has 392 accepting balls. 43958 [2024-11-12 21:28:58,772 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 136499 states to 136499 states and 241583 transitions. [2024-11-12 21:28:58,772 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 136347 [2024-11-12 21:28:58,873 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 136347 [2024-11-12 21:28:58,873 INFO L73 IsDeterministic]: Start isDeterministic. Operand 136499 states and 241583 transitions. [2024-11-12 21:28:58,883 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-11-12 21:28:58,883 INFO L218 hiAutomatonCegarLoop]: Abstraction has 136499 states and 241583 transitions. [2024-11-12 21:28:58,986 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 136499 states and 241583 transitions.