./Ultimate.py --spec ../sv-benchmarks/c/properties/termination.prp --file ../sv-benchmarks/c/product-lines/elevator_spec13_product24.cil.c --full-output --architecture 32bit -------------------------------------------------------------------------------- Checking for termination Using default analysis Version c7c6ca5d 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_product24.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 89950477a2818e2be847e3014c0e2f9e906834037b4e328723302699ed4d9564 --- Real Ultimate output --- This is Ultimate 0.2.5-?-c7c6ca5-m [2024-11-09 15:52:30,644 INFO L188 SettingsManager]: Resetting all preferences to default values... [2024-11-09 15:52:30,727 INFO L114 SettingsManager]: Loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Termination-32bit-Automizer_Default.epf [2024-11-09 15:52:30,732 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2024-11-09 15:52:30,734 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2024-11-09 15:52:30,766 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2024-11-09 15:52:30,767 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2024-11-09 15:52:30,767 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2024-11-09 15:52:30,768 INFO L151 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2024-11-09 15:52:30,772 INFO L153 SettingsManager]: * Use memory slicer=true [2024-11-09 15:52:30,772 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2024-11-09 15:52:30,773 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2024-11-09 15:52:30,773 INFO L153 SettingsManager]: * Use SBE=true [2024-11-09 15:52:30,773 INFO L151 SettingsManager]: Preferences of BuchiAutomizer differ from their defaults: [2024-11-09 15:52:30,773 INFO L153 SettingsManager]: * NCSB implementation=INTSET_LAZY3 [2024-11-09 15:52:30,774 INFO L153 SettingsManager]: * Use old map elimination=false [2024-11-09 15:52:30,774 INFO L153 SettingsManager]: * Use external solver (rank synthesis)=false [2024-11-09 15:52:30,774 INFO L153 SettingsManager]: * Use only trivial implications for array writes=true [2024-11-09 15:52:30,774 INFO L153 SettingsManager]: * Rank analysis=LINEAR_WITH_GUESSES [2024-11-09 15:52:30,775 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2024-11-09 15:52:30,775 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=ASSUME [2024-11-09 15:52:30,777 INFO L153 SettingsManager]: * sizeof long=4 [2024-11-09 15:52:30,778 INFO L153 SettingsManager]: * Overapproximate operations on floating types=true [2024-11-09 15:52:30,778 INFO L153 SettingsManager]: * sizeof POINTER=4 [2024-11-09 15:52:30,778 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2024-11-09 15:52:30,779 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=ASSUME [2024-11-09 15:52:30,779 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=ASSUME [2024-11-09 15:52:30,779 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=ASSUME [2024-11-09 15:52:30,779 INFO L153 SettingsManager]: * Allow undefined functions=false [2024-11-09 15:52:30,780 INFO L153 SettingsManager]: * Check unreachability of reach_error function=false [2024-11-09 15:52:30,780 INFO L153 SettingsManager]: * sizeof long double=12 [2024-11-09 15:52:30,780 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2024-11-09 15:52:30,780 INFO L153 SettingsManager]: * Assume nondeterminstic values are in range=false [2024-11-09 15:52:30,781 INFO L153 SettingsManager]: * Use constant arrays=true [2024-11-09 15:52:30,781 INFO L151 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2024-11-09 15:52:30,781 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2024-11-09 15:52:30,782 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2024-11-09 15:52:30,794 INFO L153 SettingsManager]: * Trace refinement strategy=CAMEL [2024-11-09 15:52:30,795 INFO L151 SettingsManager]: Preferences of IcfgTransformer differ from their defaults: [2024-11-09 15:52:30,796 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 -> 89950477a2818e2be847e3014c0e2f9e906834037b4e328723302699ed4d9564 [2024-11-09 15:52:31,041 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2024-11-09 15:52:31,067 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2024-11-09 15:52:31,071 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2024-11-09 15:52:31,073 INFO L270 PluginConnector]: Initializing CDTParser... [2024-11-09 15:52:31,073 INFO L274 PluginConnector]: CDTParser initialized [2024-11-09 15:52:31,075 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/product-lines/elevator_spec13_product24.cil.c [2024-11-09 15:52:32,524 INFO L533 CDTParser]: Created temporary CDT project at NULL [2024-11-09 15:52:32,790 INFO L384 CDTParser]: Found 1 translation units. [2024-11-09 15:52:32,792 INFO L180 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/product-lines/elevator_spec13_product24.cil.c [2024-11-09 15:52:32,812 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/b5df28ca9/673fb7bb87a34111b7e9ad6aecb5e305/FLAGed76955ef [2024-11-09 15:52:32,825 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/b5df28ca9/673fb7bb87a34111b7e9ad6aecb5e305 [2024-11-09 15:52:32,828 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2024-11-09 15:52:32,829 INFO L133 ToolchainWalker]: Walking toolchain with 6 elements. [2024-11-09 15:52:32,830 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2024-11-09 15:52:32,831 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2024-11-09 15:52:32,836 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2024-11-09 15:52:32,837 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 09.11 03:52:32" (1/1) ... [2024-11-09 15:52:32,837 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@71f72271 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.11 03:52:32, skipping insertion in model container [2024-11-09 15:52:32,838 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 09.11 03:52:32" (1/1) ... [2024-11-09 15:52:32,907 INFO L175 MainTranslator]: Built tables and reachable declarations [2024-11-09 15:52:33,398 INFO L210 PostProcessor]: Analyzing one entry point: main [2024-11-09 15:52:33,415 INFO L200 MainTranslator]: Completed pre-run [2024-11-09 15:52:33,426 WARN L75 lationResultReporter]: Unsoundness Warning: Ignoring preprocessor pragma C: #pragma merger(0,"libacc.i","") [48] [2024-11-09 15:52:33,428 WARN L75 lationResultReporter]: Unsoundness Warning: Ignoring preprocessor pragma C: #pragma merger(0,"scenario.i","") [414] [2024-11-09 15:52:33,428 WARN L75 lationResultReporter]: Unsoundness Warning: Ignoring preprocessor pragma C: #pragma merger(0,"Elevator.i","") [434] [2024-11-09 15:52:33,429 WARN L75 lationResultReporter]: Unsoundness Warning: Ignoring preprocessor pragma C: #pragma merger(0,"Test.i","") [2095] [2024-11-09 15:52:33,429 WARN L75 lationResultReporter]: Unsoundness Warning: Ignoring preprocessor pragma C: #pragma merger(0,"wsllib_check.i","") [2449] [2024-11-09 15:52:33,429 WARN L75 lationResultReporter]: Unsoundness Warning: Ignoring preprocessor pragma C: #pragma merger(0,"UnitTests.i","") [2458] [2024-11-09 15:52:33,429 WARN L75 lationResultReporter]: Unsoundness Warning: Ignoring preprocessor pragma C: #pragma merger(0,"Floor.i","") [2549] [2024-11-09 15:52:33,430 WARN L75 lationResultReporter]: Unsoundness Warning: Ignoring preprocessor pragma C: #pragma merger(0,"Specification13_spec.i","") [3210] [2024-11-09 15:52:33,430 WARN L75 lationResultReporter]: Unsoundness Warning: Ignoring preprocessor pragma C: #pragma merger(0,"Person.i","") [3299] [2024-11-09 15:52:33,430 WARN L75 lationResultReporter]: Unsoundness Warning: Ignoring preprocessor pragma C: #pragma merger(0,"featureselect.i","") [3417] [2024-11-09 15:52:33,544 INFO L210 PostProcessor]: Analyzing one entry point: main [2024-11-09 15:52:33,571 INFO L204 MainTranslator]: Completed translation [2024-11-09 15:52:33,572 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.11 03:52:33 WrapperNode [2024-11-09 15:52:33,572 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2024-11-09 15:52:33,573 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2024-11-09 15:52:33,573 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2024-11-09 15:52:33,573 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2024-11-09 15:52:33,580 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.11 03:52:33" (1/1) ... [2024-11-09 15:52:33,604 INFO L184 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.11 03:52:33" (1/1) ... [2024-11-09 15:52:34,204 INFO L138 Inliner]: procedures = 96, calls = 353, calls flagged for inlining = 205, calls inlined = 1945, statements flattened = 67293 [2024-11-09 15:52:34,205 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2024-11-09 15:52:34,206 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2024-11-09 15:52:34,206 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2024-11-09 15:52:34,206 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2024-11-09 15:52:34,217 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.11 03:52:33" (1/1) ... [2024-11-09 15:52:34,218 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.11 03:52:33" (1/1) ... [2024-11-09 15:52:34,623 INFO L184 PluginConnector]: Executing the observer MemorySlicer from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.11 03:52:33" (1/1) ... [2024-11-09 15:52:34,881 INFO L175 MemorySlicer]: Split 81 memory accesses to 20 slices as follows [2, 4, 4, 4, 2, 4, 4, 5, 3, 3, 5, 7, 4, 4, 4, 4, 4, 6, 4, 4]. 9 percent of accesses are in the largest equivalence class. The 81 initializations are split as follows [2, 4, 4, 4, 2, 4, 4, 5, 3, 3, 5, 7, 4, 4, 4, 4, 4, 6, 4, 4]. The 0 writes are split as follows [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]. [2024-11-09 15:52:34,882 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.11 03:52:33" (1/1) ... [2024-11-09 15:52:34,882 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.11 03:52:33" (1/1) ... [2024-11-09 15:52:35,392 INFO L184 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.11 03:52:33" (1/1) ... [2024-11-09 15:52:35,851 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.11 03:52:33" (1/1) ... [2024-11-09 15:52:35,916 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.11 03:52:33" (1/1) ... [2024-11-09 15:52:35,979 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.11 03:52:33" (1/1) ... [2024-11-09 15:52:36,148 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2024-11-09 15:52:36,149 INFO L112 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2024-11-09 15:52:36,149 INFO L270 PluginConnector]: Initializing RCFGBuilder... [2024-11-09 15:52:36,149 INFO L274 PluginConnector]: RCFGBuilder initialized [2024-11-09 15:52:36,150 INFO L184 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.11 03:52:33" (1/1) ... [2024-11-09 15:52:36,155 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-09 15:52:36,165 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-09 15:52:36,181 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-09 15:52:36,188 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-09 15:52:36,368 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2024-11-09 15:52:36,369 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#0 [2024-11-09 15:52:36,369 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#1 [2024-11-09 15:52:36,369 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#2 [2024-11-09 15:52:36,369 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#3 [2024-11-09 15:52:36,369 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#4 [2024-11-09 15:52:36,370 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#5 [2024-11-09 15:52:36,370 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#6 [2024-11-09 15:52:36,371 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#7 [2024-11-09 15:52:36,371 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#8 [2024-11-09 15:52:36,371 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#9 [2024-11-09 15:52:36,371 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#10 [2024-11-09 15:52:36,372 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#11 [2024-11-09 15:52:36,372 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#12 [2024-11-09 15:52:36,372 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#13 [2024-11-09 15:52:36,372 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#14 [2024-11-09 15:52:36,372 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#15 [2024-11-09 15:52:36,372 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#16 [2024-11-09 15:52:36,372 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#17 [2024-11-09 15:52:36,372 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#18 [2024-11-09 15:52:36,372 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#19 [2024-11-09 15:52:36,372 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2024-11-09 15:52:36,372 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2024-11-09 15:52:36,637 INFO L238 CfgBuilder]: Building ICFG [2024-11-09 15:52:36,639 INFO L264 CfgBuilder]: Building CFG for each procedure with an implementation [2024-11-09 15:52:59,795 INFO L? ?]: Removed 29662 outVars from TransFormulas that were not future-live. [2024-11-09 15:52:59,795 INFO L287 CfgBuilder]: Performing block encoding [2024-11-09 15:52:59,981 INFO L311 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2024-11-09 15:52:59,982 INFO L316 CfgBuilder]: Removed 61 assume(true) statements. [2024-11-09 15:52:59,982 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 09.11 03:52:59 BoogieIcfgContainer [2024-11-09 15:52:59,982 INFO L131 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2024-11-09 15:52:59,983 INFO L112 PluginConnector]: ------------------------BuchiAutomizer---------------------------- [2024-11-09 15:52:59,983 INFO L270 PluginConnector]: Initializing BuchiAutomizer... [2024-11-09 15:52:59,987 INFO L274 PluginConnector]: BuchiAutomizer initialized [2024-11-09 15:52:59,989 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2024-11-09 15:52:59,989 INFO L184 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "CDTParser AST 09.11 03:52:32" (1/3) ... [2024-11-09 15:52:59,990 INFO L204 PluginConnector]: Invalid model from BuchiAutomizer for observer de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver@5dc2dc93 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer AST 09.11 03:52:59, skipping insertion in model container [2024-11-09 15:52:59,990 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2024-11-09 15:52:59,990 INFO L184 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.11 03:52:33" (2/3) ... [2024-11-09 15:52:59,991 INFO L204 PluginConnector]: Invalid model from BuchiAutomizer for observer de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver@5dc2dc93 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer AST 09.11 03:52:59, skipping insertion in model container [2024-11-09 15:52:59,991 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2024-11-09 15:52:59,991 INFO L184 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 09.11 03:52:59" (3/3) ... [2024-11-09 15:52:59,993 INFO L332 chiAutomizerObserver]: Analyzing ICFG elevator_spec13_product24.cil.c [2024-11-09 15:53:00,250 INFO L300 stractBuchiCegarLoop]: Interprodecural is true [2024-11-09 15:53:00,251 INFO L301 stractBuchiCegarLoop]: Hoare is None [2024-11-09 15:53:00,251 INFO L302 stractBuchiCegarLoop]: Compute interpolants for ForwardPredicates [2024-11-09 15:53:00,251 INFO L303 stractBuchiCegarLoop]: Backedges is STRAIGHT_LINE [2024-11-09 15:53:00,251 INFO L304 stractBuchiCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2024-11-09 15:53:00,251 INFO L305 stractBuchiCegarLoop]: Difference is false [2024-11-09 15:53:00,251 INFO L306 stractBuchiCegarLoop]: Minimize is MINIMIZE_SEVPA [2024-11-09 15:53:00,251 INFO L310 stractBuchiCegarLoop]: ======== Iteration 0 == of CEGAR loop == BuchiAutomatonCegarLoop ======== [2024-11-09 15:53:00,319 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand has 17952 states, 17951 states have (on average 1.8770542031084618) internal successors, (33695), 17951 states have internal predecessors, (33695), 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-09 15:53:00,606 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 4076 [2024-11-09 15:53:00,607 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-09 15:53:00,607 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-09 15:53:00,617 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] [2024-11-09 15:53:00,617 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1, 1, 1] [2024-11-09 15:53:00,617 INFO L332 stractBuchiCegarLoop]: ======== Iteration 1 ============ [2024-11-09 15:53:00,657 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand has 17952 states, 17951 states have (on average 1.8770542031084618) internal successors, (33695), 17951 states have internal predecessors, (33695), 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-09 15:53:00,861 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 4076 [2024-11-09 15:53:00,862 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-09 15:53:00,862 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-09 15:53:00,863 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] [2024-11-09 15:53:00,864 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1, 1, 1] [2024-11-09 15:53:00,870 INFO L745 eck$LassoCheckResult]: Stem: 4595#$Ultimate##0true assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int#0(48, 1, 0, 1);call write~init~int#0(0, 1, 1, 1);call #Ultimate.allocInit(32, 2);call #Ultimate.allocInit(12, 3);call #Ultimate.allocInit(30, 4);call #Ultimate.allocInit(9, 5);call #Ultimate.allocInit(21, 6);call #Ultimate.allocInit(30, 7);call #Ultimate.allocInit(9, 8);call #Ultimate.allocInit(21, 9);call #Ultimate.allocInit(30, 10);call #Ultimate.allocInit(9, 11);call #Ultimate.allocInit(25, 12);call #Ultimate.allocInit(30, 13);call #Ultimate.allocInit(9, 14);call #Ultimate.allocInit(25, 15);call #Ultimate.allocInit(10, 16);call #Ultimate.allocInit(4, 17);call write~init~int#5(91, 17, 0, 1);call write~init~int#5(95, 17, 1, 1);call write~init~int#5(93, 17, 2, 1);call write~init~int#5(0, 17, 3, 1);call #Ultimate.allocInit(4, 18);call write~init~int#6(91, 18, 0, 1);call write~init~int#6(93, 18, 1, 1);call write~init~int#6(32, 18, 2, 1);call write~init~int#6(0, 18, 3, 1);call #Ultimate.allocInit(5, 19);call write~init~int#7(32, 19, 0, 1);call write~init~int#7(97, 19, 1, 1);call write~init~int#7(116, 19, 2, 1);call write~init~int#7(32, 19, 3, 1);call write~init~int#7(0, 19, 4, 1);call #Ultimate.allocInit(3, 20);call write~init~int#8(37, 20, 0, 1);call write~init~int#8(105, 20, 1, 1);call write~init~int#8(0, 20, 2, 1);call #Ultimate.allocInit(10, 21);call #Ultimate.allocInit(3, 22);call write~init~int#9(117, 22, 0, 1);call write~init~int#9(112, 22, 1, 1);call write~init~int#9(0, 22, 2, 1);call #Ultimate.allocInit(5, 23);call write~init~int#10(100, 23, 0, 1);call write~init~int#10(111, 23, 1, 1);call write~init~int#10(119, 23, 2, 1);call write~init~int#10(110, 23, 3, 1);call write~init~int#10(0, 23, 4, 1);call #Ultimate.allocInit(7, 24);call write~init~int#11(32, 24, 0, 1);call write~init~int#11(73, 24, 1, 1);call write~init~int#11(76, 24, 2, 1);call write~init~int#11(95, 24, 3, 1);call write~init~int#11(112, 24, 4, 1);call write~init~int#11(58, 24, 5, 1);call write~init~int#11(0, 24, 6, 1);call #Ultimate.allocInit(4, 25);call write~init~int#12(32, 25, 0, 1);call write~init~int#12(37, 25, 1, 1);call write~init~int#12(105, 25, 2, 1);call write~init~int#12(0, 25, 3, 1);call #Ultimate.allocInit(4, 26);call write~init~int#13(32, 26, 0, 1);call write~init~int#13(37, 26, 1, 1);call write~init~int#13(105, 26, 2, 1);call write~init~int#13(0, 26, 3, 1);call #Ultimate.allocInit(4, 27);call write~init~int#14(32, 27, 0, 1);call write~init~int#14(37, 27, 1, 1);call write~init~int#14(105, 27, 2, 1);call write~init~int#14(0, 27, 3, 1);call #Ultimate.allocInit(4, 28);call write~init~int#15(32, 28, 0, 1);call write~init~int#15(37, 28, 1, 1);call write~init~int#15(105, 28, 2, 1);call write~init~int#15(0, 28, 3, 1);call #Ultimate.allocInit(4, 29);call write~init~int#16(32, 29, 0, 1);call write~init~int#16(37, 29, 1, 1);call write~init~int#16(105, 29, 2, 1);call write~init~int#16(0, 29, 3, 1);call #Ultimate.allocInit(6, 30);call write~init~int#17(32, 30, 0, 1);call write~init~int#17(70, 30, 1, 1);call write~init~int#17(95, 30, 2, 1);call write~init~int#17(112, 30, 3, 1);call write~init~int#17(58, 30, 4, 1);call write~init~int#17(0, 30, 5, 1);call #Ultimate.allocInit(4, 31);call write~init~int#18(32, 31, 0, 1);call write~init~int#18(37, 31, 1, 1);call write~init~int#18(105, 31, 2, 1);call write~init~int#18(0, 31, 3, 1);call #Ultimate.allocInit(4, 32);call write~init~int#19(32, 32, 0, 1);call write~init~int#19(37, 32, 1, 1);call write~init~int#19(105, 32, 2, 1);call write~init~int#19(0, 32, 3, 1);call #Ultimate.allocInit(4, 33);call write~init~int#1(32, 33, 0, 1);call write~init~int#1(37, 33, 1, 1);call write~init~int#1(105, 33, 2, 1);call write~init~int#1(0, 33, 3, 1);call #Ultimate.allocInit(4, 34);call write~init~int#2(32, 34, 0, 1);call write~init~int#2(37, 34, 1, 1);call write~init~int#2(105, 34, 2, 1);call write~init~int#2(0, 34, 3, 1);call #Ultimate.allocInit(4, 35);call write~init~int#3(32, 35, 0, 1);call write~init~int#3(37, 35, 1, 1);call write~init~int#3(105, 35, 2, 1);call write~init~int#3(0, 35, 3, 1);call #Ultimate.allocInit(2, 36);call write~init~int#4(10, 36, 0, 1);call write~init~int#4(0, 36, 1, 1);call #Ultimate.allocInit(9, 37);~head~0.base, ~head~0.offset := 0, 0;~weight~0 := 0;~maximumWeight~0 := 100;~executiveFloor~0 := 4;~blocked~0 := 0;~currentHeading~0 := 1;~currentFloorID~0 := 0;~persons_0~0 := 0;~persons_1~0 := 0;~persons_2~0 := 0;~persons_3~0 := 0;~persons_4~0 := 0;~persons_5~0 := 0;~doorState~0 := 1;~floorButtons_0~0 := 0;~floorButtons_1~0 := 0;~floorButtons_2~0 := 0;~floorButtons_3~0 := 0;~floorButtons_4~0 := 0;~cleanupTimeShifts~0 := 12;~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;~prevDir~0 := 0; 4332#L-1true assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret129#1, main_~retValue_acc~23#1, main_~tmp~27#1;havoc main_~retValue_acc~23#1;havoc main_~tmp~27#1;assume { :begin_inline_select_helpers } true; 16533#select_helpers_returnLabel#1true assume { :end_inline_select_helpers } true;assume { :begin_inline_select_features } true; 16183#select_features_returnLabel#1true assume { :end_inline_select_features } true;assume { :begin_inline_valid_product } true;havoc valid_product_#res#1;havoc valid_product_~retValue_acc~31#1;havoc valid_product_~retValue_acc~31#1;valid_product_~retValue_acc~31#1 := 1;valid_product_#res#1 := valid_product_~retValue_acc~31#1; 9548#valid_product_returnLabel#1true main_#t~ret129#1 := valid_product_#res#1;havoc valid_product_~retValue_acc~31#1;assume { :end_inline_valid_product } true;main_~tmp~27#1 := main_#t~ret129#1;havoc main_#t~ret129#1; 17091#L2436true assume 0 != main_~tmp~27#1;assume { :begin_inline_setup } true; 10378#setup_returnLabel#1true assume { :end_inline_setup } true;assume { :begin_inline_runTest } true;assume { :begin_inline_test } true;assume { :begin_inline_aliceCall } true;havoc aliceCall_#t~ret118#1, aliceCall_~tmp~20#1;havoc aliceCall_~tmp~20#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 1;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~28#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~28#1; 10939#L3343true assume 0 == getOrigin_~person#1;getOrigin_~retValue_acc~28#1 := 4;getOrigin_#res#1 := getOrigin_~retValue_acc~28#1; 2383#getOrigin_returnLabel#1true aliceCall_#t~ret118#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~28#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;aliceCall_~tmp~20#1 := aliceCall_#t~ret118#1;havoc aliceCall_#t~ret118#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 1, aliceCall_~tmp~20#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 10938#L2903true assume 0 == initPersonOnFloor_~floor#1; 5076#L2904true assume 0 == initPersonOnFloor_~person#1;~personOnFloor_0_0~0 := 1; 12188#L3011-1true assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 4422#L2695true assume 0 == callOnFloor_~floorID#1;~calls_0~0 := 1; 8135#L2707-2true havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true; 9847#initPersonOnFloor_returnLabel#1true havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true; 16121#aliceCall_returnLabel#1true havoc aliceCall_#t~ret118#1, aliceCall_~tmp~20#1;assume { :end_inline_aliceCall } true;assume { :begin_inline_angelinaCall } true;havoc angelinaCall_#t~ret119#1, angelinaCall_~tmp~21#1;havoc angelinaCall_~tmp~21#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 2;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~28#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~28#1; 17518#L3343-1true assume 0 == getOrigin_~person#1;getOrigin_~retValue_acc~28#1 := 4;getOrigin_#res#1 := getOrigin_~retValue_acc~28#1; 9265#getOrigin_returnLabel#2true angelinaCall_#t~ret119#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~28#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;angelinaCall_~tmp~21#1 := angelinaCall_#t~ret119#1;havoc angelinaCall_#t~ret119#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 2, angelinaCall_~tmp~21#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 4650#L2903-1true assume 0 == initPersonOnFloor_~floor#1; 1145#L2904-2true assume 0 == initPersonOnFloor_~person#1;~personOnFloor_0_0~0 := 1; 2951#L3011-3true assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 11549#L2695-2true assume 0 == callOnFloor_~floorID#1;~calls_0~0 := 1; 17877#L2707-5true havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true; 3127#initPersonOnFloor_returnLabel#2true havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true; 7388#angelinaCall_returnLabel#1true havoc angelinaCall_#t~ret119#1, angelinaCall_~tmp~21#1;assume { :end_inline_angelinaCall } true;assume { :begin_inline_threeTS } true;assume { :begin_inline_timeShift } true;havoc timeShift_#t~ret86#1, timeShift_~tmp~16#1;havoc timeShift_~tmp~16#1;assume { :begin_inline___utac_acc__Specification13_spec__1 } true;havoc __utac_acc__Specification13_spec__1_#t~ret136#1;assume { :begin_inline_getCurrentHeading } true;havoc getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~7#1;havoc getCurrentHeading_~retValue_acc~7#1;getCurrentHeading_~retValue_acc~7#1 := ~currentHeading~0;getCurrentHeading_#res#1 := getCurrentHeading_~retValue_acc~7#1; 6825#getCurrentHeading_returnLabel#1true __utac_acc__Specification13_spec__1_#t~ret136#1 := getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~7#1;assume { :end_inline_getCurrentHeading } true;~prevDir~0 := __utac_acc__Specification13_spec__1_#t~ret136#1;havoc __utac_acc__Specification13_spec__1_#t~ret136#1; 12422#__utac_acc__Specification13_spec__1_returnLabel#1true havoc __utac_acc__Specification13_spec__1_#t~ret136#1;assume { :end_inline___utac_acc__Specification13_spec__1 } true;assume { :begin_inline_areDoorsOpen } true;havoc areDoorsOpen_#res#1;havoc areDoorsOpen_~retValue_acc~5#1;havoc areDoorsOpen_~retValue_acc~5#1;areDoorsOpen_~retValue_acc~5#1 := ~doorState~0;areDoorsOpen_#res#1 := areDoorsOpen_~retValue_acc~5#1; 14147#areDoorsOpen_returnLabel#1true timeShift_#t~ret86#1 := areDoorsOpen_#res#1;havoc areDoorsOpen_~retValue_acc~5#1;assume { :end_inline_areDoorsOpen } true;timeShift_~tmp~16#1 := timeShift_#t~ret86#1;havoc timeShift_#t~ret86#1; 17002#L1702true assume 0 != timeShift_~tmp~16#1; 8562#L1703true assume ~weight~0 > ~maximumWeight~0;~blocked~0 := 1; 3738#L1702-1true assume { :begin_inline___utac_acc__Specification13_spec__2 } true;havoc __utac_acc__Specification13_spec__2_#t~ret137#1, __utac_acc__Specification13_spec__2_#t~ret138#1, __utac_acc__Specification13_spec__2_#t~ret139#1, __utac_acc__Specification13_spec__2_#t~ret140#1, __utac_acc__Specification13_spec__2_#t~ret141#1, __utac_acc__Specification13_spec__2_#t~ret142#1, __utac_acc__Specification13_spec__2_~tmp~30#1, __utac_acc__Specification13_spec__2_~tmp___0~13#1, __utac_acc__Specification13_spec__2_~tmp___1~8#1, __utac_acc__Specification13_spec__2_~tmp___2~6#1, __utac_acc__Specification13_spec__2_~tmp___3~5#1, __utac_acc__Specification13_spec__2_~tmp___4~3#1, __utac_acc__Specification13_spec__2_~__cil_tmp7~7#1, __utac_acc__Specification13_spec__2_~__cil_tmp8~8#1;havoc __utac_acc__Specification13_spec__2_~tmp~30#1;havoc __utac_acc__Specification13_spec__2_~tmp___0~13#1;havoc __utac_acc__Specification13_spec__2_~tmp___1~8#1;havoc __utac_acc__Specification13_spec__2_~tmp___2~6#1;havoc __utac_acc__Specification13_spec__2_~tmp___3~5#1;havoc __utac_acc__Specification13_spec__2_~tmp___4~3#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp7~7#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp8~8#1;__utac_acc__Specification13_spec__2_~__cil_tmp7~7#1 := 2 * ~maximumWeight~0;__utac_acc__Specification13_spec__2_~__cil_tmp8~8#1 := (if __utac_acc__Specification13_spec__2_~__cil_tmp7~7#1 < 0 && 0 != __utac_acc__Specification13_spec__2_~__cil_tmp7~7#1 % 3 then 1 + __utac_acc__Specification13_spec__2_~__cil_tmp7~7#1 / 3 else __utac_acc__Specification13_spec__2_~__cil_tmp7~7#1 / 3); 1562#L3236true assume ~weight~0 > __utac_acc__Specification13_spec__2_~__cil_tmp8~8#1; 7801#L3237true 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~19#1, existInLiftCallsInDirection_~i~0#1, existInLiftCallsInDirection_~i___0~0#1;existInLiftCallsInDirection_~d#1 := existInLiftCallsInDirection_#in~d#1;havoc existInLiftCallsInDirection_~retValue_acc~19#1;havoc existInLiftCallsInDirection_~i~0#1;havoc existInLiftCallsInDirection_~i___0~0#1; 17337#L1922true assume 1 == existInLiftCallsInDirection_~d#1;existInLiftCallsInDirection_~i~0#1 := 0;existInLiftCallsInDirection_~i~0#1 := 1 + ~currentFloorID~0; 13701#L1926-2true [2024-11-09 15:53:00,871 INFO L747 eck$LassoCheckResult]: Loop: 13701#L1926-2true assume !false; 17211#L1927true assume existInLiftCallsInDirection_~i~0#1 < 5; 17543#L1928true assume !(0 == existInLiftCallsInDirection_~i~0#1); 14213#$Ultimate##7080true assume !(1 == existInLiftCallsInDirection_~i~0#1); 10820#$Ultimate##7084true assume !(2 == existInLiftCallsInDirection_~i~0#1); 3881#$Ultimate##7088true assume !(3 == existInLiftCallsInDirection_~i~0#1); 10072#$Ultimate##7092true assume !(4 == existInLiftCallsInDirection_~i~0#1); 13134#L1969-1true existInLiftCallsInDirection_~i~0#1 := 1 + existInLiftCallsInDirection_~i~0#1; 13701#L1926-2true [2024-11-09 15:53:00,880 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-09 15:53:00,880 INFO L85 PathProgramCache]: Analyzing trace with hash -1530792437, now seen corresponding path program 1 times [2024-11-09 15:53:00,891 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-09 15:53:00,893 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [651090983] [2024-11-09 15:53:00,893 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-09 15:53:00,894 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-09 15:53:01,079 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-09 15:53:01,358 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-09 15:53:01,359 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-09 15:53:01,360 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [651090983] [2024-11-09 15:53:01,360 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [651090983] provided 1 perfect and 0 imperfect interpolant sequences [2024-11-09 15:53:01,361 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-11-09 15:53:01,361 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2024-11-09 15:53:01,362 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1390744790] [2024-11-09 15:53:01,363 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-11-09 15:53:01,368 INFO L750 eck$LassoCheckResult]: stem already infeasible [2024-11-09 15:53:01,369 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-09 15:53:01,369 INFO L85 PathProgramCache]: Analyzing trace with hash 629105533, now seen corresponding path program 1 times [2024-11-09 15:53:01,369 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-09 15:53:01,370 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1678620264] [2024-11-09 15:53:01,371 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-09 15:53:01,371 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-09 15:53:01,398 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-09 15:53:01,398 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-09 15:53:01,401 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-09 15:53:01,442 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-09 15:53:01,502 INFO L204 LassoAnalysis]: Preferences: [2024-11-09 15:53:01,502 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2024-11-09 15:53:01,503 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2024-11-09 15:53:01,503 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2024-11-09 15:53:01,503 INFO L128 ssoRankerPreferences]: Use exernal solver: true [2024-11-09 15:53:01,503 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-09 15:53:01,503 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2024-11-09 15:53:01,503 INFO L131 ssoRankerPreferences]: Path of dumped script: [2024-11-09 15:53:01,503 INFO L132 ssoRankerPreferences]: Filename of dumped script: elevator_spec13_product24.cil.c_Iteration1_Loop [2024-11-09 15:53:01,504 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2024-11-09 15:53:01,504 INFO L241 LassoAnalysis]: Starting lasso preprocessing... [2024-11-09 15:53:01,521 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-09 15:53:01,592 INFO L259 LassoAnalysis]: Preprocessing complete. [2024-11-09 15:53:01,592 INFO L365 LassoAnalysis]: Checking for nontermination... [2024-11-09 15:53:01,596 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-09 15:53:01,596 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-09 15:53:01,600 INFO L229 MonitoredProcess]: Starting monitored process 2 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-09 15:53:01,602 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (2)] Waiting until timeout for monitored process [2024-11-09 15:53:01,604 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2024-11-09 15:53:01,604 INFO L160 nArgumentSynthesizer]: Using integer mode. [2024-11-09 15:53:01,639 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (2)] Forceful destruction successful, exit code 0 [2024-11-09 15:53:01,644 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-09 15:53:01,644 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-09 15:53:01,646 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-09 15:53:01,648 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-09 15:53:01,649 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 3 Nilpotent components: true [2024-11-09 15:53:01,649 INFO L160 nArgumentSynthesizer]: Using integer mode. [2024-11-09 15:53:01,687 INFO L405 LassoAnalysis]: Proving nontermination failed: No geometric nontermination argument exists. [2024-11-09 15:53:01,693 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-09 15:53:01,694 INFO L204 LassoAnalysis]: Preferences: [2024-11-09 15:53:01,694 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2024-11-09 15:53:01,694 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2024-11-09 15:53:01,694 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2024-11-09 15:53:01,694 INFO L128 ssoRankerPreferences]: Use exernal solver: false [2024-11-09 15:53:01,695 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-09 15:53:01,695 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2024-11-09 15:53:01,695 INFO L131 ssoRankerPreferences]: Path of dumped script: [2024-11-09 15:53:01,695 INFO L132 ssoRankerPreferences]: Filename of dumped script: elevator_spec13_product24.cil.c_Iteration1_Loop [2024-11-09 15:53:01,695 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2024-11-09 15:53:01,695 INFO L241 LassoAnalysis]: Starting lasso preprocessing... [2024-11-09 15:53:01,696 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-09 15:53:01,763 INFO L259 LassoAnalysis]: Preprocessing complete. [2024-11-09 15:53:01,768 INFO L451 LassoAnalysis]: Using template 'affine'. [2024-11-09 15:53:01,769 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-09 15:53:01,769 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-09 15:53:01,772 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-09 15:53:01,774 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-09 15:53:01,775 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-09 15:53:01,787 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-09 15:53:01,788 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-11-09 15:53:01,788 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-09 15:53:01,788 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-09 15:53:01,789 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-09 15:53:01,792 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-11-09 15:53:01,792 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-11-09 15:53:01,794 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2024-11-09 15:53:01,799 INFO L443 ModelExtractionUtils]: Simplification made 2 calls to the SMT solver. [2024-11-09 15:53:01,799 INFO L444 ModelExtractionUtils]: 1 out of 3 variables were initially zero. Simplification set additionally 0 variables to zero. [2024-11-09 15:53:01,800 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-09 15:53:01,800 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-09 15:53:01,824 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-09 15:53:01,827 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-09 15:53:01,828 INFO L435 nArgumentSynthesizer]: Simplifying supporting invariants... [2024-11-09 15:53:01,828 INFO L438 nArgumentSynthesizer]: Removed 0 redundant supporting invariants from a total of 0. [2024-11-09 15:53:01,829 INFO L474 LassoAnalysis]: Proved termination. [2024-11-09 15:53:01,829 INFO L476 LassoAnalysis]: Termination argument consisting of: Ranking function f(ULTIMATE.start_existInLiftCallsInDirection_~i~0#1) = -1*ULTIMATE.start_existInLiftCallsInDirection_~i~0#1 Supporting invariants [] [2024-11-09 15:53:01,844 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (4)] Forceful destruction successful, exit code 0 [2024-11-09 15:53:01,847 INFO L156 tatePredicateManager]: 0 out of 0 supporting invariants were superfluous and have been removed [2024-11-09 15:53:01,878 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-09 15:53:02,035 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-09 15:53:02,040 INFO L255 TraceCheckSpWp]: Trace formula consists of 541 conjuncts, 2 conjuncts are in the unsatisfiable core [2024-11-09 15:53:02,042 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-09 15:53:02,113 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-09 15:53:02,114 WARN L253 TraceCheckSpWp]: Trace formula consists of 11 conjuncts, 9 conjuncts are in the unsatisfiable core [2024-11-09 15:53:02,115 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-09 15:53:02,306 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-09 15:53:02,340 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-09 15:53:02,379 INFO L71 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand has 17952 states, 17951 states have (on average 1.8770542031084618) internal successors, (33695), 17951 states have internal predecessors, (33695), 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 4.666666666666667) internal successors, (42), 9 states have internal predecessors, (42), 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-09 15:53:03,419 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-09 15:53:04,568 INFO L75 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand has 17952 states, 17951 states have (on average 1.8770542031084618) internal successors, (33695), 17951 states have internal predecessors, (33695), 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 4.666666666666667) internal successors, (42), 9 states have internal predecessors, (42), 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 46798 states and 87780 transitions. Complement of second has 18 states. [2024-11-09 15:53:04,572 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-09 15:53:04,577 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 4.666666666666667) internal successors, (42), 9 states have internal predecessors, (42), 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-09 15:53:04,660 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 60757 transitions. [2024-11-09 15:53:04,662 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 10 states and 60757 transitions. Stem has 34 letters. Loop has 8 letters. [2024-11-09 15:53:04,664 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2024-11-09 15:53:04,664 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 10 states and 60757 transitions. Stem has 42 letters. Loop has 8 letters. [2024-11-09 15:53:04,665 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2024-11-09 15:53:04,665 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 10 states and 60757 transitions. Stem has 34 letters. Loop has 16 letters. [2024-11-09 15:53:04,666 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2024-11-09 15:53:04,667 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 46798 states and 87780 transitions. [2024-11-09 15:53:05,188 INFO L131 ngComponentsAnalysis]: Automaton has 60 accepting balls. 8070 [2024-11-09 15:53:05,381 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 46798 states to 32299 states and 60501 transitions. [2024-11-09 15:53:05,382 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 32269 [2024-11-09 15:53:05,422 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 32270 [2024-11-09 15:53:05,423 INFO L73 IsDeterministic]: Start isDeterministic. Operand 32299 states and 60501 transitions. [2024-11-09 15:53:05,424 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-11-09 15:53:05,424 INFO L218 hiAutomatonCegarLoop]: Abstraction has 32299 states and 60501 transitions. [2024-11-09 15:53:05,488 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 32299 states and 60501 transitions. [2024-11-09 15:53:05,988 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 32299 to 32273. [2024-11-09 15:53:06,057 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 32273 states, 32273 states have (on average 1.8734545905245872) internal successors, (60462), 32272 states have internal predecessors, (60462), 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-09 15:53:06,134 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32273 states to 32273 states and 60462 transitions. [2024-11-09 15:53:06,136 INFO L240 hiAutomatonCegarLoop]: Abstraction has 32273 states and 60462 transitions. [2024-11-09 15:53:06,136 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-09 15:53:06,139 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2024-11-09 15:53:06,140 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2024-11-09 15:53:06,142 INFO L87 Difference]: Start difference. First operand 32273 states and 60462 transitions. Second operand has 5 states, 5 states have (on average 6.8) internal successors, (34), 5 states have internal predecessors, (34), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-09 15:53:07,383 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-09 15:53:07,383 INFO L93 Difference]: Finished difference Result 32255 states and 60331 transitions. [2024-11-09 15:53:07,384 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 32255 states and 60331 transitions. [2024-11-09 15:53:07,551 INFO L131 ngComponentsAnalysis]: Automaton has 60 accepting balls. 8054 [2024-11-09 15:53:07,684 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 32255 states to 32246 states and 60322 transitions. [2024-11-09 15:53:07,684 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 32227 [2024-11-09 15:53:07,724 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 32227 [2024-11-09 15:53:07,724 INFO L73 IsDeterministic]: Start isDeterministic. Operand 32246 states and 60322 transitions. [2024-11-09 15:53:07,725 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-11-09 15:53:07,725 INFO L218 hiAutomatonCegarLoop]: Abstraction has 32246 states and 60322 transitions. [2024-11-09 15:53:07,771 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 32246 states and 60322 transitions. [2024-11-09 15:53:08,052 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 32246 to 17939. [2024-11-09 15:53:08,082 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17939 states, 17939 states have (on average 1.8707285801884164) internal successors, (33559), 17938 states have internal predecessors, (33559), 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-09 15:53:08,340 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17939 states to 17939 states and 33559 transitions. [2024-11-09 15:53:08,341 INFO L240 hiAutomatonCegarLoop]: Abstraction has 17939 states and 33559 transitions. [2024-11-09 15:53:08,341 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2024-11-09 15:53:08,342 INFO L425 stractBuchiCegarLoop]: Abstraction has 17939 states and 33559 transitions. [2024-11-09 15:53:08,342 INFO L332 stractBuchiCegarLoop]: ======== Iteration 2 ============ [2024-11-09 15:53:08,342 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 17939 states and 33559 transitions. [2024-11-09 15:53:08,464 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 4074 [2024-11-09 15:53:08,464 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-09 15:53:08,464 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-09 15:53:08,466 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] [2024-11-09 15:53:08,466 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1, 1, 1] [2024-11-09 15:53:08,467 INFO L745 eck$LassoCheckResult]: Stem: 138372#$Ultimate##0 assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int#0(48, 1, 0, 1);call write~init~int#0(0, 1, 1, 1);call #Ultimate.allocInit(32, 2);call #Ultimate.allocInit(12, 3);call #Ultimate.allocInit(30, 4);call #Ultimate.allocInit(9, 5);call #Ultimate.allocInit(21, 6);call #Ultimate.allocInit(30, 7);call #Ultimate.allocInit(9, 8);call #Ultimate.allocInit(21, 9);call #Ultimate.allocInit(30, 10);call #Ultimate.allocInit(9, 11);call #Ultimate.allocInit(25, 12);call #Ultimate.allocInit(30, 13);call #Ultimate.allocInit(9, 14);call #Ultimate.allocInit(25, 15);call #Ultimate.allocInit(10, 16);call #Ultimate.allocInit(4, 17);call write~init~int#5(91, 17, 0, 1);call write~init~int#5(95, 17, 1, 1);call write~init~int#5(93, 17, 2, 1);call write~init~int#5(0, 17, 3, 1);call #Ultimate.allocInit(4, 18);call write~init~int#6(91, 18, 0, 1);call write~init~int#6(93, 18, 1, 1);call write~init~int#6(32, 18, 2, 1);call write~init~int#6(0, 18, 3, 1);call #Ultimate.allocInit(5, 19);call write~init~int#7(32, 19, 0, 1);call write~init~int#7(97, 19, 1, 1);call write~init~int#7(116, 19, 2, 1);call write~init~int#7(32, 19, 3, 1);call write~init~int#7(0, 19, 4, 1);call #Ultimate.allocInit(3, 20);call write~init~int#8(37, 20, 0, 1);call write~init~int#8(105, 20, 1, 1);call write~init~int#8(0, 20, 2, 1);call #Ultimate.allocInit(10, 21);call #Ultimate.allocInit(3, 22);call write~init~int#9(117, 22, 0, 1);call write~init~int#9(112, 22, 1, 1);call write~init~int#9(0, 22, 2, 1);call #Ultimate.allocInit(5, 23);call write~init~int#10(100, 23, 0, 1);call write~init~int#10(111, 23, 1, 1);call write~init~int#10(119, 23, 2, 1);call write~init~int#10(110, 23, 3, 1);call write~init~int#10(0, 23, 4, 1);call #Ultimate.allocInit(7, 24);call write~init~int#11(32, 24, 0, 1);call write~init~int#11(73, 24, 1, 1);call write~init~int#11(76, 24, 2, 1);call write~init~int#11(95, 24, 3, 1);call write~init~int#11(112, 24, 4, 1);call write~init~int#11(58, 24, 5, 1);call write~init~int#11(0, 24, 6, 1);call #Ultimate.allocInit(4, 25);call write~init~int#12(32, 25, 0, 1);call write~init~int#12(37, 25, 1, 1);call write~init~int#12(105, 25, 2, 1);call write~init~int#12(0, 25, 3, 1);call #Ultimate.allocInit(4, 26);call write~init~int#13(32, 26, 0, 1);call write~init~int#13(37, 26, 1, 1);call write~init~int#13(105, 26, 2, 1);call write~init~int#13(0, 26, 3, 1);call #Ultimate.allocInit(4, 27);call write~init~int#14(32, 27, 0, 1);call write~init~int#14(37, 27, 1, 1);call write~init~int#14(105, 27, 2, 1);call write~init~int#14(0, 27, 3, 1);call #Ultimate.allocInit(4, 28);call write~init~int#15(32, 28, 0, 1);call write~init~int#15(37, 28, 1, 1);call write~init~int#15(105, 28, 2, 1);call write~init~int#15(0, 28, 3, 1);call #Ultimate.allocInit(4, 29);call write~init~int#16(32, 29, 0, 1);call write~init~int#16(37, 29, 1, 1);call write~init~int#16(105, 29, 2, 1);call write~init~int#16(0, 29, 3, 1);call #Ultimate.allocInit(6, 30);call write~init~int#17(32, 30, 0, 1);call write~init~int#17(70, 30, 1, 1);call write~init~int#17(95, 30, 2, 1);call write~init~int#17(112, 30, 3, 1);call write~init~int#17(58, 30, 4, 1);call write~init~int#17(0, 30, 5, 1);call #Ultimate.allocInit(4, 31);call write~init~int#18(32, 31, 0, 1);call write~init~int#18(37, 31, 1, 1);call write~init~int#18(105, 31, 2, 1);call write~init~int#18(0, 31, 3, 1);call #Ultimate.allocInit(4, 32);call write~init~int#19(32, 32, 0, 1);call write~init~int#19(37, 32, 1, 1);call write~init~int#19(105, 32, 2, 1);call write~init~int#19(0, 32, 3, 1);call #Ultimate.allocInit(4, 33);call write~init~int#1(32, 33, 0, 1);call write~init~int#1(37, 33, 1, 1);call write~init~int#1(105, 33, 2, 1);call write~init~int#1(0, 33, 3, 1);call #Ultimate.allocInit(4, 34);call write~init~int#2(32, 34, 0, 1);call write~init~int#2(37, 34, 1, 1);call write~init~int#2(105, 34, 2, 1);call write~init~int#2(0, 34, 3, 1);call #Ultimate.allocInit(4, 35);call write~init~int#3(32, 35, 0, 1);call write~init~int#3(37, 35, 1, 1);call write~init~int#3(105, 35, 2, 1);call write~init~int#3(0, 35, 3, 1);call #Ultimate.allocInit(2, 36);call write~init~int#4(10, 36, 0, 1);call write~init~int#4(0, 36, 1, 1);call #Ultimate.allocInit(9, 37);~head~0.base, ~head~0.offset := 0, 0;~weight~0 := 0;~maximumWeight~0 := 100;~executiveFloor~0 := 4;~blocked~0 := 0;~currentHeading~0 := 1;~currentFloorID~0 := 0;~persons_0~0 := 0;~persons_1~0 := 0;~persons_2~0 := 0;~persons_3~0 := 0;~persons_4~0 := 0;~persons_5~0 := 0;~doorState~0 := 1;~floorButtons_0~0 := 0;~floorButtons_1~0 := 0;~floorButtons_2~0 := 0;~floorButtons_3~0 := 0;~floorButtons_4~0 := 0;~cleanupTimeShifts~0 := 12;~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;~prevDir~0 := 0; 138008#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret129#1, main_~retValue_acc~23#1, main_~tmp~27#1;havoc main_~retValue_acc~23#1;havoc main_~tmp~27#1;assume { :begin_inline_select_helpers } true; 138009#select_helpers_returnLabel#1 assume { :end_inline_select_helpers } true;assume { :begin_inline_select_features } true; 147238#select_features_returnLabel#1 assume { :end_inline_select_features } true;assume { :begin_inline_valid_product } true;havoc valid_product_#res#1;havoc valid_product_~retValue_acc~31#1;havoc valid_product_~retValue_acc~31#1;valid_product_~retValue_acc~31#1 := 1;valid_product_#res#1 := valid_product_~retValue_acc~31#1; 144059#valid_product_returnLabel#1 main_#t~ret129#1 := valid_product_#res#1;havoc valid_product_~retValue_acc~31#1;assume { :end_inline_valid_product } true;main_~tmp~27#1 := main_#t~ret129#1;havoc main_#t~ret129#1; 144060#L2436 assume 0 != main_~tmp~27#1;assume { :begin_inline_setup } true; 144666#setup_returnLabel#1 assume { :end_inline_setup } true;assume { :begin_inline_runTest } true;assume { :begin_inline_test } true;assume { :begin_inline_aliceCall } true;havoc aliceCall_#t~ret118#1, aliceCall_~tmp~20#1;havoc aliceCall_~tmp~20#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 1;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~28#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~28#1; 144667#L3343 assume !(0 == getOrigin_~person#1); 145029#L3347 assume 1 == getOrigin_~person#1;getOrigin_~retValue_acc~28#1 := 3;getOrigin_#res#1 := getOrigin_~retValue_acc~28#1; 134588#getOrigin_returnLabel#1 aliceCall_#t~ret118#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~28#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;aliceCall_~tmp~20#1 := aliceCall_#t~ret118#1;havoc aliceCall_#t~ret118#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 1, aliceCall_~tmp~20#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 134710#L2903 assume 0 == initPersonOnFloor_~floor#1; 139062#L2904 assume 0 == initPersonOnFloor_~person#1;~personOnFloor_0_0~0 := 1; 132204#L3011-1 assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 138128#L2695 assume 0 == callOnFloor_~floorID#1;~calls_0~0 := 1; 137082#L2707-2 havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true; 142838#initPersonOnFloor_returnLabel#1 havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true; 144281#aliceCall_returnLabel#1 havoc aliceCall_#t~ret118#1, aliceCall_~tmp~20#1;assume { :end_inline_aliceCall } true;assume { :begin_inline_angelinaCall } true;havoc angelinaCall_#t~ret119#1, angelinaCall_~tmp~21#1;havoc angelinaCall_~tmp~21#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 2;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~28#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~28#1; 147224#L3343-1 assume !(0 == getOrigin_~person#1); 147379#L3347-1 assume 1 == getOrigin_~person#1;getOrigin_~retValue_acc~28#1 := 3;getOrigin_#res#1 := getOrigin_~retValue_acc~28#1; 132359#getOrigin_returnLabel#2 angelinaCall_#t~ret119#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~28#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;angelinaCall_~tmp~21#1 := angelinaCall_#t~ret119#1;havoc angelinaCall_#t~ret119#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 2, angelinaCall_~tmp~21#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 138454#L2903-1 assume 0 == initPersonOnFloor_~floor#1; 132211#L2904-2 assume 0 == initPersonOnFloor_~person#1;~personOnFloor_0_0~0 := 1; 129489#L3011-3 assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 135751#L2695-2 assume 0 == callOnFloor_~floorID#1;~calls_0~0 := 1; 143365#L2707-5 havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true; 136052#initPersonOnFloor_returnLabel#2 havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true; 136053#angelinaCall_returnLabel#1 havoc angelinaCall_#t~ret119#1, angelinaCall_~tmp~21#1;assume { :end_inline_angelinaCall } true;assume { :begin_inline_threeTS } true;assume { :begin_inline_timeShift } true;havoc timeShift_#t~ret86#1, timeShift_~tmp~16#1;havoc timeShift_~tmp~16#1;assume { :begin_inline___utac_acc__Specification13_spec__1 } true;havoc __utac_acc__Specification13_spec__1_#t~ret136#1;assume { :begin_inline_getCurrentHeading } true;havoc getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~7#1;havoc getCurrentHeading_~retValue_acc~7#1;getCurrentHeading_~retValue_acc~7#1 := ~currentHeading~0;getCurrentHeading_#res#1 := getCurrentHeading_~retValue_acc~7#1; 141393#getCurrentHeading_returnLabel#1 __utac_acc__Specification13_spec__1_#t~ret136#1 := getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~7#1;assume { :end_inline_getCurrentHeading } true;~prevDir~0 := __utac_acc__Specification13_spec__1_#t~ret136#1;havoc __utac_acc__Specification13_spec__1_#t~ret136#1; 141394#__utac_acc__Specification13_spec__1_returnLabel#1 havoc __utac_acc__Specification13_spec__1_#t~ret136#1;assume { :end_inline___utac_acc__Specification13_spec__1 } true;assume { :begin_inline_areDoorsOpen } true;havoc areDoorsOpen_#res#1;havoc areDoorsOpen_~retValue_acc~5#1;havoc areDoorsOpen_~retValue_acc~5#1;areDoorsOpen_~retValue_acc~5#1 := ~doorState~0;areDoorsOpen_#res#1 := areDoorsOpen_~retValue_acc~5#1; 145901#areDoorsOpen_returnLabel#1 timeShift_#t~ret86#1 := areDoorsOpen_#res#1;havoc areDoorsOpen_~retValue_acc~5#1;assume { :end_inline_areDoorsOpen } true;timeShift_~tmp~16#1 := timeShift_#t~ret86#1;havoc timeShift_#t~ret86#1; 146684#L1702 assume 0 != timeShift_~tmp~16#1; 143215#L1703 assume ~weight~0 > ~maximumWeight~0;~blocked~0 := 1; 134595#L1702-1 assume { :begin_inline___utac_acc__Specification13_spec__2 } true;havoc __utac_acc__Specification13_spec__2_#t~ret137#1, __utac_acc__Specification13_spec__2_#t~ret138#1, __utac_acc__Specification13_spec__2_#t~ret139#1, __utac_acc__Specification13_spec__2_#t~ret140#1, __utac_acc__Specification13_spec__2_#t~ret141#1, __utac_acc__Specification13_spec__2_#t~ret142#1, __utac_acc__Specification13_spec__2_~tmp~30#1, __utac_acc__Specification13_spec__2_~tmp___0~13#1, __utac_acc__Specification13_spec__2_~tmp___1~8#1, __utac_acc__Specification13_spec__2_~tmp___2~6#1, __utac_acc__Specification13_spec__2_~tmp___3~5#1, __utac_acc__Specification13_spec__2_~tmp___4~3#1, __utac_acc__Specification13_spec__2_~__cil_tmp7~7#1, __utac_acc__Specification13_spec__2_~__cil_tmp8~8#1;havoc __utac_acc__Specification13_spec__2_~tmp~30#1;havoc __utac_acc__Specification13_spec__2_~tmp___0~13#1;havoc __utac_acc__Specification13_spec__2_~tmp___1~8#1;havoc __utac_acc__Specification13_spec__2_~tmp___2~6#1;havoc __utac_acc__Specification13_spec__2_~tmp___3~5#1;havoc __utac_acc__Specification13_spec__2_~tmp___4~3#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp7~7#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp8~8#1;__utac_acc__Specification13_spec__2_~__cil_tmp7~7#1 := 2 * ~maximumWeight~0;__utac_acc__Specification13_spec__2_~__cil_tmp8~8#1 := (if __utac_acc__Specification13_spec__2_~__cil_tmp7~7#1 < 0 && 0 != __utac_acc__Specification13_spec__2_~__cil_tmp7~7#1 % 3 then 1 + __utac_acc__Specification13_spec__2_~__cil_tmp7~7#1 / 3 else __utac_acc__Specification13_spec__2_~__cil_tmp7~7#1 / 3); 133096#L3236 assume ~weight~0 > __utac_acc__Specification13_spec__2_~__cil_tmp8~8#1; 133097#L3237 assume !(1 == ~prevDir~0); 131976#L3263 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~19#1, existInLiftCallsInDirection_~i~0#1, existInLiftCallsInDirection_~i___0~0#1;existInLiftCallsInDirection_~d#1 := existInLiftCallsInDirection_#in~d#1;havoc existInLiftCallsInDirection_~retValue_acc~19#1;havoc existInLiftCallsInDirection_~i~0#1;havoc existInLiftCallsInDirection_~i___0~0#1; 131978#L1922-2 assume 1 == existInLiftCallsInDirection_~d#1;existInLiftCallsInDirection_~i~0#1 := 0;existInLiftCallsInDirection_~i~0#1 := 1 + ~currentFloorID~0; 143609#L1926-8 [2024-11-09 15:53:08,468 INFO L747 eck$LassoCheckResult]: Loop: 143609#L1926-8 assume !false; 144606#L1927-2 assume existInLiftCallsInDirection_~i~0#1 < 5; 131323#L1928-2 assume !(0 == existInLiftCallsInDirection_~i~0#1); 131325#$Ultimate##7236 assume !(1 == existInLiftCallsInDirection_~i~0#1); 145957#$Ultimate##7240 assume !(2 == existInLiftCallsInDirection_~i~0#1); 146354#$Ultimate##7244 assume !(3 == existInLiftCallsInDirection_~i~0#1); 131004#$Ultimate##7248 assume !(4 == existInLiftCallsInDirection_~i~0#1); 131006#L1969-5 existInLiftCallsInDirection_~i~0#1 := 1 + existInLiftCallsInDirection_~i~0#1; 143609#L1926-8 [2024-11-09 15:53:08,469 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-09 15:53:08,470 INFO L85 PathProgramCache]: Analyzing trace with hash 1862529426, now seen corresponding path program 1 times [2024-11-09 15:53:08,470 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-09 15:53:08,470 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1824805702] [2024-11-09 15:53:08,470 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-09 15:53:08,471 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-09 15:53:08,518 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-09 15:53:08,662 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-09 15:53:08,663 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-09 15:53:08,663 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1824805702] [2024-11-09 15:53:08,663 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1824805702] provided 1 perfect and 0 imperfect interpolant sequences [2024-11-09 15:53:08,663 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-11-09 15:53:08,664 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2024-11-09 15:53:08,664 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1946871803] [2024-11-09 15:53:08,664 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-11-09 15:53:08,664 INFO L750 eck$LassoCheckResult]: stem already infeasible [2024-11-09 15:53:08,665 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-09 15:53:08,665 INFO L85 PathProgramCache]: Analyzing trace with hash -563795075, now seen corresponding path program 1 times [2024-11-09 15:53:08,665 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-09 15:53:08,665 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1565577409] [2024-11-09 15:53:08,666 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-09 15:53:08,666 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-09 15:53:08,693 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-09 15:53:08,693 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-09 15:53:08,694 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-09 15:53:08,711 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-09 15:53:08,755 INFO L204 LassoAnalysis]: Preferences: [2024-11-09 15:53:08,755 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2024-11-09 15:53:08,755 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2024-11-09 15:53:08,755 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2024-11-09 15:53:08,755 INFO L128 ssoRankerPreferences]: Use exernal solver: true [2024-11-09 15:53:08,756 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-09 15:53:08,756 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2024-11-09 15:53:08,756 INFO L131 ssoRankerPreferences]: Path of dumped script: [2024-11-09 15:53:08,756 INFO L132 ssoRankerPreferences]: Filename of dumped script: elevator_spec13_product24.cil.c_Iteration2_Loop [2024-11-09 15:53:08,756 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2024-11-09 15:53:08,756 INFO L241 LassoAnalysis]: Starting lasso preprocessing... [2024-11-09 15:53:08,757 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-09 15:53:08,815 INFO L259 LassoAnalysis]: Preprocessing complete. [2024-11-09 15:53:08,816 INFO L365 LassoAnalysis]: Checking for nontermination... [2024-11-09 15:53:08,816 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-09 15:53:08,816 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-09 15:53:08,819 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-09 15:53:08,820 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-09 15:53:08,822 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2024-11-09 15:53:08,822 INFO L160 nArgumentSynthesizer]: Using integer mode. [2024-11-09 15:53:08,850 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-09 15:53:08,851 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-09 15:53:08,851 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-09 15:53:08,853 INFO L229 MonitoredProcess]: Starting monitored process 7 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-09 15:53:08,854 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (7)] Waiting until timeout for monitored process [2024-11-09 15:53:08,856 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 3 Nilpotent components: true [2024-11-09 15:53:08,856 INFO L160 nArgumentSynthesizer]: Using integer mode. [2024-11-09 15:53:08,893 INFO L405 LassoAnalysis]: Proving nontermination failed: No geometric nontermination argument exists. [2024-11-09 15:53:08,899 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (7)] Ended with exit code 0 [2024-11-09 15:53:08,899 INFO L204 LassoAnalysis]: Preferences: [2024-11-09 15:53:08,900 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2024-11-09 15:53:08,900 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2024-11-09 15:53:08,900 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2024-11-09 15:53:08,900 INFO L128 ssoRankerPreferences]: Use exernal solver: false [2024-11-09 15:53:08,900 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-09 15:53:08,900 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2024-11-09 15:53:08,901 INFO L131 ssoRankerPreferences]: Path of dumped script: [2024-11-09 15:53:08,901 INFO L132 ssoRankerPreferences]: Filename of dumped script: elevator_spec13_product24.cil.c_Iteration2_Loop [2024-11-09 15:53:08,901 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2024-11-09 15:53:08,901 INFO L241 LassoAnalysis]: Starting lasso preprocessing... [2024-11-09 15:53:08,902 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-09 15:53:08,957 INFO L259 LassoAnalysis]: Preprocessing complete. [2024-11-09 15:53:08,957 INFO L451 LassoAnalysis]: Using template 'affine'. [2024-11-09 15:53:08,957 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-09 15:53:08,958 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-09 15:53:08,959 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-09 15:53:08,961 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-09 15:53:08,962 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-09 15:53:08,974 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-09 15:53:08,974 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-11-09 15:53:08,974 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-09 15:53:08,974 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-09 15:53:08,974 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-09 15:53:08,975 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-11-09 15:53:08,976 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-11-09 15:53:08,978 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2024-11-09 15:53:08,981 INFO L443 ModelExtractionUtils]: Simplification made 2 calls to the SMT solver. [2024-11-09 15:53:08,981 INFO L444 ModelExtractionUtils]: 1 out of 3 variables were initially zero. Simplification set additionally 0 variables to zero. [2024-11-09 15:53:08,982 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-09 15:53:08,982 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-09 15:53:08,984 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-09 15:53:08,985 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-09 15:53:08,986 INFO L435 nArgumentSynthesizer]: Simplifying supporting invariants... [2024-11-09 15:53:08,987 INFO L438 nArgumentSynthesizer]: Removed 0 redundant supporting invariants from a total of 0. [2024-11-09 15:53:08,987 INFO L474 LassoAnalysis]: Proved termination. [2024-11-09 15:53:08,987 INFO L476 LassoAnalysis]: Termination argument consisting of: Ranking function f(ULTIMATE.start_existInLiftCallsInDirection_~i~0#1) = -1*ULTIMATE.start_existInLiftCallsInDirection_~i~0#1 Supporting invariants [] [2024-11-09 15:53:09,001 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (8)] Ended with exit code 0 [2024-11-09 15:53:09,003 INFO L156 tatePredicateManager]: 0 out of 0 supporting invariants were superfluous and have been removed [2024-11-09 15:53:09,020 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-09 15:53:09,116 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-09 15:53:09,119 INFO L255 TraceCheckSpWp]: Trace formula consists of 544 conjuncts, 2 conjuncts are in the unsatisfiable core [2024-11-09 15:53:09,121 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-09 15:53:09,191 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-09 15:53:09,192 WARN L253 TraceCheckSpWp]: Trace formula consists of 11 conjuncts, 9 conjuncts are in the unsatisfiable core [2024-11-09 15:53:09,193 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-09 15:53:09,371 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-09 15:53:09,372 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-09 15:53:09,372 INFO L71 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 17939 states and 33559 transitions. cyclomatic complexity: 15654 Second operand has 9 states, 9 states have (on average 5.0) internal successors, (45), 9 states have internal predecessors, (45), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-09 15:53:10,157 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-09 15:53:10,747 INFO L75 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 17939 states and 33559 transitions. cyclomatic complexity: 15654. Second operand has 9 states, 9 states have (on average 5.0) internal successors, (45), 9 states have internal predecessors, (45), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Result 32302 states and 60405 transitions. Complement of second has 17 states. [2024-11-09 15:53:10,748 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-09 15:53:10,750 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 5.0) internal successors, (45), 9 states have internal predecessors, (45), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-09 15:53:10,778 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 33546 transitions. [2024-11-09 15:53:10,779 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 9 states and 33546 transitions. Stem has 37 letters. Loop has 8 letters. [2024-11-09 15:53:10,781 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2024-11-09 15:53:10,781 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 9 states and 33546 transitions. Stem has 45 letters. Loop has 8 letters. [2024-11-09 15:53:10,781 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2024-11-09 15:53:10,781 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 9 states and 33546 transitions. Stem has 37 letters. Loop has 16 letters. [2024-11-09 15:53:10,781 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2024-11-09 15:53:10,782 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 32302 states and 60405 transitions. [2024-11-09 15:53:10,935 INFO L131 ngComponentsAnalysis]: Automaton has 60 accepting balls. 8068 [2024-11-09 15:53:11,059 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 32302 states to 32296 states and 60399 transitions. [2024-11-09 15:53:11,060 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 32247 [2024-11-09 15:53:11,116 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 32248 [2024-11-09 15:53:11,117 INFO L73 IsDeterministic]: Start isDeterministic. Operand 32296 states and 60399 transitions. [2024-11-09 15:53:11,121 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-11-09 15:53:11,121 INFO L218 hiAutomatonCegarLoop]: Abstraction has 32296 states and 60399 transitions. [2024-11-09 15:53:11,156 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 32296 states and 60399 transitions. [2024-11-09 15:53:11,426 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 32296 to 17963. [2024-11-09 15:53:11,454 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17963 states, 17963 states have (on average 1.8703445972276347) internal successors, (33597), 17962 states have internal predecessors, (33597), 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-09 15:53:11,497 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17963 states to 17963 states and 33597 transitions. [2024-11-09 15:53:11,497 INFO L240 hiAutomatonCegarLoop]: Abstraction has 17963 states and 33597 transitions. [2024-11-09 15:53:11,497 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-09 15:53:11,498 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2024-11-09 15:53:11,498 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2024-11-09 15:53:11,498 INFO L87 Difference]: Start difference. First operand 17963 states and 33597 transitions. Second operand has 4 states, 4 states have (on average 9.25) internal successors, (37), 4 states have internal predecessors, (37), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-09 15:53:12,100 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-09 15:53:12,101 INFO L93 Difference]: Finished difference Result 17981 states and 33615 transitions. [2024-11-09 15:53:12,101 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 17981 states and 33615 transitions. [2024-11-09 15:53:12,182 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 4078 [2024-11-09 15:53:12,256 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 17981 states to 17981 states and 33615 transitions. [2024-11-09 15:53:12,256 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 17943 [2024-11-09 15:53:12,275 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 17943 [2024-11-09 15:53:12,276 INFO L73 IsDeterministic]: Start isDeterministic. Operand 17981 states and 33615 transitions. [2024-11-09 15:53:12,276 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-11-09 15:53:12,276 INFO L218 hiAutomatonCegarLoop]: Abstraction has 17981 states and 33615 transitions. [2024-11-09 15:53:12,305 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 17981 states and 33615 transitions. [2024-11-09 15:53:12,732 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 17981 to 17978. [2024-11-09 15:53:12,758 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17978 states, 17978 states have (on average 1.869618422516409) internal successors, (33612), 17977 states have internal predecessors, (33612), 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-09 15:53:12,807 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17978 states to 17978 states and 33612 transitions. [2024-11-09 15:53:12,807 INFO L240 hiAutomatonCegarLoop]: Abstraction has 17978 states and 33612 transitions. [2024-11-09 15:53:12,808 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2024-11-09 15:53:12,809 INFO L425 stractBuchiCegarLoop]: Abstraction has 17978 states and 33612 transitions. [2024-11-09 15:53:12,809 INFO L332 stractBuchiCegarLoop]: ======== Iteration 3 ============ [2024-11-09 15:53:12,809 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 17978 states and 33612 transitions. [2024-11-09 15:53:12,884 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 4078 [2024-11-09 15:53:12,884 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-09 15:53:12,884 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-09 15:53:12,885 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] [2024-11-09 15:53:12,885 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-11-09 15:53:12,886 INFO L745 eck$LassoCheckResult]: Stem: 224741#$Ultimate##0 assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int#0(48, 1, 0, 1);call write~init~int#0(0, 1, 1, 1);call #Ultimate.allocInit(32, 2);call #Ultimate.allocInit(12, 3);call #Ultimate.allocInit(30, 4);call #Ultimate.allocInit(9, 5);call #Ultimate.allocInit(21, 6);call #Ultimate.allocInit(30, 7);call #Ultimate.allocInit(9, 8);call #Ultimate.allocInit(21, 9);call #Ultimate.allocInit(30, 10);call #Ultimate.allocInit(9, 11);call #Ultimate.allocInit(25, 12);call #Ultimate.allocInit(30, 13);call #Ultimate.allocInit(9, 14);call #Ultimate.allocInit(25, 15);call #Ultimate.allocInit(10, 16);call #Ultimate.allocInit(4, 17);call write~init~int#5(91, 17, 0, 1);call write~init~int#5(95, 17, 1, 1);call write~init~int#5(93, 17, 2, 1);call write~init~int#5(0, 17, 3, 1);call #Ultimate.allocInit(4, 18);call write~init~int#6(91, 18, 0, 1);call write~init~int#6(93, 18, 1, 1);call write~init~int#6(32, 18, 2, 1);call write~init~int#6(0, 18, 3, 1);call #Ultimate.allocInit(5, 19);call write~init~int#7(32, 19, 0, 1);call write~init~int#7(97, 19, 1, 1);call write~init~int#7(116, 19, 2, 1);call write~init~int#7(32, 19, 3, 1);call write~init~int#7(0, 19, 4, 1);call #Ultimate.allocInit(3, 20);call write~init~int#8(37, 20, 0, 1);call write~init~int#8(105, 20, 1, 1);call write~init~int#8(0, 20, 2, 1);call #Ultimate.allocInit(10, 21);call #Ultimate.allocInit(3, 22);call write~init~int#9(117, 22, 0, 1);call write~init~int#9(112, 22, 1, 1);call write~init~int#9(0, 22, 2, 1);call #Ultimate.allocInit(5, 23);call write~init~int#10(100, 23, 0, 1);call write~init~int#10(111, 23, 1, 1);call write~init~int#10(119, 23, 2, 1);call write~init~int#10(110, 23, 3, 1);call write~init~int#10(0, 23, 4, 1);call #Ultimate.allocInit(7, 24);call write~init~int#11(32, 24, 0, 1);call write~init~int#11(73, 24, 1, 1);call write~init~int#11(76, 24, 2, 1);call write~init~int#11(95, 24, 3, 1);call write~init~int#11(112, 24, 4, 1);call write~init~int#11(58, 24, 5, 1);call write~init~int#11(0, 24, 6, 1);call #Ultimate.allocInit(4, 25);call write~init~int#12(32, 25, 0, 1);call write~init~int#12(37, 25, 1, 1);call write~init~int#12(105, 25, 2, 1);call write~init~int#12(0, 25, 3, 1);call #Ultimate.allocInit(4, 26);call write~init~int#13(32, 26, 0, 1);call write~init~int#13(37, 26, 1, 1);call write~init~int#13(105, 26, 2, 1);call write~init~int#13(0, 26, 3, 1);call #Ultimate.allocInit(4, 27);call write~init~int#14(32, 27, 0, 1);call write~init~int#14(37, 27, 1, 1);call write~init~int#14(105, 27, 2, 1);call write~init~int#14(0, 27, 3, 1);call #Ultimate.allocInit(4, 28);call write~init~int#15(32, 28, 0, 1);call write~init~int#15(37, 28, 1, 1);call write~init~int#15(105, 28, 2, 1);call write~init~int#15(0, 28, 3, 1);call #Ultimate.allocInit(4, 29);call write~init~int#16(32, 29, 0, 1);call write~init~int#16(37, 29, 1, 1);call write~init~int#16(105, 29, 2, 1);call write~init~int#16(0, 29, 3, 1);call #Ultimate.allocInit(6, 30);call write~init~int#17(32, 30, 0, 1);call write~init~int#17(70, 30, 1, 1);call write~init~int#17(95, 30, 2, 1);call write~init~int#17(112, 30, 3, 1);call write~init~int#17(58, 30, 4, 1);call write~init~int#17(0, 30, 5, 1);call #Ultimate.allocInit(4, 31);call write~init~int#18(32, 31, 0, 1);call write~init~int#18(37, 31, 1, 1);call write~init~int#18(105, 31, 2, 1);call write~init~int#18(0, 31, 3, 1);call #Ultimate.allocInit(4, 32);call write~init~int#19(32, 32, 0, 1);call write~init~int#19(37, 32, 1, 1);call write~init~int#19(105, 32, 2, 1);call write~init~int#19(0, 32, 3, 1);call #Ultimate.allocInit(4, 33);call write~init~int#1(32, 33, 0, 1);call write~init~int#1(37, 33, 1, 1);call write~init~int#1(105, 33, 2, 1);call write~init~int#1(0, 33, 3, 1);call #Ultimate.allocInit(4, 34);call write~init~int#2(32, 34, 0, 1);call write~init~int#2(37, 34, 1, 1);call write~init~int#2(105, 34, 2, 1);call write~init~int#2(0, 34, 3, 1);call #Ultimate.allocInit(4, 35);call write~init~int#3(32, 35, 0, 1);call write~init~int#3(37, 35, 1, 1);call write~init~int#3(105, 35, 2, 1);call write~init~int#3(0, 35, 3, 1);call #Ultimate.allocInit(2, 36);call write~init~int#4(10, 36, 0, 1);call write~init~int#4(0, 36, 1, 1);call #Ultimate.allocInit(9, 37);~head~0.base, ~head~0.offset := 0, 0;~weight~0 := 0;~maximumWeight~0 := 100;~executiveFloor~0 := 4;~blocked~0 := 0;~currentHeading~0 := 1;~currentFloorID~0 := 0;~persons_0~0 := 0;~persons_1~0 := 0;~persons_2~0 := 0;~persons_3~0 := 0;~persons_4~0 := 0;~persons_5~0 := 0;~doorState~0 := 1;~floorButtons_0~0 := 0;~floorButtons_1~0 := 0;~floorButtons_2~0 := 0;~floorButtons_3~0 := 0;~floorButtons_4~0 := 0;~cleanupTimeShifts~0 := 12;~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;~prevDir~0 := 0; 224377#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret129#1, main_~retValue_acc~23#1, main_~tmp~27#1;havoc main_~retValue_acc~23#1;havoc main_~tmp~27#1;assume { :begin_inline_select_helpers } true; 224378#select_helpers_returnLabel#1 assume { :end_inline_select_helpers } true;assume { :begin_inline_select_features } true; 233621#select_features_returnLabel#1 assume { :end_inline_select_features } true;assume { :begin_inline_valid_product } true;havoc valid_product_#res#1;havoc valid_product_~retValue_acc~31#1;havoc valid_product_~retValue_acc~31#1;valid_product_~retValue_acc~31#1 := 1;valid_product_#res#1 := valid_product_~retValue_acc~31#1; 230436#valid_product_returnLabel#1 main_#t~ret129#1 := valid_product_#res#1;havoc valid_product_~retValue_acc~31#1;assume { :end_inline_valid_product } true;main_~tmp~27#1 := main_#t~ret129#1;havoc main_#t~ret129#1; 230437#L2436 assume 0 != main_~tmp~27#1;assume { :begin_inline_setup } true; 231044#setup_returnLabel#1 assume { :end_inline_setup } true;assume { :begin_inline_runTest } true;assume { :begin_inline_test } true;assume { :begin_inline_aliceCall } true;havoc aliceCall_#t~ret118#1, aliceCall_~tmp~20#1;havoc aliceCall_~tmp~20#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 1;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~28#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~28#1; 231045#L3343 assume !(0 == getOrigin_~person#1); 231405#L3347 assume !(1 == getOrigin_~person#1); 232122#L3351 assume 2 == getOrigin_~person#1;getOrigin_~retValue_acc~28#1 := 2;getOrigin_#res#1 := getOrigin_~retValue_acc~28#1; 220956#getOrigin_returnLabel#1 aliceCall_#t~ret118#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~28#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;aliceCall_~tmp~20#1 := aliceCall_#t~ret118#1;havoc aliceCall_#t~ret118#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 1, aliceCall_~tmp~20#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 233790#L2903 assume 0 == initPersonOnFloor_~floor#1; 225431#L2904 assume 0 == initPersonOnFloor_~person#1;~personOnFloor_0_0~0 := 1; 218572#L3011-1 assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 224497#L2695 assume 0 == callOnFloor_~floorID#1;~calls_0~0 := 1; 223451#L2707-2 havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true; 229211#initPersonOnFloor_returnLabel#1 havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true; 230658#aliceCall_returnLabel#1 havoc aliceCall_#t~ret118#1, aliceCall_~tmp~20#1;assume { :end_inline_aliceCall } true;assume { :begin_inline_angelinaCall } true;havoc angelinaCall_#t~ret119#1, angelinaCall_~tmp~21#1;havoc angelinaCall_~tmp~21#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 2;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~28#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~28#1; 233607#L3343-1 assume !(0 == getOrigin_~person#1); 233764#L3347-1 assume !(1 == getOrigin_~person#1); 218726#L3351-1 assume 2 == getOrigin_~person#1;getOrigin_~retValue_acc~28#1 := 2;getOrigin_#res#1 := getOrigin_~retValue_acc~28#1; 218727#getOrigin_returnLabel#2 angelinaCall_#t~ret119#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~28#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;angelinaCall_~tmp~21#1 := angelinaCall_#t~ret119#1;havoc angelinaCall_#t~ret119#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 2, angelinaCall_~tmp~21#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 233778#L2903-1 assume 0 == initPersonOnFloor_~floor#1; 218579#L2904-2 assume 0 == initPersonOnFloor_~person#1;~personOnFloor_0_0~0 := 1; 215852#L3011-3 assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 222120#L2695-2 assume 0 == callOnFloor_~floorID#1;~calls_0~0 := 1; 229740#L2707-5 havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true; 222421#initPersonOnFloor_returnLabel#2 havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true; 222422#angelinaCall_returnLabel#1 havoc angelinaCall_#t~ret119#1, angelinaCall_~tmp~21#1;assume { :end_inline_angelinaCall } true;assume { :begin_inline_threeTS } true;assume { :begin_inline_timeShift } true;havoc timeShift_#t~ret86#1, timeShift_~tmp~16#1;havoc timeShift_~tmp~16#1;assume { :begin_inline___utac_acc__Specification13_spec__1 } true;havoc __utac_acc__Specification13_spec__1_#t~ret136#1;assume { :begin_inline_getCurrentHeading } true;havoc getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~7#1;havoc getCurrentHeading_~retValue_acc~7#1;getCurrentHeading_~retValue_acc~7#1 := ~currentHeading~0;getCurrentHeading_#res#1 := getCurrentHeading_~retValue_acc~7#1; 227766#getCurrentHeading_returnLabel#1 __utac_acc__Specification13_spec__1_#t~ret136#1 := getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~7#1;assume { :end_inline_getCurrentHeading } true;~prevDir~0 := __utac_acc__Specification13_spec__1_#t~ret136#1;havoc __utac_acc__Specification13_spec__1_#t~ret136#1; 227767#__utac_acc__Specification13_spec__1_returnLabel#1 havoc __utac_acc__Specification13_spec__1_#t~ret136#1;assume { :end_inline___utac_acc__Specification13_spec__1 } true;assume { :begin_inline_areDoorsOpen } true;havoc areDoorsOpen_#res#1;havoc areDoorsOpen_~retValue_acc~5#1;havoc areDoorsOpen_~retValue_acc~5#1;areDoorsOpen_~retValue_acc~5#1 := ~doorState~0;areDoorsOpen_#res#1 := areDoorsOpen_~retValue_acc~5#1; 232277#areDoorsOpen_returnLabel#1 timeShift_#t~ret86#1 := areDoorsOpen_#res#1;havoc areDoorsOpen_~retValue_acc~5#1;assume { :end_inline_areDoorsOpen } true;timeShift_~tmp~16#1 := timeShift_#t~ret86#1;havoc timeShift_#t~ret86#1; 233066#L1702 assume 0 != timeShift_~tmp~16#1; 229590#L1703 assume ~weight~0 > ~maximumWeight~0;~blocked~0 := 1; 220963#L1702-1 assume { :begin_inline___utac_acc__Specification13_spec__2 } true;havoc __utac_acc__Specification13_spec__2_#t~ret137#1, __utac_acc__Specification13_spec__2_#t~ret138#1, __utac_acc__Specification13_spec__2_#t~ret139#1, __utac_acc__Specification13_spec__2_#t~ret140#1, __utac_acc__Specification13_spec__2_#t~ret141#1, __utac_acc__Specification13_spec__2_#t~ret142#1, __utac_acc__Specification13_spec__2_~tmp~30#1, __utac_acc__Specification13_spec__2_~tmp___0~13#1, __utac_acc__Specification13_spec__2_~tmp___1~8#1, __utac_acc__Specification13_spec__2_~tmp___2~6#1, __utac_acc__Specification13_spec__2_~tmp___3~5#1, __utac_acc__Specification13_spec__2_~tmp___4~3#1, __utac_acc__Specification13_spec__2_~__cil_tmp7~7#1, __utac_acc__Specification13_spec__2_~__cil_tmp8~8#1;havoc __utac_acc__Specification13_spec__2_~tmp~30#1;havoc __utac_acc__Specification13_spec__2_~tmp___0~13#1;havoc __utac_acc__Specification13_spec__2_~tmp___1~8#1;havoc __utac_acc__Specification13_spec__2_~tmp___2~6#1;havoc __utac_acc__Specification13_spec__2_~tmp___3~5#1;havoc __utac_acc__Specification13_spec__2_~tmp___4~3#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp7~7#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp8~8#1;__utac_acc__Specification13_spec__2_~__cil_tmp7~7#1 := 2 * ~maximumWeight~0;__utac_acc__Specification13_spec__2_~__cil_tmp8~8#1 := (if __utac_acc__Specification13_spec__2_~__cil_tmp7~7#1 < 0 && 0 != __utac_acc__Specification13_spec__2_~__cil_tmp7~7#1 % 3 then 1 + __utac_acc__Specification13_spec__2_~__cil_tmp7~7#1 / 3 else __utac_acc__Specification13_spec__2_~__cil_tmp7~7#1 / 3); 219464#L3236 assume ~weight~0 > __utac_acc__Specification13_spec__2_~__cil_tmp8~8#1; 219465#L3237 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~19#1, existInLiftCallsInDirection_~i~0#1, existInLiftCallsInDirection_~i___0~0#1;existInLiftCallsInDirection_~d#1 := existInLiftCallsInDirection_#in~d#1;havoc existInLiftCallsInDirection_~retValue_acc~19#1;havoc existInLiftCallsInDirection_~i~0#1;havoc existInLiftCallsInDirection_~i___0~0#1; 228870#L1922 assume 1 == existInLiftCallsInDirection_~d#1;existInLiftCallsInDirection_~i~0#1 := 0;existInLiftCallsInDirection_~i~0#1 := 1 + ~currentFloorID~0; 233758#L1926-2 assume !false; 232873#L1927 [2024-11-09 15:53:12,886 INFO L747 eck$LassoCheckResult]: Loop: 232873#L1927 assume existInLiftCallsInDirection_~i~0#1 < 5; 233748#L1928 assume 0 == existInLiftCallsInDirection_~i~0#1; 233760#L1934 assume !(0 != ~floorButtons_0~0); 233761#$Ultimate##7080 assume !(1 == existInLiftCallsInDirection_~i~0#1); 231883#$Ultimate##7084 assume !(2 == existInLiftCallsInDirection_~i~0#1); 232792#$Ultimate##7088 assume !(3 == existInLiftCallsInDirection_~i~0#1); 223474#$Ultimate##7092 assume !(4 == existInLiftCallsInDirection_~i~0#1); 232651#L1969-1 existInLiftCallsInDirection_~i~0#1 := 1 + existInLiftCallsInDirection_~i~0#1; 232652#L1926-2 assume !false; 232873#L1927 [2024-11-09 15:53:12,887 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-09 15:53:12,887 INFO L85 PathProgramCache]: Analyzing trace with hash 1342134623, now seen corresponding path program 1 times [2024-11-09 15:53:12,887 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-09 15:53:12,887 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [144873260] [2024-11-09 15:53:12,888 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-09 15:53:12,888 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-09 15:53:12,927 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-09 15:53:12,981 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-09 15:53:12,981 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-09 15:53:12,981 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [144873260] [2024-11-09 15:53:12,982 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [144873260] provided 1 perfect and 0 imperfect interpolant sequences [2024-11-09 15:53:12,982 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-11-09 15:53:12,982 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2024-11-09 15:53:12,982 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1012290248] [2024-11-09 15:53:12,982 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-11-09 15:53:12,983 INFO L750 eck$LassoCheckResult]: stem already infeasible [2024-11-09 15:53:12,983 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-09 15:53:12,983 INFO L85 PathProgramCache]: Analyzing trace with hash -520511543, now seen corresponding path program 1 times [2024-11-09 15:53:12,984 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-09 15:53:12,984 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [793837805] [2024-11-09 15:53:12,984 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-09 15:53:12,984 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-09 15:53:13,006 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-09 15:53:13,006 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-09 15:53:13,008 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-09 15:53:13,023 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-09 15:53:13,051 INFO L204 LassoAnalysis]: Preferences: [2024-11-09 15:53:13,052 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2024-11-09 15:53:13,052 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2024-11-09 15:53:13,052 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2024-11-09 15:53:13,052 INFO L128 ssoRankerPreferences]: Use exernal solver: true [2024-11-09 15:53:13,052 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-09 15:53:13,052 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2024-11-09 15:53:13,053 INFO L131 ssoRankerPreferences]: Path of dumped script: [2024-11-09 15:53:13,053 INFO L132 ssoRankerPreferences]: Filename of dumped script: elevator_spec13_product24.cil.c_Iteration3_Loop [2024-11-09 15:53:13,053 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2024-11-09 15:53:13,053 INFO L241 LassoAnalysis]: Starting lasso preprocessing... [2024-11-09 15:53:13,054 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-09 15:53:13,057 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-09 15:53:13,084 INFO L259 LassoAnalysis]: Preprocessing complete. [2024-11-09 15:53:13,085 INFO L365 LassoAnalysis]: Checking for nontermination... [2024-11-09 15:53:13,085 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-09 15:53:13,085 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-09 15:53:13,087 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-09 15:53:13,088 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-09 15:53:13,089 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2024-11-09 15:53:13,089 INFO L160 nArgumentSynthesizer]: Using integer mode. [2024-11-09 15:53:13,107 INFO L398 LassoAnalysis]: Proved nontermination for one component. [2024-11-09 15:53:13,108 INFO L401 LassoAnalysis]: Non-Termination argument consisting of: Initial state: {~floorButtons_0~0=0} Honda state: {~floorButtons_0~0=0} Generalized eigenvectors: [] Lambdas: [] Nus: [] [2024-11-09 15:53:13,123 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-09 15:53:13,124 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-09 15:53:13,124 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-09 15:53:13,126 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-09 15:53:13,127 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-09 15:53:13,129 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2024-11-09 15:53:13,129 INFO L160 nArgumentSynthesizer]: Using integer mode. [2024-11-09 15:53:13,157 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-09 15:53:13,158 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-09 15:53:13,158 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-09 15:53:13,160 INFO L229 MonitoredProcess]: Starting monitored process 12 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-09 15:53:13,161 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (12)] Waiting until timeout for monitored process [2024-11-09 15:53:13,163 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 3 Nilpotent components: true [2024-11-09 15:53:13,163 INFO L160 nArgumentSynthesizer]: Using integer mode. [2024-11-09 15:53:13,181 INFO L405 LassoAnalysis]: Proving nontermination failed: No geometric nontermination argument exists. [2024-11-09 15:53:13,196 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (12)] Ended with exit code 0 [2024-11-09 15:53:13,196 INFO L204 LassoAnalysis]: Preferences: [2024-11-09 15:53:13,196 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2024-11-09 15:53:13,196 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2024-11-09 15:53:13,196 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2024-11-09 15:53:13,197 INFO L128 ssoRankerPreferences]: Use exernal solver: false [2024-11-09 15:53:13,197 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-09 15:53:13,197 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2024-11-09 15:53:13,197 INFO L131 ssoRankerPreferences]: Path of dumped script: [2024-11-09 15:53:13,197 INFO L132 ssoRankerPreferences]: Filename of dumped script: elevator_spec13_product24.cil.c_Iteration3_Loop [2024-11-09 15:53:13,197 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2024-11-09 15:53:13,197 INFO L241 LassoAnalysis]: Starting lasso preprocessing... [2024-11-09 15:53:13,198 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-09 15:53:13,203 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-09 15:53:13,237 INFO L259 LassoAnalysis]: Preprocessing complete. [2024-11-09 15:53:13,238 INFO L451 LassoAnalysis]: Using template 'affine'. [2024-11-09 15:53:13,238 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-09 15:53:13,238 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-09 15:53:13,241 INFO L229 MonitoredProcess]: Starting monitored process 13 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-09 15:53:13,242 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (13)] Waiting until timeout for monitored process [2024-11-09 15:53:13,243 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-09 15:53:13,255 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-09 15:53:13,255 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-11-09 15:53:13,255 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-09 15:53:13,255 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-09 15:53:13,256 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-09 15:53:13,256 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-11-09 15:53:13,256 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-11-09 15:53:13,258 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-09 15:53:13,270 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (13)] Ended with exit code 0 [2024-11-09 15:53:13,271 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-09 15:53:13,271 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-09 15:53:13,272 INFO L229 MonitoredProcess]: Starting monitored process 14 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-09 15:53:13,273 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (14)] Waiting until timeout for monitored process [2024-11-09 15:53:13,274 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-09 15:53:13,284 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-09 15:53:13,284 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-11-09 15:53:13,284 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-09 15:53:13,284 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-09 15:53:13,284 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-09 15:53:13,286 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-11-09 15:53:13,286 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-11-09 15:53:13,289 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2024-11-09 15:53:13,291 INFO L443 ModelExtractionUtils]: Simplification made 3 calls to the SMT solver. [2024-11-09 15:53:13,291 INFO L444 ModelExtractionUtils]: 0 out of 3 variables were initially zero. Simplification set additionally 0 variables to zero. [2024-11-09 15:53:13,291 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-09 15:53:13,292 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-09 15:53:13,293 INFO L229 MonitoredProcess]: Starting monitored process 15 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-09 15:53:13,294 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (15)] Waiting until timeout for monitored process [2024-11-09 15:53:13,294 INFO L435 nArgumentSynthesizer]: Simplifying supporting invariants... [2024-11-09 15:53:13,295 INFO L438 nArgumentSynthesizer]: Removed 0 redundant supporting invariants from a total of 0. [2024-11-09 15:53:13,295 INFO L474 LassoAnalysis]: Proved termination. [2024-11-09 15:53:13,295 INFO L476 LassoAnalysis]: Termination argument consisting of: Ranking function f(ULTIMATE.start_existInLiftCallsInDirection_~i~0#1) = -2*ULTIMATE.start_existInLiftCallsInDirection_~i~0#1 + 1 Supporting invariants [] [2024-11-09 15:53:13,305 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (14)] Forceful destruction successful, exit code 0 [2024-11-09 15:53:13,306 INFO L156 tatePredicateManager]: 0 out of 0 supporting invariants were superfluous and have been removed [2024-11-09 15:53:13,318 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-09 15:53:13,415 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-09 15:53:13,417 INFO L255 TraceCheckSpWp]: Trace formula consists of 546 conjuncts, 2 conjuncts are in the unsatisfiable core [2024-11-09 15:53:13,419 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-09 15:53:13,476 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-09 15:53:13,477 INFO L255 TraceCheckSpWp]: Trace formula consists of 14 conjuncts, 4 conjuncts are in the unsatisfiable core [2024-11-09 15:53:13,477 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-09 15:53:13,546 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-11-09 15:53:13,546 INFO L141 lantAutomatonBouncer]: Defining deterministic Buchi interpolant automaton with honda bouncer for stem and without honda bouncer for loop.1 stem predicates 3 loop predicates [2024-11-09 15:53:13,546 INFO L71 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 17978 states and 33612 transitions. cyclomatic complexity: 15669 Second operand has 5 states, 5 states have (on average 9.6) internal successors, (48), 5 states have internal predecessors, (48), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-09 15:53:14,307 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (15)] Ended with exit code 0 [2024-11-09 15:53:15,006 INFO L75 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 17978 states and 33612 transitions. cyclomatic complexity: 15669. Second operand has 5 states, 5 states have (on average 9.6) internal successors, (48), 5 states have internal predecessors, (48), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Result 46703 states and 87304 transitions. Complement of second has 8 states. [2024-11-09 15:53:15,006 INFO L141 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 5 states 1 stem states 2 non-accepting loop states 1 accepting loop states [2024-11-09 15:53:15,008 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 9.6) internal successors, (48), 5 states have internal predecessors, (48), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-09 15:53:15,059 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 60319 transitions. [2024-11-09 15:53:15,060 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 5 states and 60319 transitions. Stem has 39 letters. Loop has 9 letters. [2024-11-09 15:53:15,061 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2024-11-09 15:53:15,061 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 5 states and 60319 transitions. Stem has 48 letters. Loop has 9 letters. [2024-11-09 15:53:15,062 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2024-11-09 15:53:15,062 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 5 states and 60319 transitions. Stem has 39 letters. Loop has 18 letters. [2024-11-09 15:53:15,062 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2024-11-09 15:53:15,062 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 46703 states and 87304 transitions. [2024-11-09 15:53:15,243 INFO L131 ngComponentsAnalysis]: Automaton has 60 accepting balls. 8056 [2024-11-09 15:53:15,354 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 46703 states to 32341 states and 60450 transitions. [2024-11-09 15:53:15,354 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 32255 [2024-11-09 15:53:15,384 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 32258 [2024-11-09 15:53:15,384 INFO L73 IsDeterministic]: Start isDeterministic. Operand 32341 states and 60450 transitions. [2024-11-09 15:53:15,403 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-11-09 15:53:15,404 INFO L218 hiAutomatonCegarLoop]: Abstraction has 32341 states and 60450 transitions. [2024-11-09 15:53:15,447 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 32341 states and 60450 transitions. [2024-11-09 15:53:15,963 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 32341 to 18024. [2024-11-09 15:53:15,986 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18024 states, 18024 states have (on average 1.8683422103861518) internal successors, (33675), 18023 states have internal predecessors, (33675), 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-09 15:53:16,027 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18024 states to 18024 states and 33675 transitions. [2024-11-09 15:53:16,027 INFO L240 hiAutomatonCegarLoop]: Abstraction has 18024 states and 33675 transitions. [2024-11-09 15:53:16,027 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-09 15:53:16,028 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2024-11-09 15:53:16,028 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2024-11-09 15:53:16,028 INFO L87 Difference]: Start difference. First operand 18024 states and 33675 transitions. Second operand has 3 states, 3 states have (on average 13.0) internal successors, (39), 3 states have internal predecessors, (39), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-09 15:53:16,299 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-09 15:53:16,299 INFO L93 Difference]: Finished difference Result 17990 states and 33607 transitions. [2024-11-09 15:53:16,300 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 17990 states and 33607 transitions. [2024-11-09 15:53:16,383 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 4076 [2024-11-09 15:53:16,446 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 17990 states to 17990 states and 33607 transitions. [2024-11-09 15:53:16,447 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 17907 [2024-11-09 15:53:16,466 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 17907 [2024-11-09 15:53:16,466 INFO L73 IsDeterministic]: Start isDeterministic. Operand 17990 states and 33607 transitions. [2024-11-09 15:53:16,466 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-11-09 15:53:16,466 INFO L218 hiAutomatonCegarLoop]: Abstraction has 17990 states and 33607 transitions. [2024-11-09 15:53:16,495 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 17990 states and 33607 transitions. [2024-11-09 15:53:17,022 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 17990 to 17990. [2024-11-09 15:53:17,048 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17990 states, 17990 states have (on average 1.8680933852140078) internal successors, (33607), 17989 states have internal predecessors, (33607), 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-09 15:53:17,096 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17990 states to 17990 states and 33607 transitions. [2024-11-09 15:53:17,096 INFO L240 hiAutomatonCegarLoop]: Abstraction has 17990 states and 33607 transitions. [2024-11-09 15:53:17,097 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2024-11-09 15:53:17,098 INFO L425 stractBuchiCegarLoop]: Abstraction has 17990 states and 33607 transitions. [2024-11-09 15:53:17,098 INFO L332 stractBuchiCegarLoop]: ======== Iteration 4 ============ [2024-11-09 15:53:17,098 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 17990 states and 33607 transitions. [2024-11-09 15:53:17,181 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 4076 [2024-11-09 15:53:17,181 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-09 15:53:17,181 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-09 15:53:17,182 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] [2024-11-09 15:53:17,182 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1] [2024-11-09 15:53:17,183 INFO L745 eck$LassoCheckResult]: Stem: 325593#$Ultimate##0 assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int#0(48, 1, 0, 1);call write~init~int#0(0, 1, 1, 1);call #Ultimate.allocInit(32, 2);call #Ultimate.allocInit(12, 3);call #Ultimate.allocInit(30, 4);call #Ultimate.allocInit(9, 5);call #Ultimate.allocInit(21, 6);call #Ultimate.allocInit(30, 7);call #Ultimate.allocInit(9, 8);call #Ultimate.allocInit(21, 9);call #Ultimate.allocInit(30, 10);call #Ultimate.allocInit(9, 11);call #Ultimate.allocInit(25, 12);call #Ultimate.allocInit(30, 13);call #Ultimate.allocInit(9, 14);call #Ultimate.allocInit(25, 15);call #Ultimate.allocInit(10, 16);call #Ultimate.allocInit(4, 17);call write~init~int#5(91, 17, 0, 1);call write~init~int#5(95, 17, 1, 1);call write~init~int#5(93, 17, 2, 1);call write~init~int#5(0, 17, 3, 1);call #Ultimate.allocInit(4, 18);call write~init~int#6(91, 18, 0, 1);call write~init~int#6(93, 18, 1, 1);call write~init~int#6(32, 18, 2, 1);call write~init~int#6(0, 18, 3, 1);call #Ultimate.allocInit(5, 19);call write~init~int#7(32, 19, 0, 1);call write~init~int#7(97, 19, 1, 1);call write~init~int#7(116, 19, 2, 1);call write~init~int#7(32, 19, 3, 1);call write~init~int#7(0, 19, 4, 1);call #Ultimate.allocInit(3, 20);call write~init~int#8(37, 20, 0, 1);call write~init~int#8(105, 20, 1, 1);call write~init~int#8(0, 20, 2, 1);call #Ultimate.allocInit(10, 21);call #Ultimate.allocInit(3, 22);call write~init~int#9(117, 22, 0, 1);call write~init~int#9(112, 22, 1, 1);call write~init~int#9(0, 22, 2, 1);call #Ultimate.allocInit(5, 23);call write~init~int#10(100, 23, 0, 1);call write~init~int#10(111, 23, 1, 1);call write~init~int#10(119, 23, 2, 1);call write~init~int#10(110, 23, 3, 1);call write~init~int#10(0, 23, 4, 1);call #Ultimate.allocInit(7, 24);call write~init~int#11(32, 24, 0, 1);call write~init~int#11(73, 24, 1, 1);call write~init~int#11(76, 24, 2, 1);call write~init~int#11(95, 24, 3, 1);call write~init~int#11(112, 24, 4, 1);call write~init~int#11(58, 24, 5, 1);call write~init~int#11(0, 24, 6, 1);call #Ultimate.allocInit(4, 25);call write~init~int#12(32, 25, 0, 1);call write~init~int#12(37, 25, 1, 1);call write~init~int#12(105, 25, 2, 1);call write~init~int#12(0, 25, 3, 1);call #Ultimate.allocInit(4, 26);call write~init~int#13(32, 26, 0, 1);call write~init~int#13(37, 26, 1, 1);call write~init~int#13(105, 26, 2, 1);call write~init~int#13(0, 26, 3, 1);call #Ultimate.allocInit(4, 27);call write~init~int#14(32, 27, 0, 1);call write~init~int#14(37, 27, 1, 1);call write~init~int#14(105, 27, 2, 1);call write~init~int#14(0, 27, 3, 1);call #Ultimate.allocInit(4, 28);call write~init~int#15(32, 28, 0, 1);call write~init~int#15(37, 28, 1, 1);call write~init~int#15(105, 28, 2, 1);call write~init~int#15(0, 28, 3, 1);call #Ultimate.allocInit(4, 29);call write~init~int#16(32, 29, 0, 1);call write~init~int#16(37, 29, 1, 1);call write~init~int#16(105, 29, 2, 1);call write~init~int#16(0, 29, 3, 1);call #Ultimate.allocInit(6, 30);call write~init~int#17(32, 30, 0, 1);call write~init~int#17(70, 30, 1, 1);call write~init~int#17(95, 30, 2, 1);call write~init~int#17(112, 30, 3, 1);call write~init~int#17(58, 30, 4, 1);call write~init~int#17(0, 30, 5, 1);call #Ultimate.allocInit(4, 31);call write~init~int#18(32, 31, 0, 1);call write~init~int#18(37, 31, 1, 1);call write~init~int#18(105, 31, 2, 1);call write~init~int#18(0, 31, 3, 1);call #Ultimate.allocInit(4, 32);call write~init~int#19(32, 32, 0, 1);call write~init~int#19(37, 32, 1, 1);call write~init~int#19(105, 32, 2, 1);call write~init~int#19(0, 32, 3, 1);call #Ultimate.allocInit(4, 33);call write~init~int#1(32, 33, 0, 1);call write~init~int#1(37, 33, 1, 1);call write~init~int#1(105, 33, 2, 1);call write~init~int#1(0, 33, 3, 1);call #Ultimate.allocInit(4, 34);call write~init~int#2(32, 34, 0, 1);call write~init~int#2(37, 34, 1, 1);call write~init~int#2(105, 34, 2, 1);call write~init~int#2(0, 34, 3, 1);call #Ultimate.allocInit(4, 35);call write~init~int#3(32, 35, 0, 1);call write~init~int#3(37, 35, 1, 1);call write~init~int#3(105, 35, 2, 1);call write~init~int#3(0, 35, 3, 1);call #Ultimate.allocInit(2, 36);call write~init~int#4(10, 36, 0, 1);call write~init~int#4(0, 36, 1, 1);call #Ultimate.allocInit(9, 37);~head~0.base, ~head~0.offset := 0, 0;~weight~0 := 0;~maximumWeight~0 := 100;~executiveFloor~0 := 4;~blocked~0 := 0;~currentHeading~0 := 1;~currentFloorID~0 := 0;~persons_0~0 := 0;~persons_1~0 := 0;~persons_2~0 := 0;~persons_3~0 := 0;~persons_4~0 := 0;~persons_5~0 := 0;~doorState~0 := 1;~floorButtons_0~0 := 0;~floorButtons_1~0 := 0;~floorButtons_2~0 := 0;~floorButtons_3~0 := 0;~floorButtons_4~0 := 0;~cleanupTimeShifts~0 := 12;~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;~prevDir~0 := 0; 325231#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret129#1, main_~retValue_acc~23#1, main_~tmp~27#1;havoc main_~retValue_acc~23#1;havoc main_~tmp~27#1;assume { :begin_inline_select_helpers } true; 325232#select_helpers_returnLabel#1 assume { :end_inline_select_helpers } true;assume { :begin_inline_select_features } true; 334460#select_features_returnLabel#1 assume { :end_inline_select_features } true;assume { :begin_inline_valid_product } true;havoc valid_product_#res#1;havoc valid_product_~retValue_acc~31#1;havoc valid_product_~retValue_acc~31#1;valid_product_~retValue_acc~31#1 := 1;valid_product_#res#1 := valid_product_~retValue_acc~31#1; 331275#valid_product_returnLabel#1 main_#t~ret129#1 := valid_product_#res#1;havoc valid_product_~retValue_acc~31#1;assume { :end_inline_valid_product } true;main_~tmp~27#1 := main_#t~ret129#1;havoc main_#t~ret129#1; 331276#L2436 assume 0 != main_~tmp~27#1;assume { :begin_inline_setup } true; 331882#setup_returnLabel#1 assume { :end_inline_setup } true;assume { :begin_inline_runTest } true;assume { :begin_inline_test } true;assume { :begin_inline_aliceCall } true;havoc aliceCall_#t~ret118#1, aliceCall_~tmp~20#1;havoc aliceCall_~tmp~20#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 1;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~28#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~28#1; 331883#L3343 assume !(0 == getOrigin_~person#1); 332242#L3347 assume 1 == getOrigin_~person#1;getOrigin_~retValue_acc~28#1 := 3;getOrigin_#res#1 := getOrigin_~retValue_acc~28#1; 321936#getOrigin_returnLabel#1 aliceCall_#t~ret118#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~28#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;aliceCall_~tmp~20#1 := aliceCall_#t~ret118#1;havoc aliceCall_#t~ret118#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 1, aliceCall_~tmp~20#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 321937#L2903 assume !(0 == initPersonOnFloor_~floor#1); 328334#L2930 assume !(1 == initPersonOnFloor_~floor#1); 326165#L2957 assume !(2 == initPersonOnFloor_~floor#1); 326166#L2984 assume 3 == initPersonOnFloor_~floor#1; 328194#L2985 assume 0 == initPersonOnFloor_~person#1;~personOnFloor_0_3~0 := 1; 319495#L3011-1 assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 325349#L2695 assume 0 == callOnFloor_~floorID#1;~calls_0~0 := 1; 324304#L2707-2 havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true; 330053#initPersonOnFloor_returnLabel#1 havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true; 331497#aliceCall_returnLabel#1 havoc aliceCall_#t~ret118#1, aliceCall_~tmp~20#1;assume { :end_inline_aliceCall } true;assume { :begin_inline_angelinaCall } true;havoc angelinaCall_#t~ret119#1, angelinaCall_~tmp~21#1;havoc angelinaCall_~tmp~21#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 2;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~28#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~28#1; 334446#L3343-1 assume !(0 == getOrigin_~person#1); 334602#L3347-1 assume !(1 == getOrigin_~person#1); 319587#L3351-1 assume 2 == getOrigin_~person#1;getOrigin_~retValue_acc~28#1 := 2;getOrigin_#res#1 := getOrigin_~retValue_acc~28#1; 319588#getOrigin_returnLabel#2 angelinaCall_#t~ret119#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~28#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;angelinaCall_~tmp~21#1 := angelinaCall_#t~ret119#1;havoc angelinaCall_#t~ret119#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 2, angelinaCall_~tmp~21#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 334626#L2903-1 assume 0 == initPersonOnFloor_~floor#1; 319439#L2904-2 assume 0 == initPersonOnFloor_~person#1;~personOnFloor_0_0~0 := 1; 316715#L3011-3 assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 322978#L2695-2 assume 0 == callOnFloor_~floorID#1;~calls_0~0 := 1; 330581#L2707-5 havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true; 323279#initPersonOnFloor_returnLabel#2 havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true; 323280#angelinaCall_returnLabel#1 havoc angelinaCall_#t~ret119#1, angelinaCall_~tmp~21#1;assume { :end_inline_angelinaCall } true;assume { :begin_inline_threeTS } true;assume { :begin_inline_timeShift } true;havoc timeShift_#t~ret86#1, timeShift_~tmp~16#1;havoc timeShift_~tmp~16#1;assume { :begin_inline___utac_acc__Specification13_spec__1 } true;havoc __utac_acc__Specification13_spec__1_#t~ret136#1;assume { :begin_inline_getCurrentHeading } true;havoc getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~7#1;havoc getCurrentHeading_~retValue_acc~7#1;getCurrentHeading_~retValue_acc~7#1 := ~currentHeading~0;getCurrentHeading_#res#1 := getCurrentHeading_~retValue_acc~7#1; 328611#getCurrentHeading_returnLabel#1 __utac_acc__Specification13_spec__1_#t~ret136#1 := getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~7#1;assume { :end_inline_getCurrentHeading } true;~prevDir~0 := __utac_acc__Specification13_spec__1_#t~ret136#1;havoc __utac_acc__Specification13_spec__1_#t~ret136#1; 328612#__utac_acc__Specification13_spec__1_returnLabel#1 havoc __utac_acc__Specification13_spec__1_#t~ret136#1;assume { :end_inline___utac_acc__Specification13_spec__1 } true;assume { :begin_inline_areDoorsOpen } true;havoc areDoorsOpen_#res#1;havoc areDoorsOpen_~retValue_acc~5#1;havoc areDoorsOpen_~retValue_acc~5#1;areDoorsOpen_~retValue_acc~5#1 := ~doorState~0;areDoorsOpen_#res#1 := areDoorsOpen_~retValue_acc~5#1; 333114#areDoorsOpen_returnLabel#1 timeShift_#t~ret86#1 := areDoorsOpen_#res#1;havoc areDoorsOpen_~retValue_acc~5#1;assume { :end_inline_areDoorsOpen } true;timeShift_~tmp~16#1 := timeShift_#t~ret86#1;havoc timeShift_#t~ret86#1; 333905#L1702 assume 0 != timeShift_~tmp~16#1; 330432#L1703 assume ~weight~0 > ~maximumWeight~0;~blocked~0 := 1; 321821#L1702-1 assume { :begin_inline___utac_acc__Specification13_spec__2 } true;havoc __utac_acc__Specification13_spec__2_#t~ret137#1, __utac_acc__Specification13_spec__2_#t~ret138#1, __utac_acc__Specification13_spec__2_#t~ret139#1, __utac_acc__Specification13_spec__2_#t~ret140#1, __utac_acc__Specification13_spec__2_#t~ret141#1, __utac_acc__Specification13_spec__2_#t~ret142#1, __utac_acc__Specification13_spec__2_~tmp~30#1, __utac_acc__Specification13_spec__2_~tmp___0~13#1, __utac_acc__Specification13_spec__2_~tmp___1~8#1, __utac_acc__Specification13_spec__2_~tmp___2~6#1, __utac_acc__Specification13_spec__2_~tmp___3~5#1, __utac_acc__Specification13_spec__2_~tmp___4~3#1, __utac_acc__Specification13_spec__2_~__cil_tmp7~7#1, __utac_acc__Specification13_spec__2_~__cil_tmp8~8#1;havoc __utac_acc__Specification13_spec__2_~tmp~30#1;havoc __utac_acc__Specification13_spec__2_~tmp___0~13#1;havoc __utac_acc__Specification13_spec__2_~tmp___1~8#1;havoc __utac_acc__Specification13_spec__2_~tmp___2~6#1;havoc __utac_acc__Specification13_spec__2_~tmp___3~5#1;havoc __utac_acc__Specification13_spec__2_~tmp___4~3#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp7~7#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp8~8#1;__utac_acc__Specification13_spec__2_~__cil_tmp7~7#1 := 2 * ~maximumWeight~0;__utac_acc__Specification13_spec__2_~__cil_tmp8~8#1 := (if __utac_acc__Specification13_spec__2_~__cil_tmp7~7#1 < 0 && 0 != __utac_acc__Specification13_spec__2_~__cil_tmp7~7#1 % 3 then 1 + __utac_acc__Specification13_spec__2_~__cil_tmp7~7#1 / 3 else __utac_acc__Specification13_spec__2_~__cil_tmp7~7#1 / 3); 320325#L3236 assume ~weight~0 > __utac_acc__Specification13_spec__2_~__cil_tmp8~8#1; 320326#L3237 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~19#1, existInLiftCallsInDirection_~i~0#1, existInLiftCallsInDirection_~i___0~0#1;existInLiftCallsInDirection_~d#1 := existInLiftCallsInDirection_#in~d#1;havoc existInLiftCallsInDirection_~retValue_acc~19#1;havoc existInLiftCallsInDirection_~i~0#1;havoc existInLiftCallsInDirection_~i___0~0#1; 329713#L1922 assume !(1 == existInLiftCallsInDirection_~d#1); 331340#L1988 assume 0 == existInLiftCallsInDirection_~d#1;existInLiftCallsInDirection_~i___0~0#1 := 0;existInLiftCallsInDirection_~i___0~0#1 := ~currentFloorID~0 - 1; 327343#L1992-2 [2024-11-09 15:53:17,183 INFO L747 eck$LassoCheckResult]: Loop: 327343#L1992-2 assume !false; 322771#L1993 assume existInLiftCallsInDirection_~i___0~0#1 >= 0; 316849#L1994 existInLiftCallsInDirection_~i___0~0#1 := 1 + ~currentFloorID~0; 316850#L2001-2 assume !false; 322294#L2002 assume !(existInLiftCallsInDirection_~i___0~0#1 < 5); 327342#L2060 existInLiftCallsInDirection_~i___0~0#1 := existInLiftCallsInDirection_~i___0~0#1 - 1; 327343#L1992-2 [2024-11-09 15:53:17,184 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-09 15:53:17,184 INFO L85 PathProgramCache]: Analyzing trace with hash 332393644, now seen corresponding path program 1 times [2024-11-09 15:53:17,184 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-09 15:53:17,184 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2111233009] [2024-11-09 15:53:17,184 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-09 15:53:17,185 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-09 15:53:17,219 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-09 15:53:17,308 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-09 15:53:17,309 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-09 15:53:17,309 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2111233009] [2024-11-09 15:53:17,309 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2111233009] provided 1 perfect and 0 imperfect interpolant sequences [2024-11-09 15:53:17,310 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-11-09 15:53:17,310 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2024-11-09 15:53:17,310 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [561895996] [2024-11-09 15:53:17,310 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-11-09 15:53:17,311 INFO L750 eck$LassoCheckResult]: stem already infeasible [2024-11-09 15:53:17,311 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-09 15:53:17,311 INFO L85 PathProgramCache]: Analyzing trace with hash 954762475, now seen corresponding path program 1 times [2024-11-09 15:53:17,311 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-09 15:53:17,312 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1819880873] [2024-11-09 15:53:17,312 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-09 15:53:17,312 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-09 15:53:17,335 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-09 15:53:17,336 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-09 15:53:17,340 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-09 15:53:17,357 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-09 15:53:17,384 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-09 15:53:17,384 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2024-11-09 15:53:17,384 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2024-11-09 15:53:17,386 INFO L87 Difference]: Start difference. First operand 17990 states and 33607 transitions. cyclomatic complexity: 15654 Second operand has 5 states, 5 states have (on average 8.2) internal successors, (41), 5 states have internal predecessors, (41), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-09 15:53:18,098 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-09 15:53:18,098 INFO L93 Difference]: Finished difference Result 17998 states and 33614 transitions. [2024-11-09 15:53:18,098 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 17998 states and 33614 transitions. [2024-11-09 15:53:18,431 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 4076 [2024-11-09 15:53:18,473 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 17998 states to 17998 states and 33614 transitions. [2024-11-09 15:53:18,474 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 17915 [2024-11-09 15:53:18,488 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 17915 [2024-11-09 15:53:18,489 INFO L73 IsDeterministic]: Start isDeterministic. Operand 17998 states and 33614 transitions. [2024-11-09 15:53:18,489 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-11-09 15:53:18,489 INFO L218 hiAutomatonCegarLoop]: Abstraction has 17998 states and 33614 transitions. [2024-11-09 15:53:18,515 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 17998 states and 33614 transitions. [2024-11-09 15:53:18,681 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 17998 to 17990. [2024-11-09 15:53:18,704 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17990 states, 17990 states have (on average 1.8677598665925514) internal successors, (33601), 17989 states have internal predecessors, (33601), 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-09 15:53:18,744 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17990 states to 17990 states and 33601 transitions. [2024-11-09 15:53:18,744 INFO L240 hiAutomatonCegarLoop]: Abstraction has 17990 states and 33601 transitions. [2024-11-09 15:53:18,745 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2024-11-09 15:53:18,746 INFO L425 stractBuchiCegarLoop]: Abstraction has 17990 states and 33601 transitions. [2024-11-09 15:53:18,747 INFO L332 stractBuchiCegarLoop]: ======== Iteration 5 ============ [2024-11-09 15:53:18,747 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 17990 states and 33601 transitions. [2024-11-09 15:53:18,807 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 4076 [2024-11-09 15:53:18,807 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-09 15:53:18,807 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-09 15:53:18,809 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] [2024-11-09 15:53:18,810 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1] [2024-11-09 15:53:18,810 INFO L745 eck$LassoCheckResult]: Stem: 361589#$Ultimate##0 assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int#0(48, 1, 0, 1);call write~init~int#0(0, 1, 1, 1);call #Ultimate.allocInit(32, 2);call #Ultimate.allocInit(12, 3);call #Ultimate.allocInit(30, 4);call #Ultimate.allocInit(9, 5);call #Ultimate.allocInit(21, 6);call #Ultimate.allocInit(30, 7);call #Ultimate.allocInit(9, 8);call #Ultimate.allocInit(21, 9);call #Ultimate.allocInit(30, 10);call #Ultimate.allocInit(9, 11);call #Ultimate.allocInit(25, 12);call #Ultimate.allocInit(30, 13);call #Ultimate.allocInit(9, 14);call #Ultimate.allocInit(25, 15);call #Ultimate.allocInit(10, 16);call #Ultimate.allocInit(4, 17);call write~init~int#5(91, 17, 0, 1);call write~init~int#5(95, 17, 1, 1);call write~init~int#5(93, 17, 2, 1);call write~init~int#5(0, 17, 3, 1);call #Ultimate.allocInit(4, 18);call write~init~int#6(91, 18, 0, 1);call write~init~int#6(93, 18, 1, 1);call write~init~int#6(32, 18, 2, 1);call write~init~int#6(0, 18, 3, 1);call #Ultimate.allocInit(5, 19);call write~init~int#7(32, 19, 0, 1);call write~init~int#7(97, 19, 1, 1);call write~init~int#7(116, 19, 2, 1);call write~init~int#7(32, 19, 3, 1);call write~init~int#7(0, 19, 4, 1);call #Ultimate.allocInit(3, 20);call write~init~int#8(37, 20, 0, 1);call write~init~int#8(105, 20, 1, 1);call write~init~int#8(0, 20, 2, 1);call #Ultimate.allocInit(10, 21);call #Ultimate.allocInit(3, 22);call write~init~int#9(117, 22, 0, 1);call write~init~int#9(112, 22, 1, 1);call write~init~int#9(0, 22, 2, 1);call #Ultimate.allocInit(5, 23);call write~init~int#10(100, 23, 0, 1);call write~init~int#10(111, 23, 1, 1);call write~init~int#10(119, 23, 2, 1);call write~init~int#10(110, 23, 3, 1);call write~init~int#10(0, 23, 4, 1);call #Ultimate.allocInit(7, 24);call write~init~int#11(32, 24, 0, 1);call write~init~int#11(73, 24, 1, 1);call write~init~int#11(76, 24, 2, 1);call write~init~int#11(95, 24, 3, 1);call write~init~int#11(112, 24, 4, 1);call write~init~int#11(58, 24, 5, 1);call write~init~int#11(0, 24, 6, 1);call #Ultimate.allocInit(4, 25);call write~init~int#12(32, 25, 0, 1);call write~init~int#12(37, 25, 1, 1);call write~init~int#12(105, 25, 2, 1);call write~init~int#12(0, 25, 3, 1);call #Ultimate.allocInit(4, 26);call write~init~int#13(32, 26, 0, 1);call write~init~int#13(37, 26, 1, 1);call write~init~int#13(105, 26, 2, 1);call write~init~int#13(0, 26, 3, 1);call #Ultimate.allocInit(4, 27);call write~init~int#14(32, 27, 0, 1);call write~init~int#14(37, 27, 1, 1);call write~init~int#14(105, 27, 2, 1);call write~init~int#14(0, 27, 3, 1);call #Ultimate.allocInit(4, 28);call write~init~int#15(32, 28, 0, 1);call write~init~int#15(37, 28, 1, 1);call write~init~int#15(105, 28, 2, 1);call write~init~int#15(0, 28, 3, 1);call #Ultimate.allocInit(4, 29);call write~init~int#16(32, 29, 0, 1);call write~init~int#16(37, 29, 1, 1);call write~init~int#16(105, 29, 2, 1);call write~init~int#16(0, 29, 3, 1);call #Ultimate.allocInit(6, 30);call write~init~int#17(32, 30, 0, 1);call write~init~int#17(70, 30, 1, 1);call write~init~int#17(95, 30, 2, 1);call write~init~int#17(112, 30, 3, 1);call write~init~int#17(58, 30, 4, 1);call write~init~int#17(0, 30, 5, 1);call #Ultimate.allocInit(4, 31);call write~init~int#18(32, 31, 0, 1);call write~init~int#18(37, 31, 1, 1);call write~init~int#18(105, 31, 2, 1);call write~init~int#18(0, 31, 3, 1);call #Ultimate.allocInit(4, 32);call write~init~int#19(32, 32, 0, 1);call write~init~int#19(37, 32, 1, 1);call write~init~int#19(105, 32, 2, 1);call write~init~int#19(0, 32, 3, 1);call #Ultimate.allocInit(4, 33);call write~init~int#1(32, 33, 0, 1);call write~init~int#1(37, 33, 1, 1);call write~init~int#1(105, 33, 2, 1);call write~init~int#1(0, 33, 3, 1);call #Ultimate.allocInit(4, 34);call write~init~int#2(32, 34, 0, 1);call write~init~int#2(37, 34, 1, 1);call write~init~int#2(105, 34, 2, 1);call write~init~int#2(0, 34, 3, 1);call #Ultimate.allocInit(4, 35);call write~init~int#3(32, 35, 0, 1);call write~init~int#3(37, 35, 1, 1);call write~init~int#3(105, 35, 2, 1);call write~init~int#3(0, 35, 3, 1);call #Ultimate.allocInit(2, 36);call write~init~int#4(10, 36, 0, 1);call write~init~int#4(0, 36, 1, 1);call #Ultimate.allocInit(9, 37);~head~0.base, ~head~0.offset := 0, 0;~weight~0 := 0;~maximumWeight~0 := 100;~executiveFloor~0 := 4;~blocked~0 := 0;~currentHeading~0 := 1;~currentFloorID~0 := 0;~persons_0~0 := 0;~persons_1~0 := 0;~persons_2~0 := 0;~persons_3~0 := 0;~persons_4~0 := 0;~persons_5~0 := 0;~doorState~0 := 1;~floorButtons_0~0 := 0;~floorButtons_1~0 := 0;~floorButtons_2~0 := 0;~floorButtons_3~0 := 0;~floorButtons_4~0 := 0;~cleanupTimeShifts~0 := 12;~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;~prevDir~0 := 0; 361227#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret129#1, main_~retValue_acc~23#1, main_~tmp~27#1;havoc main_~retValue_acc~23#1;havoc main_~tmp~27#1;assume { :begin_inline_select_helpers } true; 361228#select_helpers_returnLabel#1 assume { :end_inline_select_helpers } true;assume { :begin_inline_select_features } true; 370456#select_features_returnLabel#1 assume { :end_inline_select_features } true;assume { :begin_inline_valid_product } true;havoc valid_product_#res#1;havoc valid_product_~retValue_acc~31#1;havoc valid_product_~retValue_acc~31#1;valid_product_~retValue_acc~31#1 := 1;valid_product_#res#1 := valid_product_~retValue_acc~31#1; 367271#valid_product_returnLabel#1 main_#t~ret129#1 := valid_product_#res#1;havoc valid_product_~retValue_acc~31#1;assume { :end_inline_valid_product } true;main_~tmp~27#1 := main_#t~ret129#1;havoc main_#t~ret129#1; 367272#L2436 assume 0 != main_~tmp~27#1;assume { :begin_inline_setup } true; 367878#setup_returnLabel#1 assume { :end_inline_setup } true;assume { :begin_inline_runTest } true;assume { :begin_inline_test } true;assume { :begin_inline_aliceCall } true;havoc aliceCall_#t~ret118#1, aliceCall_~tmp~20#1;havoc aliceCall_~tmp~20#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 1;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~28#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~28#1; 367879#L3343 assume !(0 == getOrigin_~person#1); 368238#L3347 assume 1 == getOrigin_~person#1;getOrigin_~retValue_acc~28#1 := 3;getOrigin_#res#1 := getOrigin_~retValue_acc~28#1; 357932#getOrigin_returnLabel#1 aliceCall_#t~ret118#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~28#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;aliceCall_~tmp~20#1 := aliceCall_#t~ret118#1;havoc aliceCall_#t~ret118#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 1, aliceCall_~tmp~20#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 357933#L2903 assume !(0 == initPersonOnFloor_~floor#1); 364330#L2930 assume !(1 == initPersonOnFloor_~floor#1); 362161#L2957 assume !(2 == initPersonOnFloor_~floor#1); 362162#L2984 assume 3 == initPersonOnFloor_~floor#1; 364190#L2985 assume !(0 == initPersonOnFloor_~person#1); 367255#L2988 assume 1 == initPersonOnFloor_~person#1;~personOnFloor_1_3~0 := 1; 355491#L3011-1 assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 361345#L2695 assume 0 == callOnFloor_~floorID#1;~calls_0~0 := 1; 360300#L2707-2 havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true; 366049#initPersonOnFloor_returnLabel#1 havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true; 367493#aliceCall_returnLabel#1 havoc aliceCall_#t~ret118#1, aliceCall_~tmp~20#1;assume { :end_inline_aliceCall } true;assume { :begin_inline_angelinaCall } true;havoc angelinaCall_#t~ret119#1, angelinaCall_~tmp~21#1;havoc angelinaCall_~tmp~21#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 2;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~28#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~28#1; 370442#L3343-1 assume !(0 == getOrigin_~person#1); 370599#L3347-1 assume !(1 == getOrigin_~person#1); 355583#L3351-1 assume 2 == getOrigin_~person#1;getOrigin_~retValue_acc~28#1 := 2;getOrigin_#res#1 := getOrigin_~retValue_acc~28#1; 355584#getOrigin_returnLabel#2 angelinaCall_#t~ret119#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~28#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;angelinaCall_~tmp~21#1 := angelinaCall_#t~ret119#1;havoc angelinaCall_#t~ret119#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 2, angelinaCall_~tmp~21#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 370620#L2903-1 assume 0 == initPersonOnFloor_~floor#1; 355435#L2904-2 assume !(0 == initPersonOnFloor_~person#1); 353284#L2907-2 assume 1 == initPersonOnFloor_~person#1;~personOnFloor_1_0~0 := 1; 352711#L3011-3 assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 358974#L2695-2 assume 0 == callOnFloor_~floorID#1;~calls_0~0 := 1; 366577#L2707-5 havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true; 359275#initPersonOnFloor_returnLabel#2 havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true; 359276#angelinaCall_returnLabel#1 havoc angelinaCall_#t~ret119#1, angelinaCall_~tmp~21#1;assume { :end_inline_angelinaCall } true;assume { :begin_inline_threeTS } true;assume { :begin_inline_timeShift } true;havoc timeShift_#t~ret86#1, timeShift_~tmp~16#1;havoc timeShift_~tmp~16#1;assume { :begin_inline___utac_acc__Specification13_spec__1 } true;havoc __utac_acc__Specification13_spec__1_#t~ret136#1;assume { :begin_inline_getCurrentHeading } true;havoc getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~7#1;havoc getCurrentHeading_~retValue_acc~7#1;getCurrentHeading_~retValue_acc~7#1 := ~currentHeading~0;getCurrentHeading_#res#1 := getCurrentHeading_~retValue_acc~7#1; 364607#getCurrentHeading_returnLabel#1 __utac_acc__Specification13_spec__1_#t~ret136#1 := getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~7#1;assume { :end_inline_getCurrentHeading } true;~prevDir~0 := __utac_acc__Specification13_spec__1_#t~ret136#1;havoc __utac_acc__Specification13_spec__1_#t~ret136#1; 364608#__utac_acc__Specification13_spec__1_returnLabel#1 havoc __utac_acc__Specification13_spec__1_#t~ret136#1;assume { :end_inline___utac_acc__Specification13_spec__1 } true;assume { :begin_inline_areDoorsOpen } true;havoc areDoorsOpen_#res#1;havoc areDoorsOpen_~retValue_acc~5#1;havoc areDoorsOpen_~retValue_acc~5#1;areDoorsOpen_~retValue_acc~5#1 := ~doorState~0;areDoorsOpen_#res#1 := areDoorsOpen_~retValue_acc~5#1; 369110#areDoorsOpen_returnLabel#1 timeShift_#t~ret86#1 := areDoorsOpen_#res#1;havoc areDoorsOpen_~retValue_acc~5#1;assume { :end_inline_areDoorsOpen } true;timeShift_~tmp~16#1 := timeShift_#t~ret86#1;havoc timeShift_#t~ret86#1; 369902#L1702 assume 0 != timeShift_~tmp~16#1; 366428#L1703 assume ~weight~0 > ~maximumWeight~0;~blocked~0 := 1; 357817#L1702-1 assume { :begin_inline___utac_acc__Specification13_spec__2 } true;havoc __utac_acc__Specification13_spec__2_#t~ret137#1, __utac_acc__Specification13_spec__2_#t~ret138#1, __utac_acc__Specification13_spec__2_#t~ret139#1, __utac_acc__Specification13_spec__2_#t~ret140#1, __utac_acc__Specification13_spec__2_#t~ret141#1, __utac_acc__Specification13_spec__2_#t~ret142#1, __utac_acc__Specification13_spec__2_~tmp~30#1, __utac_acc__Specification13_spec__2_~tmp___0~13#1, __utac_acc__Specification13_spec__2_~tmp___1~8#1, __utac_acc__Specification13_spec__2_~tmp___2~6#1, __utac_acc__Specification13_spec__2_~tmp___3~5#1, __utac_acc__Specification13_spec__2_~tmp___4~3#1, __utac_acc__Specification13_spec__2_~__cil_tmp7~7#1, __utac_acc__Specification13_spec__2_~__cil_tmp8~8#1;havoc __utac_acc__Specification13_spec__2_~tmp~30#1;havoc __utac_acc__Specification13_spec__2_~tmp___0~13#1;havoc __utac_acc__Specification13_spec__2_~tmp___1~8#1;havoc __utac_acc__Specification13_spec__2_~tmp___2~6#1;havoc __utac_acc__Specification13_spec__2_~tmp___3~5#1;havoc __utac_acc__Specification13_spec__2_~tmp___4~3#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp7~7#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp8~8#1;__utac_acc__Specification13_spec__2_~__cil_tmp7~7#1 := 2 * ~maximumWeight~0;__utac_acc__Specification13_spec__2_~__cil_tmp8~8#1 := (if __utac_acc__Specification13_spec__2_~__cil_tmp7~7#1 < 0 && 0 != __utac_acc__Specification13_spec__2_~__cil_tmp7~7#1 % 3 then 1 + __utac_acc__Specification13_spec__2_~__cil_tmp7~7#1 / 3 else __utac_acc__Specification13_spec__2_~__cil_tmp7~7#1 / 3); 356321#L3236 assume ~weight~0 > __utac_acc__Specification13_spec__2_~__cil_tmp8~8#1; 356322#L3237 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~19#1, existInLiftCallsInDirection_~i~0#1, existInLiftCallsInDirection_~i___0~0#1;existInLiftCallsInDirection_~d#1 := existInLiftCallsInDirection_#in~d#1;havoc existInLiftCallsInDirection_~retValue_acc~19#1;havoc existInLiftCallsInDirection_~i~0#1;havoc existInLiftCallsInDirection_~i___0~0#1; 365709#L1922 assume !(1 == existInLiftCallsInDirection_~d#1); 367336#L1988 assume 0 == existInLiftCallsInDirection_~d#1;existInLiftCallsInDirection_~i___0~0#1 := 0;existInLiftCallsInDirection_~i___0~0#1 := ~currentFloorID~0 - 1; 363339#L1992-2 [2024-11-09 15:53:18,810 INFO L747 eck$LassoCheckResult]: Loop: 363339#L1992-2 assume !false; 358767#L1993 assume existInLiftCallsInDirection_~i___0~0#1 >= 0; 352845#L1994 existInLiftCallsInDirection_~i___0~0#1 := 1 + ~currentFloorID~0; 352846#L2001-2 assume !false; 358290#L2002 assume !(existInLiftCallsInDirection_~i___0~0#1 < 5); 363338#L2060 existInLiftCallsInDirection_~i___0~0#1 := existInLiftCallsInDirection_~i___0~0#1 - 1; 363339#L1992-2 [2024-11-09 15:53:18,811 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-09 15:53:18,811 INFO L85 PathProgramCache]: Analyzing trace with hash 553838192, now seen corresponding path program 1 times [2024-11-09 15:53:18,812 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-09 15:53:18,812 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1152076484] [2024-11-09 15:53:18,813 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-09 15:53:18,813 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-09 15:53:18,844 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-09 15:53:18,903 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-09 15:53:18,904 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-09 15:53:18,904 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1152076484] [2024-11-09 15:53:18,905 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1152076484] provided 1 perfect and 0 imperfect interpolant sequences [2024-11-09 15:53:18,905 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-11-09 15:53:18,905 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2024-11-09 15:53:18,905 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1869404740] [2024-11-09 15:53:18,905 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-11-09 15:53:18,905 INFO L750 eck$LassoCheckResult]: stem already infeasible [2024-11-09 15:53:18,906 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-09 15:53:18,906 INFO L85 PathProgramCache]: Analyzing trace with hash 954762475, now seen corresponding path program 2 times [2024-11-09 15:53:18,906 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-09 15:53:18,906 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1915018993] [2024-11-09 15:53:18,906 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-09 15:53:18,906 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-09 15:53:18,923 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-09 15:53:18,923 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-09 15:53:18,926 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-09 15:53:18,943 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-09 15:53:18,965 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-09 15:53:18,966 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2024-11-09 15:53:18,966 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2024-11-09 15:53:18,966 INFO L87 Difference]: Start difference. First operand 17990 states and 33601 transitions. cyclomatic complexity: 15648 Second operand has 4 states, 4 states have (on average 10.75) internal successors, (43), 4 states have internal predecessors, (43), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-09 15:53:19,479 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-09 15:53:19,480 INFO L93 Difference]: Finished difference Result 17994 states and 33604 transitions. [2024-11-09 15:53:19,480 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 17994 states and 33604 transitions. [2024-11-09 15:53:19,537 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 4076 [2024-11-09 15:53:19,579 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 17994 states to 17994 states and 33604 transitions. [2024-11-09 15:53:19,579 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 17911 [2024-11-09 15:53:19,592 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 17911 [2024-11-09 15:53:19,592 INFO L73 IsDeterministic]: Start isDeterministic. Operand 17994 states and 33604 transitions. [2024-11-09 15:53:19,592 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-11-09 15:53:19,592 INFO L218 hiAutomatonCegarLoop]: Abstraction has 17994 states and 33604 transitions. [2024-11-09 15:53:19,616 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 17994 states and 33604 transitions. [2024-11-09 15:53:19,770 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 17994 to 17994. [2024-11-09 15:53:19,787 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17994 states, 17994 states have (on average 1.867511392686451) internal successors, (33604), 17993 states have internal predecessors, (33604), 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-09 15:53:19,815 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17994 states to 17994 states and 33604 transitions. [2024-11-09 15:53:19,815 INFO L240 hiAutomatonCegarLoop]: Abstraction has 17994 states and 33604 transitions. [2024-11-09 15:53:19,816 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2024-11-09 15:53:19,816 INFO L425 stractBuchiCegarLoop]: Abstraction has 17994 states and 33604 transitions. [2024-11-09 15:53:19,816 INFO L332 stractBuchiCegarLoop]: ======== Iteration 6 ============ [2024-11-09 15:53:19,816 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 17994 states and 33604 transitions. [2024-11-09 15:53:19,857 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 4076 [2024-11-09 15:53:19,858 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-09 15:53:19,858 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-09 15:53:19,858 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] [2024-11-09 15:53:19,858 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1] [2024-11-09 15:53:19,858 INFO L745 eck$LassoCheckResult]: Stem: 397581#$Ultimate##0 assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int#0(48, 1, 0, 1);call write~init~int#0(0, 1, 1, 1);call #Ultimate.allocInit(32, 2);call #Ultimate.allocInit(12, 3);call #Ultimate.allocInit(30, 4);call #Ultimate.allocInit(9, 5);call #Ultimate.allocInit(21, 6);call #Ultimate.allocInit(30, 7);call #Ultimate.allocInit(9, 8);call #Ultimate.allocInit(21, 9);call #Ultimate.allocInit(30, 10);call #Ultimate.allocInit(9, 11);call #Ultimate.allocInit(25, 12);call #Ultimate.allocInit(30, 13);call #Ultimate.allocInit(9, 14);call #Ultimate.allocInit(25, 15);call #Ultimate.allocInit(10, 16);call #Ultimate.allocInit(4, 17);call write~init~int#5(91, 17, 0, 1);call write~init~int#5(95, 17, 1, 1);call write~init~int#5(93, 17, 2, 1);call write~init~int#5(0, 17, 3, 1);call #Ultimate.allocInit(4, 18);call write~init~int#6(91, 18, 0, 1);call write~init~int#6(93, 18, 1, 1);call write~init~int#6(32, 18, 2, 1);call write~init~int#6(0, 18, 3, 1);call #Ultimate.allocInit(5, 19);call write~init~int#7(32, 19, 0, 1);call write~init~int#7(97, 19, 1, 1);call write~init~int#7(116, 19, 2, 1);call write~init~int#7(32, 19, 3, 1);call write~init~int#7(0, 19, 4, 1);call #Ultimate.allocInit(3, 20);call write~init~int#8(37, 20, 0, 1);call write~init~int#8(105, 20, 1, 1);call write~init~int#8(0, 20, 2, 1);call #Ultimate.allocInit(10, 21);call #Ultimate.allocInit(3, 22);call write~init~int#9(117, 22, 0, 1);call write~init~int#9(112, 22, 1, 1);call write~init~int#9(0, 22, 2, 1);call #Ultimate.allocInit(5, 23);call write~init~int#10(100, 23, 0, 1);call write~init~int#10(111, 23, 1, 1);call write~init~int#10(119, 23, 2, 1);call write~init~int#10(110, 23, 3, 1);call write~init~int#10(0, 23, 4, 1);call #Ultimate.allocInit(7, 24);call write~init~int#11(32, 24, 0, 1);call write~init~int#11(73, 24, 1, 1);call write~init~int#11(76, 24, 2, 1);call write~init~int#11(95, 24, 3, 1);call write~init~int#11(112, 24, 4, 1);call write~init~int#11(58, 24, 5, 1);call write~init~int#11(0, 24, 6, 1);call #Ultimate.allocInit(4, 25);call write~init~int#12(32, 25, 0, 1);call write~init~int#12(37, 25, 1, 1);call write~init~int#12(105, 25, 2, 1);call write~init~int#12(0, 25, 3, 1);call #Ultimate.allocInit(4, 26);call write~init~int#13(32, 26, 0, 1);call write~init~int#13(37, 26, 1, 1);call write~init~int#13(105, 26, 2, 1);call write~init~int#13(0, 26, 3, 1);call #Ultimate.allocInit(4, 27);call write~init~int#14(32, 27, 0, 1);call write~init~int#14(37, 27, 1, 1);call write~init~int#14(105, 27, 2, 1);call write~init~int#14(0, 27, 3, 1);call #Ultimate.allocInit(4, 28);call write~init~int#15(32, 28, 0, 1);call write~init~int#15(37, 28, 1, 1);call write~init~int#15(105, 28, 2, 1);call write~init~int#15(0, 28, 3, 1);call #Ultimate.allocInit(4, 29);call write~init~int#16(32, 29, 0, 1);call write~init~int#16(37, 29, 1, 1);call write~init~int#16(105, 29, 2, 1);call write~init~int#16(0, 29, 3, 1);call #Ultimate.allocInit(6, 30);call write~init~int#17(32, 30, 0, 1);call write~init~int#17(70, 30, 1, 1);call write~init~int#17(95, 30, 2, 1);call write~init~int#17(112, 30, 3, 1);call write~init~int#17(58, 30, 4, 1);call write~init~int#17(0, 30, 5, 1);call #Ultimate.allocInit(4, 31);call write~init~int#18(32, 31, 0, 1);call write~init~int#18(37, 31, 1, 1);call write~init~int#18(105, 31, 2, 1);call write~init~int#18(0, 31, 3, 1);call #Ultimate.allocInit(4, 32);call write~init~int#19(32, 32, 0, 1);call write~init~int#19(37, 32, 1, 1);call write~init~int#19(105, 32, 2, 1);call write~init~int#19(0, 32, 3, 1);call #Ultimate.allocInit(4, 33);call write~init~int#1(32, 33, 0, 1);call write~init~int#1(37, 33, 1, 1);call write~init~int#1(105, 33, 2, 1);call write~init~int#1(0, 33, 3, 1);call #Ultimate.allocInit(4, 34);call write~init~int#2(32, 34, 0, 1);call write~init~int#2(37, 34, 1, 1);call write~init~int#2(105, 34, 2, 1);call write~init~int#2(0, 34, 3, 1);call #Ultimate.allocInit(4, 35);call write~init~int#3(32, 35, 0, 1);call write~init~int#3(37, 35, 1, 1);call write~init~int#3(105, 35, 2, 1);call write~init~int#3(0, 35, 3, 1);call #Ultimate.allocInit(2, 36);call write~init~int#4(10, 36, 0, 1);call write~init~int#4(0, 36, 1, 1);call #Ultimate.allocInit(9, 37);~head~0.base, ~head~0.offset := 0, 0;~weight~0 := 0;~maximumWeight~0 := 100;~executiveFloor~0 := 4;~blocked~0 := 0;~currentHeading~0 := 1;~currentFloorID~0 := 0;~persons_0~0 := 0;~persons_1~0 := 0;~persons_2~0 := 0;~persons_3~0 := 0;~persons_4~0 := 0;~persons_5~0 := 0;~doorState~0 := 1;~floorButtons_0~0 := 0;~floorButtons_1~0 := 0;~floorButtons_2~0 := 0;~floorButtons_3~0 := 0;~floorButtons_4~0 := 0;~cleanupTimeShifts~0 := 12;~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;~prevDir~0 := 0; 397219#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret129#1, main_~retValue_acc~23#1, main_~tmp~27#1;havoc main_~retValue_acc~23#1;havoc main_~tmp~27#1;assume { :begin_inline_select_helpers } true; 397220#select_helpers_returnLabel#1 assume { :end_inline_select_helpers } true;assume { :begin_inline_select_features } true; 406449#select_features_returnLabel#1 assume { :end_inline_select_features } true;assume { :begin_inline_valid_product } true;havoc valid_product_#res#1;havoc valid_product_~retValue_acc~31#1;havoc valid_product_~retValue_acc~31#1;valid_product_~retValue_acc~31#1 := 1;valid_product_#res#1 := valid_product_~retValue_acc~31#1; 403263#valid_product_returnLabel#1 main_#t~ret129#1 := valid_product_#res#1;havoc valid_product_~retValue_acc~31#1;assume { :end_inline_valid_product } true;main_~tmp~27#1 := main_#t~ret129#1;havoc main_#t~ret129#1; 403264#L2436 assume 0 != main_~tmp~27#1;assume { :begin_inline_setup } true; 403871#setup_returnLabel#1 assume { :end_inline_setup } true;assume { :begin_inline_runTest } true;assume { :begin_inline_test } true;assume { :begin_inline_aliceCall } true;havoc aliceCall_#t~ret118#1, aliceCall_~tmp~20#1;havoc aliceCall_~tmp~20#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 1;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~28#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~28#1; 403872#L3343 assume !(0 == getOrigin_~person#1); 404232#L3347 assume 1 == getOrigin_~person#1;getOrigin_~retValue_acc~28#1 := 3;getOrigin_#res#1 := getOrigin_~retValue_acc~28#1; 393925#getOrigin_returnLabel#1 aliceCall_#t~ret118#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~28#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;aliceCall_~tmp~20#1 := aliceCall_#t~ret118#1;havoc aliceCall_#t~ret118#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 1, aliceCall_~tmp~20#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 393926#L2903 assume !(0 == initPersonOnFloor_~floor#1); 400322#L2930 assume !(1 == initPersonOnFloor_~floor#1); 398153#L2957 assume !(2 == initPersonOnFloor_~floor#1); 398154#L2984 assume 3 == initPersonOnFloor_~floor#1; 400182#L2985 assume !(0 == initPersonOnFloor_~person#1); 403247#L2988 assume 1 == initPersonOnFloor_~person#1;~personOnFloor_1_3~0 := 1; 391483#L3011-1 assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 397337#L2695 assume !(0 == callOnFloor_~floorID#1); 397338#L2698 assume 1 == callOnFloor_~floorID#1;~calls_1~0 := 1; 396293#L2707-2 havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true; 402041#initPersonOnFloor_returnLabel#1 havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true; 403485#aliceCall_returnLabel#1 havoc aliceCall_#t~ret118#1, aliceCall_~tmp~20#1;assume { :end_inline_aliceCall } true;assume { :begin_inline_angelinaCall } true;havoc angelinaCall_#t~ret119#1, angelinaCall_~tmp~21#1;havoc angelinaCall_~tmp~21#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 2;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~28#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~28#1; 406435#L3343-1 assume !(0 == getOrigin_~person#1); 406592#L3347-1 assume !(1 == getOrigin_~person#1); 391575#L3351-1 assume 2 == getOrigin_~person#1;getOrigin_~retValue_acc~28#1 := 2;getOrigin_#res#1 := getOrigin_~retValue_acc~28#1; 391576#getOrigin_returnLabel#2 angelinaCall_#t~ret119#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~28#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;angelinaCall_~tmp~21#1 := angelinaCall_#t~ret119#1;havoc angelinaCall_#t~ret119#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 2, angelinaCall_~tmp~21#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 406616#L2903-1 assume 0 == initPersonOnFloor_~floor#1; 391427#L2904-2 assume !(0 == initPersonOnFloor_~person#1); 389275#L2907-2 assume 1 == initPersonOnFloor_~person#1;~personOnFloor_1_0~0 := 1; 389277#L3011-3 assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 406600#L2695-2 assume 0 == callOnFloor_~floorID#1;~calls_0~0 := 1; 402569#L2707-5 havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true; 395268#initPersonOnFloor_returnLabel#2 havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true; 395269#angelinaCall_returnLabel#1 havoc angelinaCall_#t~ret119#1, angelinaCall_~tmp~21#1;assume { :end_inline_angelinaCall } true;assume { :begin_inline_threeTS } true;assume { :begin_inline_timeShift } true;havoc timeShift_#t~ret86#1, timeShift_~tmp~16#1;havoc timeShift_~tmp~16#1;assume { :begin_inline___utac_acc__Specification13_spec__1 } true;havoc __utac_acc__Specification13_spec__1_#t~ret136#1;assume { :begin_inline_getCurrentHeading } true;havoc getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~7#1;havoc getCurrentHeading_~retValue_acc~7#1;getCurrentHeading_~retValue_acc~7#1 := ~currentHeading~0;getCurrentHeading_#res#1 := getCurrentHeading_~retValue_acc~7#1; 400599#getCurrentHeading_returnLabel#1 __utac_acc__Specification13_spec__1_#t~ret136#1 := getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~7#1;assume { :end_inline_getCurrentHeading } true;~prevDir~0 := __utac_acc__Specification13_spec__1_#t~ret136#1;havoc __utac_acc__Specification13_spec__1_#t~ret136#1; 400600#__utac_acc__Specification13_spec__1_returnLabel#1 havoc __utac_acc__Specification13_spec__1_#t~ret136#1;assume { :end_inline___utac_acc__Specification13_spec__1 } true;assume { :begin_inline_areDoorsOpen } true;havoc areDoorsOpen_#res#1;havoc areDoorsOpen_~retValue_acc~5#1;havoc areDoorsOpen_~retValue_acc~5#1;areDoorsOpen_~retValue_acc~5#1 := ~doorState~0;areDoorsOpen_#res#1 := areDoorsOpen_~retValue_acc~5#1; 405104#areDoorsOpen_returnLabel#1 timeShift_#t~ret86#1 := areDoorsOpen_#res#1;havoc areDoorsOpen_~retValue_acc~5#1;assume { :end_inline_areDoorsOpen } true;timeShift_~tmp~16#1 := timeShift_#t~ret86#1;havoc timeShift_#t~ret86#1; 405894#L1702 assume 0 != timeShift_~tmp~16#1; 402420#L1703 assume ~weight~0 > ~maximumWeight~0;~blocked~0 := 1; 393810#L1702-1 assume { :begin_inline___utac_acc__Specification13_spec__2 } true;havoc __utac_acc__Specification13_spec__2_#t~ret137#1, __utac_acc__Specification13_spec__2_#t~ret138#1, __utac_acc__Specification13_spec__2_#t~ret139#1, __utac_acc__Specification13_spec__2_#t~ret140#1, __utac_acc__Specification13_spec__2_#t~ret141#1, __utac_acc__Specification13_spec__2_#t~ret142#1, __utac_acc__Specification13_spec__2_~tmp~30#1, __utac_acc__Specification13_spec__2_~tmp___0~13#1, __utac_acc__Specification13_spec__2_~tmp___1~8#1, __utac_acc__Specification13_spec__2_~tmp___2~6#1, __utac_acc__Specification13_spec__2_~tmp___3~5#1, __utac_acc__Specification13_spec__2_~tmp___4~3#1, __utac_acc__Specification13_spec__2_~__cil_tmp7~7#1, __utac_acc__Specification13_spec__2_~__cil_tmp8~8#1;havoc __utac_acc__Specification13_spec__2_~tmp~30#1;havoc __utac_acc__Specification13_spec__2_~tmp___0~13#1;havoc __utac_acc__Specification13_spec__2_~tmp___1~8#1;havoc __utac_acc__Specification13_spec__2_~tmp___2~6#1;havoc __utac_acc__Specification13_spec__2_~tmp___3~5#1;havoc __utac_acc__Specification13_spec__2_~tmp___4~3#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp7~7#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp8~8#1;__utac_acc__Specification13_spec__2_~__cil_tmp7~7#1 := 2 * ~maximumWeight~0;__utac_acc__Specification13_spec__2_~__cil_tmp8~8#1 := (if __utac_acc__Specification13_spec__2_~__cil_tmp7~7#1 < 0 && 0 != __utac_acc__Specification13_spec__2_~__cil_tmp7~7#1 % 3 then 1 + __utac_acc__Specification13_spec__2_~__cil_tmp7~7#1 / 3 else __utac_acc__Specification13_spec__2_~__cil_tmp7~7#1 / 3); 392313#L3236 assume ~weight~0 > __utac_acc__Specification13_spec__2_~__cil_tmp8~8#1; 392314#L3237 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~19#1, existInLiftCallsInDirection_~i~0#1, existInLiftCallsInDirection_~i___0~0#1;existInLiftCallsInDirection_~d#1 := existInLiftCallsInDirection_#in~d#1;havoc existInLiftCallsInDirection_~retValue_acc~19#1;havoc existInLiftCallsInDirection_~i~0#1;havoc existInLiftCallsInDirection_~i___0~0#1; 401701#L1922 assume !(1 == existInLiftCallsInDirection_~d#1); 403328#L1988 assume 0 == existInLiftCallsInDirection_~d#1;existInLiftCallsInDirection_~i___0~0#1 := 0;existInLiftCallsInDirection_~i___0~0#1 := ~currentFloorID~0 - 1; 399331#L1992-2 [2024-11-09 15:53:19,859 INFO L747 eck$LassoCheckResult]: Loop: 399331#L1992-2 assume !false; 394760#L1993 assume existInLiftCallsInDirection_~i___0~0#1 >= 0; 388836#L1994 existInLiftCallsInDirection_~i___0~0#1 := 1 + ~currentFloorID~0; 388837#L2001-2 assume !false; 394283#L2002 assume !(existInLiftCallsInDirection_~i___0~0#1 < 5); 399330#L2060 existInLiftCallsInDirection_~i___0~0#1 := existInLiftCallsInDirection_~i___0~0#1 - 1; 399331#L1992-2 [2024-11-09 15:53:19,859 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-09 15:53:19,859 INFO L85 PathProgramCache]: Analyzing trace with hash -1251686709, now seen corresponding path program 1 times [2024-11-09 15:53:19,860 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-09 15:53:19,860 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [581774149] [2024-11-09 15:53:19,860 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-09 15:53:19,860 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-09 15:53:19,889 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-09 15:53:19,958 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-09 15:53:19,959 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-09 15:53:19,959 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [581774149] [2024-11-09 15:53:19,959 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [581774149] provided 1 perfect and 0 imperfect interpolant sequences [2024-11-09 15:53:19,959 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-11-09 15:53:19,959 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2024-11-09 15:53:19,960 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1407142287] [2024-11-09 15:53:19,960 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-11-09 15:53:19,960 INFO L750 eck$LassoCheckResult]: stem already infeasible [2024-11-09 15:53:19,960 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-09 15:53:19,960 INFO L85 PathProgramCache]: Analyzing trace with hash 954762475, now seen corresponding path program 3 times [2024-11-09 15:53:19,961 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-09 15:53:19,961 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [718093043] [2024-11-09 15:53:19,961 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-09 15:53:19,961 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-09 15:53:19,973 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-09 15:53:19,974 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-09 15:53:19,975 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-09 15:53:19,983 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-09 15:53:20,001 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-09 15:53:20,002 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2024-11-09 15:53:20,002 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2024-11-09 15:53:20,002 INFO L87 Difference]: Start difference. First operand 17994 states and 33604 transitions. cyclomatic complexity: 15647 Second operand has 4 states, 4 states have (on average 11.0) internal successors, (44), 4 states have internal predecessors, (44), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-09 15:53:20,482 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-09 15:53:20,483 INFO L93 Difference]: Finished difference Result 18000 states and 33609 transitions. [2024-11-09 15:53:20,483 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 18000 states and 33609 transitions. [2024-11-09 15:53:20,544 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 4076 [2024-11-09 15:53:20,589 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 18000 states to 18000 states and 33609 transitions. [2024-11-09 15:53:20,589 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 17917 [2024-11-09 15:53:20,602 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 17917 [2024-11-09 15:53:20,602 INFO L73 IsDeterministic]: Start isDeterministic. Operand 18000 states and 33609 transitions. [2024-11-09 15:53:20,602 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-11-09 15:53:20,602 INFO L218 hiAutomatonCegarLoop]: Abstraction has 18000 states and 33609 transitions. [2024-11-09 15:53:20,627 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 18000 states and 33609 transitions. [2024-11-09 15:53:20,801 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 18000 to 18000. [2024-11-09 15:53:20,825 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18000 states, 18000 states have (on average 1.8671666666666666) internal successors, (33609), 17999 states have internal predecessors, (33609), 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-09 15:53:20,868 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18000 states to 18000 states and 33609 transitions. [2024-11-09 15:53:20,869 INFO L240 hiAutomatonCegarLoop]: Abstraction has 18000 states and 33609 transitions. [2024-11-09 15:53:20,869 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2024-11-09 15:53:20,870 INFO L425 stractBuchiCegarLoop]: Abstraction has 18000 states and 33609 transitions. [2024-11-09 15:53:20,871 INFO L332 stractBuchiCegarLoop]: ======== Iteration 7 ============ [2024-11-09 15:53:20,871 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 18000 states and 33609 transitions. [2024-11-09 15:53:20,935 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 4076 [2024-11-09 15:53:20,936 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-09 15:53:20,936 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-09 15:53:20,936 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] [2024-11-09 15:53:20,937 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1] [2024-11-09 15:53:20,939 INFO L745 eck$LassoCheckResult]: Stem: 433584#$Ultimate##0 assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int#0(48, 1, 0, 1);call write~init~int#0(0, 1, 1, 1);call #Ultimate.allocInit(32, 2);call #Ultimate.allocInit(12, 3);call #Ultimate.allocInit(30, 4);call #Ultimate.allocInit(9, 5);call #Ultimate.allocInit(21, 6);call #Ultimate.allocInit(30, 7);call #Ultimate.allocInit(9, 8);call #Ultimate.allocInit(21, 9);call #Ultimate.allocInit(30, 10);call #Ultimate.allocInit(9, 11);call #Ultimate.allocInit(25, 12);call #Ultimate.allocInit(30, 13);call #Ultimate.allocInit(9, 14);call #Ultimate.allocInit(25, 15);call #Ultimate.allocInit(10, 16);call #Ultimate.allocInit(4, 17);call write~init~int#5(91, 17, 0, 1);call write~init~int#5(95, 17, 1, 1);call write~init~int#5(93, 17, 2, 1);call write~init~int#5(0, 17, 3, 1);call #Ultimate.allocInit(4, 18);call write~init~int#6(91, 18, 0, 1);call write~init~int#6(93, 18, 1, 1);call write~init~int#6(32, 18, 2, 1);call write~init~int#6(0, 18, 3, 1);call #Ultimate.allocInit(5, 19);call write~init~int#7(32, 19, 0, 1);call write~init~int#7(97, 19, 1, 1);call write~init~int#7(116, 19, 2, 1);call write~init~int#7(32, 19, 3, 1);call write~init~int#7(0, 19, 4, 1);call #Ultimate.allocInit(3, 20);call write~init~int#8(37, 20, 0, 1);call write~init~int#8(105, 20, 1, 1);call write~init~int#8(0, 20, 2, 1);call #Ultimate.allocInit(10, 21);call #Ultimate.allocInit(3, 22);call write~init~int#9(117, 22, 0, 1);call write~init~int#9(112, 22, 1, 1);call write~init~int#9(0, 22, 2, 1);call #Ultimate.allocInit(5, 23);call write~init~int#10(100, 23, 0, 1);call write~init~int#10(111, 23, 1, 1);call write~init~int#10(119, 23, 2, 1);call write~init~int#10(110, 23, 3, 1);call write~init~int#10(0, 23, 4, 1);call #Ultimate.allocInit(7, 24);call write~init~int#11(32, 24, 0, 1);call write~init~int#11(73, 24, 1, 1);call write~init~int#11(76, 24, 2, 1);call write~init~int#11(95, 24, 3, 1);call write~init~int#11(112, 24, 4, 1);call write~init~int#11(58, 24, 5, 1);call write~init~int#11(0, 24, 6, 1);call #Ultimate.allocInit(4, 25);call write~init~int#12(32, 25, 0, 1);call write~init~int#12(37, 25, 1, 1);call write~init~int#12(105, 25, 2, 1);call write~init~int#12(0, 25, 3, 1);call #Ultimate.allocInit(4, 26);call write~init~int#13(32, 26, 0, 1);call write~init~int#13(37, 26, 1, 1);call write~init~int#13(105, 26, 2, 1);call write~init~int#13(0, 26, 3, 1);call #Ultimate.allocInit(4, 27);call write~init~int#14(32, 27, 0, 1);call write~init~int#14(37, 27, 1, 1);call write~init~int#14(105, 27, 2, 1);call write~init~int#14(0, 27, 3, 1);call #Ultimate.allocInit(4, 28);call write~init~int#15(32, 28, 0, 1);call write~init~int#15(37, 28, 1, 1);call write~init~int#15(105, 28, 2, 1);call write~init~int#15(0, 28, 3, 1);call #Ultimate.allocInit(4, 29);call write~init~int#16(32, 29, 0, 1);call write~init~int#16(37, 29, 1, 1);call write~init~int#16(105, 29, 2, 1);call write~init~int#16(0, 29, 3, 1);call #Ultimate.allocInit(6, 30);call write~init~int#17(32, 30, 0, 1);call write~init~int#17(70, 30, 1, 1);call write~init~int#17(95, 30, 2, 1);call write~init~int#17(112, 30, 3, 1);call write~init~int#17(58, 30, 4, 1);call write~init~int#17(0, 30, 5, 1);call #Ultimate.allocInit(4, 31);call write~init~int#18(32, 31, 0, 1);call write~init~int#18(37, 31, 1, 1);call write~init~int#18(105, 31, 2, 1);call write~init~int#18(0, 31, 3, 1);call #Ultimate.allocInit(4, 32);call write~init~int#19(32, 32, 0, 1);call write~init~int#19(37, 32, 1, 1);call write~init~int#19(105, 32, 2, 1);call write~init~int#19(0, 32, 3, 1);call #Ultimate.allocInit(4, 33);call write~init~int#1(32, 33, 0, 1);call write~init~int#1(37, 33, 1, 1);call write~init~int#1(105, 33, 2, 1);call write~init~int#1(0, 33, 3, 1);call #Ultimate.allocInit(4, 34);call write~init~int#2(32, 34, 0, 1);call write~init~int#2(37, 34, 1, 1);call write~init~int#2(105, 34, 2, 1);call write~init~int#2(0, 34, 3, 1);call #Ultimate.allocInit(4, 35);call write~init~int#3(32, 35, 0, 1);call write~init~int#3(37, 35, 1, 1);call write~init~int#3(105, 35, 2, 1);call write~init~int#3(0, 35, 3, 1);call #Ultimate.allocInit(2, 36);call write~init~int#4(10, 36, 0, 1);call write~init~int#4(0, 36, 1, 1);call #Ultimate.allocInit(9, 37);~head~0.base, ~head~0.offset := 0, 0;~weight~0 := 0;~maximumWeight~0 := 100;~executiveFloor~0 := 4;~blocked~0 := 0;~currentHeading~0 := 1;~currentFloorID~0 := 0;~persons_0~0 := 0;~persons_1~0 := 0;~persons_2~0 := 0;~persons_3~0 := 0;~persons_4~0 := 0;~persons_5~0 := 0;~doorState~0 := 1;~floorButtons_0~0 := 0;~floorButtons_1~0 := 0;~floorButtons_2~0 := 0;~floorButtons_3~0 := 0;~floorButtons_4~0 := 0;~cleanupTimeShifts~0 := 12;~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;~prevDir~0 := 0; 433222#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret129#1, main_~retValue_acc~23#1, main_~tmp~27#1;havoc main_~retValue_acc~23#1;havoc main_~tmp~27#1;assume { :begin_inline_select_helpers } true; 433223#select_helpers_returnLabel#1 assume { :end_inline_select_helpers } true;assume { :begin_inline_select_features } true; 442452#select_features_returnLabel#1 assume { :end_inline_select_features } true;assume { :begin_inline_valid_product } true;havoc valid_product_#res#1;havoc valid_product_~retValue_acc~31#1;havoc valid_product_~retValue_acc~31#1;valid_product_~retValue_acc~31#1 := 1;valid_product_#res#1 := valid_product_~retValue_acc~31#1; 439267#valid_product_returnLabel#1 main_#t~ret129#1 := valid_product_#res#1;havoc valid_product_~retValue_acc~31#1;assume { :end_inline_valid_product } true;main_~tmp~27#1 := main_#t~ret129#1;havoc main_#t~ret129#1; 439268#L2436 assume 0 != main_~tmp~27#1;assume { :begin_inline_setup } true; 439875#setup_returnLabel#1 assume { :end_inline_setup } true;assume { :begin_inline_runTest } true;assume { :begin_inline_test } true;assume { :begin_inline_aliceCall } true;havoc aliceCall_#t~ret118#1, aliceCall_~tmp~20#1;havoc aliceCall_~tmp~20#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 1;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~28#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~28#1; 439876#L3343 assume !(0 == getOrigin_~person#1); 440237#L3347 assume 1 == getOrigin_~person#1;getOrigin_~retValue_acc~28#1 := 3;getOrigin_#res#1 := getOrigin_~retValue_acc~28#1; 429926#getOrigin_returnLabel#1 aliceCall_#t~ret118#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~28#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;aliceCall_~tmp~20#1 := aliceCall_#t~ret118#1;havoc aliceCall_#t~ret118#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 1, aliceCall_~tmp~20#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 429927#L2903 assume !(0 == initPersonOnFloor_~floor#1); 436326#L2930 assume !(1 == initPersonOnFloor_~floor#1); 434156#L2957 assume !(2 == initPersonOnFloor_~floor#1); 434157#L2984 assume 3 == initPersonOnFloor_~floor#1; 436186#L2985 assume !(0 == initPersonOnFloor_~person#1); 439251#L2988 assume 1 == initPersonOnFloor_~person#1;~personOnFloor_1_3~0 := 1; 427484#L3011-1 assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 433340#L2695 assume !(0 == callOnFloor_~floorID#1); 433341#L2698 assume !(1 == callOnFloor_~floorID#1); 433100#L2701 assume 2 == callOnFloor_~floorID#1;~calls_2~0 := 1; 432295#L2707-2 havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true; 438045#initPersonOnFloor_returnLabel#1 havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true; 439489#aliceCall_returnLabel#1 havoc aliceCall_#t~ret118#1, aliceCall_~tmp~20#1;assume { :end_inline_aliceCall } true;assume { :begin_inline_angelinaCall } true;havoc angelinaCall_#t~ret119#1, angelinaCall_~tmp~21#1;havoc angelinaCall_~tmp~21#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 2;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~28#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~28#1; 442438#L3343-1 assume !(0 == getOrigin_~person#1); 442595#L3347-1 assume !(1 == getOrigin_~person#1); 427576#L3351-1 assume 2 == getOrigin_~person#1;getOrigin_~retValue_acc~28#1 := 2;getOrigin_#res#1 := getOrigin_~retValue_acc~28#1; 427577#getOrigin_returnLabel#2 angelinaCall_#t~ret119#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~28#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;angelinaCall_~tmp~21#1 := angelinaCall_#t~ret119#1;havoc angelinaCall_#t~ret119#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 2, angelinaCall_~tmp~21#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 442620#L2903-1 assume 0 == initPersonOnFloor_~floor#1; 427428#L2904-2 assume !(0 == initPersonOnFloor_~person#1); 425276#L2907-2 assume 1 == initPersonOnFloor_~person#1;~personOnFloor_1_0~0 := 1; 425278#L3011-3 assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 442604#L2695-2 assume 0 == callOnFloor_~floorID#1;~calls_0~0 := 1; 438782#L2707-5 havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true; 431270#initPersonOnFloor_returnLabel#2 havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true; 431271#angelinaCall_returnLabel#1 havoc angelinaCall_#t~ret119#1, angelinaCall_~tmp~21#1;assume { :end_inline_angelinaCall } true;assume { :begin_inline_threeTS } true;assume { :begin_inline_timeShift } true;havoc timeShift_#t~ret86#1, timeShift_~tmp~16#1;havoc timeShift_~tmp~16#1;assume { :begin_inline___utac_acc__Specification13_spec__1 } true;havoc __utac_acc__Specification13_spec__1_#t~ret136#1;assume { :begin_inline_getCurrentHeading } true;havoc getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~7#1;havoc getCurrentHeading_~retValue_acc~7#1;getCurrentHeading_~retValue_acc~7#1 := ~currentHeading~0;getCurrentHeading_#res#1 := getCurrentHeading_~retValue_acc~7#1; 436603#getCurrentHeading_returnLabel#1 __utac_acc__Specification13_spec__1_#t~ret136#1 := getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~7#1;assume { :end_inline_getCurrentHeading } true;~prevDir~0 := __utac_acc__Specification13_spec__1_#t~ret136#1;havoc __utac_acc__Specification13_spec__1_#t~ret136#1; 436604#__utac_acc__Specification13_spec__1_returnLabel#1 havoc __utac_acc__Specification13_spec__1_#t~ret136#1;assume { :end_inline___utac_acc__Specification13_spec__1 } true;assume { :begin_inline_areDoorsOpen } true;havoc areDoorsOpen_#res#1;havoc areDoorsOpen_~retValue_acc~5#1;havoc areDoorsOpen_~retValue_acc~5#1;areDoorsOpen_~retValue_acc~5#1 := ~doorState~0;areDoorsOpen_#res#1 := areDoorsOpen_~retValue_acc~5#1; 441108#areDoorsOpen_returnLabel#1 timeShift_#t~ret86#1 := areDoorsOpen_#res#1;havoc areDoorsOpen_~retValue_acc~5#1;assume { :end_inline_areDoorsOpen } true;timeShift_~tmp~16#1 := timeShift_#t~ret86#1;havoc timeShift_#t~ret86#1; 441897#L1702 assume 0 != timeShift_~tmp~16#1; 438424#L1703 assume ~weight~0 > ~maximumWeight~0;~blocked~0 := 1; 429811#L1702-1 assume { :begin_inline___utac_acc__Specification13_spec__2 } true;havoc __utac_acc__Specification13_spec__2_#t~ret137#1, __utac_acc__Specification13_spec__2_#t~ret138#1, __utac_acc__Specification13_spec__2_#t~ret139#1, __utac_acc__Specification13_spec__2_#t~ret140#1, __utac_acc__Specification13_spec__2_#t~ret141#1, __utac_acc__Specification13_spec__2_#t~ret142#1, __utac_acc__Specification13_spec__2_~tmp~30#1, __utac_acc__Specification13_spec__2_~tmp___0~13#1, __utac_acc__Specification13_spec__2_~tmp___1~8#1, __utac_acc__Specification13_spec__2_~tmp___2~6#1, __utac_acc__Specification13_spec__2_~tmp___3~5#1, __utac_acc__Specification13_spec__2_~tmp___4~3#1, __utac_acc__Specification13_spec__2_~__cil_tmp7~7#1, __utac_acc__Specification13_spec__2_~__cil_tmp8~8#1;havoc __utac_acc__Specification13_spec__2_~tmp~30#1;havoc __utac_acc__Specification13_spec__2_~tmp___0~13#1;havoc __utac_acc__Specification13_spec__2_~tmp___1~8#1;havoc __utac_acc__Specification13_spec__2_~tmp___2~6#1;havoc __utac_acc__Specification13_spec__2_~tmp___3~5#1;havoc __utac_acc__Specification13_spec__2_~tmp___4~3#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp7~7#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp8~8#1;__utac_acc__Specification13_spec__2_~__cil_tmp7~7#1 := 2 * ~maximumWeight~0;__utac_acc__Specification13_spec__2_~__cil_tmp8~8#1 := (if __utac_acc__Specification13_spec__2_~__cil_tmp7~7#1 < 0 && 0 != __utac_acc__Specification13_spec__2_~__cil_tmp7~7#1 % 3 then 1 + __utac_acc__Specification13_spec__2_~__cil_tmp7~7#1 / 3 else __utac_acc__Specification13_spec__2_~__cil_tmp7~7#1 / 3); 428314#L3236 assume ~weight~0 > __utac_acc__Specification13_spec__2_~__cil_tmp8~8#1; 428315#L3237 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~19#1, existInLiftCallsInDirection_~i~0#1, existInLiftCallsInDirection_~i___0~0#1;existInLiftCallsInDirection_~d#1 := existInLiftCallsInDirection_#in~d#1;havoc existInLiftCallsInDirection_~retValue_acc~19#1;havoc existInLiftCallsInDirection_~i~0#1;havoc existInLiftCallsInDirection_~i___0~0#1; 437705#L1922 assume !(1 == existInLiftCallsInDirection_~d#1); 439332#L1988 assume 0 == existInLiftCallsInDirection_~d#1;existInLiftCallsInDirection_~i___0~0#1 := 0;existInLiftCallsInDirection_~i___0~0#1 := ~currentFloorID~0 - 1; 435334#L1992-2 [2024-11-09 15:53:20,939 INFO L747 eck$LassoCheckResult]: Loop: 435334#L1992-2 assume !false; 430762#L1993 assume existInLiftCallsInDirection_~i___0~0#1 >= 0; 424837#L1994 existInLiftCallsInDirection_~i___0~0#1 := 1 + ~currentFloorID~0; 424838#L2001-2 assume !false; 430284#L2002 assume !(existInLiftCallsInDirection_~i___0~0#1 < 5); 435333#L2060 existInLiftCallsInDirection_~i___0~0#1 := existInLiftCallsInDirection_~i___0~0#1 - 1; 435334#L1992-2 [2024-11-09 15:53:20,939 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-09 15:53:20,939 INFO L85 PathProgramCache]: Analyzing trace with hash -1233284757, now seen corresponding path program 1 times [2024-11-09 15:53:20,940 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-09 15:53:20,940 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1078686594] [2024-11-09 15:53:20,940 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-09 15:53:20,940 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-09 15:53:20,966 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-09 15:53:21,033 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-09 15:53:21,033 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-09 15:53:21,034 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1078686594] [2024-11-09 15:53:21,034 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1078686594] provided 1 perfect and 0 imperfect interpolant sequences [2024-11-09 15:53:21,034 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-11-09 15:53:21,034 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2024-11-09 15:53:21,034 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1309394430] [2024-11-09 15:53:21,034 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-11-09 15:53:21,035 INFO L750 eck$LassoCheckResult]: stem already infeasible [2024-11-09 15:53:21,035 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-09 15:53:21,035 INFO L85 PathProgramCache]: Analyzing trace with hash 954762475, now seen corresponding path program 4 times [2024-11-09 15:53:21,035 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-09 15:53:21,035 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [644139862] [2024-11-09 15:53:21,035 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-09 15:53:21,036 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-09 15:53:21,049 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-09 15:53:21,049 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-09 15:53:21,050 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-09 15:53:21,058 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-09 15:53:21,076 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-09 15:53:21,077 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2024-11-09 15:53:21,077 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2024-11-09 15:53:21,077 INFO L87 Difference]: Start difference. First operand 18000 states and 33609 transitions. cyclomatic complexity: 15646 Second operand has 4 states, 4 states have (on average 11.25) internal successors, (45), 4 states have internal predecessors, (45), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-09 15:53:21,750 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-09 15:53:21,750 INFO L93 Difference]: Finished difference Result 18008 states and 33616 transitions. [2024-11-09 15:53:21,750 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 18008 states and 33616 transitions. [2024-11-09 15:53:21,832 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 4076 [2024-11-09 15:53:21,888 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 18008 states to 18008 states and 33616 transitions. [2024-11-09 15:53:21,888 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 17925 [2024-11-09 15:53:21,903 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 17925 [2024-11-09 15:53:21,903 INFO L73 IsDeterministic]: Start isDeterministic. Operand 18008 states and 33616 transitions. [2024-11-09 15:53:21,907 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-11-09 15:53:21,907 INFO L218 hiAutomatonCegarLoop]: Abstraction has 18008 states and 33616 transitions. [2024-11-09 15:53:21,938 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 18008 states and 33616 transitions. [2024-11-09 15:53:22,115 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 18008 to 18008. [2024-11-09 15:53:22,135 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18008 states, 18008 states have (on average 1.8667258996001777) internal successors, (33616), 18007 states have internal predecessors, (33616), 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-09 15:53:22,172 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18008 states to 18008 states and 33616 transitions. [2024-11-09 15:53:22,172 INFO L240 hiAutomatonCegarLoop]: Abstraction has 18008 states and 33616 transitions. [2024-11-09 15:53:22,173 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2024-11-09 15:53:22,173 INFO L425 stractBuchiCegarLoop]: Abstraction has 18008 states and 33616 transitions. [2024-11-09 15:53:22,173 INFO L332 stractBuchiCegarLoop]: ======== Iteration 8 ============ [2024-11-09 15:53:22,173 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 18008 states and 33616 transitions. [2024-11-09 15:53:22,232 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 4076 [2024-11-09 15:53:22,232 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-09 15:53:22,232 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-09 15:53:22,233 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] [2024-11-09 15:53:22,233 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1] [2024-11-09 15:53:22,233 INFO L745 eck$LassoCheckResult]: Stem: 469601#$Ultimate##0 assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int#0(48, 1, 0, 1);call write~init~int#0(0, 1, 1, 1);call #Ultimate.allocInit(32, 2);call #Ultimate.allocInit(12, 3);call #Ultimate.allocInit(30, 4);call #Ultimate.allocInit(9, 5);call #Ultimate.allocInit(21, 6);call #Ultimate.allocInit(30, 7);call #Ultimate.allocInit(9, 8);call #Ultimate.allocInit(21, 9);call #Ultimate.allocInit(30, 10);call #Ultimate.allocInit(9, 11);call #Ultimate.allocInit(25, 12);call #Ultimate.allocInit(30, 13);call #Ultimate.allocInit(9, 14);call #Ultimate.allocInit(25, 15);call #Ultimate.allocInit(10, 16);call #Ultimate.allocInit(4, 17);call write~init~int#5(91, 17, 0, 1);call write~init~int#5(95, 17, 1, 1);call write~init~int#5(93, 17, 2, 1);call write~init~int#5(0, 17, 3, 1);call #Ultimate.allocInit(4, 18);call write~init~int#6(91, 18, 0, 1);call write~init~int#6(93, 18, 1, 1);call write~init~int#6(32, 18, 2, 1);call write~init~int#6(0, 18, 3, 1);call #Ultimate.allocInit(5, 19);call write~init~int#7(32, 19, 0, 1);call write~init~int#7(97, 19, 1, 1);call write~init~int#7(116, 19, 2, 1);call write~init~int#7(32, 19, 3, 1);call write~init~int#7(0, 19, 4, 1);call #Ultimate.allocInit(3, 20);call write~init~int#8(37, 20, 0, 1);call write~init~int#8(105, 20, 1, 1);call write~init~int#8(0, 20, 2, 1);call #Ultimate.allocInit(10, 21);call #Ultimate.allocInit(3, 22);call write~init~int#9(117, 22, 0, 1);call write~init~int#9(112, 22, 1, 1);call write~init~int#9(0, 22, 2, 1);call #Ultimate.allocInit(5, 23);call write~init~int#10(100, 23, 0, 1);call write~init~int#10(111, 23, 1, 1);call write~init~int#10(119, 23, 2, 1);call write~init~int#10(110, 23, 3, 1);call write~init~int#10(0, 23, 4, 1);call #Ultimate.allocInit(7, 24);call write~init~int#11(32, 24, 0, 1);call write~init~int#11(73, 24, 1, 1);call write~init~int#11(76, 24, 2, 1);call write~init~int#11(95, 24, 3, 1);call write~init~int#11(112, 24, 4, 1);call write~init~int#11(58, 24, 5, 1);call write~init~int#11(0, 24, 6, 1);call #Ultimate.allocInit(4, 25);call write~init~int#12(32, 25, 0, 1);call write~init~int#12(37, 25, 1, 1);call write~init~int#12(105, 25, 2, 1);call write~init~int#12(0, 25, 3, 1);call #Ultimate.allocInit(4, 26);call write~init~int#13(32, 26, 0, 1);call write~init~int#13(37, 26, 1, 1);call write~init~int#13(105, 26, 2, 1);call write~init~int#13(0, 26, 3, 1);call #Ultimate.allocInit(4, 27);call write~init~int#14(32, 27, 0, 1);call write~init~int#14(37, 27, 1, 1);call write~init~int#14(105, 27, 2, 1);call write~init~int#14(0, 27, 3, 1);call #Ultimate.allocInit(4, 28);call write~init~int#15(32, 28, 0, 1);call write~init~int#15(37, 28, 1, 1);call write~init~int#15(105, 28, 2, 1);call write~init~int#15(0, 28, 3, 1);call #Ultimate.allocInit(4, 29);call write~init~int#16(32, 29, 0, 1);call write~init~int#16(37, 29, 1, 1);call write~init~int#16(105, 29, 2, 1);call write~init~int#16(0, 29, 3, 1);call #Ultimate.allocInit(6, 30);call write~init~int#17(32, 30, 0, 1);call write~init~int#17(70, 30, 1, 1);call write~init~int#17(95, 30, 2, 1);call write~init~int#17(112, 30, 3, 1);call write~init~int#17(58, 30, 4, 1);call write~init~int#17(0, 30, 5, 1);call #Ultimate.allocInit(4, 31);call write~init~int#18(32, 31, 0, 1);call write~init~int#18(37, 31, 1, 1);call write~init~int#18(105, 31, 2, 1);call write~init~int#18(0, 31, 3, 1);call #Ultimate.allocInit(4, 32);call write~init~int#19(32, 32, 0, 1);call write~init~int#19(37, 32, 1, 1);call write~init~int#19(105, 32, 2, 1);call write~init~int#19(0, 32, 3, 1);call #Ultimate.allocInit(4, 33);call write~init~int#1(32, 33, 0, 1);call write~init~int#1(37, 33, 1, 1);call write~init~int#1(105, 33, 2, 1);call write~init~int#1(0, 33, 3, 1);call #Ultimate.allocInit(4, 34);call write~init~int#2(32, 34, 0, 1);call write~init~int#2(37, 34, 1, 1);call write~init~int#2(105, 34, 2, 1);call write~init~int#2(0, 34, 3, 1);call #Ultimate.allocInit(4, 35);call write~init~int#3(32, 35, 0, 1);call write~init~int#3(37, 35, 1, 1);call write~init~int#3(105, 35, 2, 1);call write~init~int#3(0, 35, 3, 1);call #Ultimate.allocInit(2, 36);call write~init~int#4(10, 36, 0, 1);call write~init~int#4(0, 36, 1, 1);call #Ultimate.allocInit(9, 37);~head~0.base, ~head~0.offset := 0, 0;~weight~0 := 0;~maximumWeight~0 := 100;~executiveFloor~0 := 4;~blocked~0 := 0;~currentHeading~0 := 1;~currentFloorID~0 := 0;~persons_0~0 := 0;~persons_1~0 := 0;~persons_2~0 := 0;~persons_3~0 := 0;~persons_4~0 := 0;~persons_5~0 := 0;~doorState~0 := 1;~floorButtons_0~0 := 0;~floorButtons_1~0 := 0;~floorButtons_2~0 := 0;~floorButtons_3~0 := 0;~floorButtons_4~0 := 0;~cleanupTimeShifts~0 := 12;~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;~prevDir~0 := 0; 469239#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret129#1, main_~retValue_acc~23#1, main_~tmp~27#1;havoc main_~retValue_acc~23#1;havoc main_~tmp~27#1;assume { :begin_inline_select_helpers } true; 469240#select_helpers_returnLabel#1 assume { :end_inline_select_helpers } true;assume { :begin_inline_select_features } true; 478469#select_features_returnLabel#1 assume { :end_inline_select_features } true;assume { :begin_inline_valid_product } true;havoc valid_product_#res#1;havoc valid_product_~retValue_acc~31#1;havoc valid_product_~retValue_acc~31#1;valid_product_~retValue_acc~31#1 := 1;valid_product_#res#1 := valid_product_~retValue_acc~31#1; 475283#valid_product_returnLabel#1 main_#t~ret129#1 := valid_product_#res#1;havoc valid_product_~retValue_acc~31#1;assume { :end_inline_valid_product } true;main_~tmp~27#1 := main_#t~ret129#1;havoc main_#t~ret129#1; 475284#L2436 assume 0 != main_~tmp~27#1;assume { :begin_inline_setup } true; 475891#setup_returnLabel#1 assume { :end_inline_setup } true;assume { :begin_inline_runTest } true;assume { :begin_inline_test } true;assume { :begin_inline_aliceCall } true;havoc aliceCall_#t~ret118#1, aliceCall_~tmp~20#1;havoc aliceCall_~tmp~20#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 1;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~28#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~28#1; 475892#L3343 assume !(0 == getOrigin_~person#1); 476252#L3347 assume 1 == getOrigin_~person#1;getOrigin_~retValue_acc~28#1 := 3;getOrigin_#res#1 := getOrigin_~retValue_acc~28#1; 465943#getOrigin_returnLabel#1 aliceCall_#t~ret118#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~28#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;aliceCall_~tmp~20#1 := aliceCall_#t~ret118#1;havoc aliceCall_#t~ret118#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 1, aliceCall_~tmp~20#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 465944#L2903 assume !(0 == initPersonOnFloor_~floor#1); 472343#L2930 assume !(1 == initPersonOnFloor_~floor#1); 470173#L2957 assume !(2 == initPersonOnFloor_~floor#1); 470174#L2984 assume 3 == initPersonOnFloor_~floor#1; 472203#L2985 assume !(0 == initPersonOnFloor_~person#1); 475267#L2988 assume 1 == initPersonOnFloor_~person#1;~personOnFloor_1_3~0 := 1; 463500#L3011-1 assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 469357#L2695 assume !(0 == callOnFloor_~floorID#1); 469358#L2698 assume !(1 == callOnFloor_~floorID#1); 469117#L2701 assume !(2 == callOnFloor_~floorID#1); 469118#L2704 assume 3 == callOnFloor_~floorID#1;~calls_3~0 := 1; 468312#L2707-2 havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true; 474062#initPersonOnFloor_returnLabel#1 havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true; 475506#aliceCall_returnLabel#1 havoc aliceCall_#t~ret118#1, aliceCall_~tmp~20#1;assume { :end_inline_aliceCall } true;assume { :begin_inline_angelinaCall } true;havoc angelinaCall_#t~ret119#1, angelinaCall_~tmp~21#1;havoc angelinaCall_~tmp~21#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 2;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~28#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~28#1; 478455#L3343-1 assume !(0 == getOrigin_~person#1); 478612#L3347-1 assume !(1 == getOrigin_~person#1); 463593#L3351-1 assume 2 == getOrigin_~person#1;getOrigin_~retValue_acc~28#1 := 2;getOrigin_#res#1 := getOrigin_~retValue_acc~28#1; 463594#getOrigin_returnLabel#2 angelinaCall_#t~ret119#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~28#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;angelinaCall_~tmp~21#1 := angelinaCall_#t~ret119#1;havoc angelinaCall_#t~ret119#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 2, angelinaCall_~tmp~21#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 478641#L2903-1 assume 0 == initPersonOnFloor_~floor#1; 463444#L2904-2 assume !(0 == initPersonOnFloor_~person#1); 461291#L2907-2 assume 1 == initPersonOnFloor_~person#1;~personOnFloor_1_0~0 := 1; 461293#L3011-3 assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 478622#L2695-2 assume 0 == callOnFloor_~floorID#1;~calls_0~0 := 1; 475449#L2707-5 havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true; 467287#initPersonOnFloor_returnLabel#2 havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true; 467288#angelinaCall_returnLabel#1 havoc angelinaCall_#t~ret119#1, angelinaCall_~tmp~21#1;assume { :end_inline_angelinaCall } true;assume { :begin_inline_threeTS } true;assume { :begin_inline_timeShift } true;havoc timeShift_#t~ret86#1, timeShift_~tmp~16#1;havoc timeShift_~tmp~16#1;assume { :begin_inline___utac_acc__Specification13_spec__1 } true;havoc __utac_acc__Specification13_spec__1_#t~ret136#1;assume { :begin_inline_getCurrentHeading } true;havoc getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~7#1;havoc getCurrentHeading_~retValue_acc~7#1;getCurrentHeading_~retValue_acc~7#1 := ~currentHeading~0;getCurrentHeading_#res#1 := getCurrentHeading_~retValue_acc~7#1; 472620#getCurrentHeading_returnLabel#1 __utac_acc__Specification13_spec__1_#t~ret136#1 := getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~7#1;assume { :end_inline_getCurrentHeading } true;~prevDir~0 := __utac_acc__Specification13_spec__1_#t~ret136#1;havoc __utac_acc__Specification13_spec__1_#t~ret136#1; 472621#__utac_acc__Specification13_spec__1_returnLabel#1 havoc __utac_acc__Specification13_spec__1_#t~ret136#1;assume { :end_inline___utac_acc__Specification13_spec__1 } true;assume { :begin_inline_areDoorsOpen } true;havoc areDoorsOpen_#res#1;havoc areDoorsOpen_~retValue_acc~5#1;havoc areDoorsOpen_~retValue_acc~5#1;areDoorsOpen_~retValue_acc~5#1 := ~doorState~0;areDoorsOpen_#res#1 := areDoorsOpen_~retValue_acc~5#1; 477123#areDoorsOpen_returnLabel#1 timeShift_#t~ret86#1 := areDoorsOpen_#res#1;havoc areDoorsOpen_~retValue_acc~5#1;assume { :end_inline_areDoorsOpen } true;timeShift_~tmp~16#1 := timeShift_#t~ret86#1;havoc timeShift_#t~ret86#1; 477914#L1702 assume 0 != timeShift_~tmp~16#1; 474441#L1703 assume ~weight~0 > ~maximumWeight~0;~blocked~0 := 1; 465828#L1702-1 assume { :begin_inline___utac_acc__Specification13_spec__2 } true;havoc __utac_acc__Specification13_spec__2_#t~ret137#1, __utac_acc__Specification13_spec__2_#t~ret138#1, __utac_acc__Specification13_spec__2_#t~ret139#1, __utac_acc__Specification13_spec__2_#t~ret140#1, __utac_acc__Specification13_spec__2_#t~ret141#1, __utac_acc__Specification13_spec__2_#t~ret142#1, __utac_acc__Specification13_spec__2_~tmp~30#1, __utac_acc__Specification13_spec__2_~tmp___0~13#1, __utac_acc__Specification13_spec__2_~tmp___1~8#1, __utac_acc__Specification13_spec__2_~tmp___2~6#1, __utac_acc__Specification13_spec__2_~tmp___3~5#1, __utac_acc__Specification13_spec__2_~tmp___4~3#1, __utac_acc__Specification13_spec__2_~__cil_tmp7~7#1, __utac_acc__Specification13_spec__2_~__cil_tmp8~8#1;havoc __utac_acc__Specification13_spec__2_~tmp~30#1;havoc __utac_acc__Specification13_spec__2_~tmp___0~13#1;havoc __utac_acc__Specification13_spec__2_~tmp___1~8#1;havoc __utac_acc__Specification13_spec__2_~tmp___2~6#1;havoc __utac_acc__Specification13_spec__2_~tmp___3~5#1;havoc __utac_acc__Specification13_spec__2_~tmp___4~3#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp7~7#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp8~8#1;__utac_acc__Specification13_spec__2_~__cil_tmp7~7#1 := 2 * ~maximumWeight~0;__utac_acc__Specification13_spec__2_~__cil_tmp8~8#1 := (if __utac_acc__Specification13_spec__2_~__cil_tmp7~7#1 < 0 && 0 != __utac_acc__Specification13_spec__2_~__cil_tmp7~7#1 % 3 then 1 + __utac_acc__Specification13_spec__2_~__cil_tmp7~7#1 / 3 else __utac_acc__Specification13_spec__2_~__cil_tmp7~7#1 / 3); 464331#L3236 assume ~weight~0 > __utac_acc__Specification13_spec__2_~__cil_tmp8~8#1; 464332#L3237 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~19#1, existInLiftCallsInDirection_~i~0#1, existInLiftCallsInDirection_~i___0~0#1;existInLiftCallsInDirection_~d#1 := existInLiftCallsInDirection_#in~d#1;havoc existInLiftCallsInDirection_~retValue_acc~19#1;havoc existInLiftCallsInDirection_~i~0#1;havoc existInLiftCallsInDirection_~i___0~0#1; 473722#L1922 assume !(1 == existInLiftCallsInDirection_~d#1); 475348#L1988 assume 0 == existInLiftCallsInDirection_~d#1;existInLiftCallsInDirection_~i___0~0#1 := 0;existInLiftCallsInDirection_~i___0~0#1 := ~currentFloorID~0 - 1; 471351#L1992-2 [2024-11-09 15:53:22,234 INFO L747 eck$LassoCheckResult]: Loop: 471351#L1992-2 assume !false; 466779#L1993 assume existInLiftCallsInDirection_~i___0~0#1 >= 0; 460852#L1994 existInLiftCallsInDirection_~i___0~0#1 := 1 + ~currentFloorID~0; 460853#L2001-2 assume !false; 466301#L2002 assume !(existInLiftCallsInDirection_~i___0~0#1 < 5); 471350#L2060 existInLiftCallsInDirection_~i___0~0#1 := existInLiftCallsInDirection_~i___0~0#1 - 1; 471351#L1992-2 [2024-11-09 15:53:22,234 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-09 15:53:22,234 INFO L85 PathProgramCache]: Analyzing trace with hash -507725210, now seen corresponding path program 1 times [2024-11-09 15:53:22,234 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-09 15:53:22,234 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1162803045] [2024-11-09 15:53:22,234 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-09 15:53:22,235 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-09 15:53:22,268 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-09 15:53:22,379 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-09 15:53:22,379 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-09 15:53:22,379 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1162803045] [2024-11-09 15:53:22,380 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1162803045] provided 1 perfect and 0 imperfect interpolant sequences [2024-11-09 15:53:22,380 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-11-09 15:53:22,380 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2024-11-09 15:53:22,380 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [485737966] [2024-11-09 15:53:22,380 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-11-09 15:53:22,380 INFO L750 eck$LassoCheckResult]: stem already infeasible [2024-11-09 15:53:22,381 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-09 15:53:22,381 INFO L85 PathProgramCache]: Analyzing trace with hash 954762475, now seen corresponding path program 5 times [2024-11-09 15:53:22,381 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-09 15:53:22,381 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1144609320] [2024-11-09 15:53:22,381 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-09 15:53:22,381 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-09 15:53:22,403 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-09 15:53:22,403 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-09 15:53:22,406 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-09 15:53:22,415 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-09 15:53:22,438 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-09 15:53:22,439 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2024-11-09 15:53:22,439 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2024-11-09 15:53:22,439 INFO L87 Difference]: Start difference. First operand 18008 states and 33616 transitions. cyclomatic complexity: 15645 Second operand has 5 states, 5 states have (on average 9.2) internal successors, (46), 5 states have internal predecessors, (46), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-09 15:53:23,184 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-09 15:53:23,185 INFO L93 Difference]: Finished difference Result 17994 states and 33590 transitions. [2024-11-09 15:53:23,185 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 17994 states and 33590 transitions. [2024-11-09 15:53:23,258 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 4076 [2024-11-09 15:53:23,305 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 17994 states to 17994 states and 33590 transitions. [2024-11-09 15:53:23,305 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 17911 [2024-11-09 15:53:23,320 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 17911 [2024-11-09 15:53:23,320 INFO L73 IsDeterministic]: Start isDeterministic. Operand 17994 states and 33590 transitions. [2024-11-09 15:53:23,329 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-11-09 15:53:23,330 INFO L218 hiAutomatonCegarLoop]: Abstraction has 17994 states and 33590 transitions. [2024-11-09 15:53:23,351 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 17994 states and 33590 transitions. [2024-11-09 15:53:23,485 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 17994 to 17994. [2024-11-09 15:53:23,505 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17994 states, 17994 states have (on average 1.8667333555629655) internal successors, (33590), 17993 states have internal predecessors, (33590), 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-09 15:53:23,536 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17994 states to 17994 states and 33590 transitions. [2024-11-09 15:53:23,536 INFO L240 hiAutomatonCegarLoop]: Abstraction has 17994 states and 33590 transitions. [2024-11-09 15:53:23,537 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2024-11-09 15:53:23,537 INFO L425 stractBuchiCegarLoop]: Abstraction has 17994 states and 33590 transitions. [2024-11-09 15:53:23,537 INFO L332 stractBuchiCegarLoop]: ======== Iteration 9 ============ [2024-11-09 15:53:23,537 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 17994 states and 33590 transitions. [2024-11-09 15:53:23,582 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 4076 [2024-11-09 15:53:23,582 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-09 15:53:23,582 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-09 15:53:23,582 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] [2024-11-09 15:53:23,583 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1] [2024-11-09 15:53:23,583 INFO L745 eck$LassoCheckResult]: Stem: 505605#$Ultimate##0 assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int#0(48, 1, 0, 1);call write~init~int#0(0, 1, 1, 1);call #Ultimate.allocInit(32, 2);call #Ultimate.allocInit(12, 3);call #Ultimate.allocInit(30, 4);call #Ultimate.allocInit(9, 5);call #Ultimate.allocInit(21, 6);call #Ultimate.allocInit(30, 7);call #Ultimate.allocInit(9, 8);call #Ultimate.allocInit(21, 9);call #Ultimate.allocInit(30, 10);call #Ultimate.allocInit(9, 11);call #Ultimate.allocInit(25, 12);call #Ultimate.allocInit(30, 13);call #Ultimate.allocInit(9, 14);call #Ultimate.allocInit(25, 15);call #Ultimate.allocInit(10, 16);call #Ultimate.allocInit(4, 17);call write~init~int#5(91, 17, 0, 1);call write~init~int#5(95, 17, 1, 1);call write~init~int#5(93, 17, 2, 1);call write~init~int#5(0, 17, 3, 1);call #Ultimate.allocInit(4, 18);call write~init~int#6(91, 18, 0, 1);call write~init~int#6(93, 18, 1, 1);call write~init~int#6(32, 18, 2, 1);call write~init~int#6(0, 18, 3, 1);call #Ultimate.allocInit(5, 19);call write~init~int#7(32, 19, 0, 1);call write~init~int#7(97, 19, 1, 1);call write~init~int#7(116, 19, 2, 1);call write~init~int#7(32, 19, 3, 1);call write~init~int#7(0, 19, 4, 1);call #Ultimate.allocInit(3, 20);call write~init~int#8(37, 20, 0, 1);call write~init~int#8(105, 20, 1, 1);call write~init~int#8(0, 20, 2, 1);call #Ultimate.allocInit(10, 21);call #Ultimate.allocInit(3, 22);call write~init~int#9(117, 22, 0, 1);call write~init~int#9(112, 22, 1, 1);call write~init~int#9(0, 22, 2, 1);call #Ultimate.allocInit(5, 23);call write~init~int#10(100, 23, 0, 1);call write~init~int#10(111, 23, 1, 1);call write~init~int#10(119, 23, 2, 1);call write~init~int#10(110, 23, 3, 1);call write~init~int#10(0, 23, 4, 1);call #Ultimate.allocInit(7, 24);call write~init~int#11(32, 24, 0, 1);call write~init~int#11(73, 24, 1, 1);call write~init~int#11(76, 24, 2, 1);call write~init~int#11(95, 24, 3, 1);call write~init~int#11(112, 24, 4, 1);call write~init~int#11(58, 24, 5, 1);call write~init~int#11(0, 24, 6, 1);call #Ultimate.allocInit(4, 25);call write~init~int#12(32, 25, 0, 1);call write~init~int#12(37, 25, 1, 1);call write~init~int#12(105, 25, 2, 1);call write~init~int#12(0, 25, 3, 1);call #Ultimate.allocInit(4, 26);call write~init~int#13(32, 26, 0, 1);call write~init~int#13(37, 26, 1, 1);call write~init~int#13(105, 26, 2, 1);call write~init~int#13(0, 26, 3, 1);call #Ultimate.allocInit(4, 27);call write~init~int#14(32, 27, 0, 1);call write~init~int#14(37, 27, 1, 1);call write~init~int#14(105, 27, 2, 1);call write~init~int#14(0, 27, 3, 1);call #Ultimate.allocInit(4, 28);call write~init~int#15(32, 28, 0, 1);call write~init~int#15(37, 28, 1, 1);call write~init~int#15(105, 28, 2, 1);call write~init~int#15(0, 28, 3, 1);call #Ultimate.allocInit(4, 29);call write~init~int#16(32, 29, 0, 1);call write~init~int#16(37, 29, 1, 1);call write~init~int#16(105, 29, 2, 1);call write~init~int#16(0, 29, 3, 1);call #Ultimate.allocInit(6, 30);call write~init~int#17(32, 30, 0, 1);call write~init~int#17(70, 30, 1, 1);call write~init~int#17(95, 30, 2, 1);call write~init~int#17(112, 30, 3, 1);call write~init~int#17(58, 30, 4, 1);call write~init~int#17(0, 30, 5, 1);call #Ultimate.allocInit(4, 31);call write~init~int#18(32, 31, 0, 1);call write~init~int#18(37, 31, 1, 1);call write~init~int#18(105, 31, 2, 1);call write~init~int#18(0, 31, 3, 1);call #Ultimate.allocInit(4, 32);call write~init~int#19(32, 32, 0, 1);call write~init~int#19(37, 32, 1, 1);call write~init~int#19(105, 32, 2, 1);call write~init~int#19(0, 32, 3, 1);call #Ultimate.allocInit(4, 33);call write~init~int#1(32, 33, 0, 1);call write~init~int#1(37, 33, 1, 1);call write~init~int#1(105, 33, 2, 1);call write~init~int#1(0, 33, 3, 1);call #Ultimate.allocInit(4, 34);call write~init~int#2(32, 34, 0, 1);call write~init~int#2(37, 34, 1, 1);call write~init~int#2(105, 34, 2, 1);call write~init~int#2(0, 34, 3, 1);call #Ultimate.allocInit(4, 35);call write~init~int#3(32, 35, 0, 1);call write~init~int#3(37, 35, 1, 1);call write~init~int#3(105, 35, 2, 1);call write~init~int#3(0, 35, 3, 1);call #Ultimate.allocInit(2, 36);call write~init~int#4(10, 36, 0, 1);call write~init~int#4(0, 36, 1, 1);call #Ultimate.allocInit(9, 37);~head~0.base, ~head~0.offset := 0, 0;~weight~0 := 0;~maximumWeight~0 := 100;~executiveFloor~0 := 4;~blocked~0 := 0;~currentHeading~0 := 1;~currentFloorID~0 := 0;~persons_0~0 := 0;~persons_1~0 := 0;~persons_2~0 := 0;~persons_3~0 := 0;~persons_4~0 := 0;~persons_5~0 := 0;~doorState~0 := 1;~floorButtons_0~0 := 0;~floorButtons_1~0 := 0;~floorButtons_2~0 := 0;~floorButtons_3~0 := 0;~floorButtons_4~0 := 0;~cleanupTimeShifts~0 := 12;~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;~prevDir~0 := 0; 505243#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret129#1, main_~retValue_acc~23#1, main_~tmp~27#1;havoc main_~retValue_acc~23#1;havoc main_~tmp~27#1;assume { :begin_inline_select_helpers } true; 505244#select_helpers_returnLabel#1 assume { :end_inline_select_helpers } true;assume { :begin_inline_select_features } true; 514473#select_features_returnLabel#1 assume { :end_inline_select_features } true;assume { :begin_inline_valid_product } true;havoc valid_product_#res#1;havoc valid_product_~retValue_acc~31#1;havoc valid_product_~retValue_acc~31#1;valid_product_~retValue_acc~31#1 := 1;valid_product_#res#1 := valid_product_~retValue_acc~31#1; 511283#valid_product_returnLabel#1 main_#t~ret129#1 := valid_product_#res#1;havoc valid_product_~retValue_acc~31#1;assume { :end_inline_valid_product } true;main_~tmp~27#1 := main_#t~ret129#1;havoc main_#t~ret129#1; 511284#L2436 assume 0 != main_~tmp~27#1;assume { :begin_inline_setup } true; 511891#setup_returnLabel#1 assume { :end_inline_setup } true;assume { :begin_inline_runTest } true;assume { :begin_inline_test } true;assume { :begin_inline_aliceCall } true;havoc aliceCall_#t~ret118#1, aliceCall_~tmp~20#1;havoc aliceCall_~tmp~20#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 1;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~28#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~28#1; 511892#L3343 assume !(0 == getOrigin_~person#1); 512255#L3347 assume 1 == getOrigin_~person#1;getOrigin_~retValue_acc~28#1 := 3;getOrigin_#res#1 := getOrigin_~retValue_acc~28#1; 501946#getOrigin_returnLabel#1 aliceCall_#t~ret118#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~28#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;aliceCall_~tmp~20#1 := aliceCall_#t~ret118#1;havoc aliceCall_#t~ret118#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 1, aliceCall_~tmp~20#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 501947#L2903 assume !(0 == initPersonOnFloor_~floor#1); 508345#L2930 assume !(1 == initPersonOnFloor_~floor#1); 506177#L2957 assume !(2 == initPersonOnFloor_~floor#1); 506178#L2984 assume 3 == initPersonOnFloor_~floor#1; 508205#L2985 assume !(0 == initPersonOnFloor_~person#1); 511267#L2988 assume 1 == initPersonOnFloor_~person#1;~personOnFloor_1_3~0 := 1; 499504#L3011-1 assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 505361#L2695 assume !(0 == callOnFloor_~floorID#1); 505362#L2698 assume !(1 == callOnFloor_~floorID#1); 505121#L2701 assume !(2 == callOnFloor_~floorID#1); 505122#L2704 assume 3 == callOnFloor_~floorID#1;~calls_3~0 := 1; 504317#L2707-2 havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true; 510064#initPersonOnFloor_returnLabel#1 havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true; 511507#aliceCall_returnLabel#1 havoc aliceCall_#t~ret118#1, aliceCall_~tmp~20#1;assume { :end_inline_aliceCall } true;assume { :begin_inline_angelinaCall } true;havoc angelinaCall_#t~ret119#1, angelinaCall_~tmp~21#1;havoc angelinaCall_~tmp~21#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 2;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~28#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~28#1; 514459#L3343-1 assume !(0 == getOrigin_~person#1); 514614#L3347-1 assume !(1 == getOrigin_~person#1); 499597#L3351-1 assume 2 == getOrigin_~person#1;getOrigin_~retValue_acc~28#1 := 2;getOrigin_#res#1 := getOrigin_~retValue_acc~28#1; 499598#getOrigin_returnLabel#2 angelinaCall_#t~ret119#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~28#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;angelinaCall_~tmp~21#1 := angelinaCall_#t~ret119#1;havoc angelinaCall_#t~ret119#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 2, angelinaCall_~tmp~21#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 505687#L2903-1 assume !(0 == initPersonOnFloor_~floor#1); 505688#L2930-1 assume 1 == initPersonOnFloor_~floor#1; 514498#L2931-2 assume !(0 == initPersonOnFloor_~person#1); 514205#L2934-2 assume 1 == initPersonOnFloor_~person#1;~personOnFloor_1_1~0 := 1; 507531#L3011-3 assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 514626#L2695-2 assume !(0 == callOnFloor_~floorID#1); 514623#L2698-2 assume 1 == callOnFloor_~floorID#1;~calls_1~0 := 1; 511449#L2707-5 havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true; 503290#initPersonOnFloor_returnLabel#2 havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true; 503291#angelinaCall_returnLabel#1 havoc angelinaCall_#t~ret119#1, angelinaCall_~tmp~21#1;assume { :end_inline_angelinaCall } true;assume { :begin_inline_threeTS } true;assume { :begin_inline_timeShift } true;havoc timeShift_#t~ret86#1, timeShift_~tmp~16#1;havoc timeShift_~tmp~16#1;assume { :begin_inline___utac_acc__Specification13_spec__1 } true;havoc __utac_acc__Specification13_spec__1_#t~ret136#1;assume { :begin_inline_getCurrentHeading } true;havoc getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~7#1;havoc getCurrentHeading_~retValue_acc~7#1;getCurrentHeading_~retValue_acc~7#1 := ~currentHeading~0;getCurrentHeading_#res#1 := getCurrentHeading_~retValue_acc~7#1; 508622#getCurrentHeading_returnLabel#1 __utac_acc__Specification13_spec__1_#t~ret136#1 := getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~7#1;assume { :end_inline_getCurrentHeading } true;~prevDir~0 := __utac_acc__Specification13_spec__1_#t~ret136#1;havoc __utac_acc__Specification13_spec__1_#t~ret136#1; 508623#__utac_acc__Specification13_spec__1_returnLabel#1 havoc __utac_acc__Specification13_spec__1_#t~ret136#1;assume { :end_inline___utac_acc__Specification13_spec__1 } true;assume { :begin_inline_areDoorsOpen } true;havoc areDoorsOpen_#res#1;havoc areDoorsOpen_~retValue_acc~5#1;havoc areDoorsOpen_~retValue_acc~5#1;areDoorsOpen_~retValue_acc~5#1 := ~doorState~0;areDoorsOpen_#res#1 := areDoorsOpen_~retValue_acc~5#1; 513125#areDoorsOpen_returnLabel#1 timeShift_#t~ret86#1 := areDoorsOpen_#res#1;havoc areDoorsOpen_~retValue_acc~5#1;assume { :end_inline_areDoorsOpen } true;timeShift_~tmp~16#1 := timeShift_#t~ret86#1;havoc timeShift_#t~ret86#1; 513916#L1702 assume 0 != timeShift_~tmp~16#1; 510443#L1703 assume ~weight~0 > ~maximumWeight~0;~blocked~0 := 1; 501831#L1702-1 assume { :begin_inline___utac_acc__Specification13_spec__2 } true;havoc __utac_acc__Specification13_spec__2_#t~ret137#1, __utac_acc__Specification13_spec__2_#t~ret138#1, __utac_acc__Specification13_spec__2_#t~ret139#1, __utac_acc__Specification13_spec__2_#t~ret140#1, __utac_acc__Specification13_spec__2_#t~ret141#1, __utac_acc__Specification13_spec__2_#t~ret142#1, __utac_acc__Specification13_spec__2_~tmp~30#1, __utac_acc__Specification13_spec__2_~tmp___0~13#1, __utac_acc__Specification13_spec__2_~tmp___1~8#1, __utac_acc__Specification13_spec__2_~tmp___2~6#1, __utac_acc__Specification13_spec__2_~tmp___3~5#1, __utac_acc__Specification13_spec__2_~tmp___4~3#1, __utac_acc__Specification13_spec__2_~__cil_tmp7~7#1, __utac_acc__Specification13_spec__2_~__cil_tmp8~8#1;havoc __utac_acc__Specification13_spec__2_~tmp~30#1;havoc __utac_acc__Specification13_spec__2_~tmp___0~13#1;havoc __utac_acc__Specification13_spec__2_~tmp___1~8#1;havoc __utac_acc__Specification13_spec__2_~tmp___2~6#1;havoc __utac_acc__Specification13_spec__2_~tmp___3~5#1;havoc __utac_acc__Specification13_spec__2_~tmp___4~3#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp7~7#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp8~8#1;__utac_acc__Specification13_spec__2_~__cil_tmp7~7#1 := 2 * ~maximumWeight~0;__utac_acc__Specification13_spec__2_~__cil_tmp8~8#1 := (if __utac_acc__Specification13_spec__2_~__cil_tmp7~7#1 < 0 && 0 != __utac_acc__Specification13_spec__2_~__cil_tmp7~7#1 % 3 then 1 + __utac_acc__Specification13_spec__2_~__cil_tmp7~7#1 / 3 else __utac_acc__Specification13_spec__2_~__cil_tmp7~7#1 / 3); 500334#L3236 assume ~weight~0 > __utac_acc__Specification13_spec__2_~__cil_tmp8~8#1; 500335#L3237 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~19#1, existInLiftCallsInDirection_~i~0#1, existInLiftCallsInDirection_~i___0~0#1;existInLiftCallsInDirection_~d#1 := existInLiftCallsInDirection_#in~d#1;havoc existInLiftCallsInDirection_~retValue_acc~19#1;havoc existInLiftCallsInDirection_~i~0#1;havoc existInLiftCallsInDirection_~i___0~0#1; 509725#L1922 assume !(1 == existInLiftCallsInDirection_~d#1); 511349#L1988 assume 0 == existInLiftCallsInDirection_~d#1;existInLiftCallsInDirection_~i___0~0#1 := 0;existInLiftCallsInDirection_~i___0~0#1 := ~currentFloorID~0 - 1; 507353#L1992-2 [2024-11-09 15:53:23,583 INFO L747 eck$LassoCheckResult]: Loop: 507353#L1992-2 assume !false; 502782#L1993 assume existInLiftCallsInDirection_~i___0~0#1 >= 0; 496862#L1994 existInLiftCallsInDirection_~i___0~0#1 := 1 + ~currentFloorID~0; 496863#L2001-2 assume !false; 502304#L2002 assume !(existInLiftCallsInDirection_~i___0~0#1 < 5); 507352#L2060 existInLiftCallsInDirection_~i___0~0#1 := existInLiftCallsInDirection_~i___0~0#1 - 1; 507353#L1992-2 [2024-11-09 15:53:23,584 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-09 15:53:23,584 INFO L85 PathProgramCache]: Analyzing trace with hash 1319509436, now seen corresponding path program 1 times [2024-11-09 15:53:23,584 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-09 15:53:23,584 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [94610284] [2024-11-09 15:53:23,584 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-09 15:53:23,584 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-09 15:53:23,610 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-09 15:53:23,696 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-09 15:53:23,697 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-09 15:53:23,697 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [94610284] [2024-11-09 15:53:23,697 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [94610284] provided 1 perfect and 0 imperfect interpolant sequences [2024-11-09 15:53:23,697 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-11-09 15:53:23,697 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2024-11-09 15:53:23,697 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1836424412] [2024-11-09 15:53:23,698 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-11-09 15:53:23,698 INFO L750 eck$LassoCheckResult]: stem already infeasible [2024-11-09 15:53:23,698 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-09 15:53:23,698 INFO L85 PathProgramCache]: Analyzing trace with hash 954762475, now seen corresponding path program 6 times [2024-11-09 15:53:23,699 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-09 15:53:23,699 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1621584435] [2024-11-09 15:53:23,699 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-09 15:53:23,699 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-09 15:53:23,713 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-09 15:53:23,713 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-09 15:53:23,714 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-09 15:53:23,722 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-09 15:53:23,740 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-09 15:53:23,740 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2024-11-09 15:53:23,741 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2024-11-09 15:53:23,741 INFO L87 Difference]: Start difference. First operand 17994 states and 33590 transitions. cyclomatic complexity: 15633 Second operand has 5 states, 5 states have (on average 9.6) internal successors, (48), 5 states have internal predecessors, (48), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-09 15:53:24,358 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-09 15:53:24,358 INFO L93 Difference]: Finished difference Result 17988 states and 33577 transitions. [2024-11-09 15:53:24,358 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 17988 states and 33577 transitions. [2024-11-09 15:53:24,420 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 4076 [2024-11-09 15:53:24,468 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 17988 states to 17988 states and 33577 transitions. [2024-11-09 15:53:24,468 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 17905 [2024-11-09 15:53:24,481 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 17905 [2024-11-09 15:53:24,481 INFO L73 IsDeterministic]: Start isDeterministic. Operand 17988 states and 33577 transitions. [2024-11-09 15:53:24,496 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-11-09 15:53:24,496 INFO L218 hiAutomatonCegarLoop]: Abstraction has 17988 states and 33577 transitions. [2024-11-09 15:53:24,522 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 17988 states and 33577 transitions. [2024-11-09 15:53:24,660 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 17988 to 17988. [2024-11-09 15:53:24,679 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17988 states, 17988 states have (on average 1.8666333110962865) internal successors, (33577), 17987 states have internal predecessors, (33577), 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-09 15:53:24,709 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17988 states to 17988 states and 33577 transitions. [2024-11-09 15:53:24,709 INFO L240 hiAutomatonCegarLoop]: Abstraction has 17988 states and 33577 transitions. [2024-11-09 15:53:24,709 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2024-11-09 15:53:24,710 INFO L425 stractBuchiCegarLoop]: Abstraction has 17988 states and 33577 transitions. [2024-11-09 15:53:24,710 INFO L332 stractBuchiCegarLoop]: ======== Iteration 10 ============ [2024-11-09 15:53:24,710 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 17988 states and 33577 transitions. [2024-11-09 15:53:24,752 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 4076 [2024-11-09 15:53:24,752 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-09 15:53:24,752 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-09 15:53:24,752 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] [2024-11-09 15:53:24,752 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1] [2024-11-09 15:53:24,753 INFO L745 eck$LassoCheckResult]: Stem: 541594#$Ultimate##0 assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int#0(48, 1, 0, 1);call write~init~int#0(0, 1, 1, 1);call #Ultimate.allocInit(32, 2);call #Ultimate.allocInit(12, 3);call #Ultimate.allocInit(30, 4);call #Ultimate.allocInit(9, 5);call #Ultimate.allocInit(21, 6);call #Ultimate.allocInit(30, 7);call #Ultimate.allocInit(9, 8);call #Ultimate.allocInit(21, 9);call #Ultimate.allocInit(30, 10);call #Ultimate.allocInit(9, 11);call #Ultimate.allocInit(25, 12);call #Ultimate.allocInit(30, 13);call #Ultimate.allocInit(9, 14);call #Ultimate.allocInit(25, 15);call #Ultimate.allocInit(10, 16);call #Ultimate.allocInit(4, 17);call write~init~int#5(91, 17, 0, 1);call write~init~int#5(95, 17, 1, 1);call write~init~int#5(93, 17, 2, 1);call write~init~int#5(0, 17, 3, 1);call #Ultimate.allocInit(4, 18);call write~init~int#6(91, 18, 0, 1);call write~init~int#6(93, 18, 1, 1);call write~init~int#6(32, 18, 2, 1);call write~init~int#6(0, 18, 3, 1);call #Ultimate.allocInit(5, 19);call write~init~int#7(32, 19, 0, 1);call write~init~int#7(97, 19, 1, 1);call write~init~int#7(116, 19, 2, 1);call write~init~int#7(32, 19, 3, 1);call write~init~int#7(0, 19, 4, 1);call #Ultimate.allocInit(3, 20);call write~init~int#8(37, 20, 0, 1);call write~init~int#8(105, 20, 1, 1);call write~init~int#8(0, 20, 2, 1);call #Ultimate.allocInit(10, 21);call #Ultimate.allocInit(3, 22);call write~init~int#9(117, 22, 0, 1);call write~init~int#9(112, 22, 1, 1);call write~init~int#9(0, 22, 2, 1);call #Ultimate.allocInit(5, 23);call write~init~int#10(100, 23, 0, 1);call write~init~int#10(111, 23, 1, 1);call write~init~int#10(119, 23, 2, 1);call write~init~int#10(110, 23, 3, 1);call write~init~int#10(0, 23, 4, 1);call #Ultimate.allocInit(7, 24);call write~init~int#11(32, 24, 0, 1);call write~init~int#11(73, 24, 1, 1);call write~init~int#11(76, 24, 2, 1);call write~init~int#11(95, 24, 3, 1);call write~init~int#11(112, 24, 4, 1);call write~init~int#11(58, 24, 5, 1);call write~init~int#11(0, 24, 6, 1);call #Ultimate.allocInit(4, 25);call write~init~int#12(32, 25, 0, 1);call write~init~int#12(37, 25, 1, 1);call write~init~int#12(105, 25, 2, 1);call write~init~int#12(0, 25, 3, 1);call #Ultimate.allocInit(4, 26);call write~init~int#13(32, 26, 0, 1);call write~init~int#13(37, 26, 1, 1);call write~init~int#13(105, 26, 2, 1);call write~init~int#13(0, 26, 3, 1);call #Ultimate.allocInit(4, 27);call write~init~int#14(32, 27, 0, 1);call write~init~int#14(37, 27, 1, 1);call write~init~int#14(105, 27, 2, 1);call write~init~int#14(0, 27, 3, 1);call #Ultimate.allocInit(4, 28);call write~init~int#15(32, 28, 0, 1);call write~init~int#15(37, 28, 1, 1);call write~init~int#15(105, 28, 2, 1);call write~init~int#15(0, 28, 3, 1);call #Ultimate.allocInit(4, 29);call write~init~int#16(32, 29, 0, 1);call write~init~int#16(37, 29, 1, 1);call write~init~int#16(105, 29, 2, 1);call write~init~int#16(0, 29, 3, 1);call #Ultimate.allocInit(6, 30);call write~init~int#17(32, 30, 0, 1);call write~init~int#17(70, 30, 1, 1);call write~init~int#17(95, 30, 2, 1);call write~init~int#17(112, 30, 3, 1);call write~init~int#17(58, 30, 4, 1);call write~init~int#17(0, 30, 5, 1);call #Ultimate.allocInit(4, 31);call write~init~int#18(32, 31, 0, 1);call write~init~int#18(37, 31, 1, 1);call write~init~int#18(105, 31, 2, 1);call write~init~int#18(0, 31, 3, 1);call #Ultimate.allocInit(4, 32);call write~init~int#19(32, 32, 0, 1);call write~init~int#19(37, 32, 1, 1);call write~init~int#19(105, 32, 2, 1);call write~init~int#19(0, 32, 3, 1);call #Ultimate.allocInit(4, 33);call write~init~int#1(32, 33, 0, 1);call write~init~int#1(37, 33, 1, 1);call write~init~int#1(105, 33, 2, 1);call write~init~int#1(0, 33, 3, 1);call #Ultimate.allocInit(4, 34);call write~init~int#2(32, 34, 0, 1);call write~init~int#2(37, 34, 1, 1);call write~init~int#2(105, 34, 2, 1);call write~init~int#2(0, 34, 3, 1);call #Ultimate.allocInit(4, 35);call write~init~int#3(32, 35, 0, 1);call write~init~int#3(37, 35, 1, 1);call write~init~int#3(105, 35, 2, 1);call write~init~int#3(0, 35, 3, 1);call #Ultimate.allocInit(2, 36);call write~init~int#4(10, 36, 0, 1);call write~init~int#4(0, 36, 1, 1);call #Ultimate.allocInit(9, 37);~head~0.base, ~head~0.offset := 0, 0;~weight~0 := 0;~maximumWeight~0 := 100;~executiveFloor~0 := 4;~blocked~0 := 0;~currentHeading~0 := 1;~currentFloorID~0 := 0;~persons_0~0 := 0;~persons_1~0 := 0;~persons_2~0 := 0;~persons_3~0 := 0;~persons_4~0 := 0;~persons_5~0 := 0;~doorState~0 := 1;~floorButtons_0~0 := 0;~floorButtons_1~0 := 0;~floorButtons_2~0 := 0;~floorButtons_3~0 := 0;~floorButtons_4~0 := 0;~cleanupTimeShifts~0 := 12;~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;~prevDir~0 := 0; 541232#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret129#1, main_~retValue_acc~23#1, main_~tmp~27#1;havoc main_~retValue_acc~23#1;havoc main_~tmp~27#1;assume { :begin_inline_select_helpers } true; 541233#select_helpers_returnLabel#1 assume { :end_inline_select_helpers } true;assume { :begin_inline_select_features } true; 550458#select_features_returnLabel#1 assume { :end_inline_select_features } true;assume { :begin_inline_valid_product } true;havoc valid_product_#res#1;havoc valid_product_~retValue_acc~31#1;havoc valid_product_~retValue_acc~31#1;valid_product_~retValue_acc~31#1 := 1;valid_product_#res#1 := valid_product_~retValue_acc~31#1; 547268#valid_product_returnLabel#1 main_#t~ret129#1 := valid_product_#res#1;havoc valid_product_~retValue_acc~31#1;assume { :end_inline_valid_product } true;main_~tmp~27#1 := main_#t~ret129#1;havoc main_#t~ret129#1; 547269#L2436 assume 0 != main_~tmp~27#1;assume { :begin_inline_setup } true; 547877#setup_returnLabel#1 assume { :end_inline_setup } true;assume { :begin_inline_runTest } true;assume { :begin_inline_test } true;assume { :begin_inline_aliceCall } true;havoc aliceCall_#t~ret118#1, aliceCall_~tmp~20#1;havoc aliceCall_~tmp~20#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 1;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~28#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~28#1; 547878#L3343 assume !(0 == getOrigin_~person#1); 548241#L3347 assume 1 == getOrigin_~person#1;getOrigin_~retValue_acc~28#1 := 3;getOrigin_#res#1 := getOrigin_~retValue_acc~28#1; 537936#getOrigin_returnLabel#1 aliceCall_#t~ret118#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~28#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;aliceCall_~tmp~20#1 := aliceCall_#t~ret118#1;havoc aliceCall_#t~ret118#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 1, aliceCall_~tmp~20#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 537937#L2903 assume !(0 == initPersonOnFloor_~floor#1); 544331#L2930 assume !(1 == initPersonOnFloor_~floor#1); 542166#L2957 assume !(2 == initPersonOnFloor_~floor#1); 542167#L2984 assume 3 == initPersonOnFloor_~floor#1; 544191#L2985 assume !(0 == initPersonOnFloor_~person#1); 547252#L2988 assume 1 == initPersonOnFloor_~person#1;~personOnFloor_1_3~0 := 1; 535494#L3011-1 assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 541350#L2695 assume !(0 == callOnFloor_~floorID#1); 541351#L2698 assume !(1 == callOnFloor_~floorID#1); 541110#L2701 assume !(2 == callOnFloor_~floorID#1); 541111#L2704 assume 3 == callOnFloor_~floorID#1;~calls_3~0 := 1; 540307#L2707-2 havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true; 546049#initPersonOnFloor_returnLabel#1 havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true; 547492#aliceCall_returnLabel#1 havoc aliceCall_#t~ret118#1, aliceCall_~tmp~20#1;assume { :end_inline_aliceCall } true;assume { :begin_inline_angelinaCall } true;havoc angelinaCall_#t~ret119#1, angelinaCall_~tmp~21#1;havoc angelinaCall_~tmp~21#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 2;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~28#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~28#1; 550444#L3343-1 assume !(0 == getOrigin_~person#1); 550599#L3347-1 assume !(1 == getOrigin_~person#1); 535587#L3351-1 assume 2 == getOrigin_~person#1;getOrigin_~retValue_acc~28#1 := 2;getOrigin_#res#1 := getOrigin_~retValue_acc~28#1; 535588#getOrigin_returnLabel#2 angelinaCall_#t~ret119#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~28#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;angelinaCall_~tmp~21#1 := angelinaCall_#t~ret119#1;havoc angelinaCall_#t~ret119#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 2, angelinaCall_~tmp~21#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 541676#L2903-1 assume !(0 == initPersonOnFloor_~floor#1); 541677#L2930-1 assume !(1 == initPersonOnFloor_~floor#1); 547637#L2957-1 assume 2 == initPersonOnFloor_~floor#1; 538366#L2958-2 assume !(0 == initPersonOnFloor_~person#1); 532720#L2961-2 assume 1 == initPersonOnFloor_~person#1;~personOnFloor_1_2~0 := 1; 532721#L3011-3 assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 550609#L2695-2 assume !(0 == callOnFloor_~floorID#1); 550608#L2698-2 assume !(1 == callOnFloor_~floorID#1); 550607#L2701-2 assume 2 == callOnFloor_~floorID#1;~calls_2~0 := 1; 547434#L2707-5 havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true; 539280#initPersonOnFloor_returnLabel#2 havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true; 539281#angelinaCall_returnLabel#1 havoc angelinaCall_#t~ret119#1, angelinaCall_~tmp~21#1;assume { :end_inline_angelinaCall } true;assume { :begin_inline_threeTS } true;assume { :begin_inline_timeShift } true;havoc timeShift_#t~ret86#1, timeShift_~tmp~16#1;havoc timeShift_~tmp~16#1;assume { :begin_inline___utac_acc__Specification13_spec__1 } true;havoc __utac_acc__Specification13_spec__1_#t~ret136#1;assume { :begin_inline_getCurrentHeading } true;havoc getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~7#1;havoc getCurrentHeading_~retValue_acc~7#1;getCurrentHeading_~retValue_acc~7#1 := ~currentHeading~0;getCurrentHeading_#res#1 := getCurrentHeading_~retValue_acc~7#1; 544608#getCurrentHeading_returnLabel#1 __utac_acc__Specification13_spec__1_#t~ret136#1 := getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~7#1;assume { :end_inline_getCurrentHeading } true;~prevDir~0 := __utac_acc__Specification13_spec__1_#t~ret136#1;havoc __utac_acc__Specification13_spec__1_#t~ret136#1; 544609#__utac_acc__Specification13_spec__1_returnLabel#1 havoc __utac_acc__Specification13_spec__1_#t~ret136#1;assume { :end_inline___utac_acc__Specification13_spec__1 } true;assume { :begin_inline_areDoorsOpen } true;havoc areDoorsOpen_#res#1;havoc areDoorsOpen_~retValue_acc~5#1;havoc areDoorsOpen_~retValue_acc~5#1;areDoorsOpen_~retValue_acc~5#1 := ~doorState~0;areDoorsOpen_#res#1 := areDoorsOpen_~retValue_acc~5#1; 549112#areDoorsOpen_returnLabel#1 timeShift_#t~ret86#1 := areDoorsOpen_#res#1;havoc areDoorsOpen_~retValue_acc~5#1;assume { :end_inline_areDoorsOpen } true;timeShift_~tmp~16#1 := timeShift_#t~ret86#1;havoc timeShift_#t~ret86#1; 549905#L1702 assume 0 != timeShift_~tmp~16#1; 546428#L1703 assume ~weight~0 > ~maximumWeight~0;~blocked~0 := 1; 537821#L1702-1 assume { :begin_inline___utac_acc__Specification13_spec__2 } true;havoc __utac_acc__Specification13_spec__2_#t~ret137#1, __utac_acc__Specification13_spec__2_#t~ret138#1, __utac_acc__Specification13_spec__2_#t~ret139#1, __utac_acc__Specification13_spec__2_#t~ret140#1, __utac_acc__Specification13_spec__2_#t~ret141#1, __utac_acc__Specification13_spec__2_#t~ret142#1, __utac_acc__Specification13_spec__2_~tmp~30#1, __utac_acc__Specification13_spec__2_~tmp___0~13#1, __utac_acc__Specification13_spec__2_~tmp___1~8#1, __utac_acc__Specification13_spec__2_~tmp___2~6#1, __utac_acc__Specification13_spec__2_~tmp___3~5#1, __utac_acc__Specification13_spec__2_~tmp___4~3#1, __utac_acc__Specification13_spec__2_~__cil_tmp7~7#1, __utac_acc__Specification13_spec__2_~__cil_tmp8~8#1;havoc __utac_acc__Specification13_spec__2_~tmp~30#1;havoc __utac_acc__Specification13_spec__2_~tmp___0~13#1;havoc __utac_acc__Specification13_spec__2_~tmp___1~8#1;havoc __utac_acc__Specification13_spec__2_~tmp___2~6#1;havoc __utac_acc__Specification13_spec__2_~tmp___3~5#1;havoc __utac_acc__Specification13_spec__2_~tmp___4~3#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp7~7#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp8~8#1;__utac_acc__Specification13_spec__2_~__cil_tmp7~7#1 := 2 * ~maximumWeight~0;__utac_acc__Specification13_spec__2_~__cil_tmp8~8#1 := (if __utac_acc__Specification13_spec__2_~__cil_tmp7~7#1 < 0 && 0 != __utac_acc__Specification13_spec__2_~__cil_tmp7~7#1 % 3 then 1 + __utac_acc__Specification13_spec__2_~__cil_tmp7~7#1 / 3 else __utac_acc__Specification13_spec__2_~__cil_tmp7~7#1 / 3); 536324#L3236 assume ~weight~0 > __utac_acc__Specification13_spec__2_~__cil_tmp8~8#1; 536325#L3237 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~19#1, existInLiftCallsInDirection_~i~0#1, existInLiftCallsInDirection_~i___0~0#1;existInLiftCallsInDirection_~d#1 := existInLiftCallsInDirection_#in~d#1;havoc existInLiftCallsInDirection_~retValue_acc~19#1;havoc existInLiftCallsInDirection_~i~0#1;havoc existInLiftCallsInDirection_~i___0~0#1; 545710#L1922 assume !(1 == existInLiftCallsInDirection_~d#1); 547334#L1988 assume 0 == existInLiftCallsInDirection_~d#1;existInLiftCallsInDirection_~i___0~0#1 := 0;existInLiftCallsInDirection_~i___0~0#1 := ~currentFloorID~0 - 1; 543343#L1992-2 [2024-11-09 15:53:24,753 INFO L747 eck$LassoCheckResult]: Loop: 543343#L1992-2 assume !false; 538772#L1993 assume existInLiftCallsInDirection_~i___0~0#1 >= 0; 532852#L1994 existInLiftCallsInDirection_~i___0~0#1 := 1 + ~currentFloorID~0; 532853#L2001-2 assume !false; 538294#L2002 assume !(existInLiftCallsInDirection_~i___0~0#1 < 5); 543342#L2060 existInLiftCallsInDirection_~i___0~0#1 := existInLiftCallsInDirection_~i___0~0#1 - 1; 543343#L1992-2 [2024-11-09 15:53:24,753 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-09 15:53:24,754 INFO L85 PathProgramCache]: Analyzing trace with hash 1479862237, now seen corresponding path program 1 times [2024-11-09 15:53:24,754 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-09 15:53:24,754 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [586248547] [2024-11-09 15:53:24,754 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-09 15:53:24,754 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-09 15:53:24,776 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-09 15:53:25,077 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-09 15:53:25,077 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-09 15:53:25,077 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [586248547] [2024-11-09 15:53:25,078 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [586248547] provided 1 perfect and 0 imperfect interpolant sequences [2024-11-09 15:53:25,078 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-11-09 15:53:25,078 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2024-11-09 15:53:25,079 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1713412494] [2024-11-09 15:53:25,079 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-11-09 15:53:25,079 INFO L750 eck$LassoCheckResult]: stem already infeasible [2024-11-09 15:53:25,081 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-09 15:53:25,081 INFO L85 PathProgramCache]: Analyzing trace with hash 954762475, now seen corresponding path program 7 times [2024-11-09 15:53:25,081 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-09 15:53:25,081 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1349556259] [2024-11-09 15:53:25,082 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-09 15:53:25,082 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-09 15:53:25,096 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-09 15:53:25,097 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-09 15:53:25,098 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-09 15:53:25,106 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-09 15:53:25,125 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-09 15:53:25,126 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2024-11-09 15:53:25,126 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2024-11-09 15:53:25,127 INFO L87 Difference]: Start difference. First operand 17988 states and 33577 transitions. cyclomatic complexity: 15626 Second operand has 4 states, 4 states have (on average 12.5) internal successors, (50), 4 states have internal predecessors, (50), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-09 15:53:25,515 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-09 15:53:25,515 INFO L93 Difference]: Finished difference Result 18004 states and 33589 transitions. [2024-11-09 15:53:25,515 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 18004 states and 33589 transitions. [2024-11-09 15:53:25,577 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 4076 [2024-11-09 15:53:25,621 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 18004 states to 18004 states and 33589 transitions. [2024-11-09 15:53:25,621 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 17921 [2024-11-09 15:53:25,632 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 17921 [2024-11-09 15:53:25,633 INFO L73 IsDeterministic]: Start isDeterministic. Operand 18004 states and 33589 transitions. [2024-11-09 15:53:25,647 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-11-09 15:53:25,647 INFO L218 hiAutomatonCegarLoop]: Abstraction has 18004 states and 33589 transitions. [2024-11-09 15:53:25,665 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 18004 states and 33589 transitions. [2024-11-09 15:53:25,784 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 18004 to 17988. [2024-11-09 15:53:25,802 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17988 states, 17988 states have (on average 1.866188570157883) internal successors, (33569), 17987 states have internal predecessors, (33569), 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-09 15:53:25,832 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17988 states to 17988 states and 33569 transitions. [2024-11-09 15:53:25,832 INFO L240 hiAutomatonCegarLoop]: Abstraction has 17988 states and 33569 transitions. [2024-11-09 15:53:25,832 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2024-11-09 15:53:25,833 INFO L425 stractBuchiCegarLoop]: Abstraction has 17988 states and 33569 transitions. [2024-11-09 15:53:25,833 INFO L332 stractBuchiCegarLoop]: ======== Iteration 11 ============ [2024-11-09 15:53:25,833 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 17988 states and 33569 transitions. [2024-11-09 15:53:25,875 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 4076 [2024-11-09 15:53:25,876 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-09 15:53:25,876 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-09 15:53:25,876 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-11-09 15:53:25,876 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1] [2024-11-09 15:53:25,876 INFO L745 eck$LassoCheckResult]: Stem: 577591#$Ultimate##0 assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int#0(48, 1, 0, 1);call write~init~int#0(0, 1, 1, 1);call #Ultimate.allocInit(32, 2);call #Ultimate.allocInit(12, 3);call #Ultimate.allocInit(30, 4);call #Ultimate.allocInit(9, 5);call #Ultimate.allocInit(21, 6);call #Ultimate.allocInit(30, 7);call #Ultimate.allocInit(9, 8);call #Ultimate.allocInit(21, 9);call #Ultimate.allocInit(30, 10);call #Ultimate.allocInit(9, 11);call #Ultimate.allocInit(25, 12);call #Ultimate.allocInit(30, 13);call #Ultimate.allocInit(9, 14);call #Ultimate.allocInit(25, 15);call #Ultimate.allocInit(10, 16);call #Ultimate.allocInit(4, 17);call write~init~int#5(91, 17, 0, 1);call write~init~int#5(95, 17, 1, 1);call write~init~int#5(93, 17, 2, 1);call write~init~int#5(0, 17, 3, 1);call #Ultimate.allocInit(4, 18);call write~init~int#6(91, 18, 0, 1);call write~init~int#6(93, 18, 1, 1);call write~init~int#6(32, 18, 2, 1);call write~init~int#6(0, 18, 3, 1);call #Ultimate.allocInit(5, 19);call write~init~int#7(32, 19, 0, 1);call write~init~int#7(97, 19, 1, 1);call write~init~int#7(116, 19, 2, 1);call write~init~int#7(32, 19, 3, 1);call write~init~int#7(0, 19, 4, 1);call #Ultimate.allocInit(3, 20);call write~init~int#8(37, 20, 0, 1);call write~init~int#8(105, 20, 1, 1);call write~init~int#8(0, 20, 2, 1);call #Ultimate.allocInit(10, 21);call #Ultimate.allocInit(3, 22);call write~init~int#9(117, 22, 0, 1);call write~init~int#9(112, 22, 1, 1);call write~init~int#9(0, 22, 2, 1);call #Ultimate.allocInit(5, 23);call write~init~int#10(100, 23, 0, 1);call write~init~int#10(111, 23, 1, 1);call write~init~int#10(119, 23, 2, 1);call write~init~int#10(110, 23, 3, 1);call write~init~int#10(0, 23, 4, 1);call #Ultimate.allocInit(7, 24);call write~init~int#11(32, 24, 0, 1);call write~init~int#11(73, 24, 1, 1);call write~init~int#11(76, 24, 2, 1);call write~init~int#11(95, 24, 3, 1);call write~init~int#11(112, 24, 4, 1);call write~init~int#11(58, 24, 5, 1);call write~init~int#11(0, 24, 6, 1);call #Ultimate.allocInit(4, 25);call write~init~int#12(32, 25, 0, 1);call write~init~int#12(37, 25, 1, 1);call write~init~int#12(105, 25, 2, 1);call write~init~int#12(0, 25, 3, 1);call #Ultimate.allocInit(4, 26);call write~init~int#13(32, 26, 0, 1);call write~init~int#13(37, 26, 1, 1);call write~init~int#13(105, 26, 2, 1);call write~init~int#13(0, 26, 3, 1);call #Ultimate.allocInit(4, 27);call write~init~int#14(32, 27, 0, 1);call write~init~int#14(37, 27, 1, 1);call write~init~int#14(105, 27, 2, 1);call write~init~int#14(0, 27, 3, 1);call #Ultimate.allocInit(4, 28);call write~init~int#15(32, 28, 0, 1);call write~init~int#15(37, 28, 1, 1);call write~init~int#15(105, 28, 2, 1);call write~init~int#15(0, 28, 3, 1);call #Ultimate.allocInit(4, 29);call write~init~int#16(32, 29, 0, 1);call write~init~int#16(37, 29, 1, 1);call write~init~int#16(105, 29, 2, 1);call write~init~int#16(0, 29, 3, 1);call #Ultimate.allocInit(6, 30);call write~init~int#17(32, 30, 0, 1);call write~init~int#17(70, 30, 1, 1);call write~init~int#17(95, 30, 2, 1);call write~init~int#17(112, 30, 3, 1);call write~init~int#17(58, 30, 4, 1);call write~init~int#17(0, 30, 5, 1);call #Ultimate.allocInit(4, 31);call write~init~int#18(32, 31, 0, 1);call write~init~int#18(37, 31, 1, 1);call write~init~int#18(105, 31, 2, 1);call write~init~int#18(0, 31, 3, 1);call #Ultimate.allocInit(4, 32);call write~init~int#19(32, 32, 0, 1);call write~init~int#19(37, 32, 1, 1);call write~init~int#19(105, 32, 2, 1);call write~init~int#19(0, 32, 3, 1);call #Ultimate.allocInit(4, 33);call write~init~int#1(32, 33, 0, 1);call write~init~int#1(37, 33, 1, 1);call write~init~int#1(105, 33, 2, 1);call write~init~int#1(0, 33, 3, 1);call #Ultimate.allocInit(4, 34);call write~init~int#2(32, 34, 0, 1);call write~init~int#2(37, 34, 1, 1);call write~init~int#2(105, 34, 2, 1);call write~init~int#2(0, 34, 3, 1);call #Ultimate.allocInit(4, 35);call write~init~int#3(32, 35, 0, 1);call write~init~int#3(37, 35, 1, 1);call write~init~int#3(105, 35, 2, 1);call write~init~int#3(0, 35, 3, 1);call #Ultimate.allocInit(2, 36);call write~init~int#4(10, 36, 0, 1);call write~init~int#4(0, 36, 1, 1);call #Ultimate.allocInit(9, 37);~head~0.base, ~head~0.offset := 0, 0;~weight~0 := 0;~maximumWeight~0 := 100;~executiveFloor~0 := 4;~blocked~0 := 0;~currentHeading~0 := 1;~currentFloorID~0 := 0;~persons_0~0 := 0;~persons_1~0 := 0;~persons_2~0 := 0;~persons_3~0 := 0;~persons_4~0 := 0;~persons_5~0 := 0;~doorState~0 := 1;~floorButtons_0~0 := 0;~floorButtons_1~0 := 0;~floorButtons_2~0 := 0;~floorButtons_3~0 := 0;~floorButtons_4~0 := 0;~cleanupTimeShifts~0 := 12;~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;~prevDir~0 := 0; 577229#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret129#1, main_~retValue_acc~23#1, main_~tmp~27#1;havoc main_~retValue_acc~23#1;havoc main_~tmp~27#1;assume { :begin_inline_select_helpers } true; 577230#select_helpers_returnLabel#1 assume { :end_inline_select_helpers } true;assume { :begin_inline_select_features } true; 586455#select_features_returnLabel#1 assume { :end_inline_select_features } true;assume { :begin_inline_valid_product } true;havoc valid_product_#res#1;havoc valid_product_~retValue_acc~31#1;havoc valid_product_~retValue_acc~31#1;valid_product_~retValue_acc~31#1 := 1;valid_product_#res#1 := valid_product_~retValue_acc~31#1; 583267#valid_product_returnLabel#1 main_#t~ret129#1 := valid_product_#res#1;havoc valid_product_~retValue_acc~31#1;assume { :end_inline_valid_product } true;main_~tmp~27#1 := main_#t~ret129#1;havoc main_#t~ret129#1; 583268#L2436 assume 0 != main_~tmp~27#1;assume { :begin_inline_setup } true; 583876#setup_returnLabel#1 assume { :end_inline_setup } true;assume { :begin_inline_runTest } true;assume { :begin_inline_test } true;assume { :begin_inline_aliceCall } true;havoc aliceCall_#t~ret118#1, aliceCall_~tmp~20#1;havoc aliceCall_~tmp~20#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 1;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~28#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~28#1; 583877#L3343 assume !(0 == getOrigin_~person#1); 584238#L3347 assume 1 == getOrigin_~person#1;getOrigin_~retValue_acc~28#1 := 3;getOrigin_#res#1 := getOrigin_~retValue_acc~28#1; 573938#getOrigin_returnLabel#1 aliceCall_#t~ret118#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~28#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;aliceCall_~tmp~20#1 := aliceCall_#t~ret118#1;havoc aliceCall_#t~ret118#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 1, aliceCall_~tmp~20#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 573939#L2903 assume !(0 == initPersonOnFloor_~floor#1); 580329#L2930 assume !(1 == initPersonOnFloor_~floor#1); 578164#L2957 assume !(2 == initPersonOnFloor_~floor#1); 578165#L2984 assume 3 == initPersonOnFloor_~floor#1; 580189#L2985 assume !(0 == initPersonOnFloor_~person#1); 583251#L2988 assume 1 == initPersonOnFloor_~person#1;~personOnFloor_1_3~0 := 1; 571492#L3011-1 assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 577348#L2695 assume !(0 == callOnFloor_~floorID#1); 577349#L2698 assume !(1 == callOnFloor_~floorID#1); 577107#L2701 assume !(2 == callOnFloor_~floorID#1); 577108#L2704 assume 3 == callOnFloor_~floorID#1;~calls_3~0 := 1; 576304#L2707-2 havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true; 582048#initPersonOnFloor_returnLabel#1 havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true; 583491#aliceCall_returnLabel#1 havoc aliceCall_#t~ret118#1, aliceCall_~tmp~20#1;assume { :end_inline_aliceCall } true;assume { :begin_inline_angelinaCall } true;havoc angelinaCall_#t~ret119#1, angelinaCall_~tmp~21#1;havoc angelinaCall_~tmp~21#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 2;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~28#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~28#1; 586441#L3343-1 assume !(0 == getOrigin_~person#1); 586596#L3347-1 assume !(1 == getOrigin_~person#1); 571585#L3351-1 assume 2 == getOrigin_~person#1;getOrigin_~retValue_acc~28#1 := 2;getOrigin_#res#1 := getOrigin_~retValue_acc~28#1; 571586#getOrigin_returnLabel#2 angelinaCall_#t~ret119#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~28#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;angelinaCall_~tmp~21#1 := angelinaCall_#t~ret119#1;havoc angelinaCall_#t~ret119#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 2, angelinaCall_~tmp~21#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 577673#L2903-1 assume !(0 == initPersonOnFloor_~floor#1); 577674#L2930-1 assume !(1 == initPersonOnFloor_~floor#1); 583636#L2957-1 assume 2 == initPersonOnFloor_~floor#1; 574363#L2958-2 assume !(0 == initPersonOnFloor_~person#1); 568719#L2961-2 assume !(1 == initPersonOnFloor_~person#1); 568720#L2964-2 assume 2 == initPersonOnFloor_~person#1;~personOnFloor_2_2~0 := 1; 578035#L3011-3 assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 586640#L2695-2 assume !(0 == callOnFloor_~floorID#1); 586638#L2698-2 assume !(1 == callOnFloor_~floorID#1); 586636#L2701-2 assume 2 == callOnFloor_~floorID#1;~calls_2~0 := 1; 583433#L2707-5 havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true; 575277#initPersonOnFloor_returnLabel#2 havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true; 575278#angelinaCall_returnLabel#1 havoc angelinaCall_#t~ret119#1, angelinaCall_~tmp~21#1;assume { :end_inline_angelinaCall } true;assume { :begin_inline_threeTS } true;assume { :begin_inline_timeShift } true;havoc timeShift_#t~ret86#1, timeShift_~tmp~16#1;havoc timeShift_~tmp~16#1;assume { :begin_inline___utac_acc__Specification13_spec__1 } true;havoc __utac_acc__Specification13_spec__1_#t~ret136#1;assume { :begin_inline_getCurrentHeading } true;havoc getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~7#1;havoc getCurrentHeading_~retValue_acc~7#1;getCurrentHeading_~retValue_acc~7#1 := ~currentHeading~0;getCurrentHeading_#res#1 := getCurrentHeading_~retValue_acc~7#1; 580606#getCurrentHeading_returnLabel#1 __utac_acc__Specification13_spec__1_#t~ret136#1 := getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~7#1;assume { :end_inline_getCurrentHeading } true;~prevDir~0 := __utac_acc__Specification13_spec__1_#t~ret136#1;havoc __utac_acc__Specification13_spec__1_#t~ret136#1; 580607#__utac_acc__Specification13_spec__1_returnLabel#1 havoc __utac_acc__Specification13_spec__1_#t~ret136#1;assume { :end_inline___utac_acc__Specification13_spec__1 } true;assume { :begin_inline_areDoorsOpen } true;havoc areDoorsOpen_#res#1;havoc areDoorsOpen_~retValue_acc~5#1;havoc areDoorsOpen_~retValue_acc~5#1;areDoorsOpen_~retValue_acc~5#1 := ~doorState~0;areDoorsOpen_#res#1 := areDoorsOpen_~retValue_acc~5#1; 585109#areDoorsOpen_returnLabel#1 timeShift_#t~ret86#1 := areDoorsOpen_#res#1;havoc areDoorsOpen_~retValue_acc~5#1;assume { :end_inline_areDoorsOpen } true;timeShift_~tmp~16#1 := timeShift_#t~ret86#1;havoc timeShift_#t~ret86#1; 585902#L1702 assume 0 != timeShift_~tmp~16#1; 582427#L1703 assume ~weight~0 > ~maximumWeight~0;~blocked~0 := 1; 573821#L1702-1 assume { :begin_inline___utac_acc__Specification13_spec__2 } true;havoc __utac_acc__Specification13_spec__2_#t~ret137#1, __utac_acc__Specification13_spec__2_#t~ret138#1, __utac_acc__Specification13_spec__2_#t~ret139#1, __utac_acc__Specification13_spec__2_#t~ret140#1, __utac_acc__Specification13_spec__2_#t~ret141#1, __utac_acc__Specification13_spec__2_#t~ret142#1, __utac_acc__Specification13_spec__2_~tmp~30#1, __utac_acc__Specification13_spec__2_~tmp___0~13#1, __utac_acc__Specification13_spec__2_~tmp___1~8#1, __utac_acc__Specification13_spec__2_~tmp___2~6#1, __utac_acc__Specification13_spec__2_~tmp___3~5#1, __utac_acc__Specification13_spec__2_~tmp___4~3#1, __utac_acc__Specification13_spec__2_~__cil_tmp7~7#1, __utac_acc__Specification13_spec__2_~__cil_tmp8~8#1;havoc __utac_acc__Specification13_spec__2_~tmp~30#1;havoc __utac_acc__Specification13_spec__2_~tmp___0~13#1;havoc __utac_acc__Specification13_spec__2_~tmp___1~8#1;havoc __utac_acc__Specification13_spec__2_~tmp___2~6#1;havoc __utac_acc__Specification13_spec__2_~tmp___3~5#1;havoc __utac_acc__Specification13_spec__2_~tmp___4~3#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp7~7#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp8~8#1;__utac_acc__Specification13_spec__2_~__cil_tmp7~7#1 := 2 * ~maximumWeight~0;__utac_acc__Specification13_spec__2_~__cil_tmp8~8#1 := (if __utac_acc__Specification13_spec__2_~__cil_tmp7~7#1 < 0 && 0 != __utac_acc__Specification13_spec__2_~__cil_tmp7~7#1 % 3 then 1 + __utac_acc__Specification13_spec__2_~__cil_tmp7~7#1 / 3 else __utac_acc__Specification13_spec__2_~__cil_tmp7~7#1 / 3); 572322#L3236 assume ~weight~0 > __utac_acc__Specification13_spec__2_~__cil_tmp8~8#1; 572323#L3237 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~19#1, existInLiftCallsInDirection_~i~0#1, existInLiftCallsInDirection_~i___0~0#1;existInLiftCallsInDirection_~d#1 := existInLiftCallsInDirection_#in~d#1;havoc existInLiftCallsInDirection_~retValue_acc~19#1;havoc existInLiftCallsInDirection_~i~0#1;havoc existInLiftCallsInDirection_~i___0~0#1; 581709#L1922 assume !(1 == existInLiftCallsInDirection_~d#1); 583333#L1988 assume 0 == existInLiftCallsInDirection_~d#1;existInLiftCallsInDirection_~i___0~0#1 := 0;existInLiftCallsInDirection_~i___0~0#1 := ~currentFloorID~0 - 1; 579341#L1992-2 [2024-11-09 15:53:25,877 INFO L747 eck$LassoCheckResult]: Loop: 579341#L1992-2 assume !false; 574769#L1993 assume existInLiftCallsInDirection_~i___0~0#1 >= 0; 568850#L1994 existInLiftCallsInDirection_~i___0~0#1 := 1 + ~currentFloorID~0; 568851#L2001-2 assume !false; 574291#L2002 assume !(existInLiftCallsInDirection_~i___0~0#1 < 5); 579340#L2060 existInLiftCallsInDirection_~i___0~0#1 := existInLiftCallsInDirection_~i___0~0#1 - 1; 579341#L1992-2 [2024-11-09 15:53:25,877 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-09 15:53:25,877 INFO L85 PathProgramCache]: Analyzing trace with hash -1525038236, now seen corresponding path program 1 times [2024-11-09 15:53:25,877 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-09 15:53:25,877 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [499185765] [2024-11-09 15:53:25,877 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-09 15:53:25,877 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-09 15:53:25,906 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-09 15:53:26,096 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-11-09 15:53:26,098 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-09 15:53:26,098 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [499185765] [2024-11-09 15:53:26,098 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [499185765] provided 1 perfect and 0 imperfect interpolant sequences [2024-11-09 15:53:26,098 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-11-09 15:53:26,098 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2024-11-09 15:53:26,099 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [628550243] [2024-11-09 15:53:26,099 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-11-09 15:53:26,099 INFO L750 eck$LassoCheckResult]: stem already infeasible [2024-11-09 15:53:26,100 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-09 15:53:26,100 INFO L85 PathProgramCache]: Analyzing trace with hash 954762475, now seen corresponding path program 8 times [2024-11-09 15:53:26,100 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-09 15:53:26,100 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [40152991] [2024-11-09 15:53:26,100 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-09 15:53:26,100 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-09 15:53:26,119 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-09 15:53:26,120 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-09 15:53:26,121 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-09 15:53:26,129 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-09 15:53:26,151 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-09 15:53:26,152 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2024-11-09 15:53:26,152 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2024-11-09 15:53:26,152 INFO L87 Difference]: Start difference. First operand 17988 states and 33569 transitions. cyclomatic complexity: 15618 Second operand has 3 states, 3 states have (on average 17.0) internal successors, (51), 2 states have internal predecessors, (51), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-09 15:53:26,998 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-09 15:53:26,999 INFO L93 Difference]: Finished difference Result 33988 states and 63548 transitions. [2024-11-09 15:53:26,999 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 33988 states and 63548 transitions. [2024-11-09 15:53:27,161 INFO L131 ngComponentsAnalysis]: Automaton has 66 accepting balls. 7120 [2024-11-09 15:53:27,270 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 33988 states to 33988 states and 63548 transitions. [2024-11-09 15:53:27,270 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 33822 [2024-11-09 15:53:27,302 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 33822 [2024-11-09 15:53:27,302 INFO L73 IsDeterministic]: Start isDeterministic. Operand 33988 states and 63548 transitions. [2024-11-09 15:53:27,309 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-11-09 15:53:27,309 INFO L218 hiAutomatonCegarLoop]: Abstraction has 33988 states and 63548 transitions. [2024-11-09 15:53:27,355 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 33988 states and 63548 transitions. [2024-11-09 15:53:28,046 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 33988 to 28976. [2024-11-09 15:53:28,093 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 28976 states, 28976 states have (on average 1.8656819436775263) internal successors, (54060), 28975 states have internal predecessors, (54060), 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-09 15:53:28,147 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28976 states to 28976 states and 54060 transitions. [2024-11-09 15:53:28,148 INFO L240 hiAutomatonCegarLoop]: Abstraction has 28976 states and 54060 transitions. [2024-11-09 15:53:28,148 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2024-11-09 15:53:28,148 INFO L425 stractBuchiCegarLoop]: Abstraction has 28976 states and 54060 transitions. [2024-11-09 15:53:28,148 INFO L332 stractBuchiCegarLoop]: ======== Iteration 12 ============ [2024-11-09 15:53:28,149 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 28976 states and 54060 transitions. [2024-11-09 15:53:28,221 INFO L131 ngComponentsAnalysis]: Automaton has 66 accepting balls. 7120 [2024-11-09 15:53:28,221 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-09 15:53:28,222 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-09 15:53:28,222 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-11-09 15:53:28,222 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1] [2024-11-09 15:53:28,223 INFO L745 eck$LassoCheckResult]: Stem: 629612#$Ultimate##0 assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int#0(48, 1, 0, 1);call write~init~int#0(0, 1, 1, 1);call #Ultimate.allocInit(32, 2);call #Ultimate.allocInit(12, 3);call #Ultimate.allocInit(30, 4);call #Ultimate.allocInit(9, 5);call #Ultimate.allocInit(21, 6);call #Ultimate.allocInit(30, 7);call #Ultimate.allocInit(9, 8);call #Ultimate.allocInit(21, 9);call #Ultimate.allocInit(30, 10);call #Ultimate.allocInit(9, 11);call #Ultimate.allocInit(25, 12);call #Ultimate.allocInit(30, 13);call #Ultimate.allocInit(9, 14);call #Ultimate.allocInit(25, 15);call #Ultimate.allocInit(10, 16);call #Ultimate.allocInit(4, 17);call write~init~int#5(91, 17, 0, 1);call write~init~int#5(95, 17, 1, 1);call write~init~int#5(93, 17, 2, 1);call write~init~int#5(0, 17, 3, 1);call #Ultimate.allocInit(4, 18);call write~init~int#6(91, 18, 0, 1);call write~init~int#6(93, 18, 1, 1);call write~init~int#6(32, 18, 2, 1);call write~init~int#6(0, 18, 3, 1);call #Ultimate.allocInit(5, 19);call write~init~int#7(32, 19, 0, 1);call write~init~int#7(97, 19, 1, 1);call write~init~int#7(116, 19, 2, 1);call write~init~int#7(32, 19, 3, 1);call write~init~int#7(0, 19, 4, 1);call #Ultimate.allocInit(3, 20);call write~init~int#8(37, 20, 0, 1);call write~init~int#8(105, 20, 1, 1);call write~init~int#8(0, 20, 2, 1);call #Ultimate.allocInit(10, 21);call #Ultimate.allocInit(3, 22);call write~init~int#9(117, 22, 0, 1);call write~init~int#9(112, 22, 1, 1);call write~init~int#9(0, 22, 2, 1);call #Ultimate.allocInit(5, 23);call write~init~int#10(100, 23, 0, 1);call write~init~int#10(111, 23, 1, 1);call write~init~int#10(119, 23, 2, 1);call write~init~int#10(110, 23, 3, 1);call write~init~int#10(0, 23, 4, 1);call #Ultimate.allocInit(7, 24);call write~init~int#11(32, 24, 0, 1);call write~init~int#11(73, 24, 1, 1);call write~init~int#11(76, 24, 2, 1);call write~init~int#11(95, 24, 3, 1);call write~init~int#11(112, 24, 4, 1);call write~init~int#11(58, 24, 5, 1);call write~init~int#11(0, 24, 6, 1);call #Ultimate.allocInit(4, 25);call write~init~int#12(32, 25, 0, 1);call write~init~int#12(37, 25, 1, 1);call write~init~int#12(105, 25, 2, 1);call write~init~int#12(0, 25, 3, 1);call #Ultimate.allocInit(4, 26);call write~init~int#13(32, 26, 0, 1);call write~init~int#13(37, 26, 1, 1);call write~init~int#13(105, 26, 2, 1);call write~init~int#13(0, 26, 3, 1);call #Ultimate.allocInit(4, 27);call write~init~int#14(32, 27, 0, 1);call write~init~int#14(37, 27, 1, 1);call write~init~int#14(105, 27, 2, 1);call write~init~int#14(0, 27, 3, 1);call #Ultimate.allocInit(4, 28);call write~init~int#15(32, 28, 0, 1);call write~init~int#15(37, 28, 1, 1);call write~init~int#15(105, 28, 2, 1);call write~init~int#15(0, 28, 3, 1);call #Ultimate.allocInit(4, 29);call write~init~int#16(32, 29, 0, 1);call write~init~int#16(37, 29, 1, 1);call write~init~int#16(105, 29, 2, 1);call write~init~int#16(0, 29, 3, 1);call #Ultimate.allocInit(6, 30);call write~init~int#17(32, 30, 0, 1);call write~init~int#17(70, 30, 1, 1);call write~init~int#17(95, 30, 2, 1);call write~init~int#17(112, 30, 3, 1);call write~init~int#17(58, 30, 4, 1);call write~init~int#17(0, 30, 5, 1);call #Ultimate.allocInit(4, 31);call write~init~int#18(32, 31, 0, 1);call write~init~int#18(37, 31, 1, 1);call write~init~int#18(105, 31, 2, 1);call write~init~int#18(0, 31, 3, 1);call #Ultimate.allocInit(4, 32);call write~init~int#19(32, 32, 0, 1);call write~init~int#19(37, 32, 1, 1);call write~init~int#19(105, 32, 2, 1);call write~init~int#19(0, 32, 3, 1);call #Ultimate.allocInit(4, 33);call write~init~int#1(32, 33, 0, 1);call write~init~int#1(37, 33, 1, 1);call write~init~int#1(105, 33, 2, 1);call write~init~int#1(0, 33, 3, 1);call #Ultimate.allocInit(4, 34);call write~init~int#2(32, 34, 0, 1);call write~init~int#2(37, 34, 1, 1);call write~init~int#2(105, 34, 2, 1);call write~init~int#2(0, 34, 3, 1);call #Ultimate.allocInit(4, 35);call write~init~int#3(32, 35, 0, 1);call write~init~int#3(37, 35, 1, 1);call write~init~int#3(105, 35, 2, 1);call write~init~int#3(0, 35, 3, 1);call #Ultimate.allocInit(2, 36);call write~init~int#4(10, 36, 0, 1);call write~init~int#4(0, 36, 1, 1);call #Ultimate.allocInit(9, 37);~head~0.base, ~head~0.offset := 0, 0;~weight~0 := 0;~maximumWeight~0 := 100;~executiveFloor~0 := 4;~blocked~0 := 0;~currentHeading~0 := 1;~currentFloorID~0 := 0;~persons_0~0 := 0;~persons_1~0 := 0;~persons_2~0 := 0;~persons_3~0 := 0;~persons_4~0 := 0;~persons_5~0 := 0;~doorState~0 := 1;~floorButtons_0~0 := 0;~floorButtons_1~0 := 0;~floorButtons_2~0 := 0;~floorButtons_3~0 := 0;~floorButtons_4~0 := 0;~cleanupTimeShifts~0 := 12;~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;~prevDir~0 := 0; 629243#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret129#1, main_~retValue_acc~23#1, main_~tmp~27#1;havoc main_~retValue_acc~23#1;havoc main_~tmp~27#1;assume { :begin_inline_select_helpers } true; 629244#select_helpers_returnLabel#1 assume { :end_inline_select_helpers } true;assume { :begin_inline_select_features } true; 638803#select_features_returnLabel#1 assume { :end_inline_select_features } true;assume { :begin_inline_valid_product } true;havoc valid_product_#res#1;havoc valid_product_~retValue_acc~31#1;havoc valid_product_~retValue_acc~31#1;valid_product_~retValue_acc~31#1 := 1;valid_product_#res#1 := valid_product_~retValue_acc~31#1; 635381#valid_product_returnLabel#1 main_#t~ret129#1 := valid_product_#res#1;havoc valid_product_~retValue_acc~31#1;assume { :end_inline_valid_product } true;main_~tmp~27#1 := main_#t~ret129#1;havoc main_#t~ret129#1; 635382#L2436 assume 0 != main_~tmp~27#1;assume { :begin_inline_setup } true; 636008#setup_returnLabel#1 assume { :end_inline_setup } true;assume { :begin_inline_runTest } true;assume { :begin_inline_test } true;assume { :begin_inline_aliceCall } true;havoc aliceCall_#t~ret118#1, aliceCall_~tmp~20#1;havoc aliceCall_~tmp~20#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 1;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~28#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~28#1; 636009#L3343 assume !(0 == getOrigin_~person#1); 636393#L3347 assume 1 == getOrigin_~person#1;getOrigin_~retValue_acc~28#1 := 3;getOrigin_#res#1 := getOrigin_~retValue_acc~28#1; 625928#getOrigin_returnLabel#1 aliceCall_#t~ret118#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~28#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;aliceCall_~tmp~20#1 := aliceCall_#t~ret118#1;havoc aliceCall_#t~ret118#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 1, aliceCall_~tmp~20#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 625929#L2903 assume !(0 == initPersonOnFloor_~floor#1); 632382#L2930 assume !(1 == initPersonOnFloor_~floor#1); 630190#L2957 assume !(2 == initPersonOnFloor_~floor#1); 630191#L2984 assume 3 == initPersonOnFloor_~floor#1; 632241#L2985 assume !(0 == initPersonOnFloor_~person#1); 635360#L2988 assume 1 == initPersonOnFloor_~person#1;~personOnFloor_1_3~0 := 1; 623476#L3011-1 assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 629369#L2695 assume !(0 == callOnFloor_~floorID#1); 629370#L2698 assume !(1 == callOnFloor_~floorID#1); 629119#L2701 assume !(2 == callOnFloor_~floorID#1); 629120#L2704 assume 3 == callOnFloor_~floorID#1;~calls_3~0 := 1; 628308#L2707-2 havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true; 634126#initPersonOnFloor_returnLabel#1 havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true; 635612#aliceCall_returnLabel#1 havoc aliceCall_#t~ret118#1, aliceCall_~tmp~20#1;assume { :end_inline_aliceCall } true;assume { :begin_inline_angelinaCall } true;havoc angelinaCall_#t~ret119#1, angelinaCall_~tmp~21#1;havoc angelinaCall_~tmp~21#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 2;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~28#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~28#1; 638786#L3343-1 assume !(0 == getOrigin_~person#1); 638978#L3347-1 assume !(1 == getOrigin_~person#1); 623569#L3351-1 assume 2 == getOrigin_~person#1;getOrigin_~retValue_acc~28#1 := 2;getOrigin_#res#1 := getOrigin_~retValue_acc~28#1; 623570#getOrigin_returnLabel#2 angelinaCall_#t~ret119#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~28#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;angelinaCall_~tmp~21#1 := angelinaCall_#t~ret119#1;havoc angelinaCall_#t~ret119#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 2, angelinaCall_~tmp~21#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 629695#L2903-1 assume !(0 == initPersonOnFloor_~floor#1); 629696#L2930-1 assume !(1 == initPersonOnFloor_~floor#1); 635762#L2957-1 assume 2 == initPersonOnFloor_~floor#1; 626354#L2958-2 assume !(0 == initPersonOnFloor_~person#1); 620701#L2961-2 assume !(1 == initPersonOnFloor_~person#1); 620702#L2964-2 assume 2 == initPersonOnFloor_~person#1;~personOnFloor_2_2~0 := 1; 630062#L3011-3 assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 639001#L2695-2 assume !(0 == callOnFloor_~floorID#1); 639000#L2698-2 assume !(1 == callOnFloor_~floorID#1); 638999#L2701-2 assume 2 == callOnFloor_~floorID#1;~calls_2~0 := 1; 635554#L2707-5 havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true; 627274#initPersonOnFloor_returnLabel#2 havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true; 627275#angelinaCall_returnLabel#1 havoc angelinaCall_#t~ret119#1, angelinaCall_~tmp~21#1;assume { :end_inline_angelinaCall } true;assume { :begin_inline_threeTS } true;assume { :begin_inline_timeShift } true;havoc timeShift_#t~ret86#1, timeShift_~tmp~16#1;havoc timeShift_~tmp~16#1;assume { :begin_inline___utac_acc__Specification13_spec__1 } true;havoc __utac_acc__Specification13_spec__1_#t~ret136#1;assume { :begin_inline_getCurrentHeading } true;havoc getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~7#1;havoc getCurrentHeading_~retValue_acc~7#1;getCurrentHeading_~retValue_acc~7#1 := ~currentHeading~0;getCurrentHeading_#res#1 := getCurrentHeading_~retValue_acc~7#1; 632663#getCurrentHeading_returnLabel#1 __utac_acc__Specification13_spec__1_#t~ret136#1 := getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~7#1;assume { :end_inline_getCurrentHeading } true;~prevDir~0 := __utac_acc__Specification13_spec__1_#t~ret136#1;havoc __utac_acc__Specification13_spec__1_#t~ret136#1; 632664#__utac_acc__Specification13_spec__1_returnLabel#1 havoc __utac_acc__Specification13_spec__1_#t~ret136#1;assume { :end_inline___utac_acc__Specification13_spec__1 } true;assume { :begin_inline_areDoorsOpen } true;havoc areDoorsOpen_#res#1;havoc areDoorsOpen_~retValue_acc~5#1;havoc areDoorsOpen_~retValue_acc~5#1;areDoorsOpen_~retValue_acc~5#1 := ~doorState~0;areDoorsOpen_#res#1 := areDoorsOpen_~retValue_acc~5#1; 637315#areDoorsOpen_returnLabel#1 timeShift_#t~ret86#1 := areDoorsOpen_#res#1;havoc areDoorsOpen_~retValue_acc~5#1;assume { :end_inline_areDoorsOpen } true;timeShift_~tmp~16#1 := timeShift_#t~ret86#1;havoc timeShift_#t~ret86#1; 638165#L1702 assume !(0 != timeShift_~tmp~16#1);~blocked~0 := 0;assume { :begin_inline_timeShift__wrappee__executivefloor } true;havoc timeShift__wrappee__executivefloor_#t~ret75#1, timeShift__wrappee__executivefloor_#t~ret76#1, timeShift__wrappee__executivefloor_#t~ret77#1, timeShift__wrappee__executivefloor_#t~ret78#1, timeShift__wrappee__executivefloor_#t~ret79#1, timeShift__wrappee__executivefloor_#t~ret80#1, timeShift__wrappee__executivefloor_#t~ret81#1, timeShift__wrappee__executivefloor_#t~ret82#1, timeShift__wrappee__executivefloor_#t~ret83#1, timeShift__wrappee__executivefloor_#t~ret84#1, timeShift__wrappee__executivefloor_#t~ret85#1, timeShift__wrappee__executivefloor_~tmp~15#1, timeShift__wrappee__executivefloor_~tmp___0~7#1, timeShift__wrappee__executivefloor_~tmp___1~3#1, timeShift__wrappee__executivefloor_~tmp___2~3#1, timeShift__wrappee__executivefloor_~tmp___3~3#1, timeShift__wrappee__executivefloor_~tmp___4~2#1, timeShift__wrappee__executivefloor_~tmp___5~2#1, timeShift__wrappee__executivefloor_~tmp___6~2#1, timeShift__wrappee__executivefloor_~tmp___7~2#1, timeShift__wrappee__executivefloor_~tmp___8~2#1, timeShift__wrappee__executivefloor_~tmp___9~2#1;havoc timeShift__wrappee__executivefloor_~tmp~15#1;havoc timeShift__wrappee__executivefloor_~tmp___0~7#1;havoc timeShift__wrappee__executivefloor_~tmp___1~3#1;havoc timeShift__wrappee__executivefloor_~tmp___2~3#1;havoc timeShift__wrappee__executivefloor_~tmp___3~3#1;havoc timeShift__wrappee__executivefloor_~tmp___4~2#1;havoc timeShift__wrappee__executivefloor_~tmp___5~2#1;havoc timeShift__wrappee__executivefloor_~tmp___6~2#1;havoc timeShift__wrappee__executivefloor_~tmp___7~2#1;havoc timeShift__wrappee__executivefloor_~tmp___8~2#1;havoc timeShift__wrappee__executivefloor_~tmp___9~2#1;assume { :begin_inline_stopRequestedAtCurrentFloor } true;havoc stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret59#1, stopRequestedAtCurrentFloor_#t~ret60#1, stopRequestedAtCurrentFloor_#t~ret61#1, stopRequestedAtCurrentFloor_#t~ret62#1, stopRequestedAtCurrentFloor_~retValue_acc~17#1, stopRequestedAtCurrentFloor_~tmp~13#1, stopRequestedAtCurrentFloor_~tmp___0~5#1;havoc stopRequestedAtCurrentFloor_~retValue_acc~17#1;havoc stopRequestedAtCurrentFloor_~tmp~13#1;havoc stopRequestedAtCurrentFloor_~tmp___0~5#1;assume { :begin_inline_isExecutiveFloorCalling } true;havoc isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret115#1, isExecutiveFloorCalling_~retValue_acc~20#1;havoc isExecutiveFloorCalling_~retValue_acc~20#1;assume { :begin_inline_isFloorCalling } true;isFloorCalling_#in~floorID#1 := ~executiveFloor~0;havoc isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~24#1;isFloorCalling_~floorID#1 := isFloorCalling_#in~floorID#1;havoc isFloorCalling_~retValue_acc~24#1; 636581#L2632-65 assume 0 == isFloorCalling_~floorID#1;isFloorCalling_~retValue_acc~24#1 := ~calls_0~0;isFloorCalling_#res#1 := isFloorCalling_~retValue_acc~24#1; 625076#isFloorCalling_returnLabel#66 isExecutiveFloorCalling_#t~ret115#1 := isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~24#1;havoc isFloorCalling_#in~floorID#1;assume { :end_inline_isFloorCalling } true;isExecutiveFloorCalling_~retValue_acc~20#1 := isExecutiveFloorCalling_#t~ret115#1;havoc isExecutiveFloorCalling_#t~ret115#1;isExecutiveFloorCalling_#res#1 := isExecutiveFloorCalling_~retValue_acc~20#1; 625771#isExecutiveFloorCalling_returnLabel#4 stopRequestedAtCurrentFloor_#t~ret59#1 := isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret115#1, isExecutiveFloorCalling_~retValue_acc~20#1;assume { :end_inline_isExecutiveFloorCalling } true;stopRequestedAtCurrentFloor_~tmp~13#1 := stopRequestedAtCurrentFloor_#t~ret59#1;havoc stopRequestedAtCurrentFloor_#t~ret59#1; 627915#L1417-1 assume 0 != stopRequestedAtCurrentFloor_~tmp~13#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~4#1;havoc getCurrentFloorID_~retValue_acc~4#1;getCurrentFloorID_~retValue_acc~4#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~4#1; 627916#getCurrentFloorID_returnLabel#6 stopRequestedAtCurrentFloor_#t~ret60#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~4#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedAtCurrentFloor_~tmp___0~5#1 := stopRequestedAtCurrentFloor_#t~ret60#1;havoc stopRequestedAtCurrentFloor_#t~ret60#1; 635413#L1421-1 assume !(~executiveFloor~0 == stopRequestedAtCurrentFloor_~tmp___0~5#1);stopRequestedAtCurrentFloor_~retValue_acc~17#1 := 0;stopRequestedAtCurrentFloor_#res#1 := stopRequestedAtCurrentFloor_~retValue_acc~17#1; 634201#stopRequestedAtCurrentFloor_returnLabel#2 timeShift__wrappee__executivefloor_#t~ret75#1 := stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret59#1, stopRequestedAtCurrentFloor_#t~ret60#1, stopRequestedAtCurrentFloor_#t~ret61#1, stopRequestedAtCurrentFloor_#t~ret62#1, stopRequestedAtCurrentFloor_~retValue_acc~17#1, stopRequestedAtCurrentFloor_~tmp~13#1, stopRequestedAtCurrentFloor_~tmp___0~5#1;assume { :end_inline_stopRequestedAtCurrentFloor } true;timeShift__wrappee__executivefloor_~tmp___9~2#1 := timeShift__wrappee__executivefloor_#t~ret75#1;havoc timeShift__wrappee__executivefloor_#t~ret75#1; 634320#L1569-2 assume !(0 != timeShift__wrappee__executivefloor_~tmp___9~2#1); 632299#L1660-3 assume !(1 == ~doorState~0); 632300#L1660-5 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~ret50#1, stopRequestedInDirection_#t~ret51#1, stopRequestedInDirection_#t~ret52#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~13#1, stopRequestedInDirection_~tmp~9#1, stopRequestedInDirection_~tmp___0~2#1, stopRequestedInDirection_~__cil_tmp7~5#1, stopRequestedInDirection_~__cil_tmp8~6#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~13#1;havoc stopRequestedInDirection_~tmp~9#1;havoc stopRequestedInDirection_~tmp___0~2#1;havoc stopRequestedInDirection_~__cil_tmp7~5#1;havoc stopRequestedInDirection_~__cil_tmp8~6#1;assume { :begin_inline_isExecutiveFloorCalling } true;havoc isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret115#1, isExecutiveFloorCalling_~retValue_acc~20#1;havoc isExecutiveFloorCalling_~retValue_acc~20#1;assume { :begin_inline_isFloorCalling } true;isFloorCalling_#in~floorID#1 := ~executiveFloor~0;havoc isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~24#1;isFloorCalling_~floorID#1 := isFloorCalling_#in~floorID#1;havoc isFloorCalling_~retValue_acc~24#1; 624785#L2632-68 assume 0 == isFloorCalling_~floorID#1;isFloorCalling_~retValue_acc~24#1 := ~calls_0~0;isFloorCalling_#res#1 := isFloorCalling_~retValue_acc~24#1; 624786#isFloorCalling_returnLabel#69 isExecutiveFloorCalling_#t~ret115#1 := isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~24#1;havoc isFloorCalling_#in~floorID#1;assume { :end_inline_isFloorCalling } true;isExecutiveFloorCalling_~retValue_acc~20#1 := isExecutiveFloorCalling_#t~ret115#1;havoc isExecutiveFloorCalling_#t~ret115#1;isExecutiveFloorCalling_#res#1 := isExecutiveFloorCalling_~retValue_acc~20#1; 632755#isExecutiveFloorCalling_returnLabel#5 stopRequestedInDirection_#t~ret50#1 := isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret115#1, isExecutiveFloorCalling_~retValue_acc~20#1;assume { :end_inline_isExecutiveFloorCalling } true;stopRequestedInDirection_~tmp___0~2#1 := stopRequestedInDirection_#t~ret50#1;havoc stopRequestedInDirection_#t~ret50#1; 634907#L1272-2 assume 0 != stopRequestedInDirection_~tmp___0~2#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~4#1;havoc getCurrentFloorID_~retValue_acc~4#1;getCurrentFloorID_~retValue_acc~4#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~4#1; 631101#getCurrentFloorID_returnLabel#9 stopRequestedInDirection_#t~ret51#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~4#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedInDirection_~tmp~9#1 := stopRequestedInDirection_#t~ret51#1;havoc stopRequestedInDirection_#t~ret51#1;stopRequestedInDirection_~__cil_tmp7~5#1 := (if 1 == stopRequestedInDirection_~dir#1 then 1 else 0);stopRequestedInDirection_~__cil_tmp8~6#1 := (if stopRequestedInDirection_~tmp~9#1 < ~executiveFloor~0 then 1 else 0);stopRequestedInDirection_~retValue_acc~13#1 := (if stopRequestedInDirection_~__cil_tmp8~6#1 == stopRequestedInDirection_~__cil_tmp7~5#1 then 1 else 0);stopRequestedInDirection_#res#1 := stopRequestedInDirection_~retValue_acc~13#1; 623207#stopRequestedInDirection_returnLabel#3 timeShift__wrappee__executivefloor_#t~ret82#1 := stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret50#1, stopRequestedInDirection_#t~ret51#1, stopRequestedInDirection_#t~ret52#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~13#1, stopRequestedInDirection_~tmp~9#1, stopRequestedInDirection_~tmp___0~2#1, stopRequestedInDirection_~__cil_tmp7~5#1, stopRequestedInDirection_~__cil_tmp8~6#1;havoc stopRequestedInDirection_#in~dir#1, stopRequestedInDirection_#in~respectFloorCalls#1, stopRequestedInDirection_#in~respectInLiftCalls#1;assume { :end_inline_stopRequestedInDirection } true;timeShift__wrappee__executivefloor_~tmp___8~2#1 := timeShift__wrappee__executivefloor_#t~ret82#1;havoc timeShift__wrappee__executivefloor_#t~ret82#1; 623208#L1668-2 assume 0 != timeShift__wrappee__executivefloor_~tmp___8~2#1;assume { :begin_inline_continueInDirection } true;continueInDirection_#in~dir#1 := ~currentHeading~0;havoc continueInDirection_#t~ret53#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; 635457#L1329-3 assume !(1 == ~currentHeading~0); 627669#L1339-9 assume !(0 == ~currentFloorID~0); 627670#L1339-11 assume !(1 == ~currentHeading~0);~currentFloorID~0 := ~currentFloorID~0 - 1; 632378#L1345-7 havoc continueInDirection_#t~ret53#1, continueInDirection_~dir#1, continueInDirection_~tmp~10#1;havoc continueInDirection_#in~dir#1;assume { :end_inline_continueInDirection } true; 625809#L1677-5 havoc timeShift__wrappee__executivefloor_#t~ret75#1, timeShift__wrappee__executivefloor_#t~ret76#1, timeShift__wrappee__executivefloor_#t~ret77#1, timeShift__wrappee__executivefloor_#t~ret78#1, timeShift__wrappee__executivefloor_#t~ret79#1, timeShift__wrappee__executivefloor_#t~ret80#1, timeShift__wrappee__executivefloor_#t~ret81#1, timeShift__wrappee__executivefloor_#t~ret82#1, timeShift__wrappee__executivefloor_#t~ret83#1, timeShift__wrappee__executivefloor_#t~ret84#1, timeShift__wrappee__executivefloor_#t~ret85#1, timeShift__wrappee__executivefloor_~tmp~15#1, timeShift__wrappee__executivefloor_~tmp___0~7#1, timeShift__wrappee__executivefloor_~tmp___1~3#1, timeShift__wrappee__executivefloor_~tmp___2~3#1, timeShift__wrappee__executivefloor_~tmp___3~3#1, timeShift__wrappee__executivefloor_~tmp___4~2#1, timeShift__wrappee__executivefloor_~tmp___5~2#1, timeShift__wrappee__executivefloor_~tmp___6~2#1, timeShift__wrappee__executivefloor_~tmp___7~2#1, timeShift__wrappee__executivefloor_~tmp___8~2#1, timeShift__wrappee__executivefloor_~tmp___9~2#1;assume { :end_inline_timeShift__wrappee__executivefloor } true; 625810#L1702-1 assume { :begin_inline___utac_acc__Specification13_spec__2 } true;havoc __utac_acc__Specification13_spec__2_#t~ret137#1, __utac_acc__Specification13_spec__2_#t~ret138#1, __utac_acc__Specification13_spec__2_#t~ret139#1, __utac_acc__Specification13_spec__2_#t~ret140#1, __utac_acc__Specification13_spec__2_#t~ret141#1, __utac_acc__Specification13_spec__2_#t~ret142#1, __utac_acc__Specification13_spec__2_~tmp~30#1, __utac_acc__Specification13_spec__2_~tmp___0~13#1, __utac_acc__Specification13_spec__2_~tmp___1~8#1, __utac_acc__Specification13_spec__2_~tmp___2~6#1, __utac_acc__Specification13_spec__2_~tmp___3~5#1, __utac_acc__Specification13_spec__2_~tmp___4~3#1, __utac_acc__Specification13_spec__2_~__cil_tmp7~7#1, __utac_acc__Specification13_spec__2_~__cil_tmp8~8#1;havoc __utac_acc__Specification13_spec__2_~tmp~30#1;havoc __utac_acc__Specification13_spec__2_~tmp___0~13#1;havoc __utac_acc__Specification13_spec__2_~tmp___1~8#1;havoc __utac_acc__Specification13_spec__2_~tmp___2~6#1;havoc __utac_acc__Specification13_spec__2_~tmp___3~5#1;havoc __utac_acc__Specification13_spec__2_~tmp___4~3#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp7~7#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp8~8#1;__utac_acc__Specification13_spec__2_~__cil_tmp7~7#1 := 2 * ~maximumWeight~0;__utac_acc__Specification13_spec__2_~__cil_tmp8~8#1 := (if __utac_acc__Specification13_spec__2_~__cil_tmp7~7#1 < 0 && 0 != __utac_acc__Specification13_spec__2_~__cil_tmp7~7#1 % 3 then 1 + __utac_acc__Specification13_spec__2_~__cil_tmp7~7#1 / 3 else __utac_acc__Specification13_spec__2_~__cil_tmp7~7#1 / 3); 624307#L3236 assume ~weight~0 > __utac_acc__Specification13_spec__2_~__cil_tmp8~8#1; 624308#L3237 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~19#1, existInLiftCallsInDirection_~i~0#1, existInLiftCallsInDirection_~i___0~0#1;existInLiftCallsInDirection_~d#1 := existInLiftCallsInDirection_#in~d#1;havoc existInLiftCallsInDirection_~retValue_acc~19#1;havoc existInLiftCallsInDirection_~i~0#1;havoc existInLiftCallsInDirection_~i___0~0#1; 633783#L1922 assume !(1 == existInLiftCallsInDirection_~d#1); 635449#L1988 assume 0 == existInLiftCallsInDirection_~d#1;existInLiftCallsInDirection_~i___0~0#1 := 0;existInLiftCallsInDirection_~i___0~0#1 := ~currentFloorID~0 - 1; 631386#L1992-2 [2024-11-09 15:53:28,223 INFO L747 eck$LassoCheckResult]: Loop: 631386#L1992-2 assume !false; 626765#L1993 assume existInLiftCallsInDirection_~i___0~0#1 >= 0; 620832#L1994 existInLiftCallsInDirection_~i___0~0#1 := 1 + ~currentFloorID~0; 620833#L2001-2 assume !false; 626281#L2002 assume !(existInLiftCallsInDirection_~i___0~0#1 < 5); 631385#L2060 existInLiftCallsInDirection_~i___0~0#1 := existInLiftCallsInDirection_~i___0~0#1 - 1; 631386#L1992-2 [2024-11-09 15:53:28,223 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-09 15:53:28,223 INFO L85 PathProgramCache]: Analyzing trace with hash 401192103, now seen corresponding path program 1 times [2024-11-09 15:53:28,223 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-09 15:53:28,224 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1802886569] [2024-11-09 15:53:28,224 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-09 15:53:28,224 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-09 15:53:28,250 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-09 15:53:28,368 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-11-09 15:53:28,368 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-09 15:53:28,368 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1802886569] [2024-11-09 15:53:28,369 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1802886569] provided 1 perfect and 0 imperfect interpolant sequences [2024-11-09 15:53:28,369 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-11-09 15:53:28,369 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2024-11-09 15:53:28,369 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [434243794] [2024-11-09 15:53:28,369 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-11-09 15:53:28,369 INFO L750 eck$LassoCheckResult]: stem already infeasible [2024-11-09 15:53:28,370 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-09 15:53:28,370 INFO L85 PathProgramCache]: Analyzing trace with hash 954762475, now seen corresponding path program 9 times [2024-11-09 15:53:28,370 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-09 15:53:28,370 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [881585900] [2024-11-09 15:53:28,370 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-09 15:53:28,370 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-09 15:53:28,385 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-09 15:53:28,385 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-09 15:53:28,386 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-09 15:53:28,396 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-09 15:53:28,419 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-09 15:53:28,420 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2024-11-09 15:53:28,420 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=14, Invalid=42, Unknown=0, NotChecked=0, Total=56 [2024-11-09 15:53:28,420 INFO L87 Difference]: Start difference. First operand 28976 states and 54060 transitions. cyclomatic complexity: 25158 Second operand has 8 states, 8 states have (on average 9.0) internal successors, (72), 7 states have internal predecessors, (72), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-09 15:53:29,382 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-09 15:53:29,382 INFO L93 Difference]: Finished difference Result 28268 states and 52291 transitions. [2024-11-09 15:53:29,382 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 28268 states and 52291 transitions. [2024-11-09 15:53:29,479 INFO L131 ngComponentsAnalysis]: Automaton has 122 accepting balls. 8500 [2024-11-09 15:53:29,553 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 28268 states to 28268 states and 52291 transitions. [2024-11-09 15:53:29,554 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 28019 [2024-11-09 15:53:29,573 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 28019 [2024-11-09 15:53:29,574 INFO L73 IsDeterministic]: Start isDeterministic. Operand 28268 states and 52291 transitions. [2024-11-09 15:53:29,574 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-11-09 15:53:29,574 INFO L218 hiAutomatonCegarLoop]: Abstraction has 28268 states and 52291 transitions. [2024-11-09 15:53:29,600 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 28268 states and 52291 transitions. [2024-11-09 15:53:29,814 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 28268 to 28268. [2024-11-09 15:53:29,845 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 28268 states, 28268 states have (on average 1.8498301966888355) internal successors, (52291), 28267 states have internal predecessors, (52291), 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-09 15:53:29,894 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28268 states to 28268 states and 52291 transitions. [2024-11-09 15:53:29,894 INFO L240 hiAutomatonCegarLoop]: Abstraction has 28268 states and 52291 transitions. [2024-11-09 15:53:29,895 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2024-11-09 15:53:29,895 INFO L425 stractBuchiCegarLoop]: Abstraction has 28268 states and 52291 transitions. [2024-11-09 15:53:29,895 INFO L332 stractBuchiCegarLoop]: ======== Iteration 13 ============ [2024-11-09 15:53:29,895 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 28268 states and 52291 transitions. [2024-11-09 15:53:29,965 INFO L131 ngComponentsAnalysis]: Automaton has 122 accepting balls. 8500 [2024-11-09 15:53:29,965 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-09 15:53:29,965 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-09 15:53:29,966 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] [2024-11-09 15:53:29,966 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1] [2024-11-09 15:53:29,966 INFO L745 eck$LassoCheckResult]: Stem: 686050#$Ultimate##0 assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int#0(48, 1, 0, 1);call write~init~int#0(0, 1, 1, 1);call #Ultimate.allocInit(32, 2);call #Ultimate.allocInit(12, 3);call #Ultimate.allocInit(30, 4);call #Ultimate.allocInit(9, 5);call #Ultimate.allocInit(21, 6);call #Ultimate.allocInit(30, 7);call #Ultimate.allocInit(9, 8);call #Ultimate.allocInit(21, 9);call #Ultimate.allocInit(30, 10);call #Ultimate.allocInit(9, 11);call #Ultimate.allocInit(25, 12);call #Ultimate.allocInit(30, 13);call #Ultimate.allocInit(9, 14);call #Ultimate.allocInit(25, 15);call #Ultimate.allocInit(10, 16);call #Ultimate.allocInit(4, 17);call write~init~int#5(91, 17, 0, 1);call write~init~int#5(95, 17, 1, 1);call write~init~int#5(93, 17, 2, 1);call write~init~int#5(0, 17, 3, 1);call #Ultimate.allocInit(4, 18);call write~init~int#6(91, 18, 0, 1);call write~init~int#6(93, 18, 1, 1);call write~init~int#6(32, 18, 2, 1);call write~init~int#6(0, 18, 3, 1);call #Ultimate.allocInit(5, 19);call write~init~int#7(32, 19, 0, 1);call write~init~int#7(97, 19, 1, 1);call write~init~int#7(116, 19, 2, 1);call write~init~int#7(32, 19, 3, 1);call write~init~int#7(0, 19, 4, 1);call #Ultimate.allocInit(3, 20);call write~init~int#8(37, 20, 0, 1);call write~init~int#8(105, 20, 1, 1);call write~init~int#8(0, 20, 2, 1);call #Ultimate.allocInit(10, 21);call #Ultimate.allocInit(3, 22);call write~init~int#9(117, 22, 0, 1);call write~init~int#9(112, 22, 1, 1);call write~init~int#9(0, 22, 2, 1);call #Ultimate.allocInit(5, 23);call write~init~int#10(100, 23, 0, 1);call write~init~int#10(111, 23, 1, 1);call write~init~int#10(119, 23, 2, 1);call write~init~int#10(110, 23, 3, 1);call write~init~int#10(0, 23, 4, 1);call #Ultimate.allocInit(7, 24);call write~init~int#11(32, 24, 0, 1);call write~init~int#11(73, 24, 1, 1);call write~init~int#11(76, 24, 2, 1);call write~init~int#11(95, 24, 3, 1);call write~init~int#11(112, 24, 4, 1);call write~init~int#11(58, 24, 5, 1);call write~init~int#11(0, 24, 6, 1);call #Ultimate.allocInit(4, 25);call write~init~int#12(32, 25, 0, 1);call write~init~int#12(37, 25, 1, 1);call write~init~int#12(105, 25, 2, 1);call write~init~int#12(0, 25, 3, 1);call #Ultimate.allocInit(4, 26);call write~init~int#13(32, 26, 0, 1);call write~init~int#13(37, 26, 1, 1);call write~init~int#13(105, 26, 2, 1);call write~init~int#13(0, 26, 3, 1);call #Ultimate.allocInit(4, 27);call write~init~int#14(32, 27, 0, 1);call write~init~int#14(37, 27, 1, 1);call write~init~int#14(105, 27, 2, 1);call write~init~int#14(0, 27, 3, 1);call #Ultimate.allocInit(4, 28);call write~init~int#15(32, 28, 0, 1);call write~init~int#15(37, 28, 1, 1);call write~init~int#15(105, 28, 2, 1);call write~init~int#15(0, 28, 3, 1);call #Ultimate.allocInit(4, 29);call write~init~int#16(32, 29, 0, 1);call write~init~int#16(37, 29, 1, 1);call write~init~int#16(105, 29, 2, 1);call write~init~int#16(0, 29, 3, 1);call #Ultimate.allocInit(6, 30);call write~init~int#17(32, 30, 0, 1);call write~init~int#17(70, 30, 1, 1);call write~init~int#17(95, 30, 2, 1);call write~init~int#17(112, 30, 3, 1);call write~init~int#17(58, 30, 4, 1);call write~init~int#17(0, 30, 5, 1);call #Ultimate.allocInit(4, 31);call write~init~int#18(32, 31, 0, 1);call write~init~int#18(37, 31, 1, 1);call write~init~int#18(105, 31, 2, 1);call write~init~int#18(0, 31, 3, 1);call #Ultimate.allocInit(4, 32);call write~init~int#19(32, 32, 0, 1);call write~init~int#19(37, 32, 1, 1);call write~init~int#19(105, 32, 2, 1);call write~init~int#19(0, 32, 3, 1);call #Ultimate.allocInit(4, 33);call write~init~int#1(32, 33, 0, 1);call write~init~int#1(37, 33, 1, 1);call write~init~int#1(105, 33, 2, 1);call write~init~int#1(0, 33, 3, 1);call #Ultimate.allocInit(4, 34);call write~init~int#2(32, 34, 0, 1);call write~init~int#2(37, 34, 1, 1);call write~init~int#2(105, 34, 2, 1);call write~init~int#2(0, 34, 3, 1);call #Ultimate.allocInit(4, 35);call write~init~int#3(32, 35, 0, 1);call write~init~int#3(37, 35, 1, 1);call write~init~int#3(105, 35, 2, 1);call write~init~int#3(0, 35, 3, 1);call #Ultimate.allocInit(2, 36);call write~init~int#4(10, 36, 0, 1);call write~init~int#4(0, 36, 1, 1);call #Ultimate.allocInit(9, 37);~head~0.base, ~head~0.offset := 0, 0;~weight~0 := 0;~maximumWeight~0 := 100;~executiveFloor~0 := 4;~blocked~0 := 0;~currentHeading~0 := 1;~currentFloorID~0 := 0;~persons_0~0 := 0;~persons_1~0 := 0;~persons_2~0 := 0;~persons_3~0 := 0;~persons_4~0 := 0;~persons_5~0 := 0;~doorState~0 := 1;~floorButtons_0~0 := 0;~floorButtons_1~0 := 0;~floorButtons_2~0 := 0;~floorButtons_3~0 := 0;~floorButtons_4~0 := 0;~cleanupTimeShifts~0 := 12;~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;~prevDir~0 := 0; 685724#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret129#1, main_~retValue_acc~23#1, main_~tmp~27#1;havoc main_~retValue_acc~23#1;havoc main_~tmp~27#1;assume { :begin_inline_select_helpers } true; 685725#select_helpers_returnLabel#1 assume { :end_inline_select_helpers } true;assume { :begin_inline_select_features } true; 694340#select_features_returnLabel#1 assume { :end_inline_select_features } true;assume { :begin_inline_valid_product } true;havoc valid_product_#res#1;havoc valid_product_~retValue_acc~31#1;havoc valid_product_~retValue_acc~31#1;valid_product_~retValue_acc~31#1 := 1;valid_product_#res#1 := valid_product_~retValue_acc~31#1; 691261#valid_product_returnLabel#1 main_#t~ret129#1 := valid_product_#res#1;havoc valid_product_~retValue_acc~31#1;assume { :end_inline_valid_product } true;main_~tmp~27#1 := main_#t~ret129#1;havoc main_#t~ret129#1; 691262#L2436 assume 0 != main_~tmp~27#1;assume { :begin_inline_setup } true; 691828#setup_returnLabel#1 assume { :end_inline_setup } true;assume { :begin_inline_runTest } true;assume { :begin_inline_test } true;assume { :begin_inline_aliceCall } true;havoc aliceCall_#t~ret118#1, aliceCall_~tmp~20#1;havoc aliceCall_~tmp~20#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 1;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~28#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~28#1; 691829#L3343 assume !(0 == getOrigin_~person#1); 692177#L3347 assume 1 == getOrigin_~person#1;getOrigin_~retValue_acc~28#1 := 3;getOrigin_#res#1 := getOrigin_~retValue_acc~28#1; 682739#getOrigin_returnLabel#1 aliceCall_#t~ret118#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~28#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;aliceCall_~tmp~20#1 := aliceCall_#t~ret118#1;havoc aliceCall_#t~ret118#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 1, aliceCall_~tmp~20#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 682740#L2903 assume !(0 == initPersonOnFloor_~floor#1); 688558#L2930 assume !(1 == initPersonOnFloor_~floor#1); 686572#L2957 assume !(2 == initPersonOnFloor_~floor#1); 686573#L2984 assume 3 == initPersonOnFloor_~floor#1; 688432#L2985 assume !(0 == initPersonOnFloor_~person#1); 691244#L2988 assume 1 == initPersonOnFloor_~person#1;~personOnFloor_1_3~0 := 1; 680513#L3011-1 assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 685827#L2695 assume !(0 == callOnFloor_~floorID#1); 685828#L2698 assume !(1 == callOnFloor_~floorID#1); 685608#L2701 assume !(2 == callOnFloor_~floorID#1); 685609#L2704 assume 3 == callOnFloor_~floorID#1;~calls_3~0 := 1; 684887#L2707-2 havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true; 690137#initPersonOnFloor_returnLabel#1 havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true; 691466#aliceCall_returnLabel#1 havoc aliceCall_#t~ret118#1, aliceCall_~tmp~20#1;assume { :end_inline_aliceCall } true;assume { :begin_inline_angelinaCall } true;havoc angelinaCall_#t~ret119#1, angelinaCall_~tmp~21#1;havoc angelinaCall_~tmp~21#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 2;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~28#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~28#1; 694326#L3343-1 assume !(0 == getOrigin_~person#1); 694526#L3347-1 assume !(1 == getOrigin_~person#1); 680599#L3351-1 assume 2 == getOrigin_~person#1;getOrigin_~retValue_acc~28#1 := 2;getOrigin_#res#1 := getOrigin_~retValue_acc~28#1; 680600#getOrigin_returnLabel#2 angelinaCall_#t~ret119#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~28#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;angelinaCall_~tmp~21#1 := angelinaCall_#t~ret119#1;havoc angelinaCall_#t~ret119#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 2, angelinaCall_~tmp~21#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 686126#L2903-1 assume !(0 == initPersonOnFloor_~floor#1); 686127#L2930-1 assume !(1 == initPersonOnFloor_~floor#1); 691607#L2957-1 assume 2 == initPersonOnFloor_~floor#1; 683125#L2958-2 assume !(0 == initPersonOnFloor_~person#1); 677961#L2961-2 assume !(1 == initPersonOnFloor_~person#1); 677962#L2964-2 assume 2 == initPersonOnFloor_~person#1;~personOnFloor_2_2~0 := 1; 686455#L3011-3 assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 694727#L2695-2 assume !(0 == callOnFloor_~floorID#1); 694726#L2698-2 assume !(1 == callOnFloor_~floorID#1); 694725#L2701-2 assume 2 == callOnFloor_~floorID#1;~calls_2~0 := 1; 691413#L2707-5 havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true; 683956#initPersonOnFloor_returnLabel#2 havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true; 683957#angelinaCall_returnLabel#1 havoc angelinaCall_#t~ret119#1, angelinaCall_~tmp~21#1;assume { :end_inline_angelinaCall } true;assume { :begin_inline_threeTS } true;assume { :begin_inline_timeShift } true;havoc timeShift_#t~ret86#1, timeShift_~tmp~16#1;havoc timeShift_~tmp~16#1;assume { :begin_inline___utac_acc__Specification13_spec__1 } true;havoc __utac_acc__Specification13_spec__1_#t~ret136#1;assume { :begin_inline_getCurrentHeading } true;havoc getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~7#1;havoc getCurrentHeading_~retValue_acc~7#1;getCurrentHeading_~retValue_acc~7#1 := ~currentHeading~0;getCurrentHeading_#res#1 := getCurrentHeading_~retValue_acc~7#1; 688801#getCurrentHeading_returnLabel#1 __utac_acc__Specification13_spec__1_#t~ret136#1 := getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~7#1;assume { :end_inline_getCurrentHeading } true;~prevDir~0 := __utac_acc__Specification13_spec__1_#t~ret136#1;havoc __utac_acc__Specification13_spec__1_#t~ret136#1; 688802#__utac_acc__Specification13_spec__1_returnLabel#1 havoc __utac_acc__Specification13_spec__1_#t~ret136#1;assume { :end_inline___utac_acc__Specification13_spec__1 } true;assume { :begin_inline_areDoorsOpen } true;havoc areDoorsOpen_#res#1;havoc areDoorsOpen_~retValue_acc~5#1;havoc areDoorsOpen_~retValue_acc~5#1;areDoorsOpen_~retValue_acc~5#1 := ~doorState~0;areDoorsOpen_#res#1 := areDoorsOpen_~retValue_acc~5#1; 692995#areDoorsOpen_returnLabel#1 timeShift_#t~ret86#1 := areDoorsOpen_#res#1;havoc areDoorsOpen_~retValue_acc~5#1;assume { :end_inline_areDoorsOpen } true;timeShift_~tmp~16#1 := timeShift_#t~ret86#1;havoc timeShift_#t~ret86#1; 693764#L1702 assume 0 != timeShift_~tmp~16#1; 690498#L1703 assume !(~weight~0 > ~maximumWeight~0);~blocked~0 := 0;assume { :begin_inline_timeShift__wrappee__executivefloor } true;havoc timeShift__wrappee__executivefloor_#t~ret75#1, timeShift__wrappee__executivefloor_#t~ret76#1, timeShift__wrappee__executivefloor_#t~ret77#1, timeShift__wrappee__executivefloor_#t~ret78#1, timeShift__wrappee__executivefloor_#t~ret79#1, timeShift__wrappee__executivefloor_#t~ret80#1, timeShift__wrappee__executivefloor_#t~ret81#1, timeShift__wrappee__executivefloor_#t~ret82#1, timeShift__wrappee__executivefloor_#t~ret83#1, timeShift__wrappee__executivefloor_#t~ret84#1, timeShift__wrappee__executivefloor_#t~ret85#1, timeShift__wrappee__executivefloor_~tmp~15#1, timeShift__wrappee__executivefloor_~tmp___0~7#1, timeShift__wrappee__executivefloor_~tmp___1~3#1, timeShift__wrappee__executivefloor_~tmp___2~3#1, timeShift__wrappee__executivefloor_~tmp___3~3#1, timeShift__wrappee__executivefloor_~tmp___4~2#1, timeShift__wrappee__executivefloor_~tmp___5~2#1, timeShift__wrappee__executivefloor_~tmp___6~2#1, timeShift__wrappee__executivefloor_~tmp___7~2#1, timeShift__wrappee__executivefloor_~tmp___8~2#1, timeShift__wrappee__executivefloor_~tmp___9~2#1;havoc timeShift__wrappee__executivefloor_~tmp~15#1;havoc timeShift__wrappee__executivefloor_~tmp___0~7#1;havoc timeShift__wrappee__executivefloor_~tmp___1~3#1;havoc timeShift__wrappee__executivefloor_~tmp___2~3#1;havoc timeShift__wrappee__executivefloor_~tmp___3~3#1;havoc timeShift__wrappee__executivefloor_~tmp___4~2#1;havoc timeShift__wrappee__executivefloor_~tmp___5~2#1;havoc timeShift__wrappee__executivefloor_~tmp___6~2#1;havoc timeShift__wrappee__executivefloor_~tmp___7~2#1;havoc timeShift__wrappee__executivefloor_~tmp___8~2#1;havoc timeShift__wrappee__executivefloor_~tmp___9~2#1;assume { :begin_inline_stopRequestedAtCurrentFloor } true;havoc stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret59#1, stopRequestedAtCurrentFloor_#t~ret60#1, stopRequestedAtCurrentFloor_#t~ret61#1, stopRequestedAtCurrentFloor_#t~ret62#1, stopRequestedAtCurrentFloor_~retValue_acc~17#1, stopRequestedAtCurrentFloor_~tmp~13#1, stopRequestedAtCurrentFloor_~tmp___0~5#1;havoc stopRequestedAtCurrentFloor_~retValue_acc~17#1;havoc stopRequestedAtCurrentFloor_~tmp~13#1;havoc stopRequestedAtCurrentFloor_~tmp___0~5#1;assume { :begin_inline_isExecutiveFloorCalling } true;havoc isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret115#1, isExecutiveFloorCalling_~retValue_acc~20#1;havoc isExecutiveFloorCalling_~retValue_acc~20#1;assume { :begin_inline_isFloorCalling } true;isFloorCalling_#in~floorID#1 := ~executiveFloor~0;havoc isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~24#1;isFloorCalling_~floorID#1 := isFloorCalling_#in~floorID#1;havoc isFloorCalling_~retValue_acc~24#1; 690499#L2632 assume 0 == isFloorCalling_~floorID#1;isFloorCalling_~retValue_acc~24#1 := ~calls_0~0;isFloorCalling_#res#1 := isFloorCalling_~retValue_acc~24#1; 680451#isFloorCalling_returnLabel#1 isExecutiveFloorCalling_#t~ret115#1 := isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~24#1;havoc isFloorCalling_#in~floorID#1;assume { :end_inline_isFloorCalling } true;isExecutiveFloorCalling_~retValue_acc~20#1 := isExecutiveFloorCalling_#t~ret115#1;havoc isExecutiveFloorCalling_#t~ret115#1;isExecutiveFloorCalling_#res#1 := isExecutiveFloorCalling_~retValue_acc~20#1; 688776#isExecutiveFloorCalling_returnLabel#1 stopRequestedAtCurrentFloor_#t~ret59#1 := isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret115#1, isExecutiveFloorCalling_~retValue_acc~20#1;assume { :end_inline_isExecutiveFloorCalling } true;stopRequestedAtCurrentFloor_~tmp~13#1 := stopRequestedAtCurrentFloor_#t~ret59#1;havoc stopRequestedAtCurrentFloor_#t~ret59#1; 690234#L1417 assume 0 != stopRequestedAtCurrentFloor_~tmp~13#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~4#1;havoc getCurrentFloorID_~retValue_acc~4#1;getCurrentFloorID_~retValue_acc~4#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~4#1; 684076#getCurrentFloorID_returnLabel#1 stopRequestedAtCurrentFloor_#t~ret60#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~4#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedAtCurrentFloor_~tmp___0~5#1 := stopRequestedAtCurrentFloor_#t~ret60#1;havoc stopRequestedAtCurrentFloor_#t~ret60#1; 678538#L1421 assume !(~executiveFloor~0 == stopRequestedAtCurrentFloor_~tmp___0~5#1);stopRequestedAtCurrentFloor_~retValue_acc~17#1 := 0;stopRequestedAtCurrentFloor_#res#1 := stopRequestedAtCurrentFloor_~retValue_acc~17#1; 678403#stopRequestedAtCurrentFloor_returnLabel#1 timeShift__wrappee__executivefloor_#t~ret75#1 := stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret59#1, stopRequestedAtCurrentFloor_#t~ret60#1, stopRequestedAtCurrentFloor_#t~ret61#1, stopRequestedAtCurrentFloor_#t~ret62#1, stopRequestedAtCurrentFloor_~retValue_acc~17#1, stopRequestedAtCurrentFloor_~tmp~13#1, stopRequestedAtCurrentFloor_~tmp___0~5#1;assume { :end_inline_stopRequestedAtCurrentFloor } true;timeShift__wrappee__executivefloor_~tmp___9~2#1 := timeShift__wrappee__executivefloor_#t~ret75#1;havoc timeShift__wrappee__executivefloor_#t~ret75#1; 678404#L1569 assume !(0 != timeShift__wrappee__executivefloor_~tmp___9~2#1); 693921#L1660 assume 1 == ~doorState~0;~doorState~0 := 0; 693404#L1660-2 assume { :begin_inline_stopRequestedInDirection } true;stopRequestedInDirection_#in~dir#1, stopRequestedInDirection_#in~respectFloorCalls#1, stopRequestedInDirection_#in~respectInLiftCalls#1 := ~currentHeading~0, 1, 1;havoc stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret50#1, stopRequestedInDirection_#t~ret51#1, stopRequestedInDirection_#t~ret52#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~13#1, stopRequestedInDirection_~tmp~9#1, stopRequestedInDirection_~tmp___0~2#1, stopRequestedInDirection_~__cil_tmp7~5#1, stopRequestedInDirection_~__cil_tmp8~6#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~13#1;havoc stopRequestedInDirection_~tmp~9#1;havoc stopRequestedInDirection_~tmp___0~2#1;havoc stopRequestedInDirection_~__cil_tmp7~5#1;havoc stopRequestedInDirection_~__cil_tmp8~6#1;assume { :begin_inline_isExecutiveFloorCalling } true;havoc isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret115#1, isExecutiveFloorCalling_~retValue_acc~20#1;havoc isExecutiveFloorCalling_~retValue_acc~20#1;assume { :begin_inline_isFloorCalling } true;isFloorCalling_#in~floorID#1 := ~executiveFloor~0;havoc isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~24#1;isFloorCalling_~floorID#1 := isFloorCalling_#in~floorID#1;havoc isFloorCalling_~retValue_acc~24#1; 693405#L2632-3 assume 0 == isFloorCalling_~floorID#1;isFloorCalling_~retValue_acc~24#1 := ~calls_0~0;isFloorCalling_#res#1 := isFloorCalling_~retValue_acc~24#1; 679602#isFloorCalling_returnLabel#4 isExecutiveFloorCalling_#t~ret115#1 := isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~24#1;havoc isFloorCalling_#in~floorID#1;assume { :end_inline_isFloorCalling } true;isExecutiveFloorCalling_~retValue_acc~20#1 := isExecutiveFloorCalling_#t~ret115#1;havoc isExecutiveFloorCalling_#t~ret115#1;isExecutiveFloorCalling_#res#1 := isExecutiveFloorCalling_~retValue_acc~20#1; 692546#isExecutiveFloorCalling_returnLabel#2 stopRequestedInDirection_#t~ret50#1 := isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret115#1, isExecutiveFloorCalling_~retValue_acc~20#1;assume { :end_inline_isExecutiveFloorCalling } true;stopRequestedInDirection_~tmp___0~2#1 := stopRequestedInDirection_#t~ret50#1;havoc stopRequestedInDirection_#t~ret50#1; 693868#L1272 assume 0 != stopRequestedInDirection_~tmp___0~2#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~4#1;havoc getCurrentFloorID_~retValue_acc~4#1;getCurrentFloorID_~retValue_acc~4#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~4#1; 694488#getCurrentFloorID_returnLabel#4 stopRequestedInDirection_#t~ret51#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~4#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedInDirection_~tmp~9#1 := stopRequestedInDirection_#t~ret51#1;havoc stopRequestedInDirection_#t~ret51#1;stopRequestedInDirection_~__cil_tmp7~5#1 := (if 1 == stopRequestedInDirection_~dir#1 then 1 else 0);stopRequestedInDirection_~__cil_tmp8~6#1 := (if stopRequestedInDirection_~tmp~9#1 < ~executiveFloor~0 then 1 else 0);stopRequestedInDirection_~retValue_acc~13#1 := (if stopRequestedInDirection_~__cil_tmp8~6#1 == stopRequestedInDirection_~__cil_tmp7~5#1 then 1 else 0);stopRequestedInDirection_#res#1 := stopRequestedInDirection_~retValue_acc~13#1; 691890#stopRequestedInDirection_returnLabel#1 timeShift__wrappee__executivefloor_#t~ret82#1 := stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret50#1, stopRequestedInDirection_#t~ret51#1, stopRequestedInDirection_#t~ret52#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~13#1, stopRequestedInDirection_~tmp~9#1, stopRequestedInDirection_~tmp___0~2#1, stopRequestedInDirection_~__cil_tmp7~5#1, stopRequestedInDirection_~__cil_tmp8~6#1;havoc stopRequestedInDirection_#in~dir#1, stopRequestedInDirection_#in~respectFloorCalls#1, stopRequestedInDirection_#in~respectInLiftCalls#1;assume { :end_inline_stopRequestedInDirection } true;timeShift__wrappee__executivefloor_~tmp___8~2#1 := timeShift__wrappee__executivefloor_#t~ret82#1;havoc timeShift__wrappee__executivefloor_#t~ret82#1; 685586#L1668 assume 0 != timeShift__wrappee__executivefloor_~tmp___8~2#1;assume { :begin_inline_continueInDirection } true;continueInDirection_#in~dir#1 := ~currentHeading~0;havoc continueInDirection_#t~ret53#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; 685588#L1329 assume !(1 == ~currentHeading~0); 680070#L1339 assume !(0 == ~currentFloorID~0); 680071#L1339-2 assume !(1 == ~currentHeading~0);~currentFloorID~0 := ~currentFloorID~0 - 1; 681663#L1345-1 havoc continueInDirection_#t~ret53#1, continueInDirection_~dir#1, continueInDirection_~tmp~10#1;havoc continueInDirection_#in~dir#1;assume { :end_inline_continueInDirection } true; 690471#L1677-2 havoc timeShift__wrappee__executivefloor_#t~ret75#1, timeShift__wrappee__executivefloor_#t~ret76#1, timeShift__wrappee__executivefloor_#t~ret77#1, timeShift__wrappee__executivefloor_#t~ret78#1, timeShift__wrappee__executivefloor_#t~ret79#1, timeShift__wrappee__executivefloor_#t~ret80#1, timeShift__wrappee__executivefloor_#t~ret81#1, timeShift__wrappee__executivefloor_#t~ret82#1, timeShift__wrappee__executivefloor_#t~ret83#1, timeShift__wrappee__executivefloor_#t~ret84#1, timeShift__wrappee__executivefloor_#t~ret85#1, timeShift__wrappee__executivefloor_~tmp~15#1, timeShift__wrappee__executivefloor_~tmp___0~7#1, timeShift__wrappee__executivefloor_~tmp___1~3#1, timeShift__wrappee__executivefloor_~tmp___2~3#1, timeShift__wrappee__executivefloor_~tmp___3~3#1, timeShift__wrappee__executivefloor_~tmp___4~2#1, timeShift__wrappee__executivefloor_~tmp___5~2#1, timeShift__wrappee__executivefloor_~tmp___6~2#1, timeShift__wrappee__executivefloor_~tmp___7~2#1, timeShift__wrappee__executivefloor_~tmp___8~2#1, timeShift__wrappee__executivefloor_~tmp___9~2#1;assume { :end_inline_timeShift__wrappee__executivefloor } true; 694575#L1702-1 assume { :begin_inline___utac_acc__Specification13_spec__2 } true;havoc __utac_acc__Specification13_spec__2_#t~ret137#1, __utac_acc__Specification13_spec__2_#t~ret138#1, __utac_acc__Specification13_spec__2_#t~ret139#1, __utac_acc__Specification13_spec__2_#t~ret140#1, __utac_acc__Specification13_spec__2_#t~ret141#1, __utac_acc__Specification13_spec__2_#t~ret142#1, __utac_acc__Specification13_spec__2_~tmp~30#1, __utac_acc__Specification13_spec__2_~tmp___0~13#1, __utac_acc__Specification13_spec__2_~tmp___1~8#1, __utac_acc__Specification13_spec__2_~tmp___2~6#1, __utac_acc__Specification13_spec__2_~tmp___3~5#1, __utac_acc__Specification13_spec__2_~tmp___4~3#1, __utac_acc__Specification13_spec__2_~__cil_tmp7~7#1, __utac_acc__Specification13_spec__2_~__cil_tmp8~8#1;havoc __utac_acc__Specification13_spec__2_~tmp~30#1;havoc __utac_acc__Specification13_spec__2_~tmp___0~13#1;havoc __utac_acc__Specification13_spec__2_~tmp___1~8#1;havoc __utac_acc__Specification13_spec__2_~tmp___2~6#1;havoc __utac_acc__Specification13_spec__2_~tmp___3~5#1;havoc __utac_acc__Specification13_spec__2_~tmp___4~3#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp7~7#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp8~8#1;__utac_acc__Specification13_spec__2_~__cil_tmp7~7#1 := 2 * ~maximumWeight~0;__utac_acc__Specification13_spec__2_~__cil_tmp8~8#1 := (if __utac_acc__Specification13_spec__2_~__cil_tmp7~7#1 < 0 && 0 != __utac_acc__Specification13_spec__2_~__cil_tmp7~7#1 % 3 then 1 + __utac_acc__Specification13_spec__2_~__cil_tmp7~7#1 / 3 else __utac_acc__Specification13_spec__2_~__cil_tmp7~7#1 / 3); 694568#L3236 assume ~weight~0 > __utac_acc__Specification13_spec__2_~__cil_tmp8~8#1; 694569#L3237 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~19#1, existInLiftCallsInDirection_~i~0#1, existInLiftCallsInDirection_~i___0~0#1;existInLiftCallsInDirection_~d#1 := existInLiftCallsInDirection_#in~d#1;havoc existInLiftCallsInDirection_~retValue_acc~19#1;havoc existInLiftCallsInDirection_~i~0#1;havoc existInLiftCallsInDirection_~i___0~0#1; 694574#L1922 assume !(1 == existInLiftCallsInDirection_~d#1); 694691#L1988 assume 0 == existInLiftCallsInDirection_~d#1;existInLiftCallsInDirection_~i___0~0#1 := 0;existInLiftCallsInDirection_~i___0~0#1 := ~currentFloorID~0 - 1; 694692#L1992-2 [2024-11-09 15:53:29,967 INFO L747 eck$LassoCheckResult]: Loop: 694692#L1992-2 assume !false; 694689#L1993 assume existInLiftCallsInDirection_~i___0~0#1 >= 0; 694690#L1994 existInLiftCallsInDirection_~i___0~0#1 := 1 + ~currentFloorID~0; 694683#L2001-2 assume !false; 694681#L2002 assume !(existInLiftCallsInDirection_~i___0~0#1 < 5); 694682#L2060 existInLiftCallsInDirection_~i___0~0#1 := existInLiftCallsInDirection_~i___0~0#1 - 1; 694692#L1992-2 [2024-11-09 15:53:29,967 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-09 15:53:29,967 INFO L85 PathProgramCache]: Analyzing trace with hash 886367810, now seen corresponding path program 1 times [2024-11-09 15:53:29,968 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-09 15:53:29,968 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [681381796] [2024-11-09 15:53:29,968 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-09 15:53:29,968 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-09 15:53:29,995 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-09 15:53:30,061 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-09 15:53:30,062 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-09 15:53:30,062 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [681381796] [2024-11-09 15:53:30,062 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [681381796] provided 1 perfect and 0 imperfect interpolant sequences [2024-11-09 15:53:30,062 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-11-09 15:53:30,062 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2024-11-09 15:53:30,063 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1028733091] [2024-11-09 15:53:30,063 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-11-09 15:53:30,063 INFO L750 eck$LassoCheckResult]: stem already infeasible [2024-11-09 15:53:30,064 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-09 15:53:30,064 INFO L85 PathProgramCache]: Analyzing trace with hash 954762475, now seen corresponding path program 10 times [2024-11-09 15:53:30,064 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-09 15:53:30,064 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [905207258] [2024-11-09 15:53:30,064 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-09 15:53:30,064 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-09 15:53:30,079 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-09 15:53:30,080 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-09 15:53:30,081 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-09 15:53:30,089 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-09 15:53:30,107 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-09 15:53:30,108 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2024-11-09 15:53:30,108 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2024-11-09 15:53:30,108 INFO L87 Difference]: Start difference. First operand 28268 states and 52291 transitions. cyclomatic complexity: 24157 Second operand has 4 states, 4 states have (on average 18.25) internal successors, (73), 3 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-09 15:53:35,894 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-09 15:53:35,895 INFO L93 Difference]: Finished difference Result 28268 states and 51036 transitions. [2024-11-09 15:53:35,895 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 28268 states and 51036 transitions. [2024-11-09 15:53:35,992 INFO L131 ngComponentsAnalysis]: Automaton has 122 accepting balls. 8500 [2024-11-09 15:53:36,300 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 28268 states to 28268 states and 51036 transitions. [2024-11-09 15:53:36,300 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 28019 [2024-11-09 15:53:36,324 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 28019 [2024-11-09 15:53:36,324 INFO L73 IsDeterministic]: Start isDeterministic. Operand 28268 states and 51036 transitions. [2024-11-09 15:53:36,340 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-11-09 15:53:36,340 INFO L218 hiAutomatonCegarLoop]: Abstraction has 28268 states and 51036 transitions. [2024-11-09 15:53:36,374 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 28268 states and 51036 transitions. [2024-11-09 15:53:36,666 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 28268 to 28268. [2024-11-09 15:53:36,696 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 28268 states, 28268 states have (on average 1.8054337059572663) internal successors, (51036), 28267 states have internal predecessors, (51036), 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-09 15:53:36,757 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28268 states to 28268 states and 51036 transitions. [2024-11-09 15:53:36,757 INFO L240 hiAutomatonCegarLoop]: Abstraction has 28268 states and 51036 transitions. [2024-11-09 15:53:36,758 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2024-11-09 15:53:36,758 INFO L425 stractBuchiCegarLoop]: Abstraction has 28268 states and 51036 transitions. [2024-11-09 15:53:36,758 INFO L332 stractBuchiCegarLoop]: ======== Iteration 14 ============ [2024-11-09 15:53:36,758 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 28268 states and 51036 transitions. [2024-11-09 15:53:36,856 INFO L131 ngComponentsAnalysis]: Automaton has 122 accepting balls. 8500 [2024-11-09 15:53:36,856 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-09 15:53:36,856 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-09 15:53:36,857 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] [2024-11-09 15:53:36,857 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1] [2024-11-09 15:53:36,858 INFO L745 eck$LassoCheckResult]: Stem: 742551#$Ultimate##0 assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int#0(48, 1, 0, 1);call write~init~int#0(0, 1, 1, 1);call #Ultimate.allocInit(32, 2);call #Ultimate.allocInit(12, 3);call #Ultimate.allocInit(30, 4);call #Ultimate.allocInit(9, 5);call #Ultimate.allocInit(21, 6);call #Ultimate.allocInit(30, 7);call #Ultimate.allocInit(9, 8);call #Ultimate.allocInit(21, 9);call #Ultimate.allocInit(30, 10);call #Ultimate.allocInit(9, 11);call #Ultimate.allocInit(25, 12);call #Ultimate.allocInit(30, 13);call #Ultimate.allocInit(9, 14);call #Ultimate.allocInit(25, 15);call #Ultimate.allocInit(10, 16);call #Ultimate.allocInit(4, 17);call write~init~int#5(91, 17, 0, 1);call write~init~int#5(95, 17, 1, 1);call write~init~int#5(93, 17, 2, 1);call write~init~int#5(0, 17, 3, 1);call #Ultimate.allocInit(4, 18);call write~init~int#6(91, 18, 0, 1);call write~init~int#6(93, 18, 1, 1);call write~init~int#6(32, 18, 2, 1);call write~init~int#6(0, 18, 3, 1);call #Ultimate.allocInit(5, 19);call write~init~int#7(32, 19, 0, 1);call write~init~int#7(97, 19, 1, 1);call write~init~int#7(116, 19, 2, 1);call write~init~int#7(32, 19, 3, 1);call write~init~int#7(0, 19, 4, 1);call #Ultimate.allocInit(3, 20);call write~init~int#8(37, 20, 0, 1);call write~init~int#8(105, 20, 1, 1);call write~init~int#8(0, 20, 2, 1);call #Ultimate.allocInit(10, 21);call #Ultimate.allocInit(3, 22);call write~init~int#9(117, 22, 0, 1);call write~init~int#9(112, 22, 1, 1);call write~init~int#9(0, 22, 2, 1);call #Ultimate.allocInit(5, 23);call write~init~int#10(100, 23, 0, 1);call write~init~int#10(111, 23, 1, 1);call write~init~int#10(119, 23, 2, 1);call write~init~int#10(110, 23, 3, 1);call write~init~int#10(0, 23, 4, 1);call #Ultimate.allocInit(7, 24);call write~init~int#11(32, 24, 0, 1);call write~init~int#11(73, 24, 1, 1);call write~init~int#11(76, 24, 2, 1);call write~init~int#11(95, 24, 3, 1);call write~init~int#11(112, 24, 4, 1);call write~init~int#11(58, 24, 5, 1);call write~init~int#11(0, 24, 6, 1);call #Ultimate.allocInit(4, 25);call write~init~int#12(32, 25, 0, 1);call write~init~int#12(37, 25, 1, 1);call write~init~int#12(105, 25, 2, 1);call write~init~int#12(0, 25, 3, 1);call #Ultimate.allocInit(4, 26);call write~init~int#13(32, 26, 0, 1);call write~init~int#13(37, 26, 1, 1);call write~init~int#13(105, 26, 2, 1);call write~init~int#13(0, 26, 3, 1);call #Ultimate.allocInit(4, 27);call write~init~int#14(32, 27, 0, 1);call write~init~int#14(37, 27, 1, 1);call write~init~int#14(105, 27, 2, 1);call write~init~int#14(0, 27, 3, 1);call #Ultimate.allocInit(4, 28);call write~init~int#15(32, 28, 0, 1);call write~init~int#15(37, 28, 1, 1);call write~init~int#15(105, 28, 2, 1);call write~init~int#15(0, 28, 3, 1);call #Ultimate.allocInit(4, 29);call write~init~int#16(32, 29, 0, 1);call write~init~int#16(37, 29, 1, 1);call write~init~int#16(105, 29, 2, 1);call write~init~int#16(0, 29, 3, 1);call #Ultimate.allocInit(6, 30);call write~init~int#17(32, 30, 0, 1);call write~init~int#17(70, 30, 1, 1);call write~init~int#17(95, 30, 2, 1);call write~init~int#17(112, 30, 3, 1);call write~init~int#17(58, 30, 4, 1);call write~init~int#17(0, 30, 5, 1);call #Ultimate.allocInit(4, 31);call write~init~int#18(32, 31, 0, 1);call write~init~int#18(37, 31, 1, 1);call write~init~int#18(105, 31, 2, 1);call write~init~int#18(0, 31, 3, 1);call #Ultimate.allocInit(4, 32);call write~init~int#19(32, 32, 0, 1);call write~init~int#19(37, 32, 1, 1);call write~init~int#19(105, 32, 2, 1);call write~init~int#19(0, 32, 3, 1);call #Ultimate.allocInit(4, 33);call write~init~int#1(32, 33, 0, 1);call write~init~int#1(37, 33, 1, 1);call write~init~int#1(105, 33, 2, 1);call write~init~int#1(0, 33, 3, 1);call #Ultimate.allocInit(4, 34);call write~init~int#2(32, 34, 0, 1);call write~init~int#2(37, 34, 1, 1);call write~init~int#2(105, 34, 2, 1);call write~init~int#2(0, 34, 3, 1);call #Ultimate.allocInit(4, 35);call write~init~int#3(32, 35, 0, 1);call write~init~int#3(37, 35, 1, 1);call write~init~int#3(105, 35, 2, 1);call write~init~int#3(0, 35, 3, 1);call #Ultimate.allocInit(2, 36);call write~init~int#4(10, 36, 0, 1);call write~init~int#4(0, 36, 1, 1);call #Ultimate.allocInit(9, 37);~head~0.base, ~head~0.offset := 0, 0;~weight~0 := 0;~maximumWeight~0 := 100;~executiveFloor~0 := 4;~blocked~0 := 0;~currentHeading~0 := 1;~currentFloorID~0 := 0;~persons_0~0 := 0;~persons_1~0 := 0;~persons_2~0 := 0;~persons_3~0 := 0;~persons_4~0 := 0;~persons_5~0 := 0;~doorState~0 := 1;~floorButtons_0~0 := 0;~floorButtons_1~0 := 0;~floorButtons_2~0 := 0;~floorButtons_3~0 := 0;~floorButtons_4~0 := 0;~cleanupTimeShifts~0 := 12;~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;~prevDir~0 := 0; 742216#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret129#1, main_~retValue_acc~23#1, main_~tmp~27#1;havoc main_~retValue_acc~23#1;havoc main_~tmp~27#1;assume { :begin_inline_select_helpers } true; 742217#select_helpers_returnLabel#1 assume { :end_inline_select_helpers } true;assume { :begin_inline_select_features } true; 750851#select_features_returnLabel#1 assume { :end_inline_select_features } true;assume { :begin_inline_valid_product } true;havoc valid_product_#res#1;havoc valid_product_~retValue_acc~31#1;havoc valid_product_~retValue_acc~31#1;valid_product_~retValue_acc~31#1 := 1;valid_product_#res#1 := valid_product_~retValue_acc~31#1; 747748#valid_product_returnLabel#1 main_#t~ret129#1 := valid_product_#res#1;havoc valid_product_~retValue_acc~31#1;assume { :end_inline_valid_product } true;main_~tmp~27#1 := main_#t~ret129#1;havoc main_#t~ret129#1; 747749#L2436 assume 0 != main_~tmp~27#1;assume { :begin_inline_setup } true; 748320#setup_returnLabel#1 assume { :end_inline_setup } true;assume { :begin_inline_runTest } true;assume { :begin_inline_test } true;assume { :begin_inline_aliceCall } true;havoc aliceCall_#t~ret118#1, aliceCall_~tmp~20#1;havoc aliceCall_~tmp~20#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 1;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~28#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~28#1; 748321#L3343 assume !(0 == getOrigin_~person#1); 748663#L3347 assume 1 == getOrigin_~person#1;getOrigin_~retValue_acc~28#1 := 3;getOrigin_#res#1 := getOrigin_~retValue_acc~28#1; 739221#getOrigin_returnLabel#1 aliceCall_#t~ret118#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~28#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;aliceCall_~tmp~20#1 := aliceCall_#t~ret118#1;havoc aliceCall_#t~ret118#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 1, aliceCall_~tmp~20#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 739222#L2903 assume !(0 == initPersonOnFloor_~floor#1); 745049#L2930 assume !(1 == initPersonOnFloor_~floor#1); 743072#L2957 assume !(2 == initPersonOnFloor_~floor#1); 743073#L2984 assume 3 == initPersonOnFloor_~floor#1; 744923#L2985 assume !(0 == initPersonOnFloor_~person#1); 747732#L2988 assume 1 == initPersonOnFloor_~person#1;~personOnFloor_1_3~0 := 1; 737032#L3011-1 assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 742323#L2695 assume !(0 == callOnFloor_~floorID#1); 742324#L2698 assume !(1 == callOnFloor_~floorID#1); 742098#L2701 assume !(2 == callOnFloor_~floorID#1); 742099#L2704 assume 3 == callOnFloor_~floorID#1;~calls_3~0 := 1; 741375#L2707-2 havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true; 746631#initPersonOnFloor_returnLabel#1 havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true; 747956#aliceCall_returnLabel#1 havoc aliceCall_#t~ret118#1, aliceCall_~tmp~20#1;assume { :end_inline_aliceCall } true;assume { :begin_inline_angelinaCall } true;havoc angelinaCall_#t~ret119#1, angelinaCall_~tmp~21#1;havoc angelinaCall_~tmp~21#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 2;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~28#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~28#1; 750833#L3343-1 assume !(0 == getOrigin_~person#1); 751015#L3347-1 assume !(1 == getOrigin_~person#1); 737116#L3351-1 assume 2 == getOrigin_~person#1;getOrigin_~retValue_acc~28#1 := 2;getOrigin_#res#1 := getOrigin_~retValue_acc~28#1; 737117#getOrigin_returnLabel#2 angelinaCall_#t~ret119#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~28#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;angelinaCall_~tmp~21#1 := angelinaCall_#t~ret119#1;havoc angelinaCall_#t~ret119#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 2, angelinaCall_~tmp~21#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 742626#L2903-1 assume !(0 == initPersonOnFloor_~floor#1); 742627#L2930-1 assume !(1 == initPersonOnFloor_~floor#1); 748096#L2957-1 assume 2 == initPersonOnFloor_~floor#1; 739608#L2958-2 assume !(0 == initPersonOnFloor_~person#1); 734506#L2961-2 assume !(1 == initPersonOnFloor_~person#1); 734507#L2964-2 assume 2 == initPersonOnFloor_~person#1;~personOnFloor_2_2~0 := 1; 742954#L3011-3 assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 751213#L2695-2 assume !(0 == callOnFloor_~floorID#1); 751212#L2698-2 assume !(1 == callOnFloor_~floorID#1); 751211#L2701-2 assume 2 == callOnFloor_~floorID#1;~calls_2~0 := 1; 747904#L2707-5 havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true; 740439#initPersonOnFloor_returnLabel#2 havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true; 740440#angelinaCall_returnLabel#1 havoc angelinaCall_#t~ret119#1, angelinaCall_~tmp~21#1;assume { :end_inline_angelinaCall } true;assume { :begin_inline_threeTS } true;assume { :begin_inline_timeShift } true;havoc timeShift_#t~ret86#1, timeShift_~tmp~16#1;havoc timeShift_~tmp~16#1;assume { :begin_inline___utac_acc__Specification13_spec__1 } true;havoc __utac_acc__Specification13_spec__1_#t~ret136#1;assume { :begin_inline_getCurrentHeading } true;havoc getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~7#1;havoc getCurrentHeading_~retValue_acc~7#1;getCurrentHeading_~retValue_acc~7#1 := ~currentHeading~0;getCurrentHeading_#res#1 := getCurrentHeading_~retValue_acc~7#1; 745291#getCurrentHeading_returnLabel#1 __utac_acc__Specification13_spec__1_#t~ret136#1 := getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~7#1;assume { :end_inline_getCurrentHeading } true;~prevDir~0 := __utac_acc__Specification13_spec__1_#t~ret136#1;havoc __utac_acc__Specification13_spec__1_#t~ret136#1; 745292#__utac_acc__Specification13_spec__1_returnLabel#1 havoc __utac_acc__Specification13_spec__1_#t~ret136#1;assume { :end_inline___utac_acc__Specification13_spec__1 } true;assume { :begin_inline_areDoorsOpen } true;havoc areDoorsOpen_#res#1;havoc areDoorsOpen_~retValue_acc~5#1;havoc areDoorsOpen_~retValue_acc~5#1;areDoorsOpen_~retValue_acc~5#1 := ~doorState~0;areDoorsOpen_#res#1 := areDoorsOpen_~retValue_acc~5#1; 749499#areDoorsOpen_returnLabel#1 timeShift_#t~ret86#1 := areDoorsOpen_#res#1;havoc areDoorsOpen_~retValue_acc~5#1;assume { :end_inline_areDoorsOpen } true;timeShift_~tmp~16#1 := timeShift_#t~ret86#1;havoc timeShift_#t~ret86#1; 750281#L1702 assume 0 != timeShift_~tmp~16#1; 746990#L1703 assume !(~weight~0 > ~maximumWeight~0);~blocked~0 := 0;assume { :begin_inline_timeShift__wrappee__executivefloor } true;havoc timeShift__wrappee__executivefloor_#t~ret75#1, timeShift__wrappee__executivefloor_#t~ret76#1, timeShift__wrappee__executivefloor_#t~ret77#1, timeShift__wrappee__executivefloor_#t~ret78#1, timeShift__wrappee__executivefloor_#t~ret79#1, timeShift__wrappee__executivefloor_#t~ret80#1, timeShift__wrappee__executivefloor_#t~ret81#1, timeShift__wrappee__executivefloor_#t~ret82#1, timeShift__wrappee__executivefloor_#t~ret83#1, timeShift__wrappee__executivefloor_#t~ret84#1, timeShift__wrappee__executivefloor_#t~ret85#1, timeShift__wrappee__executivefloor_~tmp~15#1, timeShift__wrappee__executivefloor_~tmp___0~7#1, timeShift__wrappee__executivefloor_~tmp___1~3#1, timeShift__wrappee__executivefloor_~tmp___2~3#1, timeShift__wrappee__executivefloor_~tmp___3~3#1, timeShift__wrappee__executivefloor_~tmp___4~2#1, timeShift__wrappee__executivefloor_~tmp___5~2#1, timeShift__wrappee__executivefloor_~tmp___6~2#1, timeShift__wrappee__executivefloor_~tmp___7~2#1, timeShift__wrappee__executivefloor_~tmp___8~2#1, timeShift__wrappee__executivefloor_~tmp___9~2#1;havoc timeShift__wrappee__executivefloor_~tmp~15#1;havoc timeShift__wrappee__executivefloor_~tmp___0~7#1;havoc timeShift__wrappee__executivefloor_~tmp___1~3#1;havoc timeShift__wrappee__executivefloor_~tmp___2~3#1;havoc timeShift__wrappee__executivefloor_~tmp___3~3#1;havoc timeShift__wrappee__executivefloor_~tmp___4~2#1;havoc timeShift__wrappee__executivefloor_~tmp___5~2#1;havoc timeShift__wrappee__executivefloor_~tmp___6~2#1;havoc timeShift__wrappee__executivefloor_~tmp___7~2#1;havoc timeShift__wrappee__executivefloor_~tmp___8~2#1;havoc timeShift__wrappee__executivefloor_~tmp___9~2#1;assume { :begin_inline_stopRequestedAtCurrentFloor } true;havoc stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret59#1, stopRequestedAtCurrentFloor_#t~ret60#1, stopRequestedAtCurrentFloor_#t~ret61#1, stopRequestedAtCurrentFloor_#t~ret62#1, stopRequestedAtCurrentFloor_~retValue_acc~17#1, stopRequestedAtCurrentFloor_~tmp~13#1, stopRequestedAtCurrentFloor_~tmp___0~5#1;havoc stopRequestedAtCurrentFloor_~retValue_acc~17#1;havoc stopRequestedAtCurrentFloor_~tmp~13#1;havoc stopRequestedAtCurrentFloor_~tmp___0~5#1;assume { :begin_inline_isExecutiveFloorCalling } true;havoc isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret115#1, isExecutiveFloorCalling_~retValue_acc~20#1;havoc isExecutiveFloorCalling_~retValue_acc~20#1;assume { :begin_inline_isFloorCalling } true;isFloorCalling_#in~floorID#1 := ~executiveFloor~0;havoc isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~24#1;isFloorCalling_~floorID#1 := isFloorCalling_#in~floorID#1;havoc isFloorCalling_~retValue_acc~24#1; 746991#L2632 assume !(0 == isFloorCalling_~floorID#1); 736970#L2636 assume !(1 == isFloorCalling_~floorID#1); 736971#L2640 assume !(2 == isFloorCalling_~floorID#1); 747683#L2644 assume !(3 == isFloorCalling_~floorID#1); 746486#L2648 assume 4 == isFloorCalling_~floorID#1;isFloorCalling_~retValue_acc~24#1 := ~calls_4~0;isFloorCalling_#res#1 := isFloorCalling_~retValue_acc~24#1; 745265#isFloorCalling_returnLabel#1 isExecutiveFloorCalling_#t~ret115#1 := isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~24#1;havoc isFloorCalling_#in~floorID#1;assume { :end_inline_isFloorCalling } true;isExecutiveFloorCalling_~retValue_acc~20#1 := isExecutiveFloorCalling_#t~ret115#1;havoc isExecutiveFloorCalling_#t~ret115#1;isExecutiveFloorCalling_#res#1 := isExecutiveFloorCalling_~retValue_acc~20#1; 745266#isExecutiveFloorCalling_returnLabel#1 stopRequestedAtCurrentFloor_#t~ret59#1 := isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret115#1, isExecutiveFloorCalling_~retValue_acc~20#1;assume { :end_inline_isExecutiveFloorCalling } true;stopRequestedAtCurrentFloor_~tmp~13#1 := stopRequestedAtCurrentFloor_#t~ret59#1;havoc stopRequestedAtCurrentFloor_#t~ret59#1; 746732#L1417 assume 0 != stopRequestedAtCurrentFloor_~tmp~13#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~4#1;havoc getCurrentFloorID_~retValue_acc~4#1;getCurrentFloorID_~retValue_acc~4#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~4#1; 740558#getCurrentFloorID_returnLabel#1 stopRequestedAtCurrentFloor_#t~ret60#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~4#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedAtCurrentFloor_~tmp___0~5#1 := stopRequestedAtCurrentFloor_#t~ret60#1;havoc stopRequestedAtCurrentFloor_#t~ret60#1; 735079#L1421 assume !(~executiveFloor~0 == stopRequestedAtCurrentFloor_~tmp___0~5#1);stopRequestedAtCurrentFloor_~retValue_acc~17#1 := 0;stopRequestedAtCurrentFloor_#res#1 := stopRequestedAtCurrentFloor_~retValue_acc~17#1; 734943#stopRequestedAtCurrentFloor_returnLabel#1 timeShift__wrappee__executivefloor_#t~ret75#1 := stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret59#1, stopRequestedAtCurrentFloor_#t~ret60#1, stopRequestedAtCurrentFloor_#t~ret61#1, stopRequestedAtCurrentFloor_#t~ret62#1, stopRequestedAtCurrentFloor_~retValue_acc~17#1, stopRequestedAtCurrentFloor_~tmp~13#1, stopRequestedAtCurrentFloor_~tmp___0~5#1;assume { :end_inline_stopRequestedAtCurrentFloor } true;timeShift__wrappee__executivefloor_~tmp___9~2#1 := timeShift__wrappee__executivefloor_#t~ret75#1;havoc timeShift__wrappee__executivefloor_#t~ret75#1; 734944#L1569 assume !(0 != timeShift__wrappee__executivefloor_~tmp___9~2#1); 750431#L1660 assume 1 == ~doorState~0;~doorState~0 := 0; 749923#L1660-2 assume { :begin_inline_stopRequestedInDirection } true;stopRequestedInDirection_#in~dir#1, stopRequestedInDirection_#in~respectFloorCalls#1, stopRequestedInDirection_#in~respectInLiftCalls#1 := ~currentHeading~0, 1, 1;havoc stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret50#1, stopRequestedInDirection_#t~ret51#1, stopRequestedInDirection_#t~ret52#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~13#1, stopRequestedInDirection_~tmp~9#1, stopRequestedInDirection_~tmp___0~2#1, stopRequestedInDirection_~__cil_tmp7~5#1, stopRequestedInDirection_~__cil_tmp8~6#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~13#1;havoc stopRequestedInDirection_~tmp~9#1;havoc stopRequestedInDirection_~tmp___0~2#1;havoc stopRequestedInDirection_~__cil_tmp7~5#1;havoc stopRequestedInDirection_~__cil_tmp8~6#1;assume { :begin_inline_isExecutiveFloorCalling } true;havoc isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret115#1, isExecutiveFloorCalling_~retValue_acc~20#1;havoc isExecutiveFloorCalling_~retValue_acc~20#1;assume { :begin_inline_isFloorCalling } true;isFloorCalling_#in~floorID#1 := ~executiveFloor~0;havoc isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~24#1;isFloorCalling_~floorID#1 := isFloorCalling_#in~floorID#1;havoc isFloorCalling_~retValue_acc~24#1; 749924#L2632-3 assume !(0 == isFloorCalling_~floorID#1); 749414#L2636-3 assume !(1 == isFloorCalling_~floorID#1); 749415#L2640-3 assume !(2 == isFloorCalling_~floorID#1); 750359#L2644-3 assume !(3 == isFloorCalling_~floorID#1); 736131#L2648-3 assume 4 == isFloorCalling_~floorID#1;isFloorCalling_~retValue_acc~24#1 := ~calls_4~0;isFloorCalling_#res#1 := isFloorCalling_~retValue_acc~24#1; 736132#isFloorCalling_returnLabel#4 isExecutiveFloorCalling_#t~ret115#1 := isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~24#1;havoc isFloorCalling_#in~floorID#1;assume { :end_inline_isFloorCalling } true;isExecutiveFloorCalling_~retValue_acc~20#1 := isExecutiveFloorCalling_#t~ret115#1;havoc isExecutiveFloorCalling_#t~ret115#1;isExecutiveFloorCalling_#res#1 := isExecutiveFloorCalling_~retValue_acc~20#1; 749034#isExecutiveFloorCalling_returnLabel#2 stopRequestedInDirection_#t~ret50#1 := isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret115#1, isExecutiveFloorCalling_~retValue_acc~20#1;assume { :end_inline_isExecutiveFloorCalling } true;stopRequestedInDirection_~tmp___0~2#1 := stopRequestedInDirection_#t~ret50#1;havoc stopRequestedInDirection_#t~ret50#1; 750379#L1272 assume 0 != stopRequestedInDirection_~tmp___0~2#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~4#1;havoc getCurrentFloorID_~retValue_acc~4#1;getCurrentFloorID_~retValue_acc~4#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~4#1; 750986#getCurrentFloorID_returnLabel#4 stopRequestedInDirection_#t~ret51#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~4#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedInDirection_~tmp~9#1 := stopRequestedInDirection_#t~ret51#1;havoc stopRequestedInDirection_#t~ret51#1;stopRequestedInDirection_~__cil_tmp7~5#1 := (if 1 == stopRequestedInDirection_~dir#1 then 1 else 0);stopRequestedInDirection_~__cil_tmp8~6#1 := (if stopRequestedInDirection_~tmp~9#1 < ~executiveFloor~0 then 1 else 0);stopRequestedInDirection_~retValue_acc~13#1 := (if stopRequestedInDirection_~__cil_tmp8~6#1 == stopRequestedInDirection_~__cil_tmp7~5#1 then 1 else 0);stopRequestedInDirection_#res#1 := stopRequestedInDirection_~retValue_acc~13#1; 748379#stopRequestedInDirection_returnLabel#1 timeShift__wrappee__executivefloor_#t~ret82#1 := stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret50#1, stopRequestedInDirection_#t~ret51#1, stopRequestedInDirection_#t~ret52#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~13#1, stopRequestedInDirection_~tmp~9#1, stopRequestedInDirection_~tmp___0~2#1, stopRequestedInDirection_~__cil_tmp7~5#1, stopRequestedInDirection_~__cil_tmp8~6#1;havoc stopRequestedInDirection_#in~dir#1, stopRequestedInDirection_#in~respectFloorCalls#1, stopRequestedInDirection_#in~respectInLiftCalls#1;assume { :end_inline_stopRequestedInDirection } true;timeShift__wrappee__executivefloor_~tmp___8~2#1 := timeShift__wrappee__executivefloor_#t~ret82#1;havoc timeShift__wrappee__executivefloor_#t~ret82#1; 742076#L1668 assume 0 != timeShift__wrappee__executivefloor_~tmp___8~2#1;assume { :begin_inline_continueInDirection } true;continueInDirection_#in~dir#1 := ~currentHeading~0;havoc continueInDirection_#t~ret53#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; 742078#L1329 assume !(1 == ~currentHeading~0); 736593#L1339 assume !(0 == ~currentFloorID~0); 736594#L1339-2 assume !(1 == ~currentHeading~0);~currentFloorID~0 := ~currentFloorID~0 - 1; 738165#L1345-1 havoc continueInDirection_#t~ret53#1, continueInDirection_~dir#1, continueInDirection_~tmp~10#1;havoc continueInDirection_#in~dir#1;assume { :end_inline_continueInDirection } true; 746963#L1677-2 havoc timeShift__wrappee__executivefloor_#t~ret75#1, timeShift__wrappee__executivefloor_#t~ret76#1, timeShift__wrappee__executivefloor_#t~ret77#1, timeShift__wrappee__executivefloor_#t~ret78#1, timeShift__wrappee__executivefloor_#t~ret79#1, timeShift__wrappee__executivefloor_#t~ret80#1, timeShift__wrappee__executivefloor_#t~ret81#1, timeShift__wrappee__executivefloor_#t~ret82#1, timeShift__wrappee__executivefloor_#t~ret83#1, timeShift__wrappee__executivefloor_#t~ret84#1, timeShift__wrappee__executivefloor_#t~ret85#1, timeShift__wrappee__executivefloor_~tmp~15#1, timeShift__wrappee__executivefloor_~tmp___0~7#1, timeShift__wrappee__executivefloor_~tmp___1~3#1, timeShift__wrappee__executivefloor_~tmp___2~3#1, timeShift__wrappee__executivefloor_~tmp___3~3#1, timeShift__wrappee__executivefloor_~tmp___4~2#1, timeShift__wrappee__executivefloor_~tmp___5~2#1, timeShift__wrappee__executivefloor_~tmp___6~2#1, timeShift__wrappee__executivefloor_~tmp___7~2#1, timeShift__wrappee__executivefloor_~tmp___8~2#1, timeShift__wrappee__executivefloor_~tmp___9~2#1;assume { :end_inline_timeShift__wrappee__executivefloor } true; 751059#L1702-1 assume { :begin_inline___utac_acc__Specification13_spec__2 } true;havoc __utac_acc__Specification13_spec__2_#t~ret137#1, __utac_acc__Specification13_spec__2_#t~ret138#1, __utac_acc__Specification13_spec__2_#t~ret139#1, __utac_acc__Specification13_spec__2_#t~ret140#1, __utac_acc__Specification13_spec__2_#t~ret141#1, __utac_acc__Specification13_spec__2_#t~ret142#1, __utac_acc__Specification13_spec__2_~tmp~30#1, __utac_acc__Specification13_spec__2_~tmp___0~13#1, __utac_acc__Specification13_spec__2_~tmp___1~8#1, __utac_acc__Specification13_spec__2_~tmp___2~6#1, __utac_acc__Specification13_spec__2_~tmp___3~5#1, __utac_acc__Specification13_spec__2_~tmp___4~3#1, __utac_acc__Specification13_spec__2_~__cil_tmp7~7#1, __utac_acc__Specification13_spec__2_~__cil_tmp8~8#1;havoc __utac_acc__Specification13_spec__2_~tmp~30#1;havoc __utac_acc__Specification13_spec__2_~tmp___0~13#1;havoc __utac_acc__Specification13_spec__2_~tmp___1~8#1;havoc __utac_acc__Specification13_spec__2_~tmp___2~6#1;havoc __utac_acc__Specification13_spec__2_~tmp___3~5#1;havoc __utac_acc__Specification13_spec__2_~tmp___4~3#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp7~7#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp8~8#1;__utac_acc__Specification13_spec__2_~__cil_tmp7~7#1 := 2 * ~maximumWeight~0;__utac_acc__Specification13_spec__2_~__cil_tmp8~8#1 := (if __utac_acc__Specification13_spec__2_~__cil_tmp7~7#1 < 0 && 0 != __utac_acc__Specification13_spec__2_~__cil_tmp7~7#1 % 3 then 1 + __utac_acc__Specification13_spec__2_~__cil_tmp7~7#1 / 3 else __utac_acc__Specification13_spec__2_~__cil_tmp7~7#1 / 3); 751052#L3236 assume ~weight~0 > __utac_acc__Specification13_spec__2_~__cil_tmp8~8#1; 751053#L3237 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~19#1, existInLiftCallsInDirection_~i~0#1, existInLiftCallsInDirection_~i___0~0#1;existInLiftCallsInDirection_~d#1 := existInLiftCallsInDirection_#in~d#1;havoc existInLiftCallsInDirection_~retValue_acc~19#1;havoc existInLiftCallsInDirection_~i~0#1;havoc existInLiftCallsInDirection_~i___0~0#1; 751058#L1922 assume !(1 == existInLiftCallsInDirection_~d#1); 751199#L1988 assume 0 == existInLiftCallsInDirection_~d#1;existInLiftCallsInDirection_~i___0~0#1 := 0;existInLiftCallsInDirection_~i___0~0#1 := ~currentFloorID~0 - 1; 751200#L1992-2 [2024-11-09 15:53:36,858 INFO L747 eck$LassoCheckResult]: Loop: 751200#L1992-2 assume !false; 751197#L1993 assume existInLiftCallsInDirection_~i___0~0#1 >= 0; 751198#L1994 existInLiftCallsInDirection_~i___0~0#1 := 1 + ~currentFloorID~0; 751191#L2001-2 assume !false; 751189#L2002 assume !(existInLiftCallsInDirection_~i___0~0#1 < 5); 751190#L2060 existInLiftCallsInDirection_~i___0~0#1 := existInLiftCallsInDirection_~i___0~0#1 - 1; 751200#L1992-2 [2024-11-09 15:53:36,859 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-09 15:53:36,859 INFO L85 PathProgramCache]: Analyzing trace with hash 1301382358, now seen corresponding path program 1 times [2024-11-09 15:53:36,859 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-09 15:53:36,860 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1052354532] [2024-11-09 15:53:36,860 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-09 15:53:36,860 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-09 15:53:36,898 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-09 15:53:37,022 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-09 15:53:37,022 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-09 15:53:37,022 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1052354532] [2024-11-09 15:53:37,022 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1052354532] provided 1 perfect and 0 imperfect interpolant sequences [2024-11-09 15:53:37,023 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-11-09 15:53:37,023 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2024-11-09 15:53:37,023 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [602313804] [2024-11-09 15:53:37,023 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-11-09 15:53:37,023 INFO L750 eck$LassoCheckResult]: stem already infeasible [2024-11-09 15:53:37,024 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-09 15:53:37,024 INFO L85 PathProgramCache]: Analyzing trace with hash 954762475, now seen corresponding path program 11 times [2024-11-09 15:53:37,024 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-09 15:53:37,024 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [834243069] [2024-11-09 15:53:37,024 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-09 15:53:37,024 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-09 15:53:37,046 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-09 15:53:37,046 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-09 15:53:37,048 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-09 15:53:37,056 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-09 15:53:37,078 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-09 15:53:37,079 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2024-11-09 15:53:37,079 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2024-11-09 15:53:37,079 INFO L87 Difference]: Start difference. First operand 28268 states and 51036 transitions. cyclomatic complexity: 22902 Second operand has 6 states, 6 states have (on average 13.5) internal successors, (81), 5 states have internal predecessors, (81), 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)