./Ultimate.py --spec /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/properties/termination.prp --file /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/product-lines/elevator_spec13_product24.cil.c --full-output --architecture 32bit -------------------------------------------------------------------------------- Checking for termination Using default analysis Version fca748b1 Calling Ultimate with: /root/.sdkman/candidates/java/current/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 /storage/repos/ultimate/releaseScripts/default/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-wip.dd.update-z3-fca748b-m [2024-11-20 22:42:20,815 INFO L188 SettingsManager]: Resetting all preferences to default values... [2024-11-20 22:42:20,877 INFO L114 SettingsManager]: Loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Termination-32bit-Automizer_Default.epf [2024-11-20 22:42:20,883 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2024-11-20 22:42:20,883 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2024-11-20 22:42:20,903 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2024-11-20 22:42:20,904 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2024-11-20 22:42:20,904 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2024-11-20 22:42:20,905 INFO L151 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2024-11-20 22:42:20,905 INFO L153 SettingsManager]: * Use memory slicer=true [2024-11-20 22:42:20,906 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2024-11-20 22:42:20,907 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2024-11-20 22:42:20,907 INFO L153 SettingsManager]: * Use SBE=true [2024-11-20 22:42:20,907 INFO L151 SettingsManager]: Preferences of BuchiAutomizer differ from their defaults: [2024-11-20 22:42:20,908 INFO L153 SettingsManager]: * NCSB implementation=INTSET_LAZY3 [2024-11-20 22:42:20,908 INFO L153 SettingsManager]: * Use old map elimination=false [2024-11-20 22:42:20,908 INFO L153 SettingsManager]: * Use external solver (rank synthesis)=false [2024-11-20 22:42:20,909 INFO L153 SettingsManager]: * Use only trivial implications for array writes=true [2024-11-20 22:42:20,909 INFO L153 SettingsManager]: * Rank analysis=LINEAR_WITH_GUESSES [2024-11-20 22:42:20,910 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2024-11-20 22:42:20,910 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=ASSUME [2024-11-20 22:42:20,910 INFO L153 SettingsManager]: * sizeof long=4 [2024-11-20 22:42:20,911 INFO L153 SettingsManager]: * Overapproximate operations on floating types=true [2024-11-20 22:42:20,911 INFO L153 SettingsManager]: * sizeof POINTER=4 [2024-11-20 22:42:20,911 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2024-11-20 22:42:20,912 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=ASSUME [2024-11-20 22:42:20,912 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=ASSUME [2024-11-20 22:42:20,912 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=ASSUME [2024-11-20 22:42:20,912 INFO L153 SettingsManager]: * Allow undefined functions=false [2024-11-20 22:42:20,913 INFO L153 SettingsManager]: * Check unreachability of reach_error function=false [2024-11-20 22:42:20,913 INFO L153 SettingsManager]: * sizeof long double=12 [2024-11-20 22:42:20,913 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2024-11-20 22:42:20,913 INFO L153 SettingsManager]: * Assume nondeterminstic values are in range=false [2024-11-20 22:42:20,914 INFO L153 SettingsManager]: * Use constant arrays=true [2024-11-20 22:42:20,914 INFO L151 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2024-11-20 22:42:20,914 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2024-11-20 22:42:20,915 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2024-11-20 22:42:20,915 INFO L153 SettingsManager]: * Trace refinement strategy=CAMEL [2024-11-20 22:42:20,916 INFO L151 SettingsManager]: Preferences of IcfgTransformer differ from their defaults: [2024-11-20 22:42:20,916 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-20 22:42:21,209 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2024-11-20 22:42:21,229 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2024-11-20 22:42:21,232 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2024-11-20 22:42:21,234 INFO L270 PluginConnector]: Initializing CDTParser... [2024-11-20 22:42:21,234 INFO L274 PluginConnector]: CDTParser initialized [2024-11-20 22:42:21,235 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/product-lines/elevator_spec13_product24.cil.c [2024-11-20 22:42:22,648 INFO L533 CDTParser]: Created temporary CDT project at NULL [2024-11-20 22:42:22,955 INFO L384 CDTParser]: Found 1 translation units. [2024-11-20 22:42:22,956 INFO L180 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/product-lines/elevator_spec13_product24.cil.c [2024-11-20 22:42:22,981 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/67ad39233/27e6ccb6d3f94deab74d1afe708709a5/FLAG25e6dafc4 [2024-11-20 22:42:22,997 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/67ad39233/27e6ccb6d3f94deab74d1afe708709a5 [2024-11-20 22:42:22,999 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2024-11-20 22:42:23,001 INFO L133 ToolchainWalker]: Walking toolchain with 6 elements. [2024-11-20 22:42:23,003 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2024-11-20 22:42:23,005 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2024-11-20 22:42:23,010 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2024-11-20 22:42:23,012 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.11 10:42:22" (1/1) ... [2024-11-20 22:42:23,013 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@3089592c and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.11 10:42:23, skipping insertion in model container [2024-11-20 22:42:23,013 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.11 10:42:22" (1/1) ... [2024-11-20 22:42:23,077 INFO L175 MainTranslator]: Built tables and reachable declarations [2024-11-20 22:42:23,552 INFO L210 PostProcessor]: Analyzing one entry point: main [2024-11-20 22:42:23,570 INFO L200 MainTranslator]: Completed pre-run [2024-11-20 22:42:23,580 WARN L75 lationResultReporter]: Unsoundness Warning: Ignoring preprocessor pragma C: #pragma merger(0,"libacc.i","") [48] [2024-11-20 22:42:23,581 WARN L75 lationResultReporter]: Unsoundness Warning: Ignoring preprocessor pragma C: #pragma merger(0,"scenario.i","") [414] [2024-11-20 22:42:23,582 WARN L75 lationResultReporter]: Unsoundness Warning: Ignoring preprocessor pragma C: #pragma merger(0,"Elevator.i","") [434] [2024-11-20 22:42:23,582 WARN L75 lationResultReporter]: Unsoundness Warning: Ignoring preprocessor pragma C: #pragma merger(0,"Test.i","") [2095] [2024-11-20 22:42:23,582 WARN L75 lationResultReporter]: Unsoundness Warning: Ignoring preprocessor pragma C: #pragma merger(0,"wsllib_check.i","") [2449] [2024-11-20 22:42:23,582 WARN L75 lationResultReporter]: Unsoundness Warning: Ignoring preprocessor pragma C: #pragma merger(0,"UnitTests.i","") [2458] [2024-11-20 22:42:23,582 WARN L75 lationResultReporter]: Unsoundness Warning: Ignoring preprocessor pragma C: #pragma merger(0,"Floor.i","") [2549] [2024-11-20 22:42:23,582 WARN L75 lationResultReporter]: Unsoundness Warning: Ignoring preprocessor pragma C: #pragma merger(0,"Specification13_spec.i","") [3210] [2024-11-20 22:42:23,582 WARN L75 lationResultReporter]: Unsoundness Warning: Ignoring preprocessor pragma C: #pragma merger(0,"Person.i","") [3299] [2024-11-20 22:42:23,583 WARN L75 lationResultReporter]: Unsoundness Warning: Ignoring preprocessor pragma C: #pragma merger(0,"featureselect.i","") [3417] [2024-11-20 22:42:23,703 INFO L210 PostProcessor]: Analyzing one entry point: main [2024-11-20 22:42:23,738 INFO L204 MainTranslator]: Completed translation [2024-11-20 22:42:23,739 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.11 10:42:23 WrapperNode [2024-11-20 22:42:23,740 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2024-11-20 22:42:23,741 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2024-11-20 22:42:23,742 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2024-11-20 22:42:23,742 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2024-11-20 22:42:23,749 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.11 10:42:23" (1/1) ... [2024-11-20 22:42:23,777 INFO L184 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.11 10:42:23" (1/1) ... [2024-11-20 22:42:24,653 INFO L138 Inliner]: procedures = 96, calls = 353, calls flagged for inlining = 205, calls inlined = 1945, statements flattened = 67293 [2024-11-20 22:42:24,654 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2024-11-20 22:42:24,654 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2024-11-20 22:42:24,655 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2024-11-20 22:42:24,655 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2024-11-20 22:42:24,678 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.11 10:42:23" (1/1) ... [2024-11-20 22:42:24,678 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.11 10:42:23" (1/1) ... [2024-11-20 22:42:24,881 INFO L184 PluginConnector]: Executing the observer MemorySlicer from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.11 10:42:23" (1/1) ... [2024-11-20 22:42:25,173 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-20 22:42:25,174 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.11 10:42:23" (1/1) ... [2024-11-20 22:42:25,174 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.11 10:42:23" (1/1) ... [2024-11-20 22:42:25,598 INFO L184 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.11 10:42:23" (1/1) ... [2024-11-20 22:42:25,989 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.11 10:42:23" (1/1) ... [2024-11-20 22:42:26,064 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.11 10:42:23" (1/1) ... [2024-11-20 22:42:26,230 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.11 10:42:23" (1/1) ... [2024-11-20 22:42:26,422 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2024-11-20 22:42:26,423 INFO L112 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2024-11-20 22:42:26,423 INFO L270 PluginConnector]: Initializing RCFGBuilder... [2024-11-20 22:42:26,423 INFO L274 PluginConnector]: RCFGBuilder initialized [2024-11-20 22:42:26,424 INFO L184 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.11 10:42:23" (1/1) ... [2024-11-20 22:42:26,429 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-20 22:42:26,440 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-20 22:42:26,460 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-20 22:42:26,462 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-20 22:42:26,504 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2024-11-20 22:42:26,505 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#0 [2024-11-20 22:42:26,505 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#1 [2024-11-20 22:42:26,505 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#2 [2024-11-20 22:42:26,505 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#3 [2024-11-20 22:42:26,505 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#4 [2024-11-20 22:42:26,505 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#5 [2024-11-20 22:42:26,505 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#6 [2024-11-20 22:42:26,505 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#7 [2024-11-20 22:42:26,505 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#8 [2024-11-20 22:42:26,505 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#9 [2024-11-20 22:42:26,506 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#10 [2024-11-20 22:42:26,506 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#11 [2024-11-20 22:42:26,506 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#12 [2024-11-20 22:42:26,506 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#13 [2024-11-20 22:42:26,506 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#14 [2024-11-20 22:42:26,506 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#15 [2024-11-20 22:42:26,506 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#16 [2024-11-20 22:42:26,507 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#17 [2024-11-20 22:42:26,507 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#18 [2024-11-20 22:42:26,507 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#19 [2024-11-20 22:42:26,508 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2024-11-20 22:42:26,509 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2024-11-20 22:42:26,718 INFO L238 CfgBuilder]: Building ICFG [2024-11-20 22:42:26,721 INFO L264 CfgBuilder]: Building CFG for each procedure with an implementation [2024-11-20 22:42:50,326 INFO L? ?]: Removed 29662 outVars from TransFormulas that were not future-live. [2024-11-20 22:42:50,326 INFO L287 CfgBuilder]: Performing block encoding [2024-11-20 22:42:50,535 INFO L311 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2024-11-20 22:42:50,535 INFO L316 CfgBuilder]: Removed 61 assume(true) statements. [2024-11-20 22:42:50,536 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.11 10:42:50 BoogieIcfgContainer [2024-11-20 22:42:50,536 INFO L131 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2024-11-20 22:42:50,537 INFO L112 PluginConnector]: ------------------------BuchiAutomizer---------------------------- [2024-11-20 22:42:50,537 INFO L270 PluginConnector]: Initializing BuchiAutomizer... [2024-11-20 22:42:50,540 INFO L274 PluginConnector]: BuchiAutomizer initialized [2024-11-20 22:42:50,541 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2024-11-20 22:42:50,541 INFO L184 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "CDTParser AST 20.11 10:42:22" (1/3) ... [2024-11-20 22:42:50,542 INFO L204 PluginConnector]: Invalid model from BuchiAutomizer for observer de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver@6d1d24e1 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer AST 20.11 10:42:50, skipping insertion in model container [2024-11-20 22:42:50,542 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2024-11-20 22:42:50,543 INFO L184 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.11 10:42:23" (2/3) ... [2024-11-20 22:42:50,543 INFO L204 PluginConnector]: Invalid model from BuchiAutomizer for observer de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver@6d1d24e1 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer AST 20.11 10:42:50, skipping insertion in model container [2024-11-20 22:42:50,543 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2024-11-20 22:42:50,543 INFO L184 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.11 10:42:50" (3/3) ... [2024-11-20 22:42:50,544 INFO L332 chiAutomizerObserver]: Analyzing ICFG elevator_spec13_product24.cil.c [2024-11-20 22:42:50,829 INFO L300 stractBuchiCegarLoop]: Interprodecural is true [2024-11-20 22:42:50,830 INFO L301 stractBuchiCegarLoop]: Hoare is None [2024-11-20 22:42:50,830 INFO L302 stractBuchiCegarLoop]: Compute interpolants for ForwardPredicates [2024-11-20 22:42:50,830 INFO L303 stractBuchiCegarLoop]: Backedges is STRAIGHT_LINE [2024-11-20 22:42:50,830 INFO L304 stractBuchiCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2024-11-20 22:42:50,830 INFO L305 stractBuchiCegarLoop]: Difference is false [2024-11-20 22:42:50,830 INFO L306 stractBuchiCegarLoop]: Minimize is MINIMIZE_SEVPA [2024-11-20 22:42:50,831 INFO L310 stractBuchiCegarLoop]: ======== Iteration 0 == of CEGAR loop == BuchiAutomatonCegarLoop ======== [2024-11-20 22:42:50,890 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-20 22:42:51,184 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 4076 [2024-11-20 22:42:51,185 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-20 22:42:51,185 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-20 22:42:51,195 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-20 22:42:51,195 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1, 1, 1] [2024-11-20 22:42:51,195 INFO L332 stractBuchiCegarLoop]: ======== Iteration 1 ============ [2024-11-20 22:42:51,245 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-20 22:42:51,442 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 4076 [2024-11-20 22:42:51,442 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-20 22:42:51,443 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-20 22:42:51,445 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-20 22:42:51,446 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1, 1, 1] [2024-11-20 22:42:51,456 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-20 22:42:51,457 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-20 22:42:51,466 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-20 22:42:51,466 INFO L85 PathProgramCache]: Analyzing trace with hash -1530792437, now seen corresponding path program 1 times [2024-11-20 22:42:51,475 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-20 22:42:51,476 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [836510781] [2024-11-20 22:42:51,477 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-20 22:42:51,477 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-20 22:42:51,672 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-20 22:42:52,055 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-20 22:42:52,056 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-20 22:42:52,056 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [836510781] [2024-11-20 22:42:52,057 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [836510781] provided 1 perfect and 0 imperfect interpolant sequences [2024-11-20 22:42:52,057 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-11-20 22:42:52,057 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2024-11-20 22:42:52,060 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [66215057] [2024-11-20 22:42:52,060 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-11-20 22:42:52,067 INFO L750 eck$LassoCheckResult]: stem already infeasible [2024-11-20 22:42:52,067 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-20 22:42:52,068 INFO L85 PathProgramCache]: Analyzing trace with hash 629105533, now seen corresponding path program 1 times [2024-11-20 22:42:52,068 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-20 22:42:52,068 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1469147741] [2024-11-20 22:42:52,070 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-20 22:42:52,070 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-20 22:42:52,089 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-20 22:42:52,093 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-20 22:42:52,096 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-20 22:42:52,131 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-20 22:42:52,198 INFO L204 LassoAnalysis]: Preferences: [2024-11-20 22:42:52,199 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2024-11-20 22:42:52,199 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2024-11-20 22:42:52,199 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2024-11-20 22:42:52,200 INFO L128 ssoRankerPreferences]: Use exernal solver: true [2024-11-20 22:42:52,200 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-20 22:42:52,200 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2024-11-20 22:42:52,200 INFO L131 ssoRankerPreferences]: Path of dumped script: [2024-11-20 22:42:52,200 INFO L132 ssoRankerPreferences]: Filename of dumped script: elevator_spec13_product24.cil.c_Iteration1_Loop [2024-11-20 22:42:52,200 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2024-11-20 22:42:52,201 INFO L241 LassoAnalysis]: Starting lasso preprocessing... [2024-11-20 22:42:52,219 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-20 22:42:52,299 INFO L259 LassoAnalysis]: Preprocessing complete. [2024-11-20 22:42:52,300 INFO L365 LassoAnalysis]: Checking for nontermination... [2024-11-20 22:42:52,302 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-20 22:42:52,302 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-20 22:42:52,305 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-20 22:42:52,306 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-20 22:42:52,314 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2024-11-20 22:42:52,314 INFO L160 nArgumentSynthesizer]: Using integer mode. [2024-11-20 22:42:52,339 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (2)] Ended with exit code 0 [2024-11-20 22:42:52,341 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-20 22:42:52,341 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-20 22:42:52,345 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-20 22:42:52,346 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-20 22:42:52,348 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 3 Nilpotent components: true [2024-11-20 22:42:52,350 INFO L160 nArgumentSynthesizer]: Using integer mode. [2024-11-20 22:42:52,392 INFO L405 LassoAnalysis]: Proving nontermination failed: No geometric nontermination argument exists. [2024-11-20 22:42:52,398 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-20 22:42:52,399 INFO L204 LassoAnalysis]: Preferences: [2024-11-20 22:42:52,399 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2024-11-20 22:42:52,399 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2024-11-20 22:42:52,399 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2024-11-20 22:42:52,399 INFO L128 ssoRankerPreferences]: Use exernal solver: false [2024-11-20 22:42:52,399 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-20 22:42:52,399 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2024-11-20 22:42:52,400 INFO L131 ssoRankerPreferences]: Path of dumped script: [2024-11-20 22:42:52,400 INFO L132 ssoRankerPreferences]: Filename of dumped script: elevator_spec13_product24.cil.c_Iteration1_Loop [2024-11-20 22:42:52,400 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2024-11-20 22:42:52,400 INFO L241 LassoAnalysis]: Starting lasso preprocessing... [2024-11-20 22:42:52,401 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-20 22:42:52,469 INFO L259 LassoAnalysis]: Preprocessing complete. [2024-11-20 22:42:52,475 INFO L451 LassoAnalysis]: Using template 'affine'. [2024-11-20 22:42:52,476 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-20 22:42:52,477 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-20 22:42:52,480 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-20 22:42:52,481 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-20 22:42:52,483 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-20 22:42:52,496 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-20 22:42:52,497 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-11-20 22:42:52,498 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-20 22:42:52,501 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-20 22:42:52,501 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-20 22:42:52,504 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-11-20 22:42:52,504 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-11-20 22:42:52,507 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2024-11-20 22:42:52,512 INFO L443 ModelExtractionUtils]: Simplification made 2 calls to the SMT solver. [2024-11-20 22:42:52,512 INFO L444 ModelExtractionUtils]: 1 out of 3 variables were initially zero. Simplification set additionally 0 variables to zero. [2024-11-20 22:42:52,514 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-20 22:42:52,514 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-20 22:42:52,536 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-20 22:42:52,538 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-20 22:42:52,539 INFO L435 nArgumentSynthesizer]: Simplifying supporting invariants... [2024-11-20 22:42:52,539 INFO L438 nArgumentSynthesizer]: Removed 0 redundant supporting invariants from a total of 0. [2024-11-20 22:42:52,540 INFO L474 LassoAnalysis]: Proved termination. [2024-11-20 22:42:52,541 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-20 22:42:52,548 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-20 22:42:52,552 INFO L156 tatePredicateManager]: 0 out of 0 supporting invariants were superfluous and have been removed [2024-11-20 22:42:52,585 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-20 22:42:52,727 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-20 22:42:52,732 INFO L255 TraceCheckSpWp]: Trace formula consists of 541 conjuncts, 2 conjuncts are in the unsatisfiable core [2024-11-20 22:42:52,734 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-20 22:42:52,803 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-20 22:42:52,804 WARN L253 TraceCheckSpWp]: Trace formula consists of 11 conjuncts, 9 conjuncts are in the unsatisfiable core [2024-11-20 22:42:52,805 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-20 22:42:52,998 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-20 22:42:53,033 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-20 22:42:53,066 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-20 22:42:53,993 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-20 22:42:55,247 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-20 22:42:55,251 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-20 22:42:55,256 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-20 22:42:55,310 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 60757 transitions. [2024-11-20 22:42:55,312 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 10 states and 60757 transitions. Stem has 34 letters. Loop has 8 letters. [2024-11-20 22:42:55,313 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2024-11-20 22:42:55,313 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 10 states and 60757 transitions. Stem has 42 letters. Loop has 8 letters. [2024-11-20 22:42:55,314 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2024-11-20 22:42:55,314 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 10 states and 60757 transitions. Stem has 34 letters. Loop has 16 letters. [2024-11-20 22:42:55,315 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2024-11-20 22:42:55,316 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 46798 states and 87780 transitions. [2024-11-20 22:42:55,618 INFO L131 ngComponentsAnalysis]: Automaton has 60 accepting balls. 8070 [2024-11-20 22:42:56,007 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 46798 states to 32299 states and 60501 transitions. [2024-11-20 22:42:56,009 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 32269 [2024-11-20 22:42:56,053 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 32270 [2024-11-20 22:42:56,054 INFO L73 IsDeterministic]: Start isDeterministic. Operand 32299 states and 60501 transitions. [2024-11-20 22:42:56,056 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-11-20 22:42:56,056 INFO L218 hiAutomatonCegarLoop]: Abstraction has 32299 states and 60501 transitions. [2024-11-20 22:42:56,115 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 32299 states and 60501 transitions. [2024-11-20 22:42:56,599 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 32299 to 32273. [2024-11-20 22:42:56,666 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-20 22:42:57,019 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32273 states to 32273 states and 60462 transitions. [2024-11-20 22:42:57,021 INFO L240 hiAutomatonCegarLoop]: Abstraction has 32273 states and 60462 transitions. [2024-11-20 22:42:57,024 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-20 22:42:57,031 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2024-11-20 22:42:57,032 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2024-11-20 22:42:57,038 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-20 22:42:58,247 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-20 22:42:58,248 INFO L93 Difference]: Finished difference Result 32255 states and 60331 transitions. [2024-11-20 22:42:58,248 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 32255 states and 60331 transitions. [2024-11-20 22:42:58,485 INFO L131 ngComponentsAnalysis]: Automaton has 60 accepting balls. 8054 [2024-11-20 22:42:58,646 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 32255 states to 32246 states and 60322 transitions. [2024-11-20 22:42:58,646 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 32227 [2024-11-20 22:42:58,694 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 32227 [2024-11-20 22:42:58,694 INFO L73 IsDeterministic]: Start isDeterministic. Operand 32246 states and 60322 transitions. [2024-11-20 22:42:58,695 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-11-20 22:42:58,695 INFO L218 hiAutomatonCegarLoop]: Abstraction has 32246 states and 60322 transitions. [2024-11-20 22:42:58,740 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 32246 states and 60322 transitions. [2024-11-20 22:42:59,255 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 32246 to 17939. [2024-11-20 22:42:59,286 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-20 22:42:59,334 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17939 states to 17939 states and 33559 transitions. [2024-11-20 22:42:59,335 INFO L240 hiAutomatonCegarLoop]: Abstraction has 17939 states and 33559 transitions. [2024-11-20 22:42:59,335 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2024-11-20 22:42:59,336 INFO L425 stractBuchiCegarLoop]: Abstraction has 17939 states and 33559 transitions. [2024-11-20 22:42:59,336 INFO L332 stractBuchiCegarLoop]: ======== Iteration 2 ============ [2024-11-20 22:42:59,336 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 17939 states and 33559 transitions. [2024-11-20 22:42:59,424 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 4074 [2024-11-20 22:42:59,425 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-20 22:42:59,425 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-20 22:42:59,427 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-20 22:42:59,427 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1, 1, 1] [2024-11-20 22:42:59,428 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-20 22:42:59,428 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-20 22:42:59,429 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-20 22:42:59,430 INFO L85 PathProgramCache]: Analyzing trace with hash 1862529426, now seen corresponding path program 1 times [2024-11-20 22:42:59,430 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-20 22:42:59,430 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [630038050] [2024-11-20 22:42:59,430 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-20 22:42:59,431 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-20 22:42:59,477 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-20 22:42:59,629 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-20 22:42:59,630 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-20 22:42:59,630 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [630038050] [2024-11-20 22:42:59,630 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [630038050] provided 1 perfect and 0 imperfect interpolant sequences [2024-11-20 22:42:59,630 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-11-20 22:42:59,630 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2024-11-20 22:42:59,631 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1681961577] [2024-11-20 22:42:59,631 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-11-20 22:42:59,631 INFO L750 eck$LassoCheckResult]: stem already infeasible [2024-11-20 22:42:59,631 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-20 22:42:59,632 INFO L85 PathProgramCache]: Analyzing trace with hash -563795075, now seen corresponding path program 1 times [2024-11-20 22:42:59,632 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-20 22:42:59,632 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [755238082] [2024-11-20 22:42:59,632 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-20 22:42:59,632 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-20 22:42:59,653 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-20 22:42:59,654 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-20 22:42:59,656 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-20 22:42:59,670 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-20 22:42:59,707 INFO L204 LassoAnalysis]: Preferences: [2024-11-20 22:42:59,708 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2024-11-20 22:42:59,708 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2024-11-20 22:42:59,708 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2024-11-20 22:42:59,708 INFO L128 ssoRankerPreferences]: Use exernal solver: true [2024-11-20 22:42:59,708 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-20 22:42:59,708 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2024-11-20 22:42:59,708 INFO L131 ssoRankerPreferences]: Path of dumped script: [2024-11-20 22:42:59,708 INFO L132 ssoRankerPreferences]: Filename of dumped script: elevator_spec13_product24.cil.c_Iteration2_Loop [2024-11-20 22:42:59,709 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2024-11-20 22:42:59,709 INFO L241 LassoAnalysis]: Starting lasso preprocessing... [2024-11-20 22:42:59,709 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-20 22:42:59,763 INFO L259 LassoAnalysis]: Preprocessing complete. [2024-11-20 22:42:59,763 INFO L365 LassoAnalysis]: Checking for nontermination... [2024-11-20 22:42:59,763 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-20 22:42:59,763 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-20 22:42:59,766 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-20 22:42:59,767 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-20 22:42:59,771 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2024-11-20 22:42:59,771 INFO L160 nArgumentSynthesizer]: Using integer mode. [2024-11-20 22:42:59,794 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-20 22:42:59,795 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-20 22:42:59,795 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-20 22:42:59,796 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-20 22:42:59,799 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 3 Nilpotent components: true [2024-11-20 22:42:59,799 INFO L160 nArgumentSynthesizer]: Using integer mode. [2024-11-20 22:42:59,803 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-20 22:42:59,827 INFO L405 LassoAnalysis]: Proving nontermination failed: No geometric nontermination argument exists. [2024-11-20 22:42:59,832 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-20 22:42:59,832 INFO L204 LassoAnalysis]: Preferences: [2024-11-20 22:42:59,833 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2024-11-20 22:42:59,833 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2024-11-20 22:42:59,836 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2024-11-20 22:42:59,836 INFO L128 ssoRankerPreferences]: Use exernal solver: false [2024-11-20 22:42:59,836 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-20 22:42:59,836 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2024-11-20 22:42:59,836 INFO L131 ssoRankerPreferences]: Path of dumped script: [2024-11-20 22:42:59,836 INFO L132 ssoRankerPreferences]: Filename of dumped script: elevator_spec13_product24.cil.c_Iteration2_Loop [2024-11-20 22:42:59,837 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2024-11-20 22:42:59,837 INFO L241 LassoAnalysis]: Starting lasso preprocessing... [2024-11-20 22:42:59,837 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-20 22:42:59,886 INFO L259 LassoAnalysis]: Preprocessing complete. [2024-11-20 22:42:59,886 INFO L451 LassoAnalysis]: Using template 'affine'. [2024-11-20 22:42:59,886 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-20 22:42:59,887 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-20 22:42:59,889 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-20 22:42:59,890 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-20 22:42:59,891 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-20 22:42:59,903 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-20 22:42:59,903 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-11-20 22:42:59,903 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-20 22:42:59,904 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-20 22:42:59,904 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-20 22:42:59,904 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-11-20 22:42:59,905 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-11-20 22:42:59,907 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2024-11-20 22:42:59,909 INFO L443 ModelExtractionUtils]: Simplification made 2 calls to the SMT solver. [2024-11-20 22:42:59,909 INFO L444 ModelExtractionUtils]: 1 out of 3 variables were initially zero. Simplification set additionally 0 variables to zero. [2024-11-20 22:42:59,909 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-20 22:42:59,910 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-20 22:42:59,912 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-20 22:42:59,914 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-20 22:42:59,914 INFO L435 nArgumentSynthesizer]: Simplifying supporting invariants... [2024-11-20 22:42:59,914 INFO L438 nArgumentSynthesizer]: Removed 0 redundant supporting invariants from a total of 0. [2024-11-20 22:42:59,915 INFO L474 LassoAnalysis]: Proved termination. [2024-11-20 22:42:59,915 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-20 22:42:59,922 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-20 22:42:59,923 INFO L156 tatePredicateManager]: 0 out of 0 supporting invariants were superfluous and have been removed [2024-11-20 22:42:59,937 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-20 22:43:00,024 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-20 22:43:00,026 INFO L255 TraceCheckSpWp]: Trace formula consists of 544 conjuncts, 2 conjuncts are in the unsatisfiable core [2024-11-20 22:43:00,028 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-20 22:43:00,091 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-20 22:43:00,092 WARN L253 TraceCheckSpWp]: Trace formula consists of 11 conjuncts, 9 conjuncts are in the unsatisfiable core [2024-11-20 22:43:00,093 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-20 22:43:00,247 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-20 22:43:00,248 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-20 22:43:00,248 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-20 22:43:00,654 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (9)] Forceful destruction successful, exit code 0 [2024-11-20 22:43:01,483 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-20 22:43:01,484 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-20 22:43:01,486 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-20 22:43:01,516 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 33546 transitions. [2024-11-20 22:43:01,516 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 9 states and 33546 transitions. Stem has 37 letters. Loop has 8 letters. [2024-11-20 22:43:01,518 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2024-11-20 22:43:01,518 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 9 states and 33546 transitions. Stem has 45 letters. Loop has 8 letters. [2024-11-20 22:43:01,518 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2024-11-20 22:43:01,519 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 9 states and 33546 transitions. Stem has 37 letters. Loop has 16 letters. [2024-11-20 22:43:01,519 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2024-11-20 22:43:01,519 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 32302 states and 60405 transitions. [2024-11-20 22:43:01,863 INFO L131 ngComponentsAnalysis]: Automaton has 60 accepting balls. 8068 [2024-11-20 22:43:02,029 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 32302 states to 32296 states and 60399 transitions. [2024-11-20 22:43:02,030 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 32247 [2024-11-20 22:43:02,068 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 32248 [2024-11-20 22:43:02,069 INFO L73 IsDeterministic]: Start isDeterministic. Operand 32296 states and 60399 transitions. [2024-11-20 22:43:02,072 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-11-20 22:43:02,073 INFO L218 hiAutomatonCegarLoop]: Abstraction has 32296 states and 60399 transitions. [2024-11-20 22:43:02,110 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 32296 states and 60399 transitions. [2024-11-20 22:43:02,437 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 32296 to 17963. [2024-11-20 22:43:02,468 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-20 22:43:02,518 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17963 states to 17963 states and 33597 transitions. [2024-11-20 22:43:02,519 INFO L240 hiAutomatonCegarLoop]: Abstraction has 17963 states and 33597 transitions. [2024-11-20 22:43:02,519 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-20 22:43:02,519 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2024-11-20 22:43:02,520 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2024-11-20 22:43:02,520 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-20 22:43:03,313 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-20 22:43:03,313 INFO L93 Difference]: Finished difference Result 17981 states and 33615 transitions. [2024-11-20 22:43:03,313 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 17981 states and 33615 transitions. [2024-11-20 22:43:03,398 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 4078 [2024-11-20 22:43:03,467 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 17981 states to 17981 states and 33615 transitions. [2024-11-20 22:43:03,468 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 17943 [2024-11-20 22:43:03,484 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 17943 [2024-11-20 22:43:03,484 INFO L73 IsDeterministic]: Start isDeterministic. Operand 17981 states and 33615 transitions. [2024-11-20 22:43:03,486 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-11-20 22:43:03,486 INFO L218 hiAutomatonCegarLoop]: Abstraction has 17981 states and 33615 transitions. [2024-11-20 22:43:03,511 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 17981 states and 33615 transitions. [2024-11-20 22:43:03,695 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 17981 to 17978. [2024-11-20 22:43:03,725 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-20 22:43:03,769 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17978 states to 17978 states and 33612 transitions. [2024-11-20 22:43:03,770 INFO L240 hiAutomatonCegarLoop]: Abstraction has 17978 states and 33612 transitions. [2024-11-20 22:43:03,770 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2024-11-20 22:43:03,772 INFO L425 stractBuchiCegarLoop]: Abstraction has 17978 states and 33612 transitions. [2024-11-20 22:43:03,772 INFO L332 stractBuchiCegarLoop]: ======== Iteration 3 ============ [2024-11-20 22:43:03,772 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 17978 states and 33612 transitions. [2024-11-20 22:43:03,841 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 4078 [2024-11-20 22:43:03,841 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-20 22:43:03,841 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-20 22:43:03,842 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-20 22:43:03,842 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-11-20 22:43:03,843 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-20 22:43:03,843 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-20 22:43:03,844 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-20 22:43:03,844 INFO L85 PathProgramCache]: Analyzing trace with hash 1342134623, now seen corresponding path program 1 times [2024-11-20 22:43:03,844 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-20 22:43:03,844 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1547669868] [2024-11-20 22:43:03,845 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-20 22:43:03,845 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-20 22:43:03,870 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-20 22:43:03,912 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-20 22:43:03,912 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-20 22:43:03,912 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1547669868] [2024-11-20 22:43:03,912 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1547669868] provided 1 perfect and 0 imperfect interpolant sequences [2024-11-20 22:43:03,912 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-11-20 22:43:03,915 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2024-11-20 22:43:03,915 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1244016404] [2024-11-20 22:43:03,915 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-11-20 22:43:03,916 INFO L750 eck$LassoCheckResult]: stem already infeasible [2024-11-20 22:43:03,916 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-20 22:43:03,916 INFO L85 PathProgramCache]: Analyzing trace with hash -520511543, now seen corresponding path program 1 times [2024-11-20 22:43:03,916 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-20 22:43:03,916 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1423638669] [2024-11-20 22:43:03,916 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-20 22:43:03,916 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-20 22:43:03,932 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-20 22:43:03,934 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-20 22:43:03,936 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-20 22:43:03,950 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-20 22:43:03,977 INFO L204 LassoAnalysis]: Preferences: [2024-11-20 22:43:03,977 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2024-11-20 22:43:03,977 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2024-11-20 22:43:03,978 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2024-11-20 22:43:03,978 INFO L128 ssoRankerPreferences]: Use exernal solver: true [2024-11-20 22:43:03,978 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-20 22:43:03,978 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2024-11-20 22:43:03,978 INFO L131 ssoRankerPreferences]: Path of dumped script: [2024-11-20 22:43:03,978 INFO L132 ssoRankerPreferences]: Filename of dumped script: elevator_spec13_product24.cil.c_Iteration3_Loop [2024-11-20 22:43:03,978 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2024-11-20 22:43:03,978 INFO L241 LassoAnalysis]: Starting lasso preprocessing... [2024-11-20 22:43:03,979 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-20 22:43:03,982 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-20 22:43:04,006 INFO L259 LassoAnalysis]: Preprocessing complete. [2024-11-20 22:43:04,006 INFO L365 LassoAnalysis]: Checking for nontermination... [2024-11-20 22:43:04,007 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-20 22:43:04,007 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-20 22:43:04,008 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-20 22:43:04,171 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-20 22:43:04,172 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2024-11-20 22:43:04,172 INFO L160 nArgumentSynthesizer]: Using integer mode. [2024-11-20 22:43:04,187 INFO L398 LassoAnalysis]: Proved nontermination for one component. [2024-11-20 22:43:04,188 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-20 22:43:04,195 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-20 22:43:04,196 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-20 22:43:04,196 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-20 22:43:04,197 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-20 22:43:04,199 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-20 22:43:04,201 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2024-11-20 22:43:04,202 INFO L160 nArgumentSynthesizer]: Using integer mode. [2024-11-20 22:43:04,225 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (11)] Forceful destruction successful, exit code 0 [2024-11-20 22:43:04,226 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-20 22:43:04,226 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-20 22:43:04,228 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-20 22:43:04,229 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-20 22:43:04,230 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 3 Nilpotent components: true [2024-11-20 22:43:04,230 INFO L160 nArgumentSynthesizer]: Using integer mode. [2024-11-20 22:43:04,247 INFO L405 LassoAnalysis]: Proving nontermination failed: No geometric nontermination argument exists. [2024-11-20 22:43:04,255 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-20 22:43:04,255 INFO L204 LassoAnalysis]: Preferences: [2024-11-20 22:43:04,255 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2024-11-20 22:43:04,255 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2024-11-20 22:43:04,256 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2024-11-20 22:43:04,256 INFO L128 ssoRankerPreferences]: Use exernal solver: false [2024-11-20 22:43:04,256 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-20 22:43:04,256 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2024-11-20 22:43:04,256 INFO L131 ssoRankerPreferences]: Path of dumped script: [2024-11-20 22:43:04,256 INFO L132 ssoRankerPreferences]: Filename of dumped script: elevator_spec13_product24.cil.c_Iteration3_Loop [2024-11-20 22:43:04,256 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2024-11-20 22:43:04,256 INFO L241 LassoAnalysis]: Starting lasso preprocessing... [2024-11-20 22:43:04,258 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-20 22:43:04,262 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-20 22:43:04,291 INFO L259 LassoAnalysis]: Preprocessing complete. [2024-11-20 22:43:04,291 INFO L451 LassoAnalysis]: Using template 'affine'. [2024-11-20 22:43:04,291 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-20 22:43:04,291 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-20 22:43:04,294 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-20 22:43:04,295 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-20 22:43:04,296 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-20 22:43:04,308 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-20 22:43:04,308 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-11-20 22:43:04,308 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-20 22:43:04,308 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-20 22:43:04,308 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-20 22:43:04,310 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-11-20 22:43:04,310 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-11-20 22:43:04,311 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-20 22:43:04,318 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-20 22:43:04,319 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-20 22:43:04,319 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-20 22:43:04,321 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-20 22:43:04,323 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-20 22:43:04,324 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-20 22:43:04,336 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-20 22:43:04,337 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-11-20 22:43:04,337 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-20 22:43:04,337 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-20 22:43:04,337 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-20 22:43:04,338 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-11-20 22:43:04,339 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-11-20 22:43:04,342 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2024-11-20 22:43:04,345 INFO L443 ModelExtractionUtils]: Simplification made 3 calls to the SMT solver. [2024-11-20 22:43:04,345 INFO L444 ModelExtractionUtils]: 0 out of 3 variables were initially zero. Simplification set additionally 0 variables to zero. [2024-11-20 22:43:04,346 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-20 22:43:04,346 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-20 22:43:04,347 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-20 22:43:04,350 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-20 22:43:04,351 INFO L435 nArgumentSynthesizer]: Simplifying supporting invariants... [2024-11-20 22:43:04,351 INFO L438 nArgumentSynthesizer]: Removed 0 redundant supporting invariants from a total of 0. [2024-11-20 22:43:04,351 INFO L474 LassoAnalysis]: Proved termination. [2024-11-20 22:43:04,351 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-20 22:43:04,359 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (14)] Ended with exit code 0 [2024-11-20 22:43:04,360 INFO L156 tatePredicateManager]: 0 out of 0 supporting invariants were superfluous and have been removed [2024-11-20 22:43:04,380 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-20 22:43:04,473 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-20 22:43:04,476 INFO L255 TraceCheckSpWp]: Trace formula consists of 546 conjuncts, 2 conjuncts are in the unsatisfiable core [2024-11-20 22:43:04,477 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-20 22:43:04,537 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-20 22:43:04,538 INFO L255 TraceCheckSpWp]: Trace formula consists of 14 conjuncts, 4 conjuncts are in the unsatisfiable core [2024-11-20 22:43:04,539 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-20 22:43:04,620 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-20 22:43:04,621 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-20 22:43:04,621 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-20 22:43:05,348 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-20 22:43:06,028 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-20 22:43:06,029 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-20 22:43:06,030 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-20 22:43:06,102 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 60319 transitions. [2024-11-20 22:43:06,103 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 5 states and 60319 transitions. Stem has 39 letters. Loop has 9 letters. [2024-11-20 22:43:06,103 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2024-11-20 22:43:06,103 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 5 states and 60319 transitions. Stem has 48 letters. Loop has 9 letters. [2024-11-20 22:43:06,104 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2024-11-20 22:43:06,105 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 5 states and 60319 transitions. Stem has 39 letters. Loop has 18 letters. [2024-11-20 22:43:06,105 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2024-11-20 22:43:06,106 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 46703 states and 87304 transitions. [2024-11-20 22:43:06,304 INFO L131 ngComponentsAnalysis]: Automaton has 60 accepting balls. 8056 [2024-11-20 22:43:06,435 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 46703 states to 32341 states and 60450 transitions. [2024-11-20 22:43:06,435 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 32255 [2024-11-20 22:43:06,464 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 32258 [2024-11-20 22:43:06,465 INFO L73 IsDeterministic]: Start isDeterministic. Operand 32341 states and 60450 transitions. [2024-11-20 22:43:06,486 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-11-20 22:43:06,486 INFO L218 hiAutomatonCegarLoop]: Abstraction has 32341 states and 60450 transitions. [2024-11-20 22:43:06,524 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 32341 states and 60450 transitions. [2024-11-20 22:43:06,811 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 32341 to 18024. [2024-11-20 22:43:06,840 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-20 22:43:06,886 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18024 states to 18024 states and 33675 transitions. [2024-11-20 22:43:06,886 INFO L240 hiAutomatonCegarLoop]: Abstraction has 18024 states and 33675 transitions. [2024-11-20 22:43:06,886 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-20 22:43:06,887 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2024-11-20 22:43:06,887 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2024-11-20 22:43:06,887 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-20 22:43:07,358 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-20 22:43:07,358 INFO L93 Difference]: Finished difference Result 17990 states and 33607 transitions. [2024-11-20 22:43:07,358 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 17990 states and 33607 transitions. [2024-11-20 22:43:07,444 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 4076 [2024-11-20 22:43:07,506 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 17990 states to 17990 states and 33607 transitions. [2024-11-20 22:43:07,506 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 17907 [2024-11-20 22:43:07,522 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 17907 [2024-11-20 22:43:07,523 INFO L73 IsDeterministic]: Start isDeterministic. Operand 17990 states and 33607 transitions. [2024-11-20 22:43:07,523 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-11-20 22:43:07,523 INFO L218 hiAutomatonCegarLoop]: Abstraction has 17990 states and 33607 transitions. [2024-11-20 22:43:07,549 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 17990 states and 33607 transitions. [2024-11-20 22:43:07,724 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 17990 to 17990. [2024-11-20 22:43:07,748 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-20 22:43:07,787 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17990 states to 17990 states and 33607 transitions. [2024-11-20 22:43:07,787 INFO L240 hiAutomatonCegarLoop]: Abstraction has 17990 states and 33607 transitions. [2024-11-20 22:43:07,788 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2024-11-20 22:43:07,789 INFO L425 stractBuchiCegarLoop]: Abstraction has 17990 states and 33607 transitions. [2024-11-20 22:43:07,789 INFO L332 stractBuchiCegarLoop]: ======== Iteration 4 ============ [2024-11-20 22:43:07,790 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 17990 states and 33607 transitions. [2024-11-20 22:43:07,849 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 4076 [2024-11-20 22:43:07,849 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-20 22:43:07,850 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-20 22:43:07,850 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-20 22:43:07,850 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1] [2024-11-20 22:43:07,851 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-20 22:43:07,852 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-20 22:43:07,852 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-20 22:43:07,853 INFO L85 PathProgramCache]: Analyzing trace with hash 332393644, now seen corresponding path program 1 times [2024-11-20 22:43:07,853 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-20 22:43:07,853 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [838132940] [2024-11-20 22:43:07,853 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-20 22:43:07,853 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-20 22:43:07,880 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-20 22:43:07,964 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-20 22:43:07,965 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-20 22:43:07,965 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [838132940] [2024-11-20 22:43:07,966 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [838132940] provided 1 perfect and 0 imperfect interpolant sequences [2024-11-20 22:43:07,966 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-11-20 22:43:07,966 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2024-11-20 22:43:07,966 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1091562038] [2024-11-20 22:43:07,966 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-11-20 22:43:07,967 INFO L750 eck$LassoCheckResult]: stem already infeasible [2024-11-20 22:43:07,967 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-20 22:43:07,967 INFO L85 PathProgramCache]: Analyzing trace with hash 954762475, now seen corresponding path program 1 times [2024-11-20 22:43:07,967 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-20 22:43:07,967 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [586330136] [2024-11-20 22:43:07,967 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-20 22:43:07,967 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-20 22:43:07,982 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-20 22:43:07,982 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-20 22:43:07,983 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-20 22:43:08,003 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-20 22:43:08,027 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-20 22:43:08,027 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2024-11-20 22:43:08,027 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2024-11-20 22:43:08,028 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-20 22:43:08,782 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-20 22:43:08,782 INFO L93 Difference]: Finished difference Result 17998 states and 33614 transitions. [2024-11-20 22:43:08,782 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 17998 states and 33614 transitions. [2024-11-20 22:43:08,847 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 4076 [2024-11-20 22:43:08,895 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 17998 states to 17998 states and 33614 transitions. [2024-11-20 22:43:08,895 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 17915 [2024-11-20 22:43:08,913 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 17915 [2024-11-20 22:43:08,913 INFO L73 IsDeterministic]: Start isDeterministic. Operand 17998 states and 33614 transitions. [2024-11-20 22:43:08,913 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-11-20 22:43:08,913 INFO L218 hiAutomatonCegarLoop]: Abstraction has 17998 states and 33614 transitions. [2024-11-20 22:43:08,942 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 17998 states and 33614 transitions. [2024-11-20 22:43:09,416 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 17998 to 17990. [2024-11-20 22:43:09,446 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-20 22:43:09,486 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17990 states to 17990 states and 33601 transitions. [2024-11-20 22:43:09,487 INFO L240 hiAutomatonCegarLoop]: Abstraction has 17990 states and 33601 transitions. [2024-11-20 22:43:09,487 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2024-11-20 22:43:09,489 INFO L425 stractBuchiCegarLoop]: Abstraction has 17990 states and 33601 transitions. [2024-11-20 22:43:09,489 INFO L332 stractBuchiCegarLoop]: ======== Iteration 5 ============ [2024-11-20 22:43:09,489 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 17990 states and 33601 transitions. [2024-11-20 22:43:09,550 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 4076 [2024-11-20 22:43:09,550 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-20 22:43:09,550 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-20 22:43:09,553 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-20 22:43:09,553 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1] [2024-11-20 22:43:09,553 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-20 22:43:09,554 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-20 22:43:09,554 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-20 22:43:09,554 INFO L85 PathProgramCache]: Analyzing trace with hash 553838192, now seen corresponding path program 1 times [2024-11-20 22:43:09,554 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-20 22:43:09,556 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1069356712] [2024-11-20 22:43:09,556 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-20 22:43:09,557 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-20 22:43:09,589 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-20 22:43:09,652 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-20 22:43:09,652 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-20 22:43:09,653 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1069356712] [2024-11-20 22:43:09,653 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1069356712] provided 1 perfect and 0 imperfect interpolant sequences [2024-11-20 22:43:09,654 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-11-20 22:43:09,654 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2024-11-20 22:43:09,654 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [826301781] [2024-11-20 22:43:09,654 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-11-20 22:43:09,655 INFO L750 eck$LassoCheckResult]: stem already infeasible [2024-11-20 22:43:09,655 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-20 22:43:09,655 INFO L85 PathProgramCache]: Analyzing trace with hash 954762475, now seen corresponding path program 2 times [2024-11-20 22:43:09,655 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-20 22:43:09,656 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [850852273] [2024-11-20 22:43:09,656 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-20 22:43:09,656 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-20 22:43:09,675 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-20 22:43:09,675 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-20 22:43:09,676 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-20 22:43:09,695 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-20 22:43:09,720 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-20 22:43:09,720 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2024-11-20 22:43:09,720 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2024-11-20 22:43:09,721 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-20 22:43:10,032 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-20 22:43:10,032 INFO L93 Difference]: Finished difference Result 17994 states and 33604 transitions. [2024-11-20 22:43:10,032 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 17994 states and 33604 transitions. [2024-11-20 22:43:10,092 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 4076 [2024-11-20 22:43:10,138 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 17994 states to 17994 states and 33604 transitions. [2024-11-20 22:43:10,138 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 17911 [2024-11-20 22:43:10,154 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 17911 [2024-11-20 22:43:10,155 INFO L73 IsDeterministic]: Start isDeterministic. Operand 17994 states and 33604 transitions. [2024-11-20 22:43:10,155 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-11-20 22:43:10,155 INFO L218 hiAutomatonCegarLoop]: Abstraction has 17994 states and 33604 transitions. [2024-11-20 22:43:10,468 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 17994 states and 33604 transitions. [2024-11-20 22:43:10,745 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 17994 to 17994. [2024-11-20 22:43:10,768 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-20 22:43:10,820 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17994 states to 17994 states and 33604 transitions. [2024-11-20 22:43:10,820 INFO L240 hiAutomatonCegarLoop]: Abstraction has 17994 states and 33604 transitions. [2024-11-20 22:43:10,821 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2024-11-20 22:43:10,824 INFO L425 stractBuchiCegarLoop]: Abstraction has 17994 states and 33604 transitions. [2024-11-20 22:43:10,824 INFO L332 stractBuchiCegarLoop]: ======== Iteration 6 ============ [2024-11-20 22:43:10,824 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 17994 states and 33604 transitions. [2024-11-20 22:43:10,908 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 4076 [2024-11-20 22:43:10,909 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-20 22:43:10,909 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-20 22:43:10,911 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-20 22:43:10,911 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1] [2024-11-20 22:43:10,912 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-20 22:43:10,912 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-20 22:43:10,913 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-20 22:43:10,913 INFO L85 PathProgramCache]: Analyzing trace with hash -1251686709, now seen corresponding path program 1 times [2024-11-20 22:43:10,914 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-20 22:43:10,914 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [418301510] [2024-11-20 22:43:10,914 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-20 22:43:10,914 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-20 22:43:10,948 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-20 22:43:11,043 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-20 22:43:11,043 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-20 22:43:11,044 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [418301510] [2024-11-20 22:43:11,044 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [418301510] provided 1 perfect and 0 imperfect interpolant sequences [2024-11-20 22:43:11,044 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-11-20 22:43:11,044 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2024-11-20 22:43:11,044 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1359396237] [2024-11-20 22:43:11,044 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-11-20 22:43:11,045 INFO L750 eck$LassoCheckResult]: stem already infeasible [2024-11-20 22:43:11,045 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-20 22:43:11,045 INFO L85 PathProgramCache]: Analyzing trace with hash 954762475, now seen corresponding path program 3 times [2024-11-20 22:43:11,045 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-20 22:43:11,045 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1494893515] [2024-11-20 22:43:11,046 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-20 22:43:11,046 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-20 22:43:11,068 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-20 22:43:11,068 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-20 22:43:11,069 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-20 22:43:11,078 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-20 22:43:11,100 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-20 22:43:11,101 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2024-11-20 22:43:11,101 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2024-11-20 22:43:11,102 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-20 22:43:11,627 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-20 22:43:11,628 INFO L93 Difference]: Finished difference Result 18000 states and 33609 transitions. [2024-11-20 22:43:11,628 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 18000 states and 33609 transitions. [2024-11-20 22:43:11,740 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 4076 [2024-11-20 22:43:11,814 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 18000 states to 18000 states and 33609 transitions. [2024-11-20 22:43:11,814 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 17917 [2024-11-20 22:43:11,831 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 17917 [2024-11-20 22:43:11,832 INFO L73 IsDeterministic]: Start isDeterministic. Operand 18000 states and 33609 transitions. [2024-11-20 22:43:11,832 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-11-20 22:43:11,832 INFO L218 hiAutomatonCegarLoop]: Abstraction has 18000 states and 33609 transitions. [2024-11-20 22:43:12,184 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 18000 states and 33609 transitions. [2024-11-20 22:43:12,388 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 18000 to 18000. [2024-11-20 22:43:12,410 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-20 22:43:12,450 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18000 states to 18000 states and 33609 transitions. [2024-11-20 22:43:12,451 INFO L240 hiAutomatonCegarLoop]: Abstraction has 18000 states and 33609 transitions. [2024-11-20 22:43:12,451 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2024-11-20 22:43:12,451 INFO L425 stractBuchiCegarLoop]: Abstraction has 18000 states and 33609 transitions. [2024-11-20 22:43:12,451 INFO L332 stractBuchiCegarLoop]: ======== Iteration 7 ============ [2024-11-20 22:43:12,452 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 18000 states and 33609 transitions. [2024-11-20 22:43:12,494 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 4076 [2024-11-20 22:43:12,494 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-20 22:43:12,494 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-20 22:43:12,494 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-20 22:43:12,494 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1] [2024-11-20 22:43:12,495 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-20 22:43:12,495 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-20 22:43:12,495 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-20 22:43:12,495 INFO L85 PathProgramCache]: Analyzing trace with hash -1233284757, now seen corresponding path program 1 times [2024-11-20 22:43:12,495 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-20 22:43:12,496 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2127059022] [2024-11-20 22:43:12,496 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-20 22:43:12,496 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-20 22:43:12,524 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-20 22:43:12,588 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-11-20 22:43:12,589 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-20 22:43:12,589 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2127059022] [2024-11-20 22:43:12,589 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2127059022] provided 1 perfect and 0 imperfect interpolant sequences [2024-11-20 22:43:12,589 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-11-20 22:43:12,589 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2024-11-20 22:43:12,589 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1808697637] [2024-11-20 22:43:12,589 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-11-20 22:43:12,590 INFO L750 eck$LassoCheckResult]: stem already infeasible [2024-11-20 22:43:12,590 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-20 22:43:12,590 INFO L85 PathProgramCache]: Analyzing trace with hash 954762475, now seen corresponding path program 4 times [2024-11-20 22:43:12,590 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-20 22:43:12,590 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [439176208] [2024-11-20 22:43:12,590 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-20 22:43:12,590 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-20 22:43:12,608 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-20 22:43:12,608 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-20 22:43:12,610 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-20 22:43:12,618 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-20 22:43:12,639 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-20 22:43:12,639 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2024-11-20 22:43:12,640 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2024-11-20 22:43:12,640 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-20 22:43:12,917 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-20 22:43:12,918 INFO L93 Difference]: Finished difference Result 18008 states and 33616 transitions. [2024-11-20 22:43:12,918 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 18008 states and 33616 transitions. [2024-11-20 22:43:12,983 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 4076 [2024-11-20 22:43:13,033 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 18008 states to 18008 states and 33616 transitions. [2024-11-20 22:43:13,033 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 17925 [2024-11-20 22:43:13,369 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 17925 [2024-11-20 22:43:13,370 INFO L73 IsDeterministic]: Start isDeterministic. Operand 18008 states and 33616 transitions. [2024-11-20 22:43:13,373 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-11-20 22:43:13,373 INFO L218 hiAutomatonCegarLoop]: Abstraction has 18008 states and 33616 transitions. [2024-11-20 22:43:13,394 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 18008 states and 33616 transitions. [2024-11-20 22:43:13,529 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 18008 to 18008. [2024-11-20 22:43:13,549 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-20 22:43:13,578 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18008 states to 18008 states and 33616 transitions. [2024-11-20 22:43:13,578 INFO L240 hiAutomatonCegarLoop]: Abstraction has 18008 states and 33616 transitions. [2024-11-20 22:43:13,579 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2024-11-20 22:43:13,579 INFO L425 stractBuchiCegarLoop]: Abstraction has 18008 states and 33616 transitions. [2024-11-20 22:43:13,579 INFO L332 stractBuchiCegarLoop]: ======== Iteration 8 ============ [2024-11-20 22:43:13,579 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 18008 states and 33616 transitions. [2024-11-20 22:43:13,621 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 4076 [2024-11-20 22:43:13,621 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-20 22:43:13,621 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-20 22:43:13,621 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-20 22:43:13,621 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1] [2024-11-20 22:43:13,621 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-20 22:43:13,622 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-20 22:43:13,622 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-20 22:43:13,622 INFO L85 PathProgramCache]: Analyzing trace with hash -507725210, now seen corresponding path program 1 times [2024-11-20 22:43:13,622 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-20 22:43:13,622 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1158970972] [2024-11-20 22:43:13,622 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-20 22:43:13,622 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-20 22:43:13,645 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-20 22:43:13,757 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-20 22:43:13,757 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-20 22:43:13,757 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1158970972] [2024-11-20 22:43:13,757 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1158970972] provided 1 perfect and 0 imperfect interpolant sequences [2024-11-20 22:43:13,758 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-11-20 22:43:13,758 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2024-11-20 22:43:13,758 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1256950392] [2024-11-20 22:43:13,758 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-11-20 22:43:13,758 INFO L750 eck$LassoCheckResult]: stem already infeasible [2024-11-20 22:43:13,758 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-20 22:43:13,759 INFO L85 PathProgramCache]: Analyzing trace with hash 954762475, now seen corresponding path program 5 times [2024-11-20 22:43:13,759 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-20 22:43:13,759 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1868951747] [2024-11-20 22:43:13,759 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-20 22:43:13,759 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-20 22:43:13,771 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-20 22:43:13,772 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-20 22:43:13,773 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-20 22:43:13,781 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-20 22:43:13,799 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-20 22:43:13,800 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2024-11-20 22:43:13,800 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2024-11-20 22:43:13,800 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-20 22:43:14,493 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-20 22:43:14,494 INFO L93 Difference]: Finished difference Result 17994 states and 33590 transitions. [2024-11-20 22:43:14,494 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 17994 states and 33590 transitions. [2024-11-20 22:43:14,549 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 4076 [2024-11-20 22:43:14,590 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 17994 states to 17994 states and 33590 transitions. [2024-11-20 22:43:14,591 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 17911 [2024-11-20 22:43:14,600 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 17911 [2024-11-20 22:43:14,600 INFO L73 IsDeterministic]: Start isDeterministic. Operand 17994 states and 33590 transitions. [2024-11-20 22:43:14,608 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-11-20 22:43:14,608 INFO L218 hiAutomatonCegarLoop]: Abstraction has 17994 states and 33590 transitions. [2024-11-20 22:43:14,626 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 17994 states and 33590 transitions. [2024-11-20 22:43:14,737 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 17994 to 17994. [2024-11-20 22:43:14,755 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-20 22:43:14,787 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17994 states to 17994 states and 33590 transitions. [2024-11-20 22:43:14,787 INFO L240 hiAutomatonCegarLoop]: Abstraction has 17994 states and 33590 transitions. [2024-11-20 22:43:14,788 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2024-11-20 22:43:14,788 INFO L425 stractBuchiCegarLoop]: Abstraction has 17994 states and 33590 transitions. [2024-11-20 22:43:14,788 INFO L332 stractBuchiCegarLoop]: ======== Iteration 9 ============ [2024-11-20 22:43:14,788 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 17994 states and 33590 transitions. [2024-11-20 22:43:14,830 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 4076 [2024-11-20 22:43:14,831 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-20 22:43:14,831 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-20 22:43:14,831 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-20 22:43:14,831 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1] [2024-11-20 22:43:14,832 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-20 22:43:14,832 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-20 22:43:14,832 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-20 22:43:14,832 INFO L85 PathProgramCache]: Analyzing trace with hash 1319509436, now seen corresponding path program 1 times [2024-11-20 22:43:14,833 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-20 22:43:14,833 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [454023676] [2024-11-20 22:43:14,833 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-20 22:43:14,833 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-20 22:43:14,864 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-20 22:43:14,959 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-20 22:43:14,960 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-20 22:43:14,960 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [454023676] [2024-11-20 22:43:14,960 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [454023676] provided 1 perfect and 0 imperfect interpolant sequences [2024-11-20 22:43:14,960 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-11-20 22:43:14,960 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2024-11-20 22:43:14,961 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1453381651] [2024-11-20 22:43:14,961 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-11-20 22:43:14,961 INFO L750 eck$LassoCheckResult]: stem already infeasible [2024-11-20 22:43:14,961 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-20 22:43:14,961 INFO L85 PathProgramCache]: Analyzing trace with hash 954762475, now seen corresponding path program 6 times [2024-11-20 22:43:14,961 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-20 22:43:14,961 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1108393100] [2024-11-20 22:43:14,961 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-20 22:43:14,962 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-20 22:43:14,973 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-20 22:43:14,974 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-20 22:43:14,975 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-20 22:43:14,983 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-20 22:43:15,002 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-20 22:43:15,003 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2024-11-20 22:43:15,003 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2024-11-20 22:43:15,003 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-20 22:43:15,718 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-20 22:43:15,718 INFO L93 Difference]: Finished difference Result 17988 states and 33577 transitions. [2024-11-20 22:43:15,718 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 17988 states and 33577 transitions. [2024-11-20 22:43:15,803 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 4076 [2024-11-20 22:43:15,853 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 17988 states to 17988 states and 33577 transitions. [2024-11-20 22:43:15,854 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 17905 [2024-11-20 22:43:15,866 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 17905 [2024-11-20 22:43:15,866 INFO L73 IsDeterministic]: Start isDeterministic. Operand 17988 states and 33577 transitions. [2024-11-20 22:43:15,882 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-11-20 22:43:15,882 INFO L218 hiAutomatonCegarLoop]: Abstraction has 17988 states and 33577 transitions. [2024-11-20 22:43:15,911 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 17988 states and 33577 transitions. [2024-11-20 22:43:16,122 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 17988 to 17988. [2024-11-20 22:43:16,145 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-20 22:43:16,181 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17988 states to 17988 states and 33577 transitions. [2024-11-20 22:43:16,181 INFO L240 hiAutomatonCegarLoop]: Abstraction has 17988 states and 33577 transitions. [2024-11-20 22:43:16,182 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2024-11-20 22:43:16,182 INFO L425 stractBuchiCegarLoop]: Abstraction has 17988 states and 33577 transitions. [2024-11-20 22:43:16,182 INFO L332 stractBuchiCegarLoop]: ======== Iteration 10 ============ [2024-11-20 22:43:16,182 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 17988 states and 33577 transitions. [2024-11-20 22:43:16,241 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 4076 [2024-11-20 22:43:16,241 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-20 22:43:16,241 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-20 22:43:16,242 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-20 22:43:16,242 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1] [2024-11-20 22:43:16,242 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-20 22:43:16,242 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-20 22:43:16,243 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-20 22:43:16,243 INFO L85 PathProgramCache]: Analyzing trace with hash 1479862237, now seen corresponding path program 1 times [2024-11-20 22:43:16,243 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-20 22:43:16,243 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [278316319] [2024-11-20 22:43:16,243 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-20 22:43:16,243 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-20 22:43:16,280 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-20 22:43:16,347 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-20 22:43:16,347 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-20 22:43:16,347 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [278316319] [2024-11-20 22:43:16,347 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [278316319] provided 1 perfect and 0 imperfect interpolant sequences [2024-11-20 22:43:16,347 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-11-20 22:43:16,348 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2024-11-20 22:43:16,348 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1328644688] [2024-11-20 22:43:16,348 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-11-20 22:43:16,348 INFO L750 eck$LassoCheckResult]: stem already infeasible [2024-11-20 22:43:16,349 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-20 22:43:16,349 INFO L85 PathProgramCache]: Analyzing trace with hash 954762475, now seen corresponding path program 7 times [2024-11-20 22:43:16,349 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-20 22:43:16,349 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1433410619] [2024-11-20 22:43:16,349 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-20 22:43:16,349 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-20 22:43:16,365 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-20 22:43:16,366 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-20 22:43:16,367 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-20 22:43:16,375 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-20 22:43:16,394 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-20 22:43:16,395 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2024-11-20 22:43:16,395 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2024-11-20 22:43:16,395 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-20 22:43:17,144 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-20 22:43:17,144 INFO L93 Difference]: Finished difference Result 18004 states and 33589 transitions. [2024-11-20 22:43:17,144 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 18004 states and 33589 transitions. [2024-11-20 22:43:17,201 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 4076 [2024-11-20 22:43:17,243 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 18004 states to 18004 states and 33589 transitions. [2024-11-20 22:43:17,244 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 17921 [2024-11-20 22:43:17,256 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 17921 [2024-11-20 22:43:17,257 INFO L73 IsDeterministic]: Start isDeterministic. Operand 18004 states and 33589 transitions. [2024-11-20 22:43:17,272 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-11-20 22:43:17,272 INFO L218 hiAutomatonCegarLoop]: Abstraction has 18004 states and 33589 transitions. [2024-11-20 22:43:17,296 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 18004 states and 33589 transitions. [2024-11-20 22:43:17,421 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 18004 to 17988. [2024-11-20 22:43:17,439 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-20 22:43:17,469 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17988 states to 17988 states and 33569 transitions. [2024-11-20 22:43:17,469 INFO L240 hiAutomatonCegarLoop]: Abstraction has 17988 states and 33569 transitions. [2024-11-20 22:43:17,470 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2024-11-20 22:43:17,470 INFO L425 stractBuchiCegarLoop]: Abstraction has 17988 states and 33569 transitions. [2024-11-20 22:43:17,470 INFO L332 stractBuchiCegarLoop]: ======== Iteration 11 ============ [2024-11-20 22:43:17,470 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 17988 states and 33569 transitions. [2024-11-20 22:43:17,512 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 4076 [2024-11-20 22:43:17,513 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-20 22:43:17,513 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-20 22:43:17,513 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-20 22:43:17,513 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1] [2024-11-20 22:43:17,513 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-20 22:43:17,513 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-20 22:43:17,514 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-20 22:43:17,514 INFO L85 PathProgramCache]: Analyzing trace with hash -1525038236, now seen corresponding path program 1 times [2024-11-20 22:43:17,514 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-20 22:43:17,514 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [322381679] [2024-11-20 22:43:17,514 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-20 22:43:17,514 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-20 22:43:17,535 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-20 22:43:17,593 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-20 22:43:17,594 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-20 22:43:17,594 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [322381679] [2024-11-20 22:43:17,594 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [322381679] provided 1 perfect and 0 imperfect interpolant sequences [2024-11-20 22:43:17,594 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-11-20 22:43:17,594 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2024-11-20 22:43:17,594 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [351166790] [2024-11-20 22:43:17,594 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-11-20 22:43:17,595 INFO L750 eck$LassoCheckResult]: stem already infeasible [2024-11-20 22:43:17,595 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-20 22:43:17,595 INFO L85 PathProgramCache]: Analyzing trace with hash 954762475, now seen corresponding path program 8 times [2024-11-20 22:43:17,595 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-20 22:43:17,595 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1664616647] [2024-11-20 22:43:17,596 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-20 22:43:17,596 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-20 22:43:17,610 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-20 22:43:17,611 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-20 22:43:17,612 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-20 22:43:17,627 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-20 22:43:17,652 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-20 22:43:17,652 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2024-11-20 22:43:17,652 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2024-11-20 22:43:17,652 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-20 22:43:18,695 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-20 22:43:18,695 INFO L93 Difference]: Finished difference Result 33988 states and 63548 transitions. [2024-11-20 22:43:18,696 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 33988 states and 63548 transitions. [2024-11-20 22:43:18,799 INFO L131 ngComponentsAnalysis]: Automaton has 66 accepting balls. 7120 [2024-11-20 22:43:18,880 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 33988 states to 33988 states and 63548 transitions. [2024-11-20 22:43:18,880 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 33822 [2024-11-20 22:43:18,901 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 33822 [2024-11-20 22:43:18,901 INFO L73 IsDeterministic]: Start isDeterministic. Operand 33988 states and 63548 transitions. [2024-11-20 22:43:18,904 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-11-20 22:43:18,904 INFO L218 hiAutomatonCegarLoop]: Abstraction has 33988 states and 63548 transitions. [2024-11-20 22:43:18,928 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 33988 states and 63548 transitions. [2024-11-20 22:43:19,133 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 33988 to 28976. [2024-11-20 22:43:19,160 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-20 22:43:19,208 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28976 states to 28976 states and 54060 transitions. [2024-11-20 22:43:19,208 INFO L240 hiAutomatonCegarLoop]: Abstraction has 28976 states and 54060 transitions. [2024-11-20 22:43:19,208 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2024-11-20 22:43:19,209 INFO L425 stractBuchiCegarLoop]: Abstraction has 28976 states and 54060 transitions. [2024-11-20 22:43:19,209 INFO L332 stractBuchiCegarLoop]: ======== Iteration 12 ============ [2024-11-20 22:43:19,209 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 28976 states and 54060 transitions. [2024-11-20 22:43:19,278 INFO L131 ngComponentsAnalysis]: Automaton has 66 accepting balls. 7120 [2024-11-20 22:43:19,278 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-20 22:43:19,278 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-20 22:43:19,278 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-20 22:43:19,278 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1] [2024-11-20 22:43:19,279 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-20 22:43:19,279 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-20 22:43:19,279 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-20 22:43:19,279 INFO L85 PathProgramCache]: Analyzing trace with hash 401192103, now seen corresponding path program 1 times [2024-11-20 22:43:19,279 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-20 22:43:19,279 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [467675709] [2024-11-20 22:43:19,280 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-20 22:43:19,280 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-20 22:43:19,304 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-20 22:43:19,421 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-20 22:43:19,422 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-20 22:43:19,422 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [467675709] [2024-11-20 22:43:19,422 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [467675709] provided 1 perfect and 0 imperfect interpolant sequences [2024-11-20 22:43:19,422 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-11-20 22:43:19,422 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2024-11-20 22:43:19,422 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1525900009] [2024-11-20 22:43:19,422 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-11-20 22:43:19,422 INFO L750 eck$LassoCheckResult]: stem already infeasible [2024-11-20 22:43:19,423 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-20 22:43:19,423 INFO L85 PathProgramCache]: Analyzing trace with hash 954762475, now seen corresponding path program 9 times [2024-11-20 22:43:19,423 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-20 22:43:19,423 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1431505527] [2024-11-20 22:43:19,423 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-20 22:43:19,423 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-20 22:43:19,435 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-20 22:43:19,435 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-20 22:43:19,437 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-20 22:43:19,445 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-20 22:43:19,466 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-20 22:43:19,467 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2024-11-20 22:43:19,467 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=14, Invalid=42, Unknown=0, NotChecked=0, Total=56 [2024-11-20 22:43:19,467 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-20 22:43:20,503 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-20 22:43:20,503 INFO L93 Difference]: Finished difference Result 28268 states and 52291 transitions. [2024-11-20 22:43:20,503 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 28268 states and 52291 transitions. [2024-11-20 22:43:20,608 INFO L131 ngComponentsAnalysis]: Automaton has 122 accepting balls. 8500 [2024-11-20 22:43:20,685 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 28268 states to 28268 states and 52291 transitions. [2024-11-20 22:43:20,685 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 28019 [2024-11-20 22:43:20,709 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 28019 [2024-11-20 22:43:20,709 INFO L73 IsDeterministic]: Start isDeterministic. Operand 28268 states and 52291 transitions. [2024-11-20 22:43:20,710 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-11-20 22:43:20,710 INFO L218 hiAutomatonCegarLoop]: Abstraction has 28268 states and 52291 transitions. [2024-11-20 22:43:20,737 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 28268 states and 52291 transitions. [2024-11-20 22:43:21,295 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 28268 to 28268. [2024-11-20 22:43:21,326 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-20 22:43:21,384 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28268 states to 28268 states and 52291 transitions. [2024-11-20 22:43:21,384 INFO L240 hiAutomatonCegarLoop]: Abstraction has 28268 states and 52291 transitions. [2024-11-20 22:43:21,384 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2024-11-20 22:43:21,385 INFO L425 stractBuchiCegarLoop]: Abstraction has 28268 states and 52291 transitions. [2024-11-20 22:43:21,385 INFO L332 stractBuchiCegarLoop]: ======== Iteration 13 ============ [2024-11-20 22:43:21,385 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 28268 states and 52291 transitions. [2024-11-20 22:43:21,478 INFO L131 ngComponentsAnalysis]: Automaton has 122 accepting balls. 8500 [2024-11-20 22:43:21,478 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-20 22:43:21,478 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-20 22:43:21,479 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-11-20 22:43:21,479 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1] [2024-11-20 22:43:21,480 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-20 22:43:21,480 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-20 22:43:21,481 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-20 22:43:21,481 INFO L85 PathProgramCache]: Analyzing trace with hash 886367810, now seen corresponding path program 1 times [2024-11-20 22:43:21,481 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-20 22:43:21,481 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1517177692] [2024-11-20 22:43:21,482 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-20 22:43:21,482 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-20 22:43:21,517 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-20 22:43:21,595 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-20 22:43:21,595 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-20 22:43:21,595 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1517177692] [2024-11-20 22:43:21,596 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1517177692] provided 1 perfect and 0 imperfect interpolant sequences [2024-11-20 22:43:21,596 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-11-20 22:43:21,596 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2024-11-20 22:43:21,596 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1087271452] [2024-11-20 22:43:21,596 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-11-20 22:43:21,596 INFO L750 eck$LassoCheckResult]: stem already infeasible [2024-11-20 22:43:21,597 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-20 22:43:21,597 INFO L85 PathProgramCache]: Analyzing trace with hash 954762475, now seen corresponding path program 10 times [2024-11-20 22:43:21,597 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-20 22:43:21,597 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1652398988] [2024-11-20 22:43:21,597 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-20 22:43:21,597 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-20 22:43:21,614 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-20 22:43:21,614 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-20 22:43:21,615 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-20 22:43:21,623 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-20 22:43:21,642 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-20 22:43:21,643 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2024-11-20 22:43:21,643 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2024-11-20 22:43:21,643 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)