./Ultimate.py --spec ../sv-benchmarks/c/properties/termination.prp --file ../sv-benchmarks/c/product-lines/elevator_spec13_product31.cil.c --full-output --architecture 32bit -------------------------------------------------------------------------------- Checking for termination Using default analysis Version 551b0097 Calling Ultimate with: /root/.sdkman/candidates/java/21.0.5-tem/bin/java -Dosgi.configuration.area=/storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/config -Xmx15G -Xms4m -jar /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.6.800.v20240513-1750.jar -data @noDefault -ultimatedata /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data -tc /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/config/AutomizerTermination.xml -i ../sv-benchmarks/c/product-lines/elevator_spec13_product31.cil.c -s /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/config/svcomp-Termination-32bit-Automizer_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux --witnessprinter.witness.filename witness --witnessprinter.write.witness.besides.input.file false --witnessprinter.graph.data.specification CHECK( init(main()), LTL(F end) ) --witnessprinter.graph.data.producer Automizer --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash 2e77838346608929bef5ad1e655ea0710d74ebb9f10b29169ab985d305812d92 --- Real Ultimate output --- This is Ultimate 0.3.0-?-551b009-m [2025-01-10 07:35:53,453 INFO L188 SettingsManager]: Resetting all preferences to default values... [2025-01-10 07:35:53,505 INFO L114 SettingsManager]: Loading settings from /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/config/svcomp-Termination-32bit-Automizer_Default.epf [2025-01-10 07:35:53,511 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2025-01-10 07:35:53,511 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2025-01-10 07:35:53,537 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2025-01-10 07:35:53,537 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2025-01-10 07:35:53,538 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2025-01-10 07:35:53,538 INFO L151 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2025-01-10 07:35:53,538 INFO L153 SettingsManager]: * Use memory slicer=true [2025-01-10 07:35:53,538 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2025-01-10 07:35:53,538 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2025-01-10 07:35:53,538 INFO L153 SettingsManager]: * Use SBE=true [2025-01-10 07:35:53,538 INFO L151 SettingsManager]: Preferences of BuchiAutomizer differ from their defaults: [2025-01-10 07:35:53,538 INFO L153 SettingsManager]: * NCSB implementation=INTSET_LAZY3 [2025-01-10 07:35:53,538 INFO L153 SettingsManager]: * Use old map elimination=false [2025-01-10 07:35:53,538 INFO L153 SettingsManager]: * Use external solver (rank synthesis)=false [2025-01-10 07:35:53,538 INFO L153 SettingsManager]: * Use only trivial implications for array writes=true [2025-01-10 07:35:53,538 INFO L153 SettingsManager]: * Rank analysis=LINEAR_WITH_GUESSES [2025-01-10 07:35:53,539 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2025-01-10 07:35:53,539 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=ASSUME [2025-01-10 07:35:53,539 INFO L153 SettingsManager]: * sizeof long=4 [2025-01-10 07:35:53,539 INFO L153 SettingsManager]: * Overapproximate operations on floating types=true [2025-01-10 07:35:53,539 INFO L153 SettingsManager]: * sizeof POINTER=4 [2025-01-10 07:35:53,539 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2025-01-10 07:35:53,539 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=ASSUME [2025-01-10 07:35:53,539 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=ASSUME [2025-01-10 07:35:53,539 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=ASSUME [2025-01-10 07:35:53,539 INFO L153 SettingsManager]: * Check unreachability of reach_error function=false [2025-01-10 07:35:53,539 INFO L153 SettingsManager]: * sizeof long double=12 [2025-01-10 07:35:53,539 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2025-01-10 07:35:53,539 INFO L153 SettingsManager]: * Assume nondeterminstic values are in range=false [2025-01-10 07:35:53,539 INFO L153 SettingsManager]: * Behaviour of calls to undefined functions=OVERAPPROXIMATE_BEHAVIOUR [2025-01-10 07:35:53,539 INFO L153 SettingsManager]: * Use constant arrays=true [2025-01-10 07:35:53,541 INFO L151 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2025-01-10 07:35:53,541 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2025-01-10 07:35:53,541 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2025-01-10 07:35:53,541 INFO L153 SettingsManager]: * Trace refinement strategy=CAMEL [2025-01-10 07:35:53,542 INFO L151 SettingsManager]: Preferences of IcfgTransformer differ from their defaults: [2025-01-10 07:35:53,542 INFO L153 SettingsManager]: * TransformationType=MODULO_NEIGHBOR Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: Entry function -> main Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness directory -> /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness filename -> witness Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Write witness besides input file -> false Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data specification -> CHECK( init(main()), LTL(F end) ) Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data producer -> Automizer Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data architecture -> 32bit Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data programhash -> 2e77838346608929bef5ad1e655ea0710d74ebb9f10b29169ab985d305812d92 [2025-01-10 07:35:53,765 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2025-01-10 07:35:53,770 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2025-01-10 07:35:53,772 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2025-01-10 07:35:53,773 INFO L270 PluginConnector]: Initializing CDTParser... [2025-01-10 07:35:53,773 INFO L274 PluginConnector]: CDTParser initialized [2025-01-10 07:35:53,774 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/product-lines/elevator_spec13_product31.cil.c [2025-01-10 07:35:54,872 INFO L533 CDTParser]: Created temporary CDT project at /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/7f53543c8/ddbcc2925ef04d1b9d0101be91efc65f/FLAGd9bc7bf66 [2025-01-10 07:35:55,195 INFO L384 CDTParser]: Found 1 translation units. [2025-01-10 07:35:55,197 INFO L180 CDTParser]: Scanning /storage/repos/ultimate-jdk21/releaseScripts/default/sv-benchmarks/c/product-lines/elevator_spec13_product31.cil.c [2025-01-10 07:35:55,211 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/7f53543c8/ddbcc2925ef04d1b9d0101be91efc65f/FLAGd9bc7bf66 [2025-01-10 07:35:55,465 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/7f53543c8/ddbcc2925ef04d1b9d0101be91efc65f [2025-01-10 07:35:55,467 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2025-01-10 07:35:55,468 INFO L133 ToolchainWalker]: Walking toolchain with 6 elements. [2025-01-10 07:35:55,470 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2025-01-10 07:35:55,471 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2025-01-10 07:35:55,474 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2025-01-10 07:35:55,475 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 10.01 07:35:55" (1/1) ... [2025-01-10 07:35:55,476 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@15678fa0 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.01 07:35:55, skipping insertion in model container [2025-01-10 07:35:55,476 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 10.01 07:35:55" (1/1) ... [2025-01-10 07:35:55,513 INFO L175 MainTranslator]: Built tables and reachable declarations [2025-01-10 07:35:55,854 INFO L210 PostProcessor]: Analyzing one entry point: main [2025-01-10 07:35:55,864 INFO L200 MainTranslator]: Completed pre-run [2025-01-10 07:35:55,870 WARN L75 lationResultReporter]: Unsoundness Warning: Ignoring preprocessor pragma C: #pragma merger(0,"wsllib_check.i","") [48] [2025-01-10 07:35:55,872 WARN L75 lationResultReporter]: Unsoundness Warning: Ignoring preprocessor pragma C: #pragma merger(0,"libacc.i","") [57] [2025-01-10 07:35:55,872 WARN L75 lationResultReporter]: Unsoundness Warning: Ignoring preprocessor pragma C: #pragma merger(0,"Specification13_spec.i","") [423] [2025-01-10 07:35:55,872 WARN L75 lationResultReporter]: Unsoundness Warning: Ignoring preprocessor pragma C: #pragma merger(0,"Person.i","") [517] [2025-01-10 07:35:55,872 WARN L75 lationResultReporter]: Unsoundness Warning: Ignoring preprocessor pragma C: #pragma merger(0,"Floor.i","") [638] [2025-01-10 07:35:55,873 WARN L75 lationResultReporter]: Unsoundness Warning: Ignoring preprocessor pragma C: #pragma merger(0,"Test.i","") [1306] [2025-01-10 07:35:55,873 WARN L75 lationResultReporter]: Unsoundness Warning: Ignoring preprocessor pragma C: #pragma merger(0,"scenario.i","") [1664] [2025-01-10 07:35:55,873 WARN L75 lationResultReporter]: Unsoundness Warning: Ignoring preprocessor pragma C: #pragma merger(0,"featureselect.i","") [1679] [2025-01-10 07:35:55,873 WARN L75 lationResultReporter]: Unsoundness Warning: Ignoring preprocessor pragma C: #pragma merger(0,"Elevator.i","") [1714] [2025-01-10 07:35:55,873 WARN L75 lationResultReporter]: Unsoundness Warning: Ignoring preprocessor pragma C: #pragma merger(0,"UnitTests.i","") [3329] [2025-01-10 07:35:55,952 INFO L210 PostProcessor]: Analyzing one entry point: main [2025-01-10 07:35:55,971 INFO L204 MainTranslator]: Completed translation [2025-01-10 07:35:55,972 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.01 07:35:55 WrapperNode [2025-01-10 07:35:55,972 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2025-01-10 07:35:55,972 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2025-01-10 07:35:55,973 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2025-01-10 07:35:55,973 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2025-01-10 07:35:55,977 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.01 07:35:55" (1/1) ... [2025-01-10 07:35:55,996 INFO L184 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.01 07:35:55" (1/1) ... [2025-01-10 07:35:56,353 INFO L138 Inliner]: procedures = 95, calls = 349, calls flagged for inlining = 202, calls inlined = 1075, statements flattened = 36388 [2025-01-10 07:35:56,353 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2025-01-10 07:35:56,354 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2025-01-10 07:35:56,354 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2025-01-10 07:35:56,354 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2025-01-10 07:35:56,361 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.01 07:35:55" (1/1) ... [2025-01-10 07:35:56,361 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.01 07:35:55" (1/1) ... [2025-01-10 07:35:56,410 INFO L184 PluginConnector]: Executing the observer MemorySlicer from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.01 07:35:55" (1/1) ... [2025-01-10 07:35:56,564 INFO L175 MemorySlicer]: Split 81 memory accesses to 20 slices as follows [2, 4, 4, 4, 2, 4, 4, 5, 3, 3, 5, 7, 4, 4, 4, 4, 4, 6, 4, 4]. 9 percent of accesses are in the largest equivalence class. The 81 initializations are split as follows [2, 4, 4, 4, 2, 4, 4, 5, 3, 3, 5, 7, 4, 4, 4, 4, 4, 6, 4, 4]. The 0 writes are split as follows [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]. [2025-01-10 07:35:56,564 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.01 07:35:55" (1/1) ... [2025-01-10 07:35:56,565 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.01 07:35:55" (1/1) ... [2025-01-10 07:35:56,698 INFO L184 PluginConnector]: Executing the observer ReplaceArrayAssignments from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.01 07:35:55" (1/1) ... [2025-01-10 07:35:56,720 INFO L184 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.01 07:35:55" (1/1) ... [2025-01-10 07:35:56,893 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.01 07:35:55" (1/1) ... [2025-01-10 07:35:56,924 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.01 07:35:55" (1/1) ... [2025-01-10 07:35:57,006 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.01 07:35:55" (1/1) ... [2025-01-10 07:35:57,107 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2025-01-10 07:35:57,108 INFO L112 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2025-01-10 07:35:57,108 INFO L270 PluginConnector]: Initializing RCFGBuilder... [2025-01-10 07:35:57,108 INFO L274 PluginConnector]: RCFGBuilder initialized [2025-01-10 07:35:57,109 INFO L184 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.01 07:35:55" (1/1) ... [2025-01-10 07:35:57,114 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:35:57,123 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:35:57,135 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:35:57,137 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (1)] Waiting until timeout for monitored process [2025-01-10 07:35:57,155 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2025-01-10 07:35:57,155 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#0 [2025-01-10 07:35:57,155 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#1 [2025-01-10 07:35:57,155 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#2 [2025-01-10 07:35:57,155 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#3 [2025-01-10 07:35:57,155 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#4 [2025-01-10 07:35:57,155 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#5 [2025-01-10 07:35:57,156 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#6 [2025-01-10 07:35:57,156 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#7 [2025-01-10 07:35:57,156 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#8 [2025-01-10 07:35:57,156 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#9 [2025-01-10 07:35:57,156 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#10 [2025-01-10 07:35:57,156 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#11 [2025-01-10 07:35:57,156 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#12 [2025-01-10 07:35:57,156 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#13 [2025-01-10 07:35:57,156 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#14 [2025-01-10 07:35:57,156 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#15 [2025-01-10 07:35:57,156 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#16 [2025-01-10 07:35:57,156 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#17 [2025-01-10 07:35:57,156 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#18 [2025-01-10 07:35:57,156 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#19 [2025-01-10 07:35:57,156 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2025-01-10 07:35:57,157 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2025-01-10 07:35:57,330 INFO L234 CfgBuilder]: Building ICFG [2025-01-10 07:35:57,331 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2025-01-10 07:36:08,007 INFO L? ?]: Removed 15572 outVars from TransFormulas that were not future-live. [2025-01-10 07:36:08,008 INFO L283 CfgBuilder]: Performing block encoding [2025-01-10 07:36:08,117 INFO L307 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2025-01-10 07:36:08,117 INFO L312 CfgBuilder]: Removed 61 assume(true) statements. [2025-01-10 07:36:08,117 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 10.01 07:36:08 BoogieIcfgContainer [2025-01-10 07:36:08,118 INFO L131 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2025-01-10 07:36:08,118 INFO L112 PluginConnector]: ------------------------BuchiAutomizer---------------------------- [2025-01-10 07:36:08,118 INFO L270 PluginConnector]: Initializing BuchiAutomizer... [2025-01-10 07:36:08,123 INFO L274 PluginConnector]: BuchiAutomizer initialized [2025-01-10 07:36:08,123 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2025-01-10 07:36:08,123 INFO L184 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "CDTParser AST 10.01 07:35:55" (1/3) ... [2025-01-10 07:36:08,125 INFO L204 PluginConnector]: Invalid model from BuchiAutomizer for observer de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver@178531d1 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer AST 10.01 07:36:08, skipping insertion in model container [2025-01-10 07:36:08,125 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2025-01-10 07:36:08,125 INFO L184 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.01 07:35:55" (2/3) ... [2025-01-10 07:36:08,125 INFO L204 PluginConnector]: Invalid model from BuchiAutomizer for observer de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver@178531d1 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer AST 10.01 07:36:08, skipping insertion in model container [2025-01-10 07:36:08,125 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2025-01-10 07:36:08,126 INFO L184 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 10.01 07:36:08" (3/3) ... [2025-01-10 07:36:08,127 INFO L363 chiAutomizerObserver]: Analyzing ICFG elevator_spec13_product31.cil.c [2025-01-10 07:36:08,248 INFO L306 stractBuchiCegarLoop]: Interprodecural is true [2025-01-10 07:36:08,248 INFO L307 stractBuchiCegarLoop]: Hoare is None [2025-01-10 07:36:08,248 INFO L308 stractBuchiCegarLoop]: Compute interpolants for ForwardPredicates [2025-01-10 07:36:08,248 INFO L309 stractBuchiCegarLoop]: Backedges is STRAIGHT_LINE [2025-01-10 07:36:08,248 INFO L310 stractBuchiCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2025-01-10 07:36:08,248 INFO L311 stractBuchiCegarLoop]: Difference is false [2025-01-10 07:36:08,248 INFO L312 stractBuchiCegarLoop]: Minimize is MINIMIZE_SEVPA [2025-01-10 07:36:08,248 INFO L316 stractBuchiCegarLoop]: ======== Iteration 0 == of CEGAR loop == BuchiAutomatonCegarLoop ======== [2025-01-10 07:36:08,277 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand has 9676 states, 9675 states have (on average 1.8721447028423772) internal successors, (18113), 9675 states have internal predecessors, (18113), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-10 07:36:08,438 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 2372 [2025-01-10 07:36:08,439 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-01-10 07:36:08,439 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-01-10 07:36:08,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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-01-10 07:36:08,445 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1, 1] [2025-01-10 07:36:08,445 INFO L338 stractBuchiCegarLoop]: ======== Iteration 1 ============ [2025-01-10 07:36:08,462 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand has 9676 states, 9675 states have (on average 1.8721447028423772) internal successors, (18113), 9675 states have internal predecessors, (18113), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-10 07:36:08,542 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 2372 [2025-01-10 07:36:08,543 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-01-10 07:36:08,543 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-01-10 07:36:08,544 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] [2025-01-10 07:36:08,545 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1, 1] [2025-01-10 07:36:08,552 INFO L752 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int#0(48, 1, 0, 1);call write~init~int#0(0, 1, 1, 1);call #Ultimate.allocInit(32, 2);call #Ultimate.allocInit(12, 3);call #Ultimate.allocInit(30, 4);call #Ultimate.allocInit(9, 5);call #Ultimate.allocInit(21, 6);call #Ultimate.allocInit(30, 7);call #Ultimate.allocInit(9, 8);call #Ultimate.allocInit(21, 9);call #Ultimate.allocInit(30, 10);call #Ultimate.allocInit(9, 11);call #Ultimate.allocInit(25, 12);call #Ultimate.allocInit(30, 13);call #Ultimate.allocInit(9, 14);call #Ultimate.allocInit(25, 15);call #Ultimate.allocInit(10, 16);call #Ultimate.allocInit(4, 17);call write~init~int#5(91, 17, 0, 1);call write~init~int#5(95, 17, 1, 1);call write~init~int#5(93, 17, 2, 1);call write~init~int#5(0, 17, 3, 1);call #Ultimate.allocInit(4, 18);call write~init~int#6(91, 18, 0, 1);call write~init~int#6(93, 18, 1, 1);call write~init~int#6(32, 18, 2, 1);call write~init~int#6(0, 18, 3, 1);call #Ultimate.allocInit(5, 19);call write~init~int#7(32, 19, 0, 1);call write~init~int#7(97, 19, 1, 1);call write~init~int#7(116, 19, 2, 1);call write~init~int#7(32, 19, 3, 1);call write~init~int#7(0, 19, 4, 1);call #Ultimate.allocInit(3, 20);call write~init~int#8(37, 20, 0, 1);call write~init~int#8(105, 20, 1, 1);call write~init~int#8(0, 20, 2, 1);call #Ultimate.allocInit(10, 21);call #Ultimate.allocInit(3, 22);call write~init~int#9(117, 22, 0, 1);call write~init~int#9(112, 22, 1, 1);call write~init~int#9(0, 22, 2, 1);call #Ultimate.allocInit(5, 23);call write~init~int#10(100, 23, 0, 1);call write~init~int#10(111, 23, 1, 1);call write~init~int#10(119, 23, 2, 1);call write~init~int#10(110, 23, 3, 1);call write~init~int#10(0, 23, 4, 1);call #Ultimate.allocInit(7, 24);call write~init~int#11(32, 24, 0, 1);call write~init~int#11(73, 24, 1, 1);call write~init~int#11(76, 24, 2, 1);call write~init~int#11(95, 24, 3, 1);call write~init~int#11(112, 24, 4, 1);call write~init~int#11(58, 24, 5, 1);call write~init~int#11(0, 24, 6, 1);call #Ultimate.allocInit(4, 25);call write~init~int#12(32, 25, 0, 1);call write~init~int#12(37, 25, 1, 1);call write~init~int#12(105, 25, 2, 1);call write~init~int#12(0, 25, 3, 1);call #Ultimate.allocInit(4, 26);call write~init~int#13(32, 26, 0, 1);call write~init~int#13(37, 26, 1, 1);call write~init~int#13(105, 26, 2, 1);call write~init~int#13(0, 26, 3, 1);call #Ultimate.allocInit(4, 27);call write~init~int#14(32, 27, 0, 1);call write~init~int#14(37, 27, 1, 1);call write~init~int#14(105, 27, 2, 1);call write~init~int#14(0, 27, 3, 1);call #Ultimate.allocInit(4, 28);call write~init~int#15(32, 28, 0, 1);call write~init~int#15(37, 28, 1, 1);call write~init~int#15(105, 28, 2, 1);call write~init~int#15(0, 28, 3, 1);call #Ultimate.allocInit(4, 29);call write~init~int#16(32, 29, 0, 1);call write~init~int#16(37, 29, 1, 1);call write~init~int#16(105, 29, 2, 1);call write~init~int#16(0, 29, 3, 1);call #Ultimate.allocInit(6, 30);call write~init~int#17(32, 30, 0, 1);call write~init~int#17(70, 30, 1, 1);call write~init~int#17(95, 30, 2, 1);call write~init~int#17(112, 30, 3, 1);call write~init~int#17(58, 30, 4, 1);call write~init~int#17(0, 30, 5, 1);call #Ultimate.allocInit(4, 31);call write~init~int#18(32, 31, 0, 1);call write~init~int#18(37, 31, 1, 1);call write~init~int#18(105, 31, 2, 1);call write~init~int#18(0, 31, 3, 1);call #Ultimate.allocInit(4, 32);call write~init~int#19(32, 32, 0, 1);call write~init~int#19(37, 32, 1, 1);call write~init~int#19(105, 32, 2, 1);call write~init~int#19(0, 32, 3, 1);call #Ultimate.allocInit(4, 33);call write~init~int#1(32, 33, 0, 1);call write~init~int#1(37, 33, 1, 1);call write~init~int#1(105, 33, 2, 1);call write~init~int#1(0, 33, 3, 1);call #Ultimate.allocInit(4, 34);call write~init~int#2(32, 34, 0, 1);call write~init~int#2(37, 34, 1, 1);call write~init~int#2(105, 34, 2, 1);call write~init~int#2(0, 34, 3, 1);call #Ultimate.allocInit(4, 35);call write~init~int#3(32, 35, 0, 1);call write~init~int#3(37, 35, 1, 1);call write~init~int#3(105, 35, 2, 1);call write~init~int#3(0, 35, 3, 1);call #Ultimate.allocInit(2, 36);call write~init~int#4(10, 36, 0, 1);call write~init~int#4(0, 36, 1, 1);~head~0.base, ~head~0.offset := 0, 0;~weight~0 := 0;~maximumWeight~0 := 100;~executiveFloor~0 := 4;~prevDir~0 := 0;~calls_0~0 := 0;~calls_1~0 := 0;~calls_2~0 := 0;~calls_3~0 := 0;~calls_4~0 := 0;~personOnFloor_0_0~0 := 0;~personOnFloor_0_1~0 := 0;~personOnFloor_0_2~0 := 0;~personOnFloor_0_3~0 := 0;~personOnFloor_0_4~0 := 0;~personOnFloor_1_0~0 := 0;~personOnFloor_1_1~0 := 0;~personOnFloor_1_2~0 := 0;~personOnFloor_1_3~0 := 0;~personOnFloor_1_4~0 := 0;~personOnFloor_2_0~0 := 0;~personOnFloor_2_1~0 := 0;~personOnFloor_2_2~0 := 0;~personOnFloor_2_3~0 := 0;~personOnFloor_2_4~0 := 0;~personOnFloor_3_0~0 := 0;~personOnFloor_3_1~0 := 0;~personOnFloor_3_2~0 := 0;~personOnFloor_3_3~0 := 0;~personOnFloor_3_4~0 := 0;~personOnFloor_4_0~0 := 0;~personOnFloor_4_1~0 := 0;~personOnFloor_4_2~0 := 0;~personOnFloor_4_3~0 := 0;~personOnFloor_4_4~0 := 0;~personOnFloor_5_0~0 := 0;~personOnFloor_5_1~0 := 0;~personOnFloor_5_2~0 := 0;~personOnFloor_5_3~0 := 0;~personOnFloor_5_4~0 := 0;~cleanupTimeShifts~0 := 12;~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;" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret47#1, main_~retValue_acc~10#1, main_~tmp~12#1;havoc main_~retValue_acc~10#1;havoc main_~tmp~12#1;assume { :begin_inline_select_helpers } true;" "assume { :end_inline_select_helpers } true;assume { :begin_inline_select_features } true;" "assume { :end_inline_select_features } true;assume { :begin_inline_valid_product } true;havoc valid_product_#res#1;havoc valid_product_~retValue_acc~12#1;havoc valid_product_~retValue_acc~12#1;valid_product_~retValue_acc~12#1 := 1;valid_product_#res#1 := valid_product_~retValue_acc~12#1;" "main_#t~ret47#1 := valid_product_#res#1;havoc valid_product_~retValue_acc~12#1;assume { :end_inline_valid_product } true;main_~tmp~12#1 := main_#t~ret47#1;havoc main_#t~ret47#1;" "assume 0 != main_~tmp~12#1;assume { :begin_inline_setup } true;" "assume { :end_inline_setup } true;assume { :begin_inline_runTest } true;assume { :begin_inline_test } true;assume { :begin_inline_aliceCall } true;havoc aliceCall_#t~ret36#1, aliceCall_~tmp~5#1;havoc aliceCall_~tmp~5#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 1;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~4#1;" "assume 0 == getOrigin_~person#1;getOrigin_~retValue_acc~4#1 := 4;getOrigin_#res#1 := getOrigin_~retValue_acc~4#1;" "aliceCall_#t~ret36#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;aliceCall_~tmp~5#1 := aliceCall_#t~ret36#1;havoc aliceCall_#t~ret36#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 1, aliceCall_~tmp~5#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1;" "assume 0 == initPersonOnFloor_~floor#1;" "assume 0 == initPersonOnFloor_~person#1;~personOnFloor_0_0~0 := 1;" "assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1;" "assume 0 == callOnFloor_~floorID#1;~calls_0~0 := 1;" "havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true;" "havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true;" "havoc aliceCall_#t~ret36#1, aliceCall_~tmp~5#1;assume { :end_inline_aliceCall } true;assume { :begin_inline_angelinaCall } true;havoc angelinaCall_#t~ret37#1, angelinaCall_~tmp~6#1;havoc angelinaCall_~tmp~6#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 2;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~4#1;" "assume 0 == getOrigin_~person#1;getOrigin_~retValue_acc~4#1 := 4;getOrigin_#res#1 := getOrigin_~retValue_acc~4#1;" "angelinaCall_#t~ret37#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;angelinaCall_~tmp~6#1 := angelinaCall_#t~ret37#1;havoc angelinaCall_#t~ret37#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 2, angelinaCall_~tmp~6#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1;" "assume 0 == initPersonOnFloor_~floor#1;" "assume 0 == initPersonOnFloor_~person#1;~personOnFloor_0_0~0 := 1;" "assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1;" "assume 0 == callOnFloor_~floorID#1;~calls_0~0 := 1;" "havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true;" "havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true;" "havoc angelinaCall_#t~ret37#1, angelinaCall_~tmp~6#1;assume { :end_inline_angelinaCall } true;assume { :begin_inline_threeTS } true;assume { :begin_inline_timeShift } true;havoc timeShift_#t~ret98#1, timeShift_#t~ret99#1, timeShift_#t~ret100#1, timeShift_#t~ret101#1, timeShift_#t~ret102#1, timeShift_#t~ret103#1, timeShift_#t~ret104#1, timeShift_#t~ret105#1, timeShift_#t~ret106#1, timeShift_#t~ret107#1, timeShift_#t~ret108#1, timeShift_~tmp~26#1, timeShift_~tmp___0~10#1, timeShift_~tmp___1~5#1, timeShift_~tmp___2~5#1, timeShift_~tmp___3~4#1, timeShift_~tmp___4~3#1, timeShift_~tmp___5~2#1, timeShift_~tmp___6~2#1, timeShift_~tmp___7~2#1, timeShift_~tmp___8~2#1, timeShift_~tmp___9~2#1;havoc timeShift_~tmp~26#1;havoc timeShift_~tmp___0~10#1;havoc timeShift_~tmp___1~5#1;havoc timeShift_~tmp___2~5#1;havoc timeShift_~tmp___3~4#1;havoc timeShift_~tmp___4~3#1;havoc timeShift_~tmp___5~2#1;havoc timeShift_~tmp___6~2#1;havoc timeShift_~tmp___7~2#1;havoc timeShift_~tmp___8~2#1;havoc timeShift_~tmp___9~2#1;assume { :begin_inline___utac_acc__Specification13_spec__1 } true;havoc __utac_acc__Specification13_spec__1_#t~ret27#1;assume { :begin_inline_getCurrentHeading } true;havoc getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~17#1;havoc getCurrentHeading_~retValue_acc~17#1;getCurrentHeading_~retValue_acc~17#1 := ~currentHeading~0;getCurrentHeading_#res#1 := getCurrentHeading_~retValue_acc~17#1;" "__utac_acc__Specification13_spec__1_#t~ret27#1 := getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~17#1;assume { :end_inline_getCurrentHeading } true;~prevDir~0 := __utac_acc__Specification13_spec__1_#t~ret27#1;havoc __utac_acc__Specification13_spec__1_#t~ret27#1;" "havoc __utac_acc__Specification13_spec__1_#t~ret27#1;assume { :end_inline___utac_acc__Specification13_spec__1 } true;assume { :begin_inline_stopRequestedAtCurrentFloor } true;havoc stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1, stopRequestedAtCurrentFloor_#t~ret83#1, stopRequestedAtCurrentFloor_#t~ret84#1, stopRequestedAtCurrentFloor_#t~ret85#1, stopRequestedAtCurrentFloor_~retValue_acc~27#1, stopRequestedAtCurrentFloor_~tmp~24#1, stopRequestedAtCurrentFloor_~tmp___0~8#1;havoc stopRequestedAtCurrentFloor_~retValue_acc~27#1;havoc stopRequestedAtCurrentFloor_~tmp~24#1;havoc stopRequestedAtCurrentFloor_~tmp___0~8#1;assume { :begin_inline_isExecutiveFloorCalling } true;havoc isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;havoc isExecutiveFloorCalling_~retValue_acc~30#1;assume { :begin_inline_isFloorCalling } true;isFloorCalling_#in~floorID#1 := ~executiveFloor~0;havoc isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;isFloorCalling_~floorID#1 := isFloorCalling_#in~floorID#1;havoc isFloorCalling_~retValue_acc~6#1;" "assume 0 == isFloorCalling_~floorID#1;isFloorCalling_~retValue_acc~6#1 := ~calls_0~0;isFloorCalling_#res#1 := isFloorCalling_~retValue_acc~6#1;" "isExecutiveFloorCalling_#t~ret135#1 := isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;havoc isFloorCalling_#in~floorID#1;assume { :end_inline_isFloorCalling } true;isExecutiveFloorCalling_~retValue_acc~30#1 := isExecutiveFloorCalling_#t~ret135#1;havoc isExecutiveFloorCalling_#t~ret135#1;isExecutiveFloorCalling_#res#1 := isExecutiveFloorCalling_~retValue_acc~30#1;" "stopRequestedAtCurrentFloor_#t~ret82#1 := isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;assume { :end_inline_isExecutiveFloorCalling } true;stopRequestedAtCurrentFloor_~tmp~24#1 := stopRequestedAtCurrentFloor_#t~ret82#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1;" "assume 0 != stopRequestedAtCurrentFloor_~tmp~24#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;havoc getCurrentFloorID_~retValue_acc~14#1;getCurrentFloorID_~retValue_acc~14#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~14#1;" "stopRequestedAtCurrentFloor_#t~ret83#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedAtCurrentFloor_~tmp___0~8#1 := stopRequestedAtCurrentFloor_#t~ret83#1;havoc stopRequestedAtCurrentFloor_#t~ret83#1;" "assume !(~executiveFloor~0 == stopRequestedAtCurrentFloor_~tmp___0~8#1);stopRequestedAtCurrentFloor_~retValue_acc~27#1 := 0;stopRequestedAtCurrentFloor_#res#1 := stopRequestedAtCurrentFloor_~retValue_acc~27#1;" "timeShift_#t~ret98#1 := stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1, stopRequestedAtCurrentFloor_#t~ret83#1, stopRequestedAtCurrentFloor_#t~ret84#1, stopRequestedAtCurrentFloor_#t~ret85#1, stopRequestedAtCurrentFloor_~retValue_acc~27#1, stopRequestedAtCurrentFloor_~tmp~24#1, stopRequestedAtCurrentFloor_~tmp___0~8#1;assume { :end_inline_stopRequestedAtCurrentFloor } true;timeShift_~tmp___9~2#1 := timeShift_#t~ret98#1;havoc timeShift_#t~ret98#1;" "assume !(0 != timeShift_~tmp___9~2#1);" "assume 1 == ~doorState~0;~doorState~0 := 0;" "assume { :begin_inline_stopRequestedInDirection } true;stopRequestedInDirection_#in~dir#1, stopRequestedInDirection_#in~respectFloorCalls#1, stopRequestedInDirection_#in~respectInLiftCalls#1 := ~currentHeading~0, 1, 1;havoc stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret73#1, stopRequestedInDirection_#t~ret74#1, stopRequestedInDirection_#t~ret75#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~23#1, stopRequestedInDirection_~tmp~20#1, stopRequestedInDirection_~tmp___0~5#1, stopRequestedInDirection_~__cil_tmp7~6#1, stopRequestedInDirection_~__cil_tmp8~7#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~23#1;havoc stopRequestedInDirection_~tmp~20#1;havoc stopRequestedInDirection_~tmp___0~5#1;havoc stopRequestedInDirection_~__cil_tmp7~6#1;havoc stopRequestedInDirection_~__cil_tmp8~7#1;assume { :begin_inline_isExecutiveFloorCalling } true;havoc isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;havoc isExecutiveFloorCalling_~retValue_acc~30#1;assume { :begin_inline_isFloorCalling } true;isFloorCalling_#in~floorID#1 := ~executiveFloor~0;havoc isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;isFloorCalling_~floorID#1 := isFloorCalling_#in~floorID#1;havoc isFloorCalling_~retValue_acc~6#1;" "assume 0 == isFloorCalling_~floorID#1;isFloorCalling_~retValue_acc~6#1 := ~calls_0~0;isFloorCalling_#res#1 := isFloorCalling_~retValue_acc~6#1;" "isExecutiveFloorCalling_#t~ret135#1 := isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;havoc isFloorCalling_#in~floorID#1;assume { :end_inline_isFloorCalling } true;isExecutiveFloorCalling_~retValue_acc~30#1 := isExecutiveFloorCalling_#t~ret135#1;havoc isExecutiveFloorCalling_#t~ret135#1;isExecutiveFloorCalling_#res#1 := isExecutiveFloorCalling_~retValue_acc~30#1;" "stopRequestedInDirection_#t~ret73#1 := isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;assume { :end_inline_isExecutiveFloorCalling } true;stopRequestedInDirection_~tmp___0~5#1 := stopRequestedInDirection_#t~ret73#1;havoc stopRequestedInDirection_#t~ret73#1;" "assume 0 != stopRequestedInDirection_~tmp___0~5#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;havoc getCurrentFloorID_~retValue_acc~14#1;getCurrentFloorID_~retValue_acc~14#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~14#1;" "stopRequestedInDirection_#t~ret74#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedInDirection_~tmp~20#1 := stopRequestedInDirection_#t~ret74#1;havoc stopRequestedInDirection_#t~ret74#1;stopRequestedInDirection_~__cil_tmp7~6#1 := (if 1 == stopRequestedInDirection_~dir#1 then 1 else 0);stopRequestedInDirection_~__cil_tmp8~7#1 := (if stopRequestedInDirection_~tmp~20#1 < ~executiveFloor~0 then 1 else 0);stopRequestedInDirection_~retValue_acc~23#1 := (if stopRequestedInDirection_~__cil_tmp8~7#1 == stopRequestedInDirection_~__cil_tmp7~6#1 then 1 else 0);stopRequestedInDirection_#res#1 := stopRequestedInDirection_~retValue_acc~23#1;" "timeShift_#t~ret105#1 := stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret73#1, stopRequestedInDirection_#t~ret74#1, stopRequestedInDirection_#t~ret75#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~23#1, stopRequestedInDirection_~tmp~20#1, stopRequestedInDirection_~tmp___0~5#1, stopRequestedInDirection_~__cil_tmp7~6#1, stopRequestedInDirection_~__cil_tmp8~7#1;havoc stopRequestedInDirection_#in~dir#1, stopRequestedInDirection_#in~respectFloorCalls#1, stopRequestedInDirection_#in~respectInLiftCalls#1;assume { :end_inline_stopRequestedInDirection } true;timeShift_~tmp___8~2#1 := timeShift_#t~ret105#1;havoc timeShift_#t~ret105#1;" "assume 0 != timeShift_~tmp___8~2#1;assume { :begin_inline_continueInDirection } true;continueInDirection_#in~dir#1 := ~currentHeading~0;havoc continueInDirection_#t~ret76#1, continueInDirection_~dir#1, continueInDirection_~tmp~21#1;continueInDirection_~dir#1 := continueInDirection_#in~dir#1;havoc continueInDirection_~tmp~21#1;~currentHeading~0 := continueInDirection_~dir#1;" "assume !(1 == ~currentHeading~0);" "assume !(0 == ~currentFloorID~0);" "assume !(1 == ~currentHeading~0);~currentFloorID~0 := ~currentFloorID~0 - 1;" "havoc continueInDirection_#t~ret76#1, continueInDirection_~dir#1, continueInDirection_~tmp~21#1;havoc continueInDirection_#in~dir#1;assume { :end_inline_continueInDirection } true;" "assume { :begin_inline___utac_acc__Specification13_spec__2 } true;havoc __utac_acc__Specification13_spec__2_#t~ret28#1, __utac_acc__Specification13_spec__2_#t~ret29#1, __utac_acc__Specification13_spec__2_#t~ret30#1, __utac_acc__Specification13_spec__2_#t~ret31#1, __utac_acc__Specification13_spec__2_#t~ret32#1, __utac_acc__Specification13_spec__2_#t~ret33#1, __utac_acc__Specification13_spec__2_~tmp~3#1, __utac_acc__Specification13_spec__2_~tmp___0~0#1, __utac_acc__Specification13_spec__2_~tmp___1~0#1, __utac_acc__Specification13_spec__2_~tmp___2~0#1, __utac_acc__Specification13_spec__2_~tmp___3~0#1, __utac_acc__Specification13_spec__2_~tmp___4~0#1, __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1, __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1;havoc __utac_acc__Specification13_spec__2_~tmp~3#1;havoc __utac_acc__Specification13_spec__2_~tmp___0~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___1~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___2~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___3~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___4~0#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1;__utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 := 2 * ~maximumWeight~0;__utac_acc__Specification13_spec__2_~__cil_tmp8~5#1 := (if __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 < 0 && 0 != __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 % 3 then 1 + __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 / 3 else __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 / 3);" "assume ~weight~0 > __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1;" "assume 1 == ~prevDir~0;assume { :begin_inline_existInLiftCallsInDirection } true;existInLiftCallsInDirection_#in~d#1 := 0;havoc existInLiftCallsInDirection_#res#1;havoc existInLiftCallsInDirection_~d#1, existInLiftCallsInDirection_~retValue_acc~29#1, existInLiftCallsInDirection_~i~1#1, existInLiftCallsInDirection_~i___0~0#1;existInLiftCallsInDirection_~d#1 := existInLiftCallsInDirection_#in~d#1;havoc existInLiftCallsInDirection_~retValue_acc~29#1;havoc existInLiftCallsInDirection_~i~1#1;havoc existInLiftCallsInDirection_~i___0~0#1;" "assume 1 == existInLiftCallsInDirection_~d#1;existInLiftCallsInDirection_~i~1#1 := 0;existInLiftCallsInDirection_~i~1#1 := 1 + ~currentFloorID~0;" [2025-01-10 07:36:08,553 INFO L754 eck$LassoCheckResult]: Loop: "assume existInLiftCallsInDirection_~i~1#1 < 5;" "assume !(0 == existInLiftCallsInDirection_~i~1#1);" "assume !(1 == existInLiftCallsInDirection_~i~1#1);" "assume !(2 == existInLiftCallsInDirection_~i~1#1);" "assume !(3 == existInLiftCallsInDirection_~i~1#1);" "assume !(4 == existInLiftCallsInDirection_~i~1#1);" "existInLiftCallsInDirection_~i~1#1 := 1 + existInLiftCallsInDirection_~i~1#1;" [2025-01-10 07:36:08,556 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:36:08,558 INFO L85 PathProgramCache]: Analyzing trace with hash 1456644332, now seen corresponding path program 1 times [2025-01-10 07:36:08,563 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:36:08,563 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [240151845] [2025-01-10 07:36:08,564 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-10 07:36:08,564 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:36:08,638 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 52 statements into 1 equivalence classes. [2025-01-10 07:36:08,690 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 52 of 52 statements. [2025-01-10 07:36:08,690 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:36:08,690 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:36:08,979 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-01-10 07:36:08,980 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-10 07:36:08,981 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [240151845] [2025-01-10 07:36:08,981 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [240151845] provided 1 perfect and 0 imperfect interpolant sequences [2025-01-10 07:36:08,981 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-01-10 07:36:08,982 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2025-01-10 07:36:08,983 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [665990225] [2025-01-10 07:36:08,984 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-01-10 07:36:08,986 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-01-10 07:36:08,988 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:36:08,988 INFO L85 PathProgramCache]: Analyzing trace with hash -199294087, now seen corresponding path program 1 times [2025-01-10 07:36:08,988 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:36:08,989 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1885457338] [2025-01-10 07:36:08,989 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-10 07:36:08,989 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:36:09,003 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 7 statements into 1 equivalence classes. [2025-01-10 07:36:09,006 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 7 of 7 statements. [2025-01-10 07:36:09,007 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:36:09,007 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:36:09,007 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-01-10 07:36:09,009 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 7 statements into 1 equivalence classes. [2025-01-10 07:36:09,012 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 7 of 7 statements. [2025-01-10 07:36:09,012 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:36:09,012 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:36:09,035 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-01-10 07:36:09,076 INFO L204 LassoAnalysis]: Preferences: [2025-01-10 07:36:09,077 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2025-01-10 07:36:09,078 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2025-01-10 07:36:09,078 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2025-01-10 07:36:09,078 INFO L128 ssoRankerPreferences]: Use exernal solver: true [2025-01-10 07:36:09,078 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:36:09,078 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2025-01-10 07:36:09,078 INFO L131 ssoRankerPreferences]: Path of dumped script: [2025-01-10 07:36:09,078 INFO L132 ssoRankerPreferences]: Filename of dumped script: elevator_spec13_product31.cil.c_Iteration1_Loop [2025-01-10 07:36:09,079 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2025-01-10 07:36:09,079 INFO L241 LassoAnalysis]: Starting lasso preprocessing... [2025-01-10 07:36:09,092 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:36:09,151 INFO L259 LassoAnalysis]: Preprocessing complete. [2025-01-10 07:36:09,152 INFO L365 LassoAnalysis]: Checking for nontermination... [2025-01-10 07:36:09,153 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:36:09,153 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:36:09,156 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:36:09,157 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (2)] Waiting until timeout for monitored process [2025-01-10 07:36:09,160 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2025-01-10 07:36:09,160 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-01-10 07:36:09,177 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (2)] Ended with exit code 0 [2025-01-10 07:36:09,178 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:36:09,178 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:36:09,180 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:36:09,181 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (3)] Waiting until timeout for monitored process [2025-01-10 07:36:09,182 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 3 Nilpotent components: true [2025-01-10 07:36:09,182 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-01-10 07:36:09,205 INFO L405 LassoAnalysis]: Proving nontermination failed: No geometric nontermination argument exists. [2025-01-10 07:36:09,210 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (3)] Ended with exit code 0 [2025-01-10 07:36:09,211 INFO L204 LassoAnalysis]: Preferences: [2025-01-10 07:36:09,211 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2025-01-10 07:36:09,211 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2025-01-10 07:36:09,211 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2025-01-10 07:36:09,211 INFO L128 ssoRankerPreferences]: Use exernal solver: false [2025-01-10 07:36:09,211 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:36:09,211 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2025-01-10 07:36:09,211 INFO L131 ssoRankerPreferences]: Path of dumped script: [2025-01-10 07:36:09,211 INFO L132 ssoRankerPreferences]: Filename of dumped script: elevator_spec13_product31.cil.c_Iteration1_Loop [2025-01-10 07:36:09,211 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2025-01-10 07:36:09,211 INFO L241 LassoAnalysis]: Starting lasso preprocessing... [2025-01-10 07:36:09,212 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:36:09,271 INFO L259 LassoAnalysis]: Preprocessing complete. [2025-01-10 07:36:09,274 INFO L451 LassoAnalysis]: Using template 'affine'. [2025-01-10 07:36:09,275 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:36:09,275 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:36:09,281 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:36:09,282 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (4)] Waiting until timeout for monitored process [2025-01-10 07:36:09,283 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2025-01-10 07:36:09,293 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-01-10 07:36:09,294 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-01-10 07:36:09,294 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-01-10 07:36:09,294 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-01-10 07:36:09,294 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-01-10 07:36:09,299 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-01-10 07:36:09,300 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-01-10 07:36:09,305 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2025-01-10 07:36:09,309 INFO L443 ModelExtractionUtils]: Simplification made 2 calls to the SMT solver. [2025-01-10 07:36:09,310 INFO L444 ModelExtractionUtils]: 1 out of 3 variables were initially zero. Simplification set additionally 0 variables to zero. [2025-01-10 07:36:09,311 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:36:09,312 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:36:09,313 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:36:09,314 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (5)] Waiting until timeout for monitored process [2025-01-10 07:36:09,315 INFO L435 nArgumentSynthesizer]: Simplifying supporting invariants... [2025-01-10 07:36:09,315 INFO L438 nArgumentSynthesizer]: Removed 0 redundant supporting invariants from a total of 0. [2025-01-10 07:36:09,315 INFO L474 LassoAnalysis]: Proved termination. [2025-01-10 07:36:09,316 INFO L476 LassoAnalysis]: Termination argument consisting of: Ranking function f(ULTIMATE.start_existInLiftCallsInDirection_~i~1#1) = -1*ULTIMATE.start_existInLiftCallsInDirection_~i~1#1 Supporting invariants [] [2025-01-10 07:36:09,320 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (4)] Ended with exit code 0 [2025-01-10 07:36:09,323 INFO L156 tatePredicateManager]: 0 out of 0 supporting invariants were superfluous and have been removed [2025-01-10 07:36:09,347 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:36:09,383 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 52 statements into 1 equivalence classes. [2025-01-10 07:36:09,460 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 52 of 52 statements. [2025-01-10 07:36:09,461 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:36:09,461 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:36:09,464 INFO L256 TraceCheckSpWp]: Trace formula consists of 619 conjuncts, 2 conjuncts are in the unsatisfiable core [2025-01-10 07:36:09,466 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-10 07:36:09,550 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 7 statements into 1 equivalence classes. [2025-01-10 07:36:09,552 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 7 of 7 statements. [2025-01-10 07:36:09,552 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:36:09,552 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:36:09,553 WARN L254 TraceCheckSpWp]: Trace formula consists of 10 conjuncts, 9 conjuncts are in the unsatisfiable core [2025-01-10 07:36:09,553 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-10 07:36:09,686 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-01-10 07:36:09,705 INFO L141 lantAutomatonBouncer]: Defining deterministic Buchi interpolant automaton with honda bouncer for stem and without honda bouncer for loop.1 stem predicates 7 loop predicates [2025-01-10 07:36:09,727 INFO L71 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand has 9676 states, 9675 states have (on average 1.8721447028423772) internal successors, (18113), 9675 states have internal predecessors, (18113), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand has 8 states, 8 states have (on average 7.375) internal successors, (59), 8 states have internal predecessors, (59), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-10 07:36:09,867 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (5)] Ended with exit code 0 [2025-01-10 07:36:10,732 INFO L75 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand has 9676 states, 9675 states have (on average 1.8721447028423772) internal successors, (18113), 9675 states have internal predecessors, (18113), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0). Second operand has 8 states, 8 states have (on average 7.375) internal successors, (59), 8 states have internal predecessors, (59), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Result 25267 states and 47240 transitions. Complement of second has 18 states. [2025-01-10 07:36:10,735 INFO L141 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 10 states 1 stem states 7 non-accepting loop states 1 accepting loop states [2025-01-10 07:36:10,738 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 7.375) internal successors, (59), 8 states have internal predecessors, (59), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-10 07:36:10,766 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 32688 transitions. [2025-01-10 07:36:10,769 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 10 states and 32688 transitions. Stem has 52 letters. Loop has 7 letters. [2025-01-10 07:36:10,772 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-01-10 07:36:10,772 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 10 states and 32688 transitions. Stem has 59 letters. Loop has 7 letters. [2025-01-10 07:36:10,773 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-01-10 07:36:10,773 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 10 states and 32688 transitions. Stem has 52 letters. Loop has 14 letters. [2025-01-10 07:36:10,773 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-01-10 07:36:10,774 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 25267 states and 47240 transitions. [2025-01-10 07:36:10,968 INFO L131 ngComponentsAnalysis]: Automaton has 60 accepting balls. 4671 [2025-01-10 07:36:11,086 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 25267 states to 17399 states and 32511 transitions. [2025-01-10 07:36:11,088 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 17369 [2025-01-10 07:36:11,112 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 17371 [2025-01-10 07:36:11,113 INFO L73 IsDeterministic]: Start isDeterministic. Operand 17399 states and 32511 transitions. [2025-01-10 07:36:11,120 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-01-10 07:36:11,120 INFO L218 hiAutomatonCegarLoop]: Abstraction has 17399 states and 32511 transitions. [2025-01-10 07:36:11,152 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 17399 states and 32511 transitions. [2025-01-10 07:36:11,393 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 17399 to 17372. [2025-01-10 07:36:11,586 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17372 states, 17372 states have (on average 1.8691572645636656) internal successors, (32471), 17371 states have internal predecessors, (32471), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-10 07:36:11,613 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17372 states to 17372 states and 32471 transitions. [2025-01-10 07:36:11,614 INFO L240 hiAutomatonCegarLoop]: Abstraction has 17372 states and 32471 transitions. [2025-01-10 07:36:11,614 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-10 07:36:11,617 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2025-01-10 07:36:11,618 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2025-01-10 07:36:11,619 INFO L87 Difference]: Start difference. First operand 17372 states and 32471 transitions. Second operand has 5 states, 5 states have (on average 10.4) internal successors, (52), 5 states have internal predecessors, (52), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-10 07:36:11,946 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-01-10 07:36:11,946 INFO L93 Difference]: Finished difference Result 17354 states and 32391 transitions. [2025-01-10 07:36:11,946 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 17354 states and 32391 transitions. [2025-01-10 07:36:12,044 INFO L131 ngComponentsAnalysis]: Automaton has 60 accepting balls. 4655 [2025-01-10 07:36:12,107 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 17354 states to 17345 states and 32382 transitions. [2025-01-10 07:36:12,108 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 17327 [2025-01-10 07:36:12,127 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 17327 [2025-01-10 07:36:12,127 INFO L73 IsDeterministic]: Start isDeterministic. Operand 17345 states and 32382 transitions. [2025-01-10 07:36:12,135 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-01-10 07:36:12,136 INFO L218 hiAutomatonCegarLoop]: Abstraction has 17345 states and 32382 transitions. [2025-01-10 07:36:12,156 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 17345 states and 32382 transitions. [2025-01-10 07:36:12,308 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 17345 to 9662. [2025-01-10 07:36:12,322 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9662 states, 9662 states have (on average 1.8670047609190643) internal successors, (18039), 9661 states have internal predecessors, (18039), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-10 07:36:12,336 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9662 states to 9662 states and 18039 transitions. [2025-01-10 07:36:12,337 INFO L240 hiAutomatonCegarLoop]: Abstraction has 9662 states and 18039 transitions. [2025-01-10 07:36:12,337 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2025-01-10 07:36:12,339 INFO L432 stractBuchiCegarLoop]: Abstraction has 9662 states and 18039 transitions. [2025-01-10 07:36:12,339 INFO L338 stractBuchiCegarLoop]: ======== Iteration 2 ============ [2025-01-10 07:36:12,339 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 9662 states and 18039 transitions. [2025-01-10 07:36:12,366 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 2370 [2025-01-10 07:36:12,366 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-01-10 07:36:12,366 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-01-10 07:36:12,368 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] [2025-01-10 07:36:12,369 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1, 1] [2025-01-10 07:36:12,370 INFO L752 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int#0(48, 1, 0, 1);call write~init~int#0(0, 1, 1, 1);call #Ultimate.allocInit(32, 2);call #Ultimate.allocInit(12, 3);call #Ultimate.allocInit(30, 4);call #Ultimate.allocInit(9, 5);call #Ultimate.allocInit(21, 6);call #Ultimate.allocInit(30, 7);call #Ultimate.allocInit(9, 8);call #Ultimate.allocInit(21, 9);call #Ultimate.allocInit(30, 10);call #Ultimate.allocInit(9, 11);call #Ultimate.allocInit(25, 12);call #Ultimate.allocInit(30, 13);call #Ultimate.allocInit(9, 14);call #Ultimate.allocInit(25, 15);call #Ultimate.allocInit(10, 16);call #Ultimate.allocInit(4, 17);call write~init~int#5(91, 17, 0, 1);call write~init~int#5(95, 17, 1, 1);call write~init~int#5(93, 17, 2, 1);call write~init~int#5(0, 17, 3, 1);call #Ultimate.allocInit(4, 18);call write~init~int#6(91, 18, 0, 1);call write~init~int#6(93, 18, 1, 1);call write~init~int#6(32, 18, 2, 1);call write~init~int#6(0, 18, 3, 1);call #Ultimate.allocInit(5, 19);call write~init~int#7(32, 19, 0, 1);call write~init~int#7(97, 19, 1, 1);call write~init~int#7(116, 19, 2, 1);call write~init~int#7(32, 19, 3, 1);call write~init~int#7(0, 19, 4, 1);call #Ultimate.allocInit(3, 20);call write~init~int#8(37, 20, 0, 1);call write~init~int#8(105, 20, 1, 1);call write~init~int#8(0, 20, 2, 1);call #Ultimate.allocInit(10, 21);call #Ultimate.allocInit(3, 22);call write~init~int#9(117, 22, 0, 1);call write~init~int#9(112, 22, 1, 1);call write~init~int#9(0, 22, 2, 1);call #Ultimate.allocInit(5, 23);call write~init~int#10(100, 23, 0, 1);call write~init~int#10(111, 23, 1, 1);call write~init~int#10(119, 23, 2, 1);call write~init~int#10(110, 23, 3, 1);call write~init~int#10(0, 23, 4, 1);call #Ultimate.allocInit(7, 24);call write~init~int#11(32, 24, 0, 1);call write~init~int#11(73, 24, 1, 1);call write~init~int#11(76, 24, 2, 1);call write~init~int#11(95, 24, 3, 1);call write~init~int#11(112, 24, 4, 1);call write~init~int#11(58, 24, 5, 1);call write~init~int#11(0, 24, 6, 1);call #Ultimate.allocInit(4, 25);call write~init~int#12(32, 25, 0, 1);call write~init~int#12(37, 25, 1, 1);call write~init~int#12(105, 25, 2, 1);call write~init~int#12(0, 25, 3, 1);call #Ultimate.allocInit(4, 26);call write~init~int#13(32, 26, 0, 1);call write~init~int#13(37, 26, 1, 1);call write~init~int#13(105, 26, 2, 1);call write~init~int#13(0, 26, 3, 1);call #Ultimate.allocInit(4, 27);call write~init~int#14(32, 27, 0, 1);call write~init~int#14(37, 27, 1, 1);call write~init~int#14(105, 27, 2, 1);call write~init~int#14(0, 27, 3, 1);call #Ultimate.allocInit(4, 28);call write~init~int#15(32, 28, 0, 1);call write~init~int#15(37, 28, 1, 1);call write~init~int#15(105, 28, 2, 1);call write~init~int#15(0, 28, 3, 1);call #Ultimate.allocInit(4, 29);call write~init~int#16(32, 29, 0, 1);call write~init~int#16(37, 29, 1, 1);call write~init~int#16(105, 29, 2, 1);call write~init~int#16(0, 29, 3, 1);call #Ultimate.allocInit(6, 30);call write~init~int#17(32, 30, 0, 1);call write~init~int#17(70, 30, 1, 1);call write~init~int#17(95, 30, 2, 1);call write~init~int#17(112, 30, 3, 1);call write~init~int#17(58, 30, 4, 1);call write~init~int#17(0, 30, 5, 1);call #Ultimate.allocInit(4, 31);call write~init~int#18(32, 31, 0, 1);call write~init~int#18(37, 31, 1, 1);call write~init~int#18(105, 31, 2, 1);call write~init~int#18(0, 31, 3, 1);call #Ultimate.allocInit(4, 32);call write~init~int#19(32, 32, 0, 1);call write~init~int#19(37, 32, 1, 1);call write~init~int#19(105, 32, 2, 1);call write~init~int#19(0, 32, 3, 1);call #Ultimate.allocInit(4, 33);call write~init~int#1(32, 33, 0, 1);call write~init~int#1(37, 33, 1, 1);call write~init~int#1(105, 33, 2, 1);call write~init~int#1(0, 33, 3, 1);call #Ultimate.allocInit(4, 34);call write~init~int#2(32, 34, 0, 1);call write~init~int#2(37, 34, 1, 1);call write~init~int#2(105, 34, 2, 1);call write~init~int#2(0, 34, 3, 1);call #Ultimate.allocInit(4, 35);call write~init~int#3(32, 35, 0, 1);call write~init~int#3(37, 35, 1, 1);call write~init~int#3(105, 35, 2, 1);call write~init~int#3(0, 35, 3, 1);call #Ultimate.allocInit(2, 36);call write~init~int#4(10, 36, 0, 1);call write~init~int#4(0, 36, 1, 1);~head~0.base, ~head~0.offset := 0, 0;~weight~0 := 0;~maximumWeight~0 := 100;~executiveFloor~0 := 4;~prevDir~0 := 0;~calls_0~0 := 0;~calls_1~0 := 0;~calls_2~0 := 0;~calls_3~0 := 0;~calls_4~0 := 0;~personOnFloor_0_0~0 := 0;~personOnFloor_0_1~0 := 0;~personOnFloor_0_2~0 := 0;~personOnFloor_0_3~0 := 0;~personOnFloor_0_4~0 := 0;~personOnFloor_1_0~0 := 0;~personOnFloor_1_1~0 := 0;~personOnFloor_1_2~0 := 0;~personOnFloor_1_3~0 := 0;~personOnFloor_1_4~0 := 0;~personOnFloor_2_0~0 := 0;~personOnFloor_2_1~0 := 0;~personOnFloor_2_2~0 := 0;~personOnFloor_2_3~0 := 0;~personOnFloor_2_4~0 := 0;~personOnFloor_3_0~0 := 0;~personOnFloor_3_1~0 := 0;~personOnFloor_3_2~0 := 0;~personOnFloor_3_3~0 := 0;~personOnFloor_3_4~0 := 0;~personOnFloor_4_0~0 := 0;~personOnFloor_4_1~0 := 0;~personOnFloor_4_2~0 := 0;~personOnFloor_4_3~0 := 0;~personOnFloor_4_4~0 := 0;~personOnFloor_5_0~0 := 0;~personOnFloor_5_1~0 := 0;~personOnFloor_5_2~0 := 0;~personOnFloor_5_3~0 := 0;~personOnFloor_5_4~0 := 0;~cleanupTimeShifts~0 := 12;~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;" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret47#1, main_~retValue_acc~10#1, main_~tmp~12#1;havoc main_~retValue_acc~10#1;havoc main_~tmp~12#1;assume { :begin_inline_select_helpers } true;" "assume { :end_inline_select_helpers } true;assume { :begin_inline_select_features } true;" "assume { :end_inline_select_features } true;assume { :begin_inline_valid_product } true;havoc valid_product_#res#1;havoc valid_product_~retValue_acc~12#1;havoc valid_product_~retValue_acc~12#1;valid_product_~retValue_acc~12#1 := 1;valid_product_#res#1 := valid_product_~retValue_acc~12#1;" "main_#t~ret47#1 := valid_product_#res#1;havoc valid_product_~retValue_acc~12#1;assume { :end_inline_valid_product } true;main_~tmp~12#1 := main_#t~ret47#1;havoc main_#t~ret47#1;" "assume 0 != main_~tmp~12#1;assume { :begin_inline_setup } true;" "assume { :end_inline_setup } true;assume { :begin_inline_runTest } true;assume { :begin_inline_test } true;assume { :begin_inline_aliceCall } true;havoc aliceCall_#t~ret36#1, aliceCall_~tmp~5#1;havoc aliceCall_~tmp~5#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 1;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~4#1;" "assume !(0 == getOrigin_~person#1);" "assume 1 == getOrigin_~person#1;getOrigin_~retValue_acc~4#1 := 3;getOrigin_#res#1 := getOrigin_~retValue_acc~4#1;" "aliceCall_#t~ret36#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;aliceCall_~tmp~5#1 := aliceCall_#t~ret36#1;havoc aliceCall_#t~ret36#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 1, aliceCall_~tmp~5#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1;" "assume 0 == initPersonOnFloor_~floor#1;" "assume 0 == initPersonOnFloor_~person#1;~personOnFloor_0_0~0 := 1;" "assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1;" "assume 0 == callOnFloor_~floorID#1;~calls_0~0 := 1;" "havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true;" "havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true;" "havoc aliceCall_#t~ret36#1, aliceCall_~tmp~5#1;assume { :end_inline_aliceCall } true;assume { :begin_inline_angelinaCall } true;havoc angelinaCall_#t~ret37#1, angelinaCall_~tmp~6#1;havoc angelinaCall_~tmp~6#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 2;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~4#1;" "assume !(0 == getOrigin_~person#1);" "assume 1 == getOrigin_~person#1;getOrigin_~retValue_acc~4#1 := 3;getOrigin_#res#1 := getOrigin_~retValue_acc~4#1;" "angelinaCall_#t~ret37#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;angelinaCall_~tmp~6#1 := angelinaCall_#t~ret37#1;havoc angelinaCall_#t~ret37#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 2, angelinaCall_~tmp~6#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1;" "assume 0 == initPersonOnFloor_~floor#1;" "assume 0 == initPersonOnFloor_~person#1;~personOnFloor_0_0~0 := 1;" "assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1;" "assume 0 == callOnFloor_~floorID#1;~calls_0~0 := 1;" "havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true;" "havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true;" "havoc angelinaCall_#t~ret37#1, angelinaCall_~tmp~6#1;assume { :end_inline_angelinaCall } true;assume { :begin_inline_threeTS } true;assume { :begin_inline_timeShift } true;havoc timeShift_#t~ret98#1, timeShift_#t~ret99#1, timeShift_#t~ret100#1, timeShift_#t~ret101#1, timeShift_#t~ret102#1, timeShift_#t~ret103#1, timeShift_#t~ret104#1, timeShift_#t~ret105#1, timeShift_#t~ret106#1, timeShift_#t~ret107#1, timeShift_#t~ret108#1, timeShift_~tmp~26#1, timeShift_~tmp___0~10#1, timeShift_~tmp___1~5#1, timeShift_~tmp___2~5#1, timeShift_~tmp___3~4#1, timeShift_~tmp___4~3#1, timeShift_~tmp___5~2#1, timeShift_~tmp___6~2#1, timeShift_~tmp___7~2#1, timeShift_~tmp___8~2#1, timeShift_~tmp___9~2#1;havoc timeShift_~tmp~26#1;havoc timeShift_~tmp___0~10#1;havoc timeShift_~tmp___1~5#1;havoc timeShift_~tmp___2~5#1;havoc timeShift_~tmp___3~4#1;havoc timeShift_~tmp___4~3#1;havoc timeShift_~tmp___5~2#1;havoc timeShift_~tmp___6~2#1;havoc timeShift_~tmp___7~2#1;havoc timeShift_~tmp___8~2#1;havoc timeShift_~tmp___9~2#1;assume { :begin_inline___utac_acc__Specification13_spec__1 } true;havoc __utac_acc__Specification13_spec__1_#t~ret27#1;assume { :begin_inline_getCurrentHeading } true;havoc getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~17#1;havoc getCurrentHeading_~retValue_acc~17#1;getCurrentHeading_~retValue_acc~17#1 := ~currentHeading~0;getCurrentHeading_#res#1 := getCurrentHeading_~retValue_acc~17#1;" "__utac_acc__Specification13_spec__1_#t~ret27#1 := getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~17#1;assume { :end_inline_getCurrentHeading } true;~prevDir~0 := __utac_acc__Specification13_spec__1_#t~ret27#1;havoc __utac_acc__Specification13_spec__1_#t~ret27#1;" "havoc __utac_acc__Specification13_spec__1_#t~ret27#1;assume { :end_inline___utac_acc__Specification13_spec__1 } true;assume { :begin_inline_stopRequestedAtCurrentFloor } true;havoc stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1, stopRequestedAtCurrentFloor_#t~ret83#1, stopRequestedAtCurrentFloor_#t~ret84#1, stopRequestedAtCurrentFloor_#t~ret85#1, stopRequestedAtCurrentFloor_~retValue_acc~27#1, stopRequestedAtCurrentFloor_~tmp~24#1, stopRequestedAtCurrentFloor_~tmp___0~8#1;havoc stopRequestedAtCurrentFloor_~retValue_acc~27#1;havoc stopRequestedAtCurrentFloor_~tmp~24#1;havoc stopRequestedAtCurrentFloor_~tmp___0~8#1;assume { :begin_inline_isExecutiveFloorCalling } true;havoc isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;havoc isExecutiveFloorCalling_~retValue_acc~30#1;assume { :begin_inline_isFloorCalling } true;isFloorCalling_#in~floorID#1 := ~executiveFloor~0;havoc isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;isFloorCalling_~floorID#1 := isFloorCalling_#in~floorID#1;havoc isFloorCalling_~retValue_acc~6#1;" "assume 0 == isFloorCalling_~floorID#1;isFloorCalling_~retValue_acc~6#1 := ~calls_0~0;isFloorCalling_#res#1 := isFloorCalling_~retValue_acc~6#1;" "isExecutiveFloorCalling_#t~ret135#1 := isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;havoc isFloorCalling_#in~floorID#1;assume { :end_inline_isFloorCalling } true;isExecutiveFloorCalling_~retValue_acc~30#1 := isExecutiveFloorCalling_#t~ret135#1;havoc isExecutiveFloorCalling_#t~ret135#1;isExecutiveFloorCalling_#res#1 := isExecutiveFloorCalling_~retValue_acc~30#1;" "stopRequestedAtCurrentFloor_#t~ret82#1 := isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;assume { :end_inline_isExecutiveFloorCalling } true;stopRequestedAtCurrentFloor_~tmp~24#1 := stopRequestedAtCurrentFloor_#t~ret82#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1;" "assume 0 != stopRequestedAtCurrentFloor_~tmp~24#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;havoc getCurrentFloorID_~retValue_acc~14#1;getCurrentFloorID_~retValue_acc~14#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~14#1;" "stopRequestedAtCurrentFloor_#t~ret83#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedAtCurrentFloor_~tmp___0~8#1 := stopRequestedAtCurrentFloor_#t~ret83#1;havoc stopRequestedAtCurrentFloor_#t~ret83#1;" "assume !(~executiveFloor~0 == stopRequestedAtCurrentFloor_~tmp___0~8#1);stopRequestedAtCurrentFloor_~retValue_acc~27#1 := 0;stopRequestedAtCurrentFloor_#res#1 := stopRequestedAtCurrentFloor_~retValue_acc~27#1;" "timeShift_#t~ret98#1 := stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1, stopRequestedAtCurrentFloor_#t~ret83#1, stopRequestedAtCurrentFloor_#t~ret84#1, stopRequestedAtCurrentFloor_#t~ret85#1, stopRequestedAtCurrentFloor_~retValue_acc~27#1, stopRequestedAtCurrentFloor_~tmp~24#1, stopRequestedAtCurrentFloor_~tmp___0~8#1;assume { :end_inline_stopRequestedAtCurrentFloor } true;timeShift_~tmp___9~2#1 := timeShift_#t~ret98#1;havoc timeShift_#t~ret98#1;" "assume !(0 != timeShift_~tmp___9~2#1);" "assume 1 == ~doorState~0;~doorState~0 := 0;" "assume { :begin_inline_stopRequestedInDirection } true;stopRequestedInDirection_#in~dir#1, stopRequestedInDirection_#in~respectFloorCalls#1, stopRequestedInDirection_#in~respectInLiftCalls#1 := ~currentHeading~0, 1, 1;havoc stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret73#1, stopRequestedInDirection_#t~ret74#1, stopRequestedInDirection_#t~ret75#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~23#1, stopRequestedInDirection_~tmp~20#1, stopRequestedInDirection_~tmp___0~5#1, stopRequestedInDirection_~__cil_tmp7~6#1, stopRequestedInDirection_~__cil_tmp8~7#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~23#1;havoc stopRequestedInDirection_~tmp~20#1;havoc stopRequestedInDirection_~tmp___0~5#1;havoc stopRequestedInDirection_~__cil_tmp7~6#1;havoc stopRequestedInDirection_~__cil_tmp8~7#1;assume { :begin_inline_isExecutiveFloorCalling } true;havoc isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;havoc isExecutiveFloorCalling_~retValue_acc~30#1;assume { :begin_inline_isFloorCalling } true;isFloorCalling_#in~floorID#1 := ~executiveFloor~0;havoc isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;isFloorCalling_~floorID#1 := isFloorCalling_#in~floorID#1;havoc isFloorCalling_~retValue_acc~6#1;" "assume 0 == isFloorCalling_~floorID#1;isFloorCalling_~retValue_acc~6#1 := ~calls_0~0;isFloorCalling_#res#1 := isFloorCalling_~retValue_acc~6#1;" "isExecutiveFloorCalling_#t~ret135#1 := isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;havoc isFloorCalling_#in~floorID#1;assume { :end_inline_isFloorCalling } true;isExecutiveFloorCalling_~retValue_acc~30#1 := isExecutiveFloorCalling_#t~ret135#1;havoc isExecutiveFloorCalling_#t~ret135#1;isExecutiveFloorCalling_#res#1 := isExecutiveFloorCalling_~retValue_acc~30#1;" "stopRequestedInDirection_#t~ret73#1 := isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;assume { :end_inline_isExecutiveFloorCalling } true;stopRequestedInDirection_~tmp___0~5#1 := stopRequestedInDirection_#t~ret73#1;havoc stopRequestedInDirection_#t~ret73#1;" "assume 0 != stopRequestedInDirection_~tmp___0~5#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;havoc getCurrentFloorID_~retValue_acc~14#1;getCurrentFloorID_~retValue_acc~14#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~14#1;" "stopRequestedInDirection_#t~ret74#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedInDirection_~tmp~20#1 := stopRequestedInDirection_#t~ret74#1;havoc stopRequestedInDirection_#t~ret74#1;stopRequestedInDirection_~__cil_tmp7~6#1 := (if 1 == stopRequestedInDirection_~dir#1 then 1 else 0);stopRequestedInDirection_~__cil_tmp8~7#1 := (if stopRequestedInDirection_~tmp~20#1 < ~executiveFloor~0 then 1 else 0);stopRequestedInDirection_~retValue_acc~23#1 := (if stopRequestedInDirection_~__cil_tmp8~7#1 == stopRequestedInDirection_~__cil_tmp7~6#1 then 1 else 0);stopRequestedInDirection_#res#1 := stopRequestedInDirection_~retValue_acc~23#1;" "timeShift_#t~ret105#1 := stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret73#1, stopRequestedInDirection_#t~ret74#1, stopRequestedInDirection_#t~ret75#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~23#1, stopRequestedInDirection_~tmp~20#1, stopRequestedInDirection_~tmp___0~5#1, stopRequestedInDirection_~__cil_tmp7~6#1, stopRequestedInDirection_~__cil_tmp8~7#1;havoc stopRequestedInDirection_#in~dir#1, stopRequestedInDirection_#in~respectFloorCalls#1, stopRequestedInDirection_#in~respectInLiftCalls#1;assume { :end_inline_stopRequestedInDirection } true;timeShift_~tmp___8~2#1 := timeShift_#t~ret105#1;havoc timeShift_#t~ret105#1;" "assume 0 != timeShift_~tmp___8~2#1;assume { :begin_inline_continueInDirection } true;continueInDirection_#in~dir#1 := ~currentHeading~0;havoc continueInDirection_#t~ret76#1, continueInDirection_~dir#1, continueInDirection_~tmp~21#1;continueInDirection_~dir#1 := continueInDirection_#in~dir#1;havoc continueInDirection_~tmp~21#1;~currentHeading~0 := continueInDirection_~dir#1;" "assume !(1 == ~currentHeading~0);" "assume !(0 == ~currentFloorID~0);" "assume !(1 == ~currentHeading~0);~currentFloorID~0 := ~currentFloorID~0 - 1;" "havoc continueInDirection_#t~ret76#1, continueInDirection_~dir#1, continueInDirection_~tmp~21#1;havoc continueInDirection_#in~dir#1;assume { :end_inline_continueInDirection } true;" "assume { :begin_inline___utac_acc__Specification13_spec__2 } true;havoc __utac_acc__Specification13_spec__2_#t~ret28#1, __utac_acc__Specification13_spec__2_#t~ret29#1, __utac_acc__Specification13_spec__2_#t~ret30#1, __utac_acc__Specification13_spec__2_#t~ret31#1, __utac_acc__Specification13_spec__2_#t~ret32#1, __utac_acc__Specification13_spec__2_#t~ret33#1, __utac_acc__Specification13_spec__2_~tmp~3#1, __utac_acc__Specification13_spec__2_~tmp___0~0#1, __utac_acc__Specification13_spec__2_~tmp___1~0#1, __utac_acc__Specification13_spec__2_~tmp___2~0#1, __utac_acc__Specification13_spec__2_~tmp___3~0#1, __utac_acc__Specification13_spec__2_~tmp___4~0#1, __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1, __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1;havoc __utac_acc__Specification13_spec__2_~tmp~3#1;havoc __utac_acc__Specification13_spec__2_~tmp___0~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___1~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___2~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___3~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___4~0#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1;__utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 := 2 * ~maximumWeight~0;__utac_acc__Specification13_spec__2_~__cil_tmp8~5#1 := (if __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 < 0 && 0 != __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 % 3 then 1 + __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 / 3 else __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 / 3);" "assume ~weight~0 > __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1;" "assume !(1 == ~prevDir~0);" "assume 0 == ~prevDir~0;assume { :begin_inline_existInLiftCallsInDirection } true;existInLiftCallsInDirection_#in~d#1 := 1;havoc existInLiftCallsInDirection_#res#1;havoc existInLiftCallsInDirection_~d#1, existInLiftCallsInDirection_~retValue_acc~29#1, existInLiftCallsInDirection_~i~1#1, existInLiftCallsInDirection_~i___0~0#1;existInLiftCallsInDirection_~d#1 := existInLiftCallsInDirection_#in~d#1;havoc existInLiftCallsInDirection_~retValue_acc~29#1;havoc existInLiftCallsInDirection_~i~1#1;havoc existInLiftCallsInDirection_~i___0~0#1;" "assume 1 == existInLiftCallsInDirection_~d#1;existInLiftCallsInDirection_~i~1#1 := 0;existInLiftCallsInDirection_~i~1#1 := 1 + ~currentFloorID~0;" [2025-01-10 07:36:12,370 INFO L754 eck$LassoCheckResult]: Loop: "assume existInLiftCallsInDirection_~i~1#1 < 5;" "assume !(0 == existInLiftCallsInDirection_~i~1#1);" "assume !(1 == existInLiftCallsInDirection_~i~1#1);" "assume !(2 == existInLiftCallsInDirection_~i~1#1);" "assume !(3 == existInLiftCallsInDirection_~i~1#1);" "assume !(4 == existInLiftCallsInDirection_~i~1#1);" "existInLiftCallsInDirection_~i~1#1 := 1 + existInLiftCallsInDirection_~i~1#1;" [2025-01-10 07:36:12,370 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:36:12,370 INFO L85 PathProgramCache]: Analyzing trace with hash -1563232857, now seen corresponding path program 1 times [2025-01-10 07:36:12,370 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:36:12,370 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1599369213] [2025-01-10 07:36:12,370 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-10 07:36:12,370 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:36:12,395 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 55 statements into 1 equivalence classes. [2025-01-10 07:36:12,410 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 55 of 55 statements. [2025-01-10 07:36:12,410 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:36:12,410 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:36:12,537 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-01-10 07:36:12,537 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-10 07:36:12,537 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1599369213] [2025-01-10 07:36:12,537 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1599369213] provided 1 perfect and 0 imperfect interpolant sequences [2025-01-10 07:36:12,537 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-01-10 07:36:12,537 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2025-01-10 07:36:12,537 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [213397979] [2025-01-10 07:36:12,537 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-01-10 07:36:12,538 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-01-10 07:36:12,538 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:36:12,538 INFO L85 PathProgramCache]: Analyzing trace with hash -1387025307, now seen corresponding path program 1 times [2025-01-10 07:36:12,538 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:36:12,538 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1129080968] [2025-01-10 07:36:12,538 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-10 07:36:12,538 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:36:12,547 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 7 statements into 1 equivalence classes. [2025-01-10 07:36:12,547 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 7 of 7 statements. [2025-01-10 07:36:12,548 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:36:12,548 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:36:12,548 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-01-10 07:36:12,552 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 7 statements into 1 equivalence classes. [2025-01-10 07:36:12,553 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 7 of 7 statements. [2025-01-10 07:36:12,553 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:36:12,553 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:36:12,559 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-01-10 07:36:12,592 INFO L204 LassoAnalysis]: Preferences: [2025-01-10 07:36:12,592 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2025-01-10 07:36:12,592 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2025-01-10 07:36:12,592 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2025-01-10 07:36:12,592 INFO L128 ssoRankerPreferences]: Use exernal solver: true [2025-01-10 07:36:12,592 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:36:12,592 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2025-01-10 07:36:12,594 INFO L131 ssoRankerPreferences]: Path of dumped script: [2025-01-10 07:36:12,594 INFO L132 ssoRankerPreferences]: Filename of dumped script: elevator_spec13_product31.cil.c_Iteration2_Loop [2025-01-10 07:36:12,595 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2025-01-10 07:36:12,595 INFO L241 LassoAnalysis]: Starting lasso preprocessing... [2025-01-10 07:36:12,595 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:36:12,636 INFO L259 LassoAnalysis]: Preprocessing complete. [2025-01-10 07:36:12,636 INFO L365 LassoAnalysis]: Checking for nontermination... [2025-01-10 07:36:12,636 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:36:12,637 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:36:12,638 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:36:12,640 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (6)] Waiting until timeout for monitored process [2025-01-10 07:36:12,641 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2025-01-10 07:36:12,642 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-01-10 07:36:12,661 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (6)] Forceful destruction successful, exit code 0 [2025-01-10 07:36:12,662 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:36:12,662 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:36:12,664 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:36:12,666 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (7)] Waiting until timeout for monitored process [2025-01-10 07:36:12,667 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 3 Nilpotent components: true [2025-01-10 07:36:12,667 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-01-10 07:36:12,689 INFO L405 LassoAnalysis]: Proving nontermination failed: No geometric nontermination argument exists. [2025-01-10 07:36:12,693 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (7)] Forceful destruction successful, exit code 0 [2025-01-10 07:36:12,694 INFO L204 LassoAnalysis]: Preferences: [2025-01-10 07:36:12,694 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2025-01-10 07:36:12,694 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2025-01-10 07:36:12,694 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2025-01-10 07:36:12,694 INFO L128 ssoRankerPreferences]: Use exernal solver: false [2025-01-10 07:36:12,694 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:36:12,694 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2025-01-10 07:36:12,694 INFO L131 ssoRankerPreferences]: Path of dumped script: [2025-01-10 07:36:12,694 INFO L132 ssoRankerPreferences]: Filename of dumped script: elevator_spec13_product31.cil.c_Iteration2_Loop [2025-01-10 07:36:12,694 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2025-01-10 07:36:12,694 INFO L241 LassoAnalysis]: Starting lasso preprocessing... [2025-01-10 07:36:12,695 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:36:12,738 INFO L259 LassoAnalysis]: Preprocessing complete. [2025-01-10 07:36:12,739 INFO L451 LassoAnalysis]: Using template 'affine'. [2025-01-10 07:36:12,739 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:36:12,739 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:36:12,741 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:36:12,742 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (8)] Waiting until timeout for monitored process [2025-01-10 07:36:12,743 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2025-01-10 07:36:12,753 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-01-10 07:36:12,753 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-01-10 07:36:12,753 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-01-10 07:36:12,753 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-01-10 07:36:12,753 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-01-10 07:36:12,754 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-01-10 07:36:12,754 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-01-10 07:36:12,756 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2025-01-10 07:36:12,758 INFO L443 ModelExtractionUtils]: Simplification made 3 calls to the SMT solver. [2025-01-10 07:36:12,758 INFO L444 ModelExtractionUtils]: 0 out of 3 variables were initially zero. Simplification set additionally 1 variables to zero. [2025-01-10 07:36:12,758 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:36:12,758 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:36:12,761 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:36:12,870 INFO L435 nArgumentSynthesizer]: Simplifying supporting invariants... [2025-01-10 07:36:12,870 INFO L438 nArgumentSynthesizer]: Removed 0 redundant supporting invariants from a total of 0. [2025-01-10 07:36:12,870 INFO L474 LassoAnalysis]: Proved termination. [2025-01-10 07:36:12,870 INFO L476 LassoAnalysis]: Termination argument consisting of: Ranking function f(ULTIMATE.start_existInLiftCallsInDirection_~i~1#1) = -1*ULTIMATE.start_existInLiftCallsInDirection_~i~1#1 Supporting invariants [] [2025-01-10 07:36:12,874 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (9)] Waiting until timeout for monitored process [2025-01-10 07:36:12,876 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (8)] Forceful destruction successful, exit code 0 [2025-01-10 07:36:12,877 INFO L156 tatePredicateManager]: 0 out of 0 supporting invariants were superfluous and have been removed [2025-01-10 07:36:12,888 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:36:12,918 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 55 statements into 1 equivalence classes. [2025-01-10 07:36:12,969 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 55 of 55 statements. [2025-01-10 07:36:12,970 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:36:12,970 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:36:12,972 INFO L256 TraceCheckSpWp]: Trace formula consists of 622 conjuncts, 2 conjuncts are in the unsatisfiable core [2025-01-10 07:36:12,973 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-10 07:36:13,032 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 7 statements into 1 equivalence classes. [2025-01-10 07:36:13,034 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 7 of 7 statements. [2025-01-10 07:36:13,034 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:36:13,034 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:36:13,034 WARN L254 TraceCheckSpWp]: Trace formula consists of 10 conjuncts, 9 conjuncts are in the unsatisfiable core [2025-01-10 07:36:13,035 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-10 07:36:13,143 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-01-10 07:36:13,144 INFO L141 lantAutomatonBouncer]: Defining deterministic Buchi interpolant automaton with honda bouncer for stem and without honda bouncer for loop.1 stem predicates 7 loop predicates [2025-01-10 07:36:13,144 INFO L71 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 9662 states and 18039 transitions. cyclomatic complexity: 8411 Second operand has 8 states, 8 states have (on average 7.75) internal successors, (62), 8 states have internal predecessors, (62), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-10 07:36:13,495 INFO L75 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 9662 states and 18039 transitions. cyclomatic complexity: 8411. Second operand has 8 states, 8 states have (on average 7.75) internal successors, (62), 8 states have internal predecessors, (62), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Result 17401 states and 32467 transitions. Complement of second has 17 states. [2025-01-10 07:36:13,496 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 [2025-01-10 07:36:13,497 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 7.75) internal successors, (62), 8 states have internal predecessors, (62), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-10 07:36:13,508 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 18025 transitions. [2025-01-10 07:36:13,509 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 9 states and 18025 transitions. Stem has 55 letters. Loop has 7 letters. [2025-01-10 07:36:13,510 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-01-10 07:36:13,510 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 9 states and 18025 transitions. Stem has 62 letters. Loop has 7 letters. [2025-01-10 07:36:13,511 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-01-10 07:36:13,511 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 9 states and 18025 transitions. Stem has 55 letters. Loop has 14 letters. [2025-01-10 07:36:13,511 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-01-10 07:36:13,511 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 17401 states and 32467 transitions. [2025-01-10 07:36:13,583 INFO L131 ngComponentsAnalysis]: Automaton has 60 accepting balls. 4669 [2025-01-10 07:36:13,643 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 17401 states to 17395 states and 32461 transitions. [2025-01-10 07:36:13,643 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 17347 [2025-01-10 07:36:13,663 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 17349 [2025-01-10 07:36:13,663 INFO L73 IsDeterministic]: Start isDeterministic. Operand 17395 states and 32461 transitions. [2025-01-10 07:36:13,664 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-01-10 07:36:13,664 INFO L218 hiAutomatonCegarLoop]: Abstraction has 17395 states and 32461 transitions. [2025-01-10 07:36:13,686 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 17395 states and 32461 transitions. [2025-01-10 07:36:13,809 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 17395 to 9685. [2025-01-10 07:36:13,823 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9685 states, 9685 states have (on average 1.8665978316985028) internal successors, (18078), 9684 states have internal predecessors, (18078), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-10 07:36:13,838 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9685 states to 9685 states and 18078 transitions. [2025-01-10 07:36:13,838 INFO L240 hiAutomatonCegarLoop]: Abstraction has 9685 states and 18078 transitions. [2025-01-10 07:36:13,838 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-10 07:36:13,839 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2025-01-10 07:36:13,839 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2025-01-10 07:36:13,839 INFO L87 Difference]: Start difference. First operand 9685 states and 18078 transitions. Second operand has 4 states, 4 states have (on average 13.75) internal successors, (55), 4 states have internal predecessors, (55), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-10 07:36:14,181 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-01-10 07:36:14,182 INFO L93 Difference]: Finished difference Result 9703 states and 18096 transitions. [2025-01-10 07:36:14,182 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 9703 states and 18096 transitions. [2025-01-10 07:36:14,241 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 2374 [2025-01-10 07:36:14,284 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 9703 states to 9703 states and 18096 transitions. [2025-01-10 07:36:14,284 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 9667 [2025-01-10 07:36:14,299 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 9667 [2025-01-10 07:36:14,299 INFO L73 IsDeterministic]: Start isDeterministic. Operand 9703 states and 18096 transitions. [2025-01-10 07:36:14,307 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-01-10 07:36:14,308 INFO L218 hiAutomatonCegarLoop]: Abstraction has 9703 states and 18096 transitions. [2025-01-10 07:36:14,331 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 9703 states and 18096 transitions. [2025-01-10 07:36:14,480 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 9703 to 9700. [2025-01-10 07:36:14,494 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9700 states, 9700 states have (on average 1.8652577319587629) internal successors, (18093), 9699 states have internal predecessors, (18093), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-10 07:36:14,526 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9700 states to 9700 states and 18093 transitions. [2025-01-10 07:36:14,526 INFO L240 hiAutomatonCegarLoop]: Abstraction has 9700 states and 18093 transitions. [2025-01-10 07:36:14,526 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2025-01-10 07:36:14,527 INFO L432 stractBuchiCegarLoop]: Abstraction has 9700 states and 18093 transitions. [2025-01-10 07:36:14,527 INFO L338 stractBuchiCegarLoop]: ======== Iteration 3 ============ [2025-01-10 07:36:14,527 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 9700 states and 18093 transitions. [2025-01-10 07:36:14,560 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 2374 [2025-01-10 07:36:14,560 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-01-10 07:36:14,561 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-01-10 07:36:14,561 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] [2025-01-10 07:36:14,561 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1] [2025-01-10 07:36:14,562 INFO L752 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int#0(48, 1, 0, 1);call write~init~int#0(0, 1, 1, 1);call #Ultimate.allocInit(32, 2);call #Ultimate.allocInit(12, 3);call #Ultimate.allocInit(30, 4);call #Ultimate.allocInit(9, 5);call #Ultimate.allocInit(21, 6);call #Ultimate.allocInit(30, 7);call #Ultimate.allocInit(9, 8);call #Ultimate.allocInit(21, 9);call #Ultimate.allocInit(30, 10);call #Ultimate.allocInit(9, 11);call #Ultimate.allocInit(25, 12);call #Ultimate.allocInit(30, 13);call #Ultimate.allocInit(9, 14);call #Ultimate.allocInit(25, 15);call #Ultimate.allocInit(10, 16);call #Ultimate.allocInit(4, 17);call write~init~int#5(91, 17, 0, 1);call write~init~int#5(95, 17, 1, 1);call write~init~int#5(93, 17, 2, 1);call write~init~int#5(0, 17, 3, 1);call #Ultimate.allocInit(4, 18);call write~init~int#6(91, 18, 0, 1);call write~init~int#6(93, 18, 1, 1);call write~init~int#6(32, 18, 2, 1);call write~init~int#6(0, 18, 3, 1);call #Ultimate.allocInit(5, 19);call write~init~int#7(32, 19, 0, 1);call write~init~int#7(97, 19, 1, 1);call write~init~int#7(116, 19, 2, 1);call write~init~int#7(32, 19, 3, 1);call write~init~int#7(0, 19, 4, 1);call #Ultimate.allocInit(3, 20);call write~init~int#8(37, 20, 0, 1);call write~init~int#8(105, 20, 1, 1);call write~init~int#8(0, 20, 2, 1);call #Ultimate.allocInit(10, 21);call #Ultimate.allocInit(3, 22);call write~init~int#9(117, 22, 0, 1);call write~init~int#9(112, 22, 1, 1);call write~init~int#9(0, 22, 2, 1);call #Ultimate.allocInit(5, 23);call write~init~int#10(100, 23, 0, 1);call write~init~int#10(111, 23, 1, 1);call write~init~int#10(119, 23, 2, 1);call write~init~int#10(110, 23, 3, 1);call write~init~int#10(0, 23, 4, 1);call #Ultimate.allocInit(7, 24);call write~init~int#11(32, 24, 0, 1);call write~init~int#11(73, 24, 1, 1);call write~init~int#11(76, 24, 2, 1);call write~init~int#11(95, 24, 3, 1);call write~init~int#11(112, 24, 4, 1);call write~init~int#11(58, 24, 5, 1);call write~init~int#11(0, 24, 6, 1);call #Ultimate.allocInit(4, 25);call write~init~int#12(32, 25, 0, 1);call write~init~int#12(37, 25, 1, 1);call write~init~int#12(105, 25, 2, 1);call write~init~int#12(0, 25, 3, 1);call #Ultimate.allocInit(4, 26);call write~init~int#13(32, 26, 0, 1);call write~init~int#13(37, 26, 1, 1);call write~init~int#13(105, 26, 2, 1);call write~init~int#13(0, 26, 3, 1);call #Ultimate.allocInit(4, 27);call write~init~int#14(32, 27, 0, 1);call write~init~int#14(37, 27, 1, 1);call write~init~int#14(105, 27, 2, 1);call write~init~int#14(0, 27, 3, 1);call #Ultimate.allocInit(4, 28);call write~init~int#15(32, 28, 0, 1);call write~init~int#15(37, 28, 1, 1);call write~init~int#15(105, 28, 2, 1);call write~init~int#15(0, 28, 3, 1);call #Ultimate.allocInit(4, 29);call write~init~int#16(32, 29, 0, 1);call write~init~int#16(37, 29, 1, 1);call write~init~int#16(105, 29, 2, 1);call write~init~int#16(0, 29, 3, 1);call #Ultimate.allocInit(6, 30);call write~init~int#17(32, 30, 0, 1);call write~init~int#17(70, 30, 1, 1);call write~init~int#17(95, 30, 2, 1);call write~init~int#17(112, 30, 3, 1);call write~init~int#17(58, 30, 4, 1);call write~init~int#17(0, 30, 5, 1);call #Ultimate.allocInit(4, 31);call write~init~int#18(32, 31, 0, 1);call write~init~int#18(37, 31, 1, 1);call write~init~int#18(105, 31, 2, 1);call write~init~int#18(0, 31, 3, 1);call #Ultimate.allocInit(4, 32);call write~init~int#19(32, 32, 0, 1);call write~init~int#19(37, 32, 1, 1);call write~init~int#19(105, 32, 2, 1);call write~init~int#19(0, 32, 3, 1);call #Ultimate.allocInit(4, 33);call write~init~int#1(32, 33, 0, 1);call write~init~int#1(37, 33, 1, 1);call write~init~int#1(105, 33, 2, 1);call write~init~int#1(0, 33, 3, 1);call #Ultimate.allocInit(4, 34);call write~init~int#2(32, 34, 0, 1);call write~init~int#2(37, 34, 1, 1);call write~init~int#2(105, 34, 2, 1);call write~init~int#2(0, 34, 3, 1);call #Ultimate.allocInit(4, 35);call write~init~int#3(32, 35, 0, 1);call write~init~int#3(37, 35, 1, 1);call write~init~int#3(105, 35, 2, 1);call write~init~int#3(0, 35, 3, 1);call #Ultimate.allocInit(2, 36);call write~init~int#4(10, 36, 0, 1);call write~init~int#4(0, 36, 1, 1);~head~0.base, ~head~0.offset := 0, 0;~weight~0 := 0;~maximumWeight~0 := 100;~executiveFloor~0 := 4;~prevDir~0 := 0;~calls_0~0 := 0;~calls_1~0 := 0;~calls_2~0 := 0;~calls_3~0 := 0;~calls_4~0 := 0;~personOnFloor_0_0~0 := 0;~personOnFloor_0_1~0 := 0;~personOnFloor_0_2~0 := 0;~personOnFloor_0_3~0 := 0;~personOnFloor_0_4~0 := 0;~personOnFloor_1_0~0 := 0;~personOnFloor_1_1~0 := 0;~personOnFloor_1_2~0 := 0;~personOnFloor_1_3~0 := 0;~personOnFloor_1_4~0 := 0;~personOnFloor_2_0~0 := 0;~personOnFloor_2_1~0 := 0;~personOnFloor_2_2~0 := 0;~personOnFloor_2_3~0 := 0;~personOnFloor_2_4~0 := 0;~personOnFloor_3_0~0 := 0;~personOnFloor_3_1~0 := 0;~personOnFloor_3_2~0 := 0;~personOnFloor_3_3~0 := 0;~personOnFloor_3_4~0 := 0;~personOnFloor_4_0~0 := 0;~personOnFloor_4_1~0 := 0;~personOnFloor_4_2~0 := 0;~personOnFloor_4_3~0 := 0;~personOnFloor_4_4~0 := 0;~personOnFloor_5_0~0 := 0;~personOnFloor_5_1~0 := 0;~personOnFloor_5_2~0 := 0;~personOnFloor_5_3~0 := 0;~personOnFloor_5_4~0 := 0;~cleanupTimeShifts~0 := 12;~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;" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret47#1, main_~retValue_acc~10#1, main_~tmp~12#1;havoc main_~retValue_acc~10#1;havoc main_~tmp~12#1;assume { :begin_inline_select_helpers } true;" "assume { :end_inline_select_helpers } true;assume { :begin_inline_select_features } true;" "assume { :end_inline_select_features } true;assume { :begin_inline_valid_product } true;havoc valid_product_#res#1;havoc valid_product_~retValue_acc~12#1;havoc valid_product_~retValue_acc~12#1;valid_product_~retValue_acc~12#1 := 1;valid_product_#res#1 := valid_product_~retValue_acc~12#1;" "main_#t~ret47#1 := valid_product_#res#1;havoc valid_product_~retValue_acc~12#1;assume { :end_inline_valid_product } true;main_~tmp~12#1 := main_#t~ret47#1;havoc main_#t~ret47#1;" "assume 0 != main_~tmp~12#1;assume { :begin_inline_setup } true;" "assume { :end_inline_setup } true;assume { :begin_inline_runTest } true;assume { :begin_inline_test } true;assume { :begin_inline_aliceCall } true;havoc aliceCall_#t~ret36#1, aliceCall_~tmp~5#1;havoc aliceCall_~tmp~5#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 1;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~4#1;" "assume !(0 == getOrigin_~person#1);" "assume !(1 == getOrigin_~person#1);" "assume 2 == getOrigin_~person#1;getOrigin_~retValue_acc~4#1 := 2;getOrigin_#res#1 := getOrigin_~retValue_acc~4#1;" "aliceCall_#t~ret36#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;aliceCall_~tmp~5#1 := aliceCall_#t~ret36#1;havoc aliceCall_#t~ret36#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 1, aliceCall_~tmp~5#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1;" "assume 0 == initPersonOnFloor_~floor#1;" "assume 0 == initPersonOnFloor_~person#1;~personOnFloor_0_0~0 := 1;" "assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1;" "assume 0 == callOnFloor_~floorID#1;~calls_0~0 := 1;" "havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true;" "havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true;" "havoc aliceCall_#t~ret36#1, aliceCall_~tmp~5#1;assume { :end_inline_aliceCall } true;assume { :begin_inline_angelinaCall } true;havoc angelinaCall_#t~ret37#1, angelinaCall_~tmp~6#1;havoc angelinaCall_~tmp~6#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 2;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~4#1;" "assume !(0 == getOrigin_~person#1);" "assume !(1 == getOrigin_~person#1);" "assume 2 == getOrigin_~person#1;getOrigin_~retValue_acc~4#1 := 2;getOrigin_#res#1 := getOrigin_~retValue_acc~4#1;" "angelinaCall_#t~ret37#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;angelinaCall_~tmp~6#1 := angelinaCall_#t~ret37#1;havoc angelinaCall_#t~ret37#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 2, angelinaCall_~tmp~6#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1;" "assume 0 == initPersonOnFloor_~floor#1;" "assume 0 == initPersonOnFloor_~person#1;~personOnFloor_0_0~0 := 1;" "assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1;" "assume 0 == callOnFloor_~floorID#1;~calls_0~0 := 1;" "havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true;" "havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true;" "havoc angelinaCall_#t~ret37#1, angelinaCall_~tmp~6#1;assume { :end_inline_angelinaCall } true;assume { :begin_inline_threeTS } true;assume { :begin_inline_timeShift } true;havoc timeShift_#t~ret98#1, timeShift_#t~ret99#1, timeShift_#t~ret100#1, timeShift_#t~ret101#1, timeShift_#t~ret102#1, timeShift_#t~ret103#1, timeShift_#t~ret104#1, timeShift_#t~ret105#1, timeShift_#t~ret106#1, timeShift_#t~ret107#1, timeShift_#t~ret108#1, timeShift_~tmp~26#1, timeShift_~tmp___0~10#1, timeShift_~tmp___1~5#1, timeShift_~tmp___2~5#1, timeShift_~tmp___3~4#1, timeShift_~tmp___4~3#1, timeShift_~tmp___5~2#1, timeShift_~tmp___6~2#1, timeShift_~tmp___7~2#1, timeShift_~tmp___8~2#1, timeShift_~tmp___9~2#1;havoc timeShift_~tmp~26#1;havoc timeShift_~tmp___0~10#1;havoc timeShift_~tmp___1~5#1;havoc timeShift_~tmp___2~5#1;havoc timeShift_~tmp___3~4#1;havoc timeShift_~tmp___4~3#1;havoc timeShift_~tmp___5~2#1;havoc timeShift_~tmp___6~2#1;havoc timeShift_~tmp___7~2#1;havoc timeShift_~tmp___8~2#1;havoc timeShift_~tmp___9~2#1;assume { :begin_inline___utac_acc__Specification13_spec__1 } true;havoc __utac_acc__Specification13_spec__1_#t~ret27#1;assume { :begin_inline_getCurrentHeading } true;havoc getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~17#1;havoc getCurrentHeading_~retValue_acc~17#1;getCurrentHeading_~retValue_acc~17#1 := ~currentHeading~0;getCurrentHeading_#res#1 := getCurrentHeading_~retValue_acc~17#1;" "__utac_acc__Specification13_spec__1_#t~ret27#1 := getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~17#1;assume { :end_inline_getCurrentHeading } true;~prevDir~0 := __utac_acc__Specification13_spec__1_#t~ret27#1;havoc __utac_acc__Specification13_spec__1_#t~ret27#1;" "havoc __utac_acc__Specification13_spec__1_#t~ret27#1;assume { :end_inline___utac_acc__Specification13_spec__1 } true;assume { :begin_inline_stopRequestedAtCurrentFloor } true;havoc stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1, stopRequestedAtCurrentFloor_#t~ret83#1, stopRequestedAtCurrentFloor_#t~ret84#1, stopRequestedAtCurrentFloor_#t~ret85#1, stopRequestedAtCurrentFloor_~retValue_acc~27#1, stopRequestedAtCurrentFloor_~tmp~24#1, stopRequestedAtCurrentFloor_~tmp___0~8#1;havoc stopRequestedAtCurrentFloor_~retValue_acc~27#1;havoc stopRequestedAtCurrentFloor_~tmp~24#1;havoc stopRequestedAtCurrentFloor_~tmp___0~8#1;assume { :begin_inline_isExecutiveFloorCalling } true;havoc isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;havoc isExecutiveFloorCalling_~retValue_acc~30#1;assume { :begin_inline_isFloorCalling } true;isFloorCalling_#in~floorID#1 := ~executiveFloor~0;havoc isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;isFloorCalling_~floorID#1 := isFloorCalling_#in~floorID#1;havoc isFloorCalling_~retValue_acc~6#1;" "assume 0 == isFloorCalling_~floorID#1;isFloorCalling_~retValue_acc~6#1 := ~calls_0~0;isFloorCalling_#res#1 := isFloorCalling_~retValue_acc~6#1;" "isExecutiveFloorCalling_#t~ret135#1 := isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;havoc isFloorCalling_#in~floorID#1;assume { :end_inline_isFloorCalling } true;isExecutiveFloorCalling_~retValue_acc~30#1 := isExecutiveFloorCalling_#t~ret135#1;havoc isExecutiveFloorCalling_#t~ret135#1;isExecutiveFloorCalling_#res#1 := isExecutiveFloorCalling_~retValue_acc~30#1;" "stopRequestedAtCurrentFloor_#t~ret82#1 := isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;assume { :end_inline_isExecutiveFloorCalling } true;stopRequestedAtCurrentFloor_~tmp~24#1 := stopRequestedAtCurrentFloor_#t~ret82#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1;" "assume 0 != stopRequestedAtCurrentFloor_~tmp~24#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;havoc getCurrentFloorID_~retValue_acc~14#1;getCurrentFloorID_~retValue_acc~14#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~14#1;" "stopRequestedAtCurrentFloor_#t~ret83#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedAtCurrentFloor_~tmp___0~8#1 := stopRequestedAtCurrentFloor_#t~ret83#1;havoc stopRequestedAtCurrentFloor_#t~ret83#1;" "assume !(~executiveFloor~0 == stopRequestedAtCurrentFloor_~tmp___0~8#1);stopRequestedAtCurrentFloor_~retValue_acc~27#1 := 0;stopRequestedAtCurrentFloor_#res#1 := stopRequestedAtCurrentFloor_~retValue_acc~27#1;" "timeShift_#t~ret98#1 := stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1, stopRequestedAtCurrentFloor_#t~ret83#1, stopRequestedAtCurrentFloor_#t~ret84#1, stopRequestedAtCurrentFloor_#t~ret85#1, stopRequestedAtCurrentFloor_~retValue_acc~27#1, stopRequestedAtCurrentFloor_~tmp~24#1, stopRequestedAtCurrentFloor_~tmp___0~8#1;assume { :end_inline_stopRequestedAtCurrentFloor } true;timeShift_~tmp___9~2#1 := timeShift_#t~ret98#1;havoc timeShift_#t~ret98#1;" "assume !(0 != timeShift_~tmp___9~2#1);" "assume 1 == ~doorState~0;~doorState~0 := 0;" "assume { :begin_inline_stopRequestedInDirection } true;stopRequestedInDirection_#in~dir#1, stopRequestedInDirection_#in~respectFloorCalls#1, stopRequestedInDirection_#in~respectInLiftCalls#1 := ~currentHeading~0, 1, 1;havoc stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret73#1, stopRequestedInDirection_#t~ret74#1, stopRequestedInDirection_#t~ret75#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~23#1, stopRequestedInDirection_~tmp~20#1, stopRequestedInDirection_~tmp___0~5#1, stopRequestedInDirection_~__cil_tmp7~6#1, stopRequestedInDirection_~__cil_tmp8~7#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~23#1;havoc stopRequestedInDirection_~tmp~20#1;havoc stopRequestedInDirection_~tmp___0~5#1;havoc stopRequestedInDirection_~__cil_tmp7~6#1;havoc stopRequestedInDirection_~__cil_tmp8~7#1;assume { :begin_inline_isExecutiveFloorCalling } true;havoc isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;havoc isExecutiveFloorCalling_~retValue_acc~30#1;assume { :begin_inline_isFloorCalling } true;isFloorCalling_#in~floorID#1 := ~executiveFloor~0;havoc isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;isFloorCalling_~floorID#1 := isFloorCalling_#in~floorID#1;havoc isFloorCalling_~retValue_acc~6#1;" "assume 0 == isFloorCalling_~floorID#1;isFloorCalling_~retValue_acc~6#1 := ~calls_0~0;isFloorCalling_#res#1 := isFloorCalling_~retValue_acc~6#1;" "isExecutiveFloorCalling_#t~ret135#1 := isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;havoc isFloorCalling_#in~floorID#1;assume { :end_inline_isFloorCalling } true;isExecutiveFloorCalling_~retValue_acc~30#1 := isExecutiveFloorCalling_#t~ret135#1;havoc isExecutiveFloorCalling_#t~ret135#1;isExecutiveFloorCalling_#res#1 := isExecutiveFloorCalling_~retValue_acc~30#1;" "stopRequestedInDirection_#t~ret73#1 := isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;assume { :end_inline_isExecutiveFloorCalling } true;stopRequestedInDirection_~tmp___0~5#1 := stopRequestedInDirection_#t~ret73#1;havoc stopRequestedInDirection_#t~ret73#1;" "assume 0 != stopRequestedInDirection_~tmp___0~5#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;havoc getCurrentFloorID_~retValue_acc~14#1;getCurrentFloorID_~retValue_acc~14#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~14#1;" "stopRequestedInDirection_#t~ret74#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedInDirection_~tmp~20#1 := stopRequestedInDirection_#t~ret74#1;havoc stopRequestedInDirection_#t~ret74#1;stopRequestedInDirection_~__cil_tmp7~6#1 := (if 1 == stopRequestedInDirection_~dir#1 then 1 else 0);stopRequestedInDirection_~__cil_tmp8~7#1 := (if stopRequestedInDirection_~tmp~20#1 < ~executiveFloor~0 then 1 else 0);stopRequestedInDirection_~retValue_acc~23#1 := (if stopRequestedInDirection_~__cil_tmp8~7#1 == stopRequestedInDirection_~__cil_tmp7~6#1 then 1 else 0);stopRequestedInDirection_#res#1 := stopRequestedInDirection_~retValue_acc~23#1;" "timeShift_#t~ret105#1 := stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret73#1, stopRequestedInDirection_#t~ret74#1, stopRequestedInDirection_#t~ret75#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~23#1, stopRequestedInDirection_~tmp~20#1, stopRequestedInDirection_~tmp___0~5#1, stopRequestedInDirection_~__cil_tmp7~6#1, stopRequestedInDirection_~__cil_tmp8~7#1;havoc stopRequestedInDirection_#in~dir#1, stopRequestedInDirection_#in~respectFloorCalls#1, stopRequestedInDirection_#in~respectInLiftCalls#1;assume { :end_inline_stopRequestedInDirection } true;timeShift_~tmp___8~2#1 := timeShift_#t~ret105#1;havoc timeShift_#t~ret105#1;" "assume 0 != timeShift_~tmp___8~2#1;assume { :begin_inline_continueInDirection } true;continueInDirection_#in~dir#1 := ~currentHeading~0;havoc continueInDirection_#t~ret76#1, continueInDirection_~dir#1, continueInDirection_~tmp~21#1;continueInDirection_~dir#1 := continueInDirection_#in~dir#1;havoc continueInDirection_~tmp~21#1;~currentHeading~0 := continueInDirection_~dir#1;" "assume !(1 == ~currentHeading~0);" "assume !(0 == ~currentFloorID~0);" "assume !(1 == ~currentHeading~0);~currentFloorID~0 := ~currentFloorID~0 - 1;" "havoc continueInDirection_#t~ret76#1, continueInDirection_~dir#1, continueInDirection_~tmp~21#1;havoc continueInDirection_#in~dir#1;assume { :end_inline_continueInDirection } true;" "assume { :begin_inline___utac_acc__Specification13_spec__2 } true;havoc __utac_acc__Specification13_spec__2_#t~ret28#1, __utac_acc__Specification13_spec__2_#t~ret29#1, __utac_acc__Specification13_spec__2_#t~ret30#1, __utac_acc__Specification13_spec__2_#t~ret31#1, __utac_acc__Specification13_spec__2_#t~ret32#1, __utac_acc__Specification13_spec__2_#t~ret33#1, __utac_acc__Specification13_spec__2_~tmp~3#1, __utac_acc__Specification13_spec__2_~tmp___0~0#1, __utac_acc__Specification13_spec__2_~tmp___1~0#1, __utac_acc__Specification13_spec__2_~tmp___2~0#1, __utac_acc__Specification13_spec__2_~tmp___3~0#1, __utac_acc__Specification13_spec__2_~tmp___4~0#1, __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1, __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1;havoc __utac_acc__Specification13_spec__2_~tmp~3#1;havoc __utac_acc__Specification13_spec__2_~tmp___0~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___1~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___2~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___3~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___4~0#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1;__utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 := 2 * ~maximumWeight~0;__utac_acc__Specification13_spec__2_~__cil_tmp8~5#1 := (if __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 < 0 && 0 != __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 % 3 then 1 + __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 / 3 else __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 / 3);" "assume ~weight~0 > __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1;" "assume 1 == ~prevDir~0;assume { :begin_inline_existInLiftCallsInDirection } true;existInLiftCallsInDirection_#in~d#1 := 0;havoc existInLiftCallsInDirection_#res#1;havoc existInLiftCallsInDirection_~d#1, existInLiftCallsInDirection_~retValue_acc~29#1, existInLiftCallsInDirection_~i~1#1, existInLiftCallsInDirection_~i___0~0#1;existInLiftCallsInDirection_~d#1 := existInLiftCallsInDirection_#in~d#1;havoc existInLiftCallsInDirection_~retValue_acc~29#1;havoc existInLiftCallsInDirection_~i~1#1;havoc existInLiftCallsInDirection_~i___0~0#1;" "assume !(1 == existInLiftCallsInDirection_~d#1);" "assume 0 == existInLiftCallsInDirection_~d#1;existInLiftCallsInDirection_~i___0~0#1 := 0;existInLiftCallsInDirection_~i___0~0#1 := ~currentFloorID~0 - 1;" [2025-01-10 07:36:14,562 INFO L754 eck$LassoCheckResult]: Loop: "assume existInLiftCallsInDirection_~i___0~0#1 >= 0;" "existInLiftCallsInDirection_~i___0~0#1 := 1 + ~currentFloorID~0;" "assume !(existInLiftCallsInDirection_~i___0~0#1 < 5);" "existInLiftCallsInDirection_~i___0~0#1 := existInLiftCallsInDirection_~i___0~0#1 - 1;" [2025-01-10 07:36:14,566 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:36:14,566 INFO L85 PathProgramCache]: Analyzing trace with hash 2016865522, now seen corresponding path program 1 times [2025-01-10 07:36:14,566 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:36:14,566 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [131171299] [2025-01-10 07:36:14,566 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-10 07:36:14,566 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:36:14,582 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 57 statements into 1 equivalence classes. [2025-01-10 07:36:14,586 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 57 of 57 statements. [2025-01-10 07:36:14,587 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:36:14,587 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:36:14,658 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-01-10 07:36:14,658 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-10 07:36:14,658 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [131171299] [2025-01-10 07:36:14,658 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [131171299] provided 1 perfect and 0 imperfect interpolant sequences [2025-01-10 07:36:14,658 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-01-10 07:36:14,658 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2025-01-10 07:36:14,659 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [322904322] [2025-01-10 07:36:14,659 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-01-10 07:36:14,660 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-01-10 07:36:14,660 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:36:14,660 INFO L85 PathProgramCache]: Analyzing trace with hash 274166626, now seen corresponding path program 1 times [2025-01-10 07:36:14,660 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:36:14,660 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1842769417] [2025-01-10 07:36:14,660 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-10 07:36:14,660 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:36:14,671 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 4 statements into 1 equivalence classes. [2025-01-10 07:36:14,673 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 4 of 4 statements. [2025-01-10 07:36:14,673 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:36:14,673 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:36:14,673 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-01-10 07:36:14,674 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 4 statements into 1 equivalence classes. [2025-01-10 07:36:14,674 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 4 of 4 statements. [2025-01-10 07:36:14,674 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:36:14,674 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:36:14,681 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-01-10 07:36:14,718 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-10 07:36:14,719 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2025-01-10 07:36:14,719 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2025-01-10 07:36:14,719 INFO L87 Difference]: Start difference. First operand 9700 states and 18093 transitions. cyclomatic complexity: 8428 Second operand has 3 states, 3 states have (on average 19.0) internal successors, (57), 3 states have internal predecessors, (57), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-10 07:36:14,834 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-01-10 07:36:14,834 INFO L93 Difference]: Finished difference Result 9666 states and 18025 transitions. [2025-01-10 07:36:14,834 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 9666 states and 18025 transitions. [2025-01-10 07:36:14,863 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 2374 [2025-01-10 07:36:14,892 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 9666 states to 9666 states and 18025 transitions. [2025-01-10 07:36:14,892 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 9630 [2025-01-10 07:36:14,903 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 9630 [2025-01-10 07:36:14,903 INFO L73 IsDeterministic]: Start isDeterministic. Operand 9666 states and 18025 transitions. [2025-01-10 07:36:14,912 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-01-10 07:36:14,912 INFO L218 hiAutomatonCegarLoop]: Abstraction has 9666 states and 18025 transitions. [2025-01-10 07:36:14,923 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 9666 states and 18025 transitions. [2025-01-10 07:36:14,996 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 9666 to 9666. [2025-01-10 07:36:15,009 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9666 states, 9666 states have (on average 1.8647837781915995) internal successors, (18025), 9665 states have internal predecessors, (18025), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-10 07:36:15,023 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9666 states to 9666 states and 18025 transitions. [2025-01-10 07:36:15,023 INFO L240 hiAutomatonCegarLoop]: Abstraction has 9666 states and 18025 transitions. [2025-01-10 07:36:15,023 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2025-01-10 07:36:15,024 INFO L432 stractBuchiCegarLoop]: Abstraction has 9666 states and 18025 transitions. [2025-01-10 07:36:15,024 INFO L338 stractBuchiCegarLoop]: ======== Iteration 4 ============ [2025-01-10 07:36:15,024 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 9666 states and 18025 transitions. [2025-01-10 07:36:15,046 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 2374 [2025-01-10 07:36:15,046 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-01-10 07:36:15,046 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-01-10 07:36:15,048 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] [2025-01-10 07:36:15,048 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1] [2025-01-10 07:36:15,049 INFO L752 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int#0(48, 1, 0, 1);call write~init~int#0(0, 1, 1, 1);call #Ultimate.allocInit(32, 2);call #Ultimate.allocInit(12, 3);call #Ultimate.allocInit(30, 4);call #Ultimate.allocInit(9, 5);call #Ultimate.allocInit(21, 6);call #Ultimate.allocInit(30, 7);call #Ultimate.allocInit(9, 8);call #Ultimate.allocInit(21, 9);call #Ultimate.allocInit(30, 10);call #Ultimate.allocInit(9, 11);call #Ultimate.allocInit(25, 12);call #Ultimate.allocInit(30, 13);call #Ultimate.allocInit(9, 14);call #Ultimate.allocInit(25, 15);call #Ultimate.allocInit(10, 16);call #Ultimate.allocInit(4, 17);call write~init~int#5(91, 17, 0, 1);call write~init~int#5(95, 17, 1, 1);call write~init~int#5(93, 17, 2, 1);call write~init~int#5(0, 17, 3, 1);call #Ultimate.allocInit(4, 18);call write~init~int#6(91, 18, 0, 1);call write~init~int#6(93, 18, 1, 1);call write~init~int#6(32, 18, 2, 1);call write~init~int#6(0, 18, 3, 1);call #Ultimate.allocInit(5, 19);call write~init~int#7(32, 19, 0, 1);call write~init~int#7(97, 19, 1, 1);call write~init~int#7(116, 19, 2, 1);call write~init~int#7(32, 19, 3, 1);call write~init~int#7(0, 19, 4, 1);call #Ultimate.allocInit(3, 20);call write~init~int#8(37, 20, 0, 1);call write~init~int#8(105, 20, 1, 1);call write~init~int#8(0, 20, 2, 1);call #Ultimate.allocInit(10, 21);call #Ultimate.allocInit(3, 22);call write~init~int#9(117, 22, 0, 1);call write~init~int#9(112, 22, 1, 1);call write~init~int#9(0, 22, 2, 1);call #Ultimate.allocInit(5, 23);call write~init~int#10(100, 23, 0, 1);call write~init~int#10(111, 23, 1, 1);call write~init~int#10(119, 23, 2, 1);call write~init~int#10(110, 23, 3, 1);call write~init~int#10(0, 23, 4, 1);call #Ultimate.allocInit(7, 24);call write~init~int#11(32, 24, 0, 1);call write~init~int#11(73, 24, 1, 1);call write~init~int#11(76, 24, 2, 1);call write~init~int#11(95, 24, 3, 1);call write~init~int#11(112, 24, 4, 1);call write~init~int#11(58, 24, 5, 1);call write~init~int#11(0, 24, 6, 1);call #Ultimate.allocInit(4, 25);call write~init~int#12(32, 25, 0, 1);call write~init~int#12(37, 25, 1, 1);call write~init~int#12(105, 25, 2, 1);call write~init~int#12(0, 25, 3, 1);call #Ultimate.allocInit(4, 26);call write~init~int#13(32, 26, 0, 1);call write~init~int#13(37, 26, 1, 1);call write~init~int#13(105, 26, 2, 1);call write~init~int#13(0, 26, 3, 1);call #Ultimate.allocInit(4, 27);call write~init~int#14(32, 27, 0, 1);call write~init~int#14(37, 27, 1, 1);call write~init~int#14(105, 27, 2, 1);call write~init~int#14(0, 27, 3, 1);call #Ultimate.allocInit(4, 28);call write~init~int#15(32, 28, 0, 1);call write~init~int#15(37, 28, 1, 1);call write~init~int#15(105, 28, 2, 1);call write~init~int#15(0, 28, 3, 1);call #Ultimate.allocInit(4, 29);call write~init~int#16(32, 29, 0, 1);call write~init~int#16(37, 29, 1, 1);call write~init~int#16(105, 29, 2, 1);call write~init~int#16(0, 29, 3, 1);call #Ultimate.allocInit(6, 30);call write~init~int#17(32, 30, 0, 1);call write~init~int#17(70, 30, 1, 1);call write~init~int#17(95, 30, 2, 1);call write~init~int#17(112, 30, 3, 1);call write~init~int#17(58, 30, 4, 1);call write~init~int#17(0, 30, 5, 1);call #Ultimate.allocInit(4, 31);call write~init~int#18(32, 31, 0, 1);call write~init~int#18(37, 31, 1, 1);call write~init~int#18(105, 31, 2, 1);call write~init~int#18(0, 31, 3, 1);call #Ultimate.allocInit(4, 32);call write~init~int#19(32, 32, 0, 1);call write~init~int#19(37, 32, 1, 1);call write~init~int#19(105, 32, 2, 1);call write~init~int#19(0, 32, 3, 1);call #Ultimate.allocInit(4, 33);call write~init~int#1(32, 33, 0, 1);call write~init~int#1(37, 33, 1, 1);call write~init~int#1(105, 33, 2, 1);call write~init~int#1(0, 33, 3, 1);call #Ultimate.allocInit(4, 34);call write~init~int#2(32, 34, 0, 1);call write~init~int#2(37, 34, 1, 1);call write~init~int#2(105, 34, 2, 1);call write~init~int#2(0, 34, 3, 1);call #Ultimate.allocInit(4, 35);call write~init~int#3(32, 35, 0, 1);call write~init~int#3(37, 35, 1, 1);call write~init~int#3(105, 35, 2, 1);call write~init~int#3(0, 35, 3, 1);call #Ultimate.allocInit(2, 36);call write~init~int#4(10, 36, 0, 1);call write~init~int#4(0, 36, 1, 1);~head~0.base, ~head~0.offset := 0, 0;~weight~0 := 0;~maximumWeight~0 := 100;~executiveFloor~0 := 4;~prevDir~0 := 0;~calls_0~0 := 0;~calls_1~0 := 0;~calls_2~0 := 0;~calls_3~0 := 0;~calls_4~0 := 0;~personOnFloor_0_0~0 := 0;~personOnFloor_0_1~0 := 0;~personOnFloor_0_2~0 := 0;~personOnFloor_0_3~0 := 0;~personOnFloor_0_4~0 := 0;~personOnFloor_1_0~0 := 0;~personOnFloor_1_1~0 := 0;~personOnFloor_1_2~0 := 0;~personOnFloor_1_3~0 := 0;~personOnFloor_1_4~0 := 0;~personOnFloor_2_0~0 := 0;~personOnFloor_2_1~0 := 0;~personOnFloor_2_2~0 := 0;~personOnFloor_2_3~0 := 0;~personOnFloor_2_4~0 := 0;~personOnFloor_3_0~0 := 0;~personOnFloor_3_1~0 := 0;~personOnFloor_3_2~0 := 0;~personOnFloor_3_3~0 := 0;~personOnFloor_3_4~0 := 0;~personOnFloor_4_0~0 := 0;~personOnFloor_4_1~0 := 0;~personOnFloor_4_2~0 := 0;~personOnFloor_4_3~0 := 0;~personOnFloor_4_4~0 := 0;~personOnFloor_5_0~0 := 0;~personOnFloor_5_1~0 := 0;~personOnFloor_5_2~0 := 0;~personOnFloor_5_3~0 := 0;~personOnFloor_5_4~0 := 0;~cleanupTimeShifts~0 := 12;~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;" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret47#1, main_~retValue_acc~10#1, main_~tmp~12#1;havoc main_~retValue_acc~10#1;havoc main_~tmp~12#1;assume { :begin_inline_select_helpers } true;" "assume { :end_inline_select_helpers } true;assume { :begin_inline_select_features } true;" "assume { :end_inline_select_features } true;assume { :begin_inline_valid_product } true;havoc valid_product_#res#1;havoc valid_product_~retValue_acc~12#1;havoc valid_product_~retValue_acc~12#1;valid_product_~retValue_acc~12#1 := 1;valid_product_#res#1 := valid_product_~retValue_acc~12#1;" "main_#t~ret47#1 := valid_product_#res#1;havoc valid_product_~retValue_acc~12#1;assume { :end_inline_valid_product } true;main_~tmp~12#1 := main_#t~ret47#1;havoc main_#t~ret47#1;" "assume 0 != main_~tmp~12#1;assume { :begin_inline_setup } true;" "assume { :end_inline_setup } true;assume { :begin_inline_runTest } true;assume { :begin_inline_test } true;assume { :begin_inline_aliceCall } true;havoc aliceCall_#t~ret36#1, aliceCall_~tmp~5#1;havoc aliceCall_~tmp~5#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 1;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~4#1;" "assume !(0 == getOrigin_~person#1);" "assume 1 == getOrigin_~person#1;getOrigin_~retValue_acc~4#1 := 3;getOrigin_#res#1 := getOrigin_~retValue_acc~4#1;" "aliceCall_#t~ret36#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;aliceCall_~tmp~5#1 := aliceCall_#t~ret36#1;havoc aliceCall_#t~ret36#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 1, aliceCall_~tmp~5#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1;" "assume !(0 == initPersonOnFloor_~floor#1);" "assume !(1 == initPersonOnFloor_~floor#1);" "assume !(2 == initPersonOnFloor_~floor#1);" "assume 3 == initPersonOnFloor_~floor#1;" "assume 0 == initPersonOnFloor_~person#1;~personOnFloor_0_3~0 := 1;" "assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1;" "assume 0 == callOnFloor_~floorID#1;~calls_0~0 := 1;" "havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true;" "havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true;" "havoc aliceCall_#t~ret36#1, aliceCall_~tmp~5#1;assume { :end_inline_aliceCall } true;assume { :begin_inline_angelinaCall } true;havoc angelinaCall_#t~ret37#1, angelinaCall_~tmp~6#1;havoc angelinaCall_~tmp~6#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 2;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~4#1;" "assume !(0 == getOrigin_~person#1);" "assume !(1 == getOrigin_~person#1);" "assume 2 == getOrigin_~person#1;getOrigin_~retValue_acc~4#1 := 2;getOrigin_#res#1 := getOrigin_~retValue_acc~4#1;" "angelinaCall_#t~ret37#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;angelinaCall_~tmp~6#1 := angelinaCall_#t~ret37#1;havoc angelinaCall_#t~ret37#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 2, angelinaCall_~tmp~6#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1;" "assume 0 == initPersonOnFloor_~floor#1;" "assume 0 == initPersonOnFloor_~person#1;~personOnFloor_0_0~0 := 1;" "assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1;" "assume 0 == callOnFloor_~floorID#1;~calls_0~0 := 1;" "havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true;" "havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true;" "havoc angelinaCall_#t~ret37#1, angelinaCall_~tmp~6#1;assume { :end_inline_angelinaCall } true;assume { :begin_inline_threeTS } true;assume { :begin_inline_timeShift } true;havoc timeShift_#t~ret98#1, timeShift_#t~ret99#1, timeShift_#t~ret100#1, timeShift_#t~ret101#1, timeShift_#t~ret102#1, timeShift_#t~ret103#1, timeShift_#t~ret104#1, timeShift_#t~ret105#1, timeShift_#t~ret106#1, timeShift_#t~ret107#1, timeShift_#t~ret108#1, timeShift_~tmp~26#1, timeShift_~tmp___0~10#1, timeShift_~tmp___1~5#1, timeShift_~tmp___2~5#1, timeShift_~tmp___3~4#1, timeShift_~tmp___4~3#1, timeShift_~tmp___5~2#1, timeShift_~tmp___6~2#1, timeShift_~tmp___7~2#1, timeShift_~tmp___8~2#1, timeShift_~tmp___9~2#1;havoc timeShift_~tmp~26#1;havoc timeShift_~tmp___0~10#1;havoc timeShift_~tmp___1~5#1;havoc timeShift_~tmp___2~5#1;havoc timeShift_~tmp___3~4#1;havoc timeShift_~tmp___4~3#1;havoc timeShift_~tmp___5~2#1;havoc timeShift_~tmp___6~2#1;havoc timeShift_~tmp___7~2#1;havoc timeShift_~tmp___8~2#1;havoc timeShift_~tmp___9~2#1;assume { :begin_inline___utac_acc__Specification13_spec__1 } true;havoc __utac_acc__Specification13_spec__1_#t~ret27#1;assume { :begin_inline_getCurrentHeading } true;havoc getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~17#1;havoc getCurrentHeading_~retValue_acc~17#1;getCurrentHeading_~retValue_acc~17#1 := ~currentHeading~0;getCurrentHeading_#res#1 := getCurrentHeading_~retValue_acc~17#1;" "__utac_acc__Specification13_spec__1_#t~ret27#1 := getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~17#1;assume { :end_inline_getCurrentHeading } true;~prevDir~0 := __utac_acc__Specification13_spec__1_#t~ret27#1;havoc __utac_acc__Specification13_spec__1_#t~ret27#1;" "havoc __utac_acc__Specification13_spec__1_#t~ret27#1;assume { :end_inline___utac_acc__Specification13_spec__1 } true;assume { :begin_inline_stopRequestedAtCurrentFloor } true;havoc stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1, stopRequestedAtCurrentFloor_#t~ret83#1, stopRequestedAtCurrentFloor_#t~ret84#1, stopRequestedAtCurrentFloor_#t~ret85#1, stopRequestedAtCurrentFloor_~retValue_acc~27#1, stopRequestedAtCurrentFloor_~tmp~24#1, stopRequestedAtCurrentFloor_~tmp___0~8#1;havoc stopRequestedAtCurrentFloor_~retValue_acc~27#1;havoc stopRequestedAtCurrentFloor_~tmp~24#1;havoc stopRequestedAtCurrentFloor_~tmp___0~8#1;assume { :begin_inline_isExecutiveFloorCalling } true;havoc isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;havoc isExecutiveFloorCalling_~retValue_acc~30#1;assume { :begin_inline_isFloorCalling } true;isFloorCalling_#in~floorID#1 := ~executiveFloor~0;havoc isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;isFloorCalling_~floorID#1 := isFloorCalling_#in~floorID#1;havoc isFloorCalling_~retValue_acc~6#1;" "assume 0 == isFloorCalling_~floorID#1;isFloorCalling_~retValue_acc~6#1 := ~calls_0~0;isFloorCalling_#res#1 := isFloorCalling_~retValue_acc~6#1;" "isExecutiveFloorCalling_#t~ret135#1 := isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;havoc isFloorCalling_#in~floorID#1;assume { :end_inline_isFloorCalling } true;isExecutiveFloorCalling_~retValue_acc~30#1 := isExecutiveFloorCalling_#t~ret135#1;havoc isExecutiveFloorCalling_#t~ret135#1;isExecutiveFloorCalling_#res#1 := isExecutiveFloorCalling_~retValue_acc~30#1;" "stopRequestedAtCurrentFloor_#t~ret82#1 := isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;assume { :end_inline_isExecutiveFloorCalling } true;stopRequestedAtCurrentFloor_~tmp~24#1 := stopRequestedAtCurrentFloor_#t~ret82#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1;" "assume 0 != stopRequestedAtCurrentFloor_~tmp~24#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;havoc getCurrentFloorID_~retValue_acc~14#1;getCurrentFloorID_~retValue_acc~14#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~14#1;" "stopRequestedAtCurrentFloor_#t~ret83#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedAtCurrentFloor_~tmp___0~8#1 := stopRequestedAtCurrentFloor_#t~ret83#1;havoc stopRequestedAtCurrentFloor_#t~ret83#1;" "assume !(~executiveFloor~0 == stopRequestedAtCurrentFloor_~tmp___0~8#1);stopRequestedAtCurrentFloor_~retValue_acc~27#1 := 0;stopRequestedAtCurrentFloor_#res#1 := stopRequestedAtCurrentFloor_~retValue_acc~27#1;" "timeShift_#t~ret98#1 := stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1, stopRequestedAtCurrentFloor_#t~ret83#1, stopRequestedAtCurrentFloor_#t~ret84#1, stopRequestedAtCurrentFloor_#t~ret85#1, stopRequestedAtCurrentFloor_~retValue_acc~27#1, stopRequestedAtCurrentFloor_~tmp~24#1, stopRequestedAtCurrentFloor_~tmp___0~8#1;assume { :end_inline_stopRequestedAtCurrentFloor } true;timeShift_~tmp___9~2#1 := timeShift_#t~ret98#1;havoc timeShift_#t~ret98#1;" "assume !(0 != timeShift_~tmp___9~2#1);" "assume 1 == ~doorState~0;~doorState~0 := 0;" "assume { :begin_inline_stopRequestedInDirection } true;stopRequestedInDirection_#in~dir#1, stopRequestedInDirection_#in~respectFloorCalls#1, stopRequestedInDirection_#in~respectInLiftCalls#1 := ~currentHeading~0, 1, 1;havoc stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret73#1, stopRequestedInDirection_#t~ret74#1, stopRequestedInDirection_#t~ret75#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~23#1, stopRequestedInDirection_~tmp~20#1, stopRequestedInDirection_~tmp___0~5#1, stopRequestedInDirection_~__cil_tmp7~6#1, stopRequestedInDirection_~__cil_tmp8~7#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~23#1;havoc stopRequestedInDirection_~tmp~20#1;havoc stopRequestedInDirection_~tmp___0~5#1;havoc stopRequestedInDirection_~__cil_tmp7~6#1;havoc stopRequestedInDirection_~__cil_tmp8~7#1;assume { :begin_inline_isExecutiveFloorCalling } true;havoc isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;havoc isExecutiveFloorCalling_~retValue_acc~30#1;assume { :begin_inline_isFloorCalling } true;isFloorCalling_#in~floorID#1 := ~executiveFloor~0;havoc isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;isFloorCalling_~floorID#1 := isFloorCalling_#in~floorID#1;havoc isFloorCalling_~retValue_acc~6#1;" "assume 0 == isFloorCalling_~floorID#1;isFloorCalling_~retValue_acc~6#1 := ~calls_0~0;isFloorCalling_#res#1 := isFloorCalling_~retValue_acc~6#1;" "isExecutiveFloorCalling_#t~ret135#1 := isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;havoc isFloorCalling_#in~floorID#1;assume { :end_inline_isFloorCalling } true;isExecutiveFloorCalling_~retValue_acc~30#1 := isExecutiveFloorCalling_#t~ret135#1;havoc isExecutiveFloorCalling_#t~ret135#1;isExecutiveFloorCalling_#res#1 := isExecutiveFloorCalling_~retValue_acc~30#1;" "stopRequestedInDirection_#t~ret73#1 := isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;assume { :end_inline_isExecutiveFloorCalling } true;stopRequestedInDirection_~tmp___0~5#1 := stopRequestedInDirection_#t~ret73#1;havoc stopRequestedInDirection_#t~ret73#1;" "assume 0 != stopRequestedInDirection_~tmp___0~5#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;havoc getCurrentFloorID_~retValue_acc~14#1;getCurrentFloorID_~retValue_acc~14#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~14#1;" "stopRequestedInDirection_#t~ret74#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedInDirection_~tmp~20#1 := stopRequestedInDirection_#t~ret74#1;havoc stopRequestedInDirection_#t~ret74#1;stopRequestedInDirection_~__cil_tmp7~6#1 := (if 1 == stopRequestedInDirection_~dir#1 then 1 else 0);stopRequestedInDirection_~__cil_tmp8~7#1 := (if stopRequestedInDirection_~tmp~20#1 < ~executiveFloor~0 then 1 else 0);stopRequestedInDirection_~retValue_acc~23#1 := (if stopRequestedInDirection_~__cil_tmp8~7#1 == stopRequestedInDirection_~__cil_tmp7~6#1 then 1 else 0);stopRequestedInDirection_#res#1 := stopRequestedInDirection_~retValue_acc~23#1;" "timeShift_#t~ret105#1 := stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret73#1, stopRequestedInDirection_#t~ret74#1, stopRequestedInDirection_#t~ret75#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~23#1, stopRequestedInDirection_~tmp~20#1, stopRequestedInDirection_~tmp___0~5#1, stopRequestedInDirection_~__cil_tmp7~6#1, stopRequestedInDirection_~__cil_tmp8~7#1;havoc stopRequestedInDirection_#in~dir#1, stopRequestedInDirection_#in~respectFloorCalls#1, stopRequestedInDirection_#in~respectInLiftCalls#1;assume { :end_inline_stopRequestedInDirection } true;timeShift_~tmp___8~2#1 := timeShift_#t~ret105#1;havoc timeShift_#t~ret105#1;" "assume 0 != timeShift_~tmp___8~2#1;assume { :begin_inline_continueInDirection } true;continueInDirection_#in~dir#1 := ~currentHeading~0;havoc continueInDirection_#t~ret76#1, continueInDirection_~dir#1, continueInDirection_~tmp~21#1;continueInDirection_~dir#1 := continueInDirection_#in~dir#1;havoc continueInDirection_~tmp~21#1;~currentHeading~0 := continueInDirection_~dir#1;" "assume !(1 == ~currentHeading~0);" "assume !(0 == ~currentFloorID~0);" "assume !(1 == ~currentHeading~0);~currentFloorID~0 := ~currentFloorID~0 - 1;" "havoc continueInDirection_#t~ret76#1, continueInDirection_~dir#1, continueInDirection_~tmp~21#1;havoc continueInDirection_#in~dir#1;assume { :end_inline_continueInDirection } true;" "assume { :begin_inline___utac_acc__Specification13_spec__2 } true;havoc __utac_acc__Specification13_spec__2_#t~ret28#1, __utac_acc__Specification13_spec__2_#t~ret29#1, __utac_acc__Specification13_spec__2_#t~ret30#1, __utac_acc__Specification13_spec__2_#t~ret31#1, __utac_acc__Specification13_spec__2_#t~ret32#1, __utac_acc__Specification13_spec__2_#t~ret33#1, __utac_acc__Specification13_spec__2_~tmp~3#1, __utac_acc__Specification13_spec__2_~tmp___0~0#1, __utac_acc__Specification13_spec__2_~tmp___1~0#1, __utac_acc__Specification13_spec__2_~tmp___2~0#1, __utac_acc__Specification13_spec__2_~tmp___3~0#1, __utac_acc__Specification13_spec__2_~tmp___4~0#1, __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1, __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1;havoc __utac_acc__Specification13_spec__2_~tmp~3#1;havoc __utac_acc__Specification13_spec__2_~tmp___0~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___1~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___2~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___3~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___4~0#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1;__utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 := 2 * ~maximumWeight~0;__utac_acc__Specification13_spec__2_~__cil_tmp8~5#1 := (if __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 < 0 && 0 != __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 % 3 then 1 + __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 / 3 else __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 / 3);" "assume ~weight~0 > __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1;" "assume 1 == ~prevDir~0;assume { :begin_inline_existInLiftCallsInDirection } true;existInLiftCallsInDirection_#in~d#1 := 0;havoc existInLiftCallsInDirection_#res#1;havoc existInLiftCallsInDirection_~d#1, existInLiftCallsInDirection_~retValue_acc~29#1, existInLiftCallsInDirection_~i~1#1, existInLiftCallsInDirection_~i___0~0#1;existInLiftCallsInDirection_~d#1 := existInLiftCallsInDirection_#in~d#1;havoc existInLiftCallsInDirection_~retValue_acc~29#1;havoc existInLiftCallsInDirection_~i~1#1;havoc existInLiftCallsInDirection_~i___0~0#1;" "assume !(1 == existInLiftCallsInDirection_~d#1);" "assume 0 == existInLiftCallsInDirection_~d#1;existInLiftCallsInDirection_~i___0~0#1 := 0;existInLiftCallsInDirection_~i___0~0#1 := ~currentFloorID~0 - 1;" [2025-01-10 07:36:15,049 INFO L754 eck$LassoCheckResult]: Loop: "assume existInLiftCallsInDirection_~i___0~0#1 >= 0;" "existInLiftCallsInDirection_~i___0~0#1 := 1 + ~currentFloorID~0;" "assume !(existInLiftCallsInDirection_~i___0~0#1 < 5);" "existInLiftCallsInDirection_~i___0~0#1 := existInLiftCallsInDirection_~i___0~0#1 - 1;" [2025-01-10 07:36:15,049 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:36:15,049 INFO L85 PathProgramCache]: Analyzing trace with hash -461795355, now seen corresponding path program 1 times [2025-01-10 07:36:15,049 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:36:15,050 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [693819643] [2025-01-10 07:36:15,050 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-10 07:36:15,050 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:36:15,101 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 59 statements into 1 equivalence classes. [2025-01-10 07:36:15,107 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 59 of 59 statements. [2025-01-10 07:36:15,107 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:36:15,107 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:36:15,191 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-01-10 07:36:15,191 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-10 07:36:15,191 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [693819643] [2025-01-10 07:36:15,192 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [693819643] provided 1 perfect and 0 imperfect interpolant sequences [2025-01-10 07:36:15,192 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-01-10 07:36:15,192 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2025-01-10 07:36:15,192 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1587053721] [2025-01-10 07:36:15,192 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-01-10 07:36:15,192 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-01-10 07:36:15,192 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:36:15,192 INFO L85 PathProgramCache]: Analyzing trace with hash 274166626, now seen corresponding path program 2 times [2025-01-10 07:36:15,192 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:36:15,192 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1113757574] [2025-01-10 07:36:15,193 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-01-10 07:36:15,193 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:36:15,202 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 4 statements into 1 equivalence classes. [2025-01-10 07:36:15,203 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) and asserted 4 of 4 statements. [2025-01-10 07:36:15,203 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2025-01-10 07:36:15,203 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:36:15,203 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-01-10 07:36:15,204 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 4 statements into 1 equivalence classes. [2025-01-10 07:36:15,205 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 4 of 4 statements. [2025-01-10 07:36:15,205 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:36:15,205 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:36:15,211 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-01-10 07:36:15,234 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-10 07:36:15,234 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2025-01-10 07:36:15,234 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2025-01-10 07:36:15,235 INFO L87 Difference]: Start difference. First operand 9666 states and 18025 transitions. cyclomatic complexity: 8394 Second operand has 5 states, 5 states have (on average 11.8) internal successors, (59), 5 states have internal predecessors, (59), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-10 07:36:15,562 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-01-10 07:36:15,563 INFO L93 Difference]: Finished difference Result 9674 states and 18032 transitions. [2025-01-10 07:36:15,563 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 9674 states and 18032 transitions. [2025-01-10 07:36:15,592 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 2374 [2025-01-10 07:36:15,619 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 9674 states to 9674 states and 18032 transitions. [2025-01-10 07:36:15,619 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 9638 [2025-01-10 07:36:15,631 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 9638 [2025-01-10 07:36:15,632 INFO L73 IsDeterministic]: Start isDeterministic. Operand 9674 states and 18032 transitions. [2025-01-10 07:36:15,646 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-01-10 07:36:15,646 INFO L218 hiAutomatonCegarLoop]: Abstraction has 9674 states and 18032 transitions. [2025-01-10 07:36:15,658 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 9674 states and 18032 transitions. [2025-01-10 07:36:15,735 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 9674 to 9666. [2025-01-10 07:36:15,747 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9666 states, 9666 states have (on average 1.8641630457272915) internal successors, (18019), 9665 states have internal predecessors, (18019), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-10 07:36:15,761 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9666 states to 9666 states and 18019 transitions. [2025-01-10 07:36:15,762 INFO L240 hiAutomatonCegarLoop]: Abstraction has 9666 states and 18019 transitions. [2025-01-10 07:36:15,762 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2025-01-10 07:36:15,762 INFO L432 stractBuchiCegarLoop]: Abstraction has 9666 states and 18019 transitions. [2025-01-10 07:36:15,762 INFO L338 stractBuchiCegarLoop]: ======== Iteration 5 ============ [2025-01-10 07:36:15,763 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 9666 states and 18019 transitions. [2025-01-10 07:36:15,783 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 2374 [2025-01-10 07:36:15,783 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-01-10 07:36:15,783 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-01-10 07:36:15,784 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] [2025-01-10 07:36:15,784 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1] [2025-01-10 07:36:15,784 INFO L752 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int#0(48, 1, 0, 1);call write~init~int#0(0, 1, 1, 1);call #Ultimate.allocInit(32, 2);call #Ultimate.allocInit(12, 3);call #Ultimate.allocInit(30, 4);call #Ultimate.allocInit(9, 5);call #Ultimate.allocInit(21, 6);call #Ultimate.allocInit(30, 7);call #Ultimate.allocInit(9, 8);call #Ultimate.allocInit(21, 9);call #Ultimate.allocInit(30, 10);call #Ultimate.allocInit(9, 11);call #Ultimate.allocInit(25, 12);call #Ultimate.allocInit(30, 13);call #Ultimate.allocInit(9, 14);call #Ultimate.allocInit(25, 15);call #Ultimate.allocInit(10, 16);call #Ultimate.allocInit(4, 17);call write~init~int#5(91, 17, 0, 1);call write~init~int#5(95, 17, 1, 1);call write~init~int#5(93, 17, 2, 1);call write~init~int#5(0, 17, 3, 1);call #Ultimate.allocInit(4, 18);call write~init~int#6(91, 18, 0, 1);call write~init~int#6(93, 18, 1, 1);call write~init~int#6(32, 18, 2, 1);call write~init~int#6(0, 18, 3, 1);call #Ultimate.allocInit(5, 19);call write~init~int#7(32, 19, 0, 1);call write~init~int#7(97, 19, 1, 1);call write~init~int#7(116, 19, 2, 1);call write~init~int#7(32, 19, 3, 1);call write~init~int#7(0, 19, 4, 1);call #Ultimate.allocInit(3, 20);call write~init~int#8(37, 20, 0, 1);call write~init~int#8(105, 20, 1, 1);call write~init~int#8(0, 20, 2, 1);call #Ultimate.allocInit(10, 21);call #Ultimate.allocInit(3, 22);call write~init~int#9(117, 22, 0, 1);call write~init~int#9(112, 22, 1, 1);call write~init~int#9(0, 22, 2, 1);call #Ultimate.allocInit(5, 23);call write~init~int#10(100, 23, 0, 1);call write~init~int#10(111, 23, 1, 1);call write~init~int#10(119, 23, 2, 1);call write~init~int#10(110, 23, 3, 1);call write~init~int#10(0, 23, 4, 1);call #Ultimate.allocInit(7, 24);call write~init~int#11(32, 24, 0, 1);call write~init~int#11(73, 24, 1, 1);call write~init~int#11(76, 24, 2, 1);call write~init~int#11(95, 24, 3, 1);call write~init~int#11(112, 24, 4, 1);call write~init~int#11(58, 24, 5, 1);call write~init~int#11(0, 24, 6, 1);call #Ultimate.allocInit(4, 25);call write~init~int#12(32, 25, 0, 1);call write~init~int#12(37, 25, 1, 1);call write~init~int#12(105, 25, 2, 1);call write~init~int#12(0, 25, 3, 1);call #Ultimate.allocInit(4, 26);call write~init~int#13(32, 26, 0, 1);call write~init~int#13(37, 26, 1, 1);call write~init~int#13(105, 26, 2, 1);call write~init~int#13(0, 26, 3, 1);call #Ultimate.allocInit(4, 27);call write~init~int#14(32, 27, 0, 1);call write~init~int#14(37, 27, 1, 1);call write~init~int#14(105, 27, 2, 1);call write~init~int#14(0, 27, 3, 1);call #Ultimate.allocInit(4, 28);call write~init~int#15(32, 28, 0, 1);call write~init~int#15(37, 28, 1, 1);call write~init~int#15(105, 28, 2, 1);call write~init~int#15(0, 28, 3, 1);call #Ultimate.allocInit(4, 29);call write~init~int#16(32, 29, 0, 1);call write~init~int#16(37, 29, 1, 1);call write~init~int#16(105, 29, 2, 1);call write~init~int#16(0, 29, 3, 1);call #Ultimate.allocInit(6, 30);call write~init~int#17(32, 30, 0, 1);call write~init~int#17(70, 30, 1, 1);call write~init~int#17(95, 30, 2, 1);call write~init~int#17(112, 30, 3, 1);call write~init~int#17(58, 30, 4, 1);call write~init~int#17(0, 30, 5, 1);call #Ultimate.allocInit(4, 31);call write~init~int#18(32, 31, 0, 1);call write~init~int#18(37, 31, 1, 1);call write~init~int#18(105, 31, 2, 1);call write~init~int#18(0, 31, 3, 1);call #Ultimate.allocInit(4, 32);call write~init~int#19(32, 32, 0, 1);call write~init~int#19(37, 32, 1, 1);call write~init~int#19(105, 32, 2, 1);call write~init~int#19(0, 32, 3, 1);call #Ultimate.allocInit(4, 33);call write~init~int#1(32, 33, 0, 1);call write~init~int#1(37, 33, 1, 1);call write~init~int#1(105, 33, 2, 1);call write~init~int#1(0, 33, 3, 1);call #Ultimate.allocInit(4, 34);call write~init~int#2(32, 34, 0, 1);call write~init~int#2(37, 34, 1, 1);call write~init~int#2(105, 34, 2, 1);call write~init~int#2(0, 34, 3, 1);call #Ultimate.allocInit(4, 35);call write~init~int#3(32, 35, 0, 1);call write~init~int#3(37, 35, 1, 1);call write~init~int#3(105, 35, 2, 1);call write~init~int#3(0, 35, 3, 1);call #Ultimate.allocInit(2, 36);call write~init~int#4(10, 36, 0, 1);call write~init~int#4(0, 36, 1, 1);~head~0.base, ~head~0.offset := 0, 0;~weight~0 := 0;~maximumWeight~0 := 100;~executiveFloor~0 := 4;~prevDir~0 := 0;~calls_0~0 := 0;~calls_1~0 := 0;~calls_2~0 := 0;~calls_3~0 := 0;~calls_4~0 := 0;~personOnFloor_0_0~0 := 0;~personOnFloor_0_1~0 := 0;~personOnFloor_0_2~0 := 0;~personOnFloor_0_3~0 := 0;~personOnFloor_0_4~0 := 0;~personOnFloor_1_0~0 := 0;~personOnFloor_1_1~0 := 0;~personOnFloor_1_2~0 := 0;~personOnFloor_1_3~0 := 0;~personOnFloor_1_4~0 := 0;~personOnFloor_2_0~0 := 0;~personOnFloor_2_1~0 := 0;~personOnFloor_2_2~0 := 0;~personOnFloor_2_3~0 := 0;~personOnFloor_2_4~0 := 0;~personOnFloor_3_0~0 := 0;~personOnFloor_3_1~0 := 0;~personOnFloor_3_2~0 := 0;~personOnFloor_3_3~0 := 0;~personOnFloor_3_4~0 := 0;~personOnFloor_4_0~0 := 0;~personOnFloor_4_1~0 := 0;~personOnFloor_4_2~0 := 0;~personOnFloor_4_3~0 := 0;~personOnFloor_4_4~0 := 0;~personOnFloor_5_0~0 := 0;~personOnFloor_5_1~0 := 0;~personOnFloor_5_2~0 := 0;~personOnFloor_5_3~0 := 0;~personOnFloor_5_4~0 := 0;~cleanupTimeShifts~0 := 12;~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;" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret47#1, main_~retValue_acc~10#1, main_~tmp~12#1;havoc main_~retValue_acc~10#1;havoc main_~tmp~12#1;assume { :begin_inline_select_helpers } true;" "assume { :end_inline_select_helpers } true;assume { :begin_inline_select_features } true;" "assume { :end_inline_select_features } true;assume { :begin_inline_valid_product } true;havoc valid_product_#res#1;havoc valid_product_~retValue_acc~12#1;havoc valid_product_~retValue_acc~12#1;valid_product_~retValue_acc~12#1 := 1;valid_product_#res#1 := valid_product_~retValue_acc~12#1;" "main_#t~ret47#1 := valid_product_#res#1;havoc valid_product_~retValue_acc~12#1;assume { :end_inline_valid_product } true;main_~tmp~12#1 := main_#t~ret47#1;havoc main_#t~ret47#1;" "assume 0 != main_~tmp~12#1;assume { :begin_inline_setup } true;" "assume { :end_inline_setup } true;assume { :begin_inline_runTest } true;assume { :begin_inline_test } true;assume { :begin_inline_aliceCall } true;havoc aliceCall_#t~ret36#1, aliceCall_~tmp~5#1;havoc aliceCall_~tmp~5#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 1;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~4#1;" "assume !(0 == getOrigin_~person#1);" "assume 1 == getOrigin_~person#1;getOrigin_~retValue_acc~4#1 := 3;getOrigin_#res#1 := getOrigin_~retValue_acc~4#1;" "aliceCall_#t~ret36#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;aliceCall_~tmp~5#1 := aliceCall_#t~ret36#1;havoc aliceCall_#t~ret36#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 1, aliceCall_~tmp~5#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1;" "assume !(0 == initPersonOnFloor_~floor#1);" "assume !(1 == initPersonOnFloor_~floor#1);" "assume !(2 == initPersonOnFloor_~floor#1);" "assume 3 == initPersonOnFloor_~floor#1;" "assume !(0 == initPersonOnFloor_~person#1);" "assume 1 == initPersonOnFloor_~person#1;~personOnFloor_1_3~0 := 1;" "assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1;" "assume 0 == callOnFloor_~floorID#1;~calls_0~0 := 1;" "havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true;" "havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true;" "havoc aliceCall_#t~ret36#1, aliceCall_~tmp~5#1;assume { :end_inline_aliceCall } true;assume { :begin_inline_angelinaCall } true;havoc angelinaCall_#t~ret37#1, angelinaCall_~tmp~6#1;havoc angelinaCall_~tmp~6#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 2;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~4#1;" "assume !(0 == getOrigin_~person#1);" "assume !(1 == getOrigin_~person#1);" "assume 2 == getOrigin_~person#1;getOrigin_~retValue_acc~4#1 := 2;getOrigin_#res#1 := getOrigin_~retValue_acc~4#1;" "angelinaCall_#t~ret37#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;angelinaCall_~tmp~6#1 := angelinaCall_#t~ret37#1;havoc angelinaCall_#t~ret37#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 2, angelinaCall_~tmp~6#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1;" "assume 0 == initPersonOnFloor_~floor#1;" "assume !(0 == initPersonOnFloor_~person#1);" "assume 1 == initPersonOnFloor_~person#1;~personOnFloor_1_0~0 := 1;" "assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1;" "assume 0 == callOnFloor_~floorID#1;~calls_0~0 := 1;" "havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true;" "havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true;" "havoc angelinaCall_#t~ret37#1, angelinaCall_~tmp~6#1;assume { :end_inline_angelinaCall } true;assume { :begin_inline_threeTS } true;assume { :begin_inline_timeShift } true;havoc timeShift_#t~ret98#1, timeShift_#t~ret99#1, timeShift_#t~ret100#1, timeShift_#t~ret101#1, timeShift_#t~ret102#1, timeShift_#t~ret103#1, timeShift_#t~ret104#1, timeShift_#t~ret105#1, timeShift_#t~ret106#1, timeShift_#t~ret107#1, timeShift_#t~ret108#1, timeShift_~tmp~26#1, timeShift_~tmp___0~10#1, timeShift_~tmp___1~5#1, timeShift_~tmp___2~5#1, timeShift_~tmp___3~4#1, timeShift_~tmp___4~3#1, timeShift_~tmp___5~2#1, timeShift_~tmp___6~2#1, timeShift_~tmp___7~2#1, timeShift_~tmp___8~2#1, timeShift_~tmp___9~2#1;havoc timeShift_~tmp~26#1;havoc timeShift_~tmp___0~10#1;havoc timeShift_~tmp___1~5#1;havoc timeShift_~tmp___2~5#1;havoc timeShift_~tmp___3~4#1;havoc timeShift_~tmp___4~3#1;havoc timeShift_~tmp___5~2#1;havoc timeShift_~tmp___6~2#1;havoc timeShift_~tmp___7~2#1;havoc timeShift_~tmp___8~2#1;havoc timeShift_~tmp___9~2#1;assume { :begin_inline___utac_acc__Specification13_spec__1 } true;havoc __utac_acc__Specification13_spec__1_#t~ret27#1;assume { :begin_inline_getCurrentHeading } true;havoc getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~17#1;havoc getCurrentHeading_~retValue_acc~17#1;getCurrentHeading_~retValue_acc~17#1 := ~currentHeading~0;getCurrentHeading_#res#1 := getCurrentHeading_~retValue_acc~17#1;" "__utac_acc__Specification13_spec__1_#t~ret27#1 := getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~17#1;assume { :end_inline_getCurrentHeading } true;~prevDir~0 := __utac_acc__Specification13_spec__1_#t~ret27#1;havoc __utac_acc__Specification13_spec__1_#t~ret27#1;" "havoc __utac_acc__Specification13_spec__1_#t~ret27#1;assume { :end_inline___utac_acc__Specification13_spec__1 } true;assume { :begin_inline_stopRequestedAtCurrentFloor } true;havoc stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1, stopRequestedAtCurrentFloor_#t~ret83#1, stopRequestedAtCurrentFloor_#t~ret84#1, stopRequestedAtCurrentFloor_#t~ret85#1, stopRequestedAtCurrentFloor_~retValue_acc~27#1, stopRequestedAtCurrentFloor_~tmp~24#1, stopRequestedAtCurrentFloor_~tmp___0~8#1;havoc stopRequestedAtCurrentFloor_~retValue_acc~27#1;havoc stopRequestedAtCurrentFloor_~tmp~24#1;havoc stopRequestedAtCurrentFloor_~tmp___0~8#1;assume { :begin_inline_isExecutiveFloorCalling } true;havoc isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;havoc isExecutiveFloorCalling_~retValue_acc~30#1;assume { :begin_inline_isFloorCalling } true;isFloorCalling_#in~floorID#1 := ~executiveFloor~0;havoc isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;isFloorCalling_~floorID#1 := isFloorCalling_#in~floorID#1;havoc isFloorCalling_~retValue_acc~6#1;" "assume 0 == isFloorCalling_~floorID#1;isFloorCalling_~retValue_acc~6#1 := ~calls_0~0;isFloorCalling_#res#1 := isFloorCalling_~retValue_acc~6#1;" "isExecutiveFloorCalling_#t~ret135#1 := isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;havoc isFloorCalling_#in~floorID#1;assume { :end_inline_isFloorCalling } true;isExecutiveFloorCalling_~retValue_acc~30#1 := isExecutiveFloorCalling_#t~ret135#1;havoc isExecutiveFloorCalling_#t~ret135#1;isExecutiveFloorCalling_#res#1 := isExecutiveFloorCalling_~retValue_acc~30#1;" "stopRequestedAtCurrentFloor_#t~ret82#1 := isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;assume { :end_inline_isExecutiveFloorCalling } true;stopRequestedAtCurrentFloor_~tmp~24#1 := stopRequestedAtCurrentFloor_#t~ret82#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1;" "assume 0 != stopRequestedAtCurrentFloor_~tmp~24#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;havoc getCurrentFloorID_~retValue_acc~14#1;getCurrentFloorID_~retValue_acc~14#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~14#1;" "stopRequestedAtCurrentFloor_#t~ret83#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedAtCurrentFloor_~tmp___0~8#1 := stopRequestedAtCurrentFloor_#t~ret83#1;havoc stopRequestedAtCurrentFloor_#t~ret83#1;" "assume !(~executiveFloor~0 == stopRequestedAtCurrentFloor_~tmp___0~8#1);stopRequestedAtCurrentFloor_~retValue_acc~27#1 := 0;stopRequestedAtCurrentFloor_#res#1 := stopRequestedAtCurrentFloor_~retValue_acc~27#1;" "timeShift_#t~ret98#1 := stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1, stopRequestedAtCurrentFloor_#t~ret83#1, stopRequestedAtCurrentFloor_#t~ret84#1, stopRequestedAtCurrentFloor_#t~ret85#1, stopRequestedAtCurrentFloor_~retValue_acc~27#1, stopRequestedAtCurrentFloor_~tmp~24#1, stopRequestedAtCurrentFloor_~tmp___0~8#1;assume { :end_inline_stopRequestedAtCurrentFloor } true;timeShift_~tmp___9~2#1 := timeShift_#t~ret98#1;havoc timeShift_#t~ret98#1;" "assume !(0 != timeShift_~tmp___9~2#1);" "assume 1 == ~doorState~0;~doorState~0 := 0;" "assume { :begin_inline_stopRequestedInDirection } true;stopRequestedInDirection_#in~dir#1, stopRequestedInDirection_#in~respectFloorCalls#1, stopRequestedInDirection_#in~respectInLiftCalls#1 := ~currentHeading~0, 1, 1;havoc stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret73#1, stopRequestedInDirection_#t~ret74#1, stopRequestedInDirection_#t~ret75#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~23#1, stopRequestedInDirection_~tmp~20#1, stopRequestedInDirection_~tmp___0~5#1, stopRequestedInDirection_~__cil_tmp7~6#1, stopRequestedInDirection_~__cil_tmp8~7#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~23#1;havoc stopRequestedInDirection_~tmp~20#1;havoc stopRequestedInDirection_~tmp___0~5#1;havoc stopRequestedInDirection_~__cil_tmp7~6#1;havoc stopRequestedInDirection_~__cil_tmp8~7#1;assume { :begin_inline_isExecutiveFloorCalling } true;havoc isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;havoc isExecutiveFloorCalling_~retValue_acc~30#1;assume { :begin_inline_isFloorCalling } true;isFloorCalling_#in~floorID#1 := ~executiveFloor~0;havoc isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;isFloorCalling_~floorID#1 := isFloorCalling_#in~floorID#1;havoc isFloorCalling_~retValue_acc~6#1;" "assume 0 == isFloorCalling_~floorID#1;isFloorCalling_~retValue_acc~6#1 := ~calls_0~0;isFloorCalling_#res#1 := isFloorCalling_~retValue_acc~6#1;" "isExecutiveFloorCalling_#t~ret135#1 := isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;havoc isFloorCalling_#in~floorID#1;assume { :end_inline_isFloorCalling } true;isExecutiveFloorCalling_~retValue_acc~30#1 := isExecutiveFloorCalling_#t~ret135#1;havoc isExecutiveFloorCalling_#t~ret135#1;isExecutiveFloorCalling_#res#1 := isExecutiveFloorCalling_~retValue_acc~30#1;" "stopRequestedInDirection_#t~ret73#1 := isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;assume { :end_inline_isExecutiveFloorCalling } true;stopRequestedInDirection_~tmp___0~5#1 := stopRequestedInDirection_#t~ret73#1;havoc stopRequestedInDirection_#t~ret73#1;" "assume 0 != stopRequestedInDirection_~tmp___0~5#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;havoc getCurrentFloorID_~retValue_acc~14#1;getCurrentFloorID_~retValue_acc~14#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~14#1;" "stopRequestedInDirection_#t~ret74#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedInDirection_~tmp~20#1 := stopRequestedInDirection_#t~ret74#1;havoc stopRequestedInDirection_#t~ret74#1;stopRequestedInDirection_~__cil_tmp7~6#1 := (if 1 == stopRequestedInDirection_~dir#1 then 1 else 0);stopRequestedInDirection_~__cil_tmp8~7#1 := (if stopRequestedInDirection_~tmp~20#1 < ~executiveFloor~0 then 1 else 0);stopRequestedInDirection_~retValue_acc~23#1 := (if stopRequestedInDirection_~__cil_tmp8~7#1 == stopRequestedInDirection_~__cil_tmp7~6#1 then 1 else 0);stopRequestedInDirection_#res#1 := stopRequestedInDirection_~retValue_acc~23#1;" "timeShift_#t~ret105#1 := stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret73#1, stopRequestedInDirection_#t~ret74#1, stopRequestedInDirection_#t~ret75#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~23#1, stopRequestedInDirection_~tmp~20#1, stopRequestedInDirection_~tmp___0~5#1, stopRequestedInDirection_~__cil_tmp7~6#1, stopRequestedInDirection_~__cil_tmp8~7#1;havoc stopRequestedInDirection_#in~dir#1, stopRequestedInDirection_#in~respectFloorCalls#1, stopRequestedInDirection_#in~respectInLiftCalls#1;assume { :end_inline_stopRequestedInDirection } true;timeShift_~tmp___8~2#1 := timeShift_#t~ret105#1;havoc timeShift_#t~ret105#1;" "assume 0 != timeShift_~tmp___8~2#1;assume { :begin_inline_continueInDirection } true;continueInDirection_#in~dir#1 := ~currentHeading~0;havoc continueInDirection_#t~ret76#1, continueInDirection_~dir#1, continueInDirection_~tmp~21#1;continueInDirection_~dir#1 := continueInDirection_#in~dir#1;havoc continueInDirection_~tmp~21#1;~currentHeading~0 := continueInDirection_~dir#1;" "assume !(1 == ~currentHeading~0);" "assume !(0 == ~currentFloorID~0);" "assume !(1 == ~currentHeading~0);~currentFloorID~0 := ~currentFloorID~0 - 1;" "havoc continueInDirection_#t~ret76#1, continueInDirection_~dir#1, continueInDirection_~tmp~21#1;havoc continueInDirection_#in~dir#1;assume { :end_inline_continueInDirection } true;" "assume { :begin_inline___utac_acc__Specification13_spec__2 } true;havoc __utac_acc__Specification13_spec__2_#t~ret28#1, __utac_acc__Specification13_spec__2_#t~ret29#1, __utac_acc__Specification13_spec__2_#t~ret30#1, __utac_acc__Specification13_spec__2_#t~ret31#1, __utac_acc__Specification13_spec__2_#t~ret32#1, __utac_acc__Specification13_spec__2_#t~ret33#1, __utac_acc__Specification13_spec__2_~tmp~3#1, __utac_acc__Specification13_spec__2_~tmp___0~0#1, __utac_acc__Specification13_spec__2_~tmp___1~0#1, __utac_acc__Specification13_spec__2_~tmp___2~0#1, __utac_acc__Specification13_spec__2_~tmp___3~0#1, __utac_acc__Specification13_spec__2_~tmp___4~0#1, __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1, __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1;havoc __utac_acc__Specification13_spec__2_~tmp~3#1;havoc __utac_acc__Specification13_spec__2_~tmp___0~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___1~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___2~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___3~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___4~0#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1;__utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 := 2 * ~maximumWeight~0;__utac_acc__Specification13_spec__2_~__cil_tmp8~5#1 := (if __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 < 0 && 0 != __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 % 3 then 1 + __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 / 3 else __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 / 3);" "assume ~weight~0 > __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1;" "assume 1 == ~prevDir~0;assume { :begin_inline_existInLiftCallsInDirection } true;existInLiftCallsInDirection_#in~d#1 := 0;havoc existInLiftCallsInDirection_#res#1;havoc existInLiftCallsInDirection_~d#1, existInLiftCallsInDirection_~retValue_acc~29#1, existInLiftCallsInDirection_~i~1#1, existInLiftCallsInDirection_~i___0~0#1;existInLiftCallsInDirection_~d#1 := existInLiftCallsInDirection_#in~d#1;havoc existInLiftCallsInDirection_~retValue_acc~29#1;havoc existInLiftCallsInDirection_~i~1#1;havoc existInLiftCallsInDirection_~i___0~0#1;" "assume !(1 == existInLiftCallsInDirection_~d#1);" "assume 0 == existInLiftCallsInDirection_~d#1;existInLiftCallsInDirection_~i___0~0#1 := 0;existInLiftCallsInDirection_~i___0~0#1 := ~currentFloorID~0 - 1;" [2025-01-10 07:36:15,784 INFO L754 eck$LassoCheckResult]: Loop: "assume existInLiftCallsInDirection_~i___0~0#1 >= 0;" "existInLiftCallsInDirection_~i___0~0#1 := 1 + ~currentFloorID~0;" "assume !(existInLiftCallsInDirection_~i___0~0#1 < 5);" "existInLiftCallsInDirection_~i___0~0#1 := existInLiftCallsInDirection_~i___0~0#1 - 1;" [2025-01-10 07:36:15,785 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:36:15,785 INFO L85 PathProgramCache]: Analyzing trace with hash -122478423, now seen corresponding path program 1 times [2025-01-10 07:36:15,785 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:36:15,785 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1900501830] [2025-01-10 07:36:15,785 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-10 07:36:15,785 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:36:15,800 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 61 statements into 1 equivalence classes. [2025-01-10 07:36:15,807 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 61 of 61 statements. [2025-01-10 07:36:15,808 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:36:15,808 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:36:15,879 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-01-10 07:36:15,879 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-10 07:36:15,879 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1900501830] [2025-01-10 07:36:15,879 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1900501830] provided 1 perfect and 0 imperfect interpolant sequences [2025-01-10 07:36:15,879 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-01-10 07:36:15,879 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2025-01-10 07:36:15,879 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1547813679] [2025-01-10 07:36:15,879 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-01-10 07:36:15,880 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-01-10 07:36:15,880 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:36:15,880 INFO L85 PathProgramCache]: Analyzing trace with hash 274166626, now seen corresponding path program 3 times [2025-01-10 07:36:15,880 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:36:15,880 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [48484503] [2025-01-10 07:36:15,880 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2025-01-10 07:36:15,880 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:36:15,888 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 partitioned 4 statements into 1 equivalence classes. [2025-01-10 07:36:15,889 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 1 check-sat command(s) and asserted 4 of 4 statements. [2025-01-10 07:36:15,889 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 1 check-sat command(s) [2025-01-10 07:36:15,889 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:36:15,889 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-01-10 07:36:15,890 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 4 statements into 1 equivalence classes. [2025-01-10 07:36:15,890 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 4 of 4 statements. [2025-01-10 07:36:15,891 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:36:15,891 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:36:15,900 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-01-10 07:36:15,920 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-10 07:36:15,921 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2025-01-10 07:36:15,921 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2025-01-10 07:36:15,921 INFO L87 Difference]: Start difference. First operand 9666 states and 18019 transitions. cyclomatic complexity: 8388 Second operand has 4 states, 4 states have (on average 15.25) internal successors, (61), 4 states have internal predecessors, (61), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-10 07:36:16,083 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-01-10 07:36:16,083 INFO L93 Difference]: Finished difference Result 9670 states and 18022 transitions. [2025-01-10 07:36:16,083 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 9670 states and 18022 transitions. [2025-01-10 07:36:16,116 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 2374 [2025-01-10 07:36:16,145 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 9670 states to 9670 states and 18022 transitions. [2025-01-10 07:36:16,146 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 9634 [2025-01-10 07:36:16,153 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 9634 [2025-01-10 07:36:16,153 INFO L73 IsDeterministic]: Start isDeterministic. Operand 9670 states and 18022 transitions. [2025-01-10 07:36:16,154 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-01-10 07:36:16,154 INFO L218 hiAutomatonCegarLoop]: Abstraction has 9670 states and 18022 transitions. [2025-01-10 07:36:16,164 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 9670 states and 18022 transitions. [2025-01-10 07:36:16,328 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 9670 to 9670. [2025-01-10 07:36:16,341 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9670 states, 9670 states have (on average 1.8637021716649431) internal successors, (18022), 9669 states have internal predecessors, (18022), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-10 07:36:16,359 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9670 states to 9670 states and 18022 transitions. [2025-01-10 07:36:16,359 INFO L240 hiAutomatonCegarLoop]: Abstraction has 9670 states and 18022 transitions. [2025-01-10 07:36:16,359 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2025-01-10 07:36:16,360 INFO L432 stractBuchiCegarLoop]: Abstraction has 9670 states and 18022 transitions. [2025-01-10 07:36:16,360 INFO L338 stractBuchiCegarLoop]: ======== Iteration 6 ============ [2025-01-10 07:36:16,360 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 9670 states and 18022 transitions. [2025-01-10 07:36:16,388 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 2374 [2025-01-10 07:36:16,389 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-01-10 07:36:16,389 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-01-10 07:36:16,389 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] [2025-01-10 07:36:16,389 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1] [2025-01-10 07:36:16,390 INFO L752 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int#0(48, 1, 0, 1);call write~init~int#0(0, 1, 1, 1);call #Ultimate.allocInit(32, 2);call #Ultimate.allocInit(12, 3);call #Ultimate.allocInit(30, 4);call #Ultimate.allocInit(9, 5);call #Ultimate.allocInit(21, 6);call #Ultimate.allocInit(30, 7);call #Ultimate.allocInit(9, 8);call #Ultimate.allocInit(21, 9);call #Ultimate.allocInit(30, 10);call #Ultimate.allocInit(9, 11);call #Ultimate.allocInit(25, 12);call #Ultimate.allocInit(30, 13);call #Ultimate.allocInit(9, 14);call #Ultimate.allocInit(25, 15);call #Ultimate.allocInit(10, 16);call #Ultimate.allocInit(4, 17);call write~init~int#5(91, 17, 0, 1);call write~init~int#5(95, 17, 1, 1);call write~init~int#5(93, 17, 2, 1);call write~init~int#5(0, 17, 3, 1);call #Ultimate.allocInit(4, 18);call write~init~int#6(91, 18, 0, 1);call write~init~int#6(93, 18, 1, 1);call write~init~int#6(32, 18, 2, 1);call write~init~int#6(0, 18, 3, 1);call #Ultimate.allocInit(5, 19);call write~init~int#7(32, 19, 0, 1);call write~init~int#7(97, 19, 1, 1);call write~init~int#7(116, 19, 2, 1);call write~init~int#7(32, 19, 3, 1);call write~init~int#7(0, 19, 4, 1);call #Ultimate.allocInit(3, 20);call write~init~int#8(37, 20, 0, 1);call write~init~int#8(105, 20, 1, 1);call write~init~int#8(0, 20, 2, 1);call #Ultimate.allocInit(10, 21);call #Ultimate.allocInit(3, 22);call write~init~int#9(117, 22, 0, 1);call write~init~int#9(112, 22, 1, 1);call write~init~int#9(0, 22, 2, 1);call #Ultimate.allocInit(5, 23);call write~init~int#10(100, 23, 0, 1);call write~init~int#10(111, 23, 1, 1);call write~init~int#10(119, 23, 2, 1);call write~init~int#10(110, 23, 3, 1);call write~init~int#10(0, 23, 4, 1);call #Ultimate.allocInit(7, 24);call write~init~int#11(32, 24, 0, 1);call write~init~int#11(73, 24, 1, 1);call write~init~int#11(76, 24, 2, 1);call write~init~int#11(95, 24, 3, 1);call write~init~int#11(112, 24, 4, 1);call write~init~int#11(58, 24, 5, 1);call write~init~int#11(0, 24, 6, 1);call #Ultimate.allocInit(4, 25);call write~init~int#12(32, 25, 0, 1);call write~init~int#12(37, 25, 1, 1);call write~init~int#12(105, 25, 2, 1);call write~init~int#12(0, 25, 3, 1);call #Ultimate.allocInit(4, 26);call write~init~int#13(32, 26, 0, 1);call write~init~int#13(37, 26, 1, 1);call write~init~int#13(105, 26, 2, 1);call write~init~int#13(0, 26, 3, 1);call #Ultimate.allocInit(4, 27);call write~init~int#14(32, 27, 0, 1);call write~init~int#14(37, 27, 1, 1);call write~init~int#14(105, 27, 2, 1);call write~init~int#14(0, 27, 3, 1);call #Ultimate.allocInit(4, 28);call write~init~int#15(32, 28, 0, 1);call write~init~int#15(37, 28, 1, 1);call write~init~int#15(105, 28, 2, 1);call write~init~int#15(0, 28, 3, 1);call #Ultimate.allocInit(4, 29);call write~init~int#16(32, 29, 0, 1);call write~init~int#16(37, 29, 1, 1);call write~init~int#16(105, 29, 2, 1);call write~init~int#16(0, 29, 3, 1);call #Ultimate.allocInit(6, 30);call write~init~int#17(32, 30, 0, 1);call write~init~int#17(70, 30, 1, 1);call write~init~int#17(95, 30, 2, 1);call write~init~int#17(112, 30, 3, 1);call write~init~int#17(58, 30, 4, 1);call write~init~int#17(0, 30, 5, 1);call #Ultimate.allocInit(4, 31);call write~init~int#18(32, 31, 0, 1);call write~init~int#18(37, 31, 1, 1);call write~init~int#18(105, 31, 2, 1);call write~init~int#18(0, 31, 3, 1);call #Ultimate.allocInit(4, 32);call write~init~int#19(32, 32, 0, 1);call write~init~int#19(37, 32, 1, 1);call write~init~int#19(105, 32, 2, 1);call write~init~int#19(0, 32, 3, 1);call #Ultimate.allocInit(4, 33);call write~init~int#1(32, 33, 0, 1);call write~init~int#1(37, 33, 1, 1);call write~init~int#1(105, 33, 2, 1);call write~init~int#1(0, 33, 3, 1);call #Ultimate.allocInit(4, 34);call write~init~int#2(32, 34, 0, 1);call write~init~int#2(37, 34, 1, 1);call write~init~int#2(105, 34, 2, 1);call write~init~int#2(0, 34, 3, 1);call #Ultimate.allocInit(4, 35);call write~init~int#3(32, 35, 0, 1);call write~init~int#3(37, 35, 1, 1);call write~init~int#3(105, 35, 2, 1);call write~init~int#3(0, 35, 3, 1);call #Ultimate.allocInit(2, 36);call write~init~int#4(10, 36, 0, 1);call write~init~int#4(0, 36, 1, 1);~head~0.base, ~head~0.offset := 0, 0;~weight~0 := 0;~maximumWeight~0 := 100;~executiveFloor~0 := 4;~prevDir~0 := 0;~calls_0~0 := 0;~calls_1~0 := 0;~calls_2~0 := 0;~calls_3~0 := 0;~calls_4~0 := 0;~personOnFloor_0_0~0 := 0;~personOnFloor_0_1~0 := 0;~personOnFloor_0_2~0 := 0;~personOnFloor_0_3~0 := 0;~personOnFloor_0_4~0 := 0;~personOnFloor_1_0~0 := 0;~personOnFloor_1_1~0 := 0;~personOnFloor_1_2~0 := 0;~personOnFloor_1_3~0 := 0;~personOnFloor_1_4~0 := 0;~personOnFloor_2_0~0 := 0;~personOnFloor_2_1~0 := 0;~personOnFloor_2_2~0 := 0;~personOnFloor_2_3~0 := 0;~personOnFloor_2_4~0 := 0;~personOnFloor_3_0~0 := 0;~personOnFloor_3_1~0 := 0;~personOnFloor_3_2~0 := 0;~personOnFloor_3_3~0 := 0;~personOnFloor_3_4~0 := 0;~personOnFloor_4_0~0 := 0;~personOnFloor_4_1~0 := 0;~personOnFloor_4_2~0 := 0;~personOnFloor_4_3~0 := 0;~personOnFloor_4_4~0 := 0;~personOnFloor_5_0~0 := 0;~personOnFloor_5_1~0 := 0;~personOnFloor_5_2~0 := 0;~personOnFloor_5_3~0 := 0;~personOnFloor_5_4~0 := 0;~cleanupTimeShifts~0 := 12;~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;" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret47#1, main_~retValue_acc~10#1, main_~tmp~12#1;havoc main_~retValue_acc~10#1;havoc main_~tmp~12#1;assume { :begin_inline_select_helpers } true;" "assume { :end_inline_select_helpers } true;assume { :begin_inline_select_features } true;" "assume { :end_inline_select_features } true;assume { :begin_inline_valid_product } true;havoc valid_product_#res#1;havoc valid_product_~retValue_acc~12#1;havoc valid_product_~retValue_acc~12#1;valid_product_~retValue_acc~12#1 := 1;valid_product_#res#1 := valid_product_~retValue_acc~12#1;" "main_#t~ret47#1 := valid_product_#res#1;havoc valid_product_~retValue_acc~12#1;assume { :end_inline_valid_product } true;main_~tmp~12#1 := main_#t~ret47#1;havoc main_#t~ret47#1;" "assume 0 != main_~tmp~12#1;assume { :begin_inline_setup } true;" "assume { :end_inline_setup } true;assume { :begin_inline_runTest } true;assume { :begin_inline_test } true;assume { :begin_inline_aliceCall } true;havoc aliceCall_#t~ret36#1, aliceCall_~tmp~5#1;havoc aliceCall_~tmp~5#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 1;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~4#1;" "assume !(0 == getOrigin_~person#1);" "assume 1 == getOrigin_~person#1;getOrigin_~retValue_acc~4#1 := 3;getOrigin_#res#1 := getOrigin_~retValue_acc~4#1;" "aliceCall_#t~ret36#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;aliceCall_~tmp~5#1 := aliceCall_#t~ret36#1;havoc aliceCall_#t~ret36#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 1, aliceCall_~tmp~5#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1;" "assume !(0 == initPersonOnFloor_~floor#1);" "assume !(1 == initPersonOnFloor_~floor#1);" "assume !(2 == initPersonOnFloor_~floor#1);" "assume 3 == initPersonOnFloor_~floor#1;" "assume !(0 == initPersonOnFloor_~person#1);" "assume 1 == initPersonOnFloor_~person#1;~personOnFloor_1_3~0 := 1;" "assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1;" "assume !(0 == callOnFloor_~floorID#1);" "assume 1 == callOnFloor_~floorID#1;~calls_1~0 := 1;" "havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true;" "havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true;" "havoc aliceCall_#t~ret36#1, aliceCall_~tmp~5#1;assume { :end_inline_aliceCall } true;assume { :begin_inline_angelinaCall } true;havoc angelinaCall_#t~ret37#1, angelinaCall_~tmp~6#1;havoc angelinaCall_~tmp~6#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 2;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~4#1;" "assume !(0 == getOrigin_~person#1);" "assume !(1 == getOrigin_~person#1);" "assume 2 == getOrigin_~person#1;getOrigin_~retValue_acc~4#1 := 2;getOrigin_#res#1 := getOrigin_~retValue_acc~4#1;" "angelinaCall_#t~ret37#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;angelinaCall_~tmp~6#1 := angelinaCall_#t~ret37#1;havoc angelinaCall_#t~ret37#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 2, angelinaCall_~tmp~6#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1;" "assume 0 == initPersonOnFloor_~floor#1;" "assume !(0 == initPersonOnFloor_~person#1);" "assume 1 == initPersonOnFloor_~person#1;~personOnFloor_1_0~0 := 1;" "assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1;" "assume 0 == callOnFloor_~floorID#1;~calls_0~0 := 1;" "havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true;" "havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true;" "havoc angelinaCall_#t~ret37#1, angelinaCall_~tmp~6#1;assume { :end_inline_angelinaCall } true;assume { :begin_inline_threeTS } true;assume { :begin_inline_timeShift } true;havoc timeShift_#t~ret98#1, timeShift_#t~ret99#1, timeShift_#t~ret100#1, timeShift_#t~ret101#1, timeShift_#t~ret102#1, timeShift_#t~ret103#1, timeShift_#t~ret104#1, timeShift_#t~ret105#1, timeShift_#t~ret106#1, timeShift_#t~ret107#1, timeShift_#t~ret108#1, timeShift_~tmp~26#1, timeShift_~tmp___0~10#1, timeShift_~tmp___1~5#1, timeShift_~tmp___2~5#1, timeShift_~tmp___3~4#1, timeShift_~tmp___4~3#1, timeShift_~tmp___5~2#1, timeShift_~tmp___6~2#1, timeShift_~tmp___7~2#1, timeShift_~tmp___8~2#1, timeShift_~tmp___9~2#1;havoc timeShift_~tmp~26#1;havoc timeShift_~tmp___0~10#1;havoc timeShift_~tmp___1~5#1;havoc timeShift_~tmp___2~5#1;havoc timeShift_~tmp___3~4#1;havoc timeShift_~tmp___4~3#1;havoc timeShift_~tmp___5~2#1;havoc timeShift_~tmp___6~2#1;havoc timeShift_~tmp___7~2#1;havoc timeShift_~tmp___8~2#1;havoc timeShift_~tmp___9~2#1;assume { :begin_inline___utac_acc__Specification13_spec__1 } true;havoc __utac_acc__Specification13_spec__1_#t~ret27#1;assume { :begin_inline_getCurrentHeading } true;havoc getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~17#1;havoc getCurrentHeading_~retValue_acc~17#1;getCurrentHeading_~retValue_acc~17#1 := ~currentHeading~0;getCurrentHeading_#res#1 := getCurrentHeading_~retValue_acc~17#1;" "__utac_acc__Specification13_spec__1_#t~ret27#1 := getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~17#1;assume { :end_inline_getCurrentHeading } true;~prevDir~0 := __utac_acc__Specification13_spec__1_#t~ret27#1;havoc __utac_acc__Specification13_spec__1_#t~ret27#1;" "havoc __utac_acc__Specification13_spec__1_#t~ret27#1;assume { :end_inline___utac_acc__Specification13_spec__1 } true;assume { :begin_inline_stopRequestedAtCurrentFloor } true;havoc stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1, stopRequestedAtCurrentFloor_#t~ret83#1, stopRequestedAtCurrentFloor_#t~ret84#1, stopRequestedAtCurrentFloor_#t~ret85#1, stopRequestedAtCurrentFloor_~retValue_acc~27#1, stopRequestedAtCurrentFloor_~tmp~24#1, stopRequestedAtCurrentFloor_~tmp___0~8#1;havoc stopRequestedAtCurrentFloor_~retValue_acc~27#1;havoc stopRequestedAtCurrentFloor_~tmp~24#1;havoc stopRequestedAtCurrentFloor_~tmp___0~8#1;assume { :begin_inline_isExecutiveFloorCalling } true;havoc isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;havoc isExecutiveFloorCalling_~retValue_acc~30#1;assume { :begin_inline_isFloorCalling } true;isFloorCalling_#in~floorID#1 := ~executiveFloor~0;havoc isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;isFloorCalling_~floorID#1 := isFloorCalling_#in~floorID#1;havoc isFloorCalling_~retValue_acc~6#1;" "assume 0 == isFloorCalling_~floorID#1;isFloorCalling_~retValue_acc~6#1 := ~calls_0~0;isFloorCalling_#res#1 := isFloorCalling_~retValue_acc~6#1;" "isExecutiveFloorCalling_#t~ret135#1 := isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;havoc isFloorCalling_#in~floorID#1;assume { :end_inline_isFloorCalling } true;isExecutiveFloorCalling_~retValue_acc~30#1 := isExecutiveFloorCalling_#t~ret135#1;havoc isExecutiveFloorCalling_#t~ret135#1;isExecutiveFloorCalling_#res#1 := isExecutiveFloorCalling_~retValue_acc~30#1;" "stopRequestedAtCurrentFloor_#t~ret82#1 := isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;assume { :end_inline_isExecutiveFloorCalling } true;stopRequestedAtCurrentFloor_~tmp~24#1 := stopRequestedAtCurrentFloor_#t~ret82#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1;" "assume 0 != stopRequestedAtCurrentFloor_~tmp~24#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;havoc getCurrentFloorID_~retValue_acc~14#1;getCurrentFloorID_~retValue_acc~14#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~14#1;" "stopRequestedAtCurrentFloor_#t~ret83#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedAtCurrentFloor_~tmp___0~8#1 := stopRequestedAtCurrentFloor_#t~ret83#1;havoc stopRequestedAtCurrentFloor_#t~ret83#1;" "assume !(~executiveFloor~0 == stopRequestedAtCurrentFloor_~tmp___0~8#1);stopRequestedAtCurrentFloor_~retValue_acc~27#1 := 0;stopRequestedAtCurrentFloor_#res#1 := stopRequestedAtCurrentFloor_~retValue_acc~27#1;" "timeShift_#t~ret98#1 := stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1, stopRequestedAtCurrentFloor_#t~ret83#1, stopRequestedAtCurrentFloor_#t~ret84#1, stopRequestedAtCurrentFloor_#t~ret85#1, stopRequestedAtCurrentFloor_~retValue_acc~27#1, stopRequestedAtCurrentFloor_~tmp~24#1, stopRequestedAtCurrentFloor_~tmp___0~8#1;assume { :end_inline_stopRequestedAtCurrentFloor } true;timeShift_~tmp___9~2#1 := timeShift_#t~ret98#1;havoc timeShift_#t~ret98#1;" "assume !(0 != timeShift_~tmp___9~2#1);" "assume 1 == ~doorState~0;~doorState~0 := 0;" "assume { :begin_inline_stopRequestedInDirection } true;stopRequestedInDirection_#in~dir#1, stopRequestedInDirection_#in~respectFloorCalls#1, stopRequestedInDirection_#in~respectInLiftCalls#1 := ~currentHeading~0, 1, 1;havoc stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret73#1, stopRequestedInDirection_#t~ret74#1, stopRequestedInDirection_#t~ret75#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~23#1, stopRequestedInDirection_~tmp~20#1, stopRequestedInDirection_~tmp___0~5#1, stopRequestedInDirection_~__cil_tmp7~6#1, stopRequestedInDirection_~__cil_tmp8~7#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~23#1;havoc stopRequestedInDirection_~tmp~20#1;havoc stopRequestedInDirection_~tmp___0~5#1;havoc stopRequestedInDirection_~__cil_tmp7~6#1;havoc stopRequestedInDirection_~__cil_tmp8~7#1;assume { :begin_inline_isExecutiveFloorCalling } true;havoc isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;havoc isExecutiveFloorCalling_~retValue_acc~30#1;assume { :begin_inline_isFloorCalling } true;isFloorCalling_#in~floorID#1 := ~executiveFloor~0;havoc isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;isFloorCalling_~floorID#1 := isFloorCalling_#in~floorID#1;havoc isFloorCalling_~retValue_acc~6#1;" "assume 0 == isFloorCalling_~floorID#1;isFloorCalling_~retValue_acc~6#1 := ~calls_0~0;isFloorCalling_#res#1 := isFloorCalling_~retValue_acc~6#1;" "isExecutiveFloorCalling_#t~ret135#1 := isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;havoc isFloorCalling_#in~floorID#1;assume { :end_inline_isFloorCalling } true;isExecutiveFloorCalling_~retValue_acc~30#1 := isExecutiveFloorCalling_#t~ret135#1;havoc isExecutiveFloorCalling_#t~ret135#1;isExecutiveFloorCalling_#res#1 := isExecutiveFloorCalling_~retValue_acc~30#1;" "stopRequestedInDirection_#t~ret73#1 := isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;assume { :end_inline_isExecutiveFloorCalling } true;stopRequestedInDirection_~tmp___0~5#1 := stopRequestedInDirection_#t~ret73#1;havoc stopRequestedInDirection_#t~ret73#1;" "assume 0 != stopRequestedInDirection_~tmp___0~5#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;havoc getCurrentFloorID_~retValue_acc~14#1;getCurrentFloorID_~retValue_acc~14#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~14#1;" "stopRequestedInDirection_#t~ret74#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedInDirection_~tmp~20#1 := stopRequestedInDirection_#t~ret74#1;havoc stopRequestedInDirection_#t~ret74#1;stopRequestedInDirection_~__cil_tmp7~6#1 := (if 1 == stopRequestedInDirection_~dir#1 then 1 else 0);stopRequestedInDirection_~__cil_tmp8~7#1 := (if stopRequestedInDirection_~tmp~20#1 < ~executiveFloor~0 then 1 else 0);stopRequestedInDirection_~retValue_acc~23#1 := (if stopRequestedInDirection_~__cil_tmp8~7#1 == stopRequestedInDirection_~__cil_tmp7~6#1 then 1 else 0);stopRequestedInDirection_#res#1 := stopRequestedInDirection_~retValue_acc~23#1;" "timeShift_#t~ret105#1 := stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret73#1, stopRequestedInDirection_#t~ret74#1, stopRequestedInDirection_#t~ret75#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~23#1, stopRequestedInDirection_~tmp~20#1, stopRequestedInDirection_~tmp___0~5#1, stopRequestedInDirection_~__cil_tmp7~6#1, stopRequestedInDirection_~__cil_tmp8~7#1;havoc stopRequestedInDirection_#in~dir#1, stopRequestedInDirection_#in~respectFloorCalls#1, stopRequestedInDirection_#in~respectInLiftCalls#1;assume { :end_inline_stopRequestedInDirection } true;timeShift_~tmp___8~2#1 := timeShift_#t~ret105#1;havoc timeShift_#t~ret105#1;" "assume 0 != timeShift_~tmp___8~2#1;assume { :begin_inline_continueInDirection } true;continueInDirection_#in~dir#1 := ~currentHeading~0;havoc continueInDirection_#t~ret76#1, continueInDirection_~dir#1, continueInDirection_~tmp~21#1;continueInDirection_~dir#1 := continueInDirection_#in~dir#1;havoc continueInDirection_~tmp~21#1;~currentHeading~0 := continueInDirection_~dir#1;" "assume !(1 == ~currentHeading~0);" "assume !(0 == ~currentFloorID~0);" "assume !(1 == ~currentHeading~0);~currentFloorID~0 := ~currentFloorID~0 - 1;" "havoc continueInDirection_#t~ret76#1, continueInDirection_~dir#1, continueInDirection_~tmp~21#1;havoc continueInDirection_#in~dir#1;assume { :end_inline_continueInDirection } true;" "assume { :begin_inline___utac_acc__Specification13_spec__2 } true;havoc __utac_acc__Specification13_spec__2_#t~ret28#1, __utac_acc__Specification13_spec__2_#t~ret29#1, __utac_acc__Specification13_spec__2_#t~ret30#1, __utac_acc__Specification13_spec__2_#t~ret31#1, __utac_acc__Specification13_spec__2_#t~ret32#1, __utac_acc__Specification13_spec__2_#t~ret33#1, __utac_acc__Specification13_spec__2_~tmp~3#1, __utac_acc__Specification13_spec__2_~tmp___0~0#1, __utac_acc__Specification13_spec__2_~tmp___1~0#1, __utac_acc__Specification13_spec__2_~tmp___2~0#1, __utac_acc__Specification13_spec__2_~tmp___3~0#1, __utac_acc__Specification13_spec__2_~tmp___4~0#1, __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1, __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1;havoc __utac_acc__Specification13_spec__2_~tmp~3#1;havoc __utac_acc__Specification13_spec__2_~tmp___0~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___1~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___2~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___3~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___4~0#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1;__utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 := 2 * ~maximumWeight~0;__utac_acc__Specification13_spec__2_~__cil_tmp8~5#1 := (if __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 < 0 && 0 != __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 % 3 then 1 + __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 / 3 else __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 / 3);" "assume ~weight~0 > __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1;" "assume 1 == ~prevDir~0;assume { :begin_inline_existInLiftCallsInDirection } true;existInLiftCallsInDirection_#in~d#1 := 0;havoc existInLiftCallsInDirection_#res#1;havoc existInLiftCallsInDirection_~d#1, existInLiftCallsInDirection_~retValue_acc~29#1, existInLiftCallsInDirection_~i~1#1, existInLiftCallsInDirection_~i___0~0#1;existInLiftCallsInDirection_~d#1 := existInLiftCallsInDirection_#in~d#1;havoc existInLiftCallsInDirection_~retValue_acc~29#1;havoc existInLiftCallsInDirection_~i~1#1;havoc existInLiftCallsInDirection_~i___0~0#1;" "assume !(1 == existInLiftCallsInDirection_~d#1);" "assume 0 == existInLiftCallsInDirection_~d#1;existInLiftCallsInDirection_~i___0~0#1 := 0;existInLiftCallsInDirection_~i___0~0#1 := ~currentFloorID~0 - 1;" [2025-01-10 07:36:16,393 INFO L754 eck$LassoCheckResult]: Loop: "assume existInLiftCallsInDirection_~i___0~0#1 >= 0;" "existInLiftCallsInDirection_~i___0~0#1 := 1 + ~currentFloorID~0;" "assume !(existInLiftCallsInDirection_~i___0~0#1 < 5);" "existInLiftCallsInDirection_~i___0~0#1 := existInLiftCallsInDirection_~i___0~0#1 - 1;" [2025-01-10 07:36:16,394 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:36:16,394 INFO L85 PathProgramCache]: Analyzing trace with hash -940720060, now seen corresponding path program 1 times [2025-01-10 07:36:16,394 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:36:16,394 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1929608736] [2025-01-10 07:36:16,394 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-10 07:36:16,394 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:36:16,415 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 62 statements into 1 equivalence classes. [2025-01-10 07:36:16,421 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 62 of 62 statements. [2025-01-10 07:36:16,421 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:36:16,421 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:36:16,488 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-01-10 07:36:16,488 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-10 07:36:16,488 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1929608736] [2025-01-10 07:36:16,488 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1929608736] provided 1 perfect and 0 imperfect interpolant sequences [2025-01-10 07:36:16,488 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-01-10 07:36:16,488 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2025-01-10 07:36:16,488 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1022217489] [2025-01-10 07:36:16,488 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-01-10 07:36:16,488 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-01-10 07:36:16,489 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:36:16,489 INFO L85 PathProgramCache]: Analyzing trace with hash 274166626, now seen corresponding path program 4 times [2025-01-10 07:36:16,489 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:36:16,489 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2135845208] [2025-01-10 07:36:16,489 INFO L95 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2025-01-10 07:36:16,489 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:36:16,499 INFO L108 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST partitioned 4 statements into 2 equivalence classes. [2025-01-10 07:36:16,500 INFO L111 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 2 check-sat command(s) and asserted 4 of 4 statements. [2025-01-10 07:36:16,500 INFO L114 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 2 check-sat command(s) [2025-01-10 07:36:16,500 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:36:16,500 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-01-10 07:36:16,501 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 4 statements into 1 equivalence classes. [2025-01-10 07:36:16,501 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 4 of 4 statements. [2025-01-10 07:36:16,501 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:36:16,501 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:36:16,508 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-01-10 07:36:16,526 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-10 07:36:16,526 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2025-01-10 07:36:16,526 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2025-01-10 07:36:16,527 INFO L87 Difference]: Start difference. First operand 9670 states and 18022 transitions. cyclomatic complexity: 8387 Second operand has 4 states, 4 states have (on average 15.5) internal successors, (62), 4 states have internal predecessors, (62), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-10 07:36:16,737 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-01-10 07:36:16,738 INFO L93 Difference]: Finished difference Result 9676 states and 18027 transitions. [2025-01-10 07:36:16,738 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 9676 states and 18027 transitions. [2025-01-10 07:36:16,780 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 2374 [2025-01-10 07:36:16,813 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 9676 states to 9676 states and 18027 transitions. [2025-01-10 07:36:16,814 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 9640 [2025-01-10 07:36:16,822 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 9640 [2025-01-10 07:36:16,823 INFO L73 IsDeterministic]: Start isDeterministic. Operand 9676 states and 18027 transitions. [2025-01-10 07:36:16,824 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-01-10 07:36:16,824 INFO L218 hiAutomatonCegarLoop]: Abstraction has 9676 states and 18027 transitions. [2025-01-10 07:36:16,837 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 9676 states and 18027 transitions. [2025-01-10 07:36:16,928 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 9676 to 9676. [2025-01-10 07:36:16,941 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9676 states, 9676 states have (on average 1.8630632492765606) internal successors, (18027), 9675 states have internal predecessors, (18027), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-10 07:36:16,959 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9676 states to 9676 states and 18027 transitions. [2025-01-10 07:36:16,959 INFO L240 hiAutomatonCegarLoop]: Abstraction has 9676 states and 18027 transitions. [2025-01-10 07:36:16,959 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2025-01-10 07:36:16,960 INFO L432 stractBuchiCegarLoop]: Abstraction has 9676 states and 18027 transitions. [2025-01-10 07:36:16,960 INFO L338 stractBuchiCegarLoop]: ======== Iteration 7 ============ [2025-01-10 07:36:16,960 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 9676 states and 18027 transitions. [2025-01-10 07:36:16,989 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 2374 [2025-01-10 07:36:16,989 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-01-10 07:36:16,989 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-01-10 07:36:16,990 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] [2025-01-10 07:36:16,990 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1] [2025-01-10 07:36:16,990 INFO L752 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int#0(48, 1, 0, 1);call write~init~int#0(0, 1, 1, 1);call #Ultimate.allocInit(32, 2);call #Ultimate.allocInit(12, 3);call #Ultimate.allocInit(30, 4);call #Ultimate.allocInit(9, 5);call #Ultimate.allocInit(21, 6);call #Ultimate.allocInit(30, 7);call #Ultimate.allocInit(9, 8);call #Ultimate.allocInit(21, 9);call #Ultimate.allocInit(30, 10);call #Ultimate.allocInit(9, 11);call #Ultimate.allocInit(25, 12);call #Ultimate.allocInit(30, 13);call #Ultimate.allocInit(9, 14);call #Ultimate.allocInit(25, 15);call #Ultimate.allocInit(10, 16);call #Ultimate.allocInit(4, 17);call write~init~int#5(91, 17, 0, 1);call write~init~int#5(95, 17, 1, 1);call write~init~int#5(93, 17, 2, 1);call write~init~int#5(0, 17, 3, 1);call #Ultimate.allocInit(4, 18);call write~init~int#6(91, 18, 0, 1);call write~init~int#6(93, 18, 1, 1);call write~init~int#6(32, 18, 2, 1);call write~init~int#6(0, 18, 3, 1);call #Ultimate.allocInit(5, 19);call write~init~int#7(32, 19, 0, 1);call write~init~int#7(97, 19, 1, 1);call write~init~int#7(116, 19, 2, 1);call write~init~int#7(32, 19, 3, 1);call write~init~int#7(0, 19, 4, 1);call #Ultimate.allocInit(3, 20);call write~init~int#8(37, 20, 0, 1);call write~init~int#8(105, 20, 1, 1);call write~init~int#8(0, 20, 2, 1);call #Ultimate.allocInit(10, 21);call #Ultimate.allocInit(3, 22);call write~init~int#9(117, 22, 0, 1);call write~init~int#9(112, 22, 1, 1);call write~init~int#9(0, 22, 2, 1);call #Ultimate.allocInit(5, 23);call write~init~int#10(100, 23, 0, 1);call write~init~int#10(111, 23, 1, 1);call write~init~int#10(119, 23, 2, 1);call write~init~int#10(110, 23, 3, 1);call write~init~int#10(0, 23, 4, 1);call #Ultimate.allocInit(7, 24);call write~init~int#11(32, 24, 0, 1);call write~init~int#11(73, 24, 1, 1);call write~init~int#11(76, 24, 2, 1);call write~init~int#11(95, 24, 3, 1);call write~init~int#11(112, 24, 4, 1);call write~init~int#11(58, 24, 5, 1);call write~init~int#11(0, 24, 6, 1);call #Ultimate.allocInit(4, 25);call write~init~int#12(32, 25, 0, 1);call write~init~int#12(37, 25, 1, 1);call write~init~int#12(105, 25, 2, 1);call write~init~int#12(0, 25, 3, 1);call #Ultimate.allocInit(4, 26);call write~init~int#13(32, 26, 0, 1);call write~init~int#13(37, 26, 1, 1);call write~init~int#13(105, 26, 2, 1);call write~init~int#13(0, 26, 3, 1);call #Ultimate.allocInit(4, 27);call write~init~int#14(32, 27, 0, 1);call write~init~int#14(37, 27, 1, 1);call write~init~int#14(105, 27, 2, 1);call write~init~int#14(0, 27, 3, 1);call #Ultimate.allocInit(4, 28);call write~init~int#15(32, 28, 0, 1);call write~init~int#15(37, 28, 1, 1);call write~init~int#15(105, 28, 2, 1);call write~init~int#15(0, 28, 3, 1);call #Ultimate.allocInit(4, 29);call write~init~int#16(32, 29, 0, 1);call write~init~int#16(37, 29, 1, 1);call write~init~int#16(105, 29, 2, 1);call write~init~int#16(0, 29, 3, 1);call #Ultimate.allocInit(6, 30);call write~init~int#17(32, 30, 0, 1);call write~init~int#17(70, 30, 1, 1);call write~init~int#17(95, 30, 2, 1);call write~init~int#17(112, 30, 3, 1);call write~init~int#17(58, 30, 4, 1);call write~init~int#17(0, 30, 5, 1);call #Ultimate.allocInit(4, 31);call write~init~int#18(32, 31, 0, 1);call write~init~int#18(37, 31, 1, 1);call write~init~int#18(105, 31, 2, 1);call write~init~int#18(0, 31, 3, 1);call #Ultimate.allocInit(4, 32);call write~init~int#19(32, 32, 0, 1);call write~init~int#19(37, 32, 1, 1);call write~init~int#19(105, 32, 2, 1);call write~init~int#19(0, 32, 3, 1);call #Ultimate.allocInit(4, 33);call write~init~int#1(32, 33, 0, 1);call write~init~int#1(37, 33, 1, 1);call write~init~int#1(105, 33, 2, 1);call write~init~int#1(0, 33, 3, 1);call #Ultimate.allocInit(4, 34);call write~init~int#2(32, 34, 0, 1);call write~init~int#2(37, 34, 1, 1);call write~init~int#2(105, 34, 2, 1);call write~init~int#2(0, 34, 3, 1);call #Ultimate.allocInit(4, 35);call write~init~int#3(32, 35, 0, 1);call write~init~int#3(37, 35, 1, 1);call write~init~int#3(105, 35, 2, 1);call write~init~int#3(0, 35, 3, 1);call #Ultimate.allocInit(2, 36);call write~init~int#4(10, 36, 0, 1);call write~init~int#4(0, 36, 1, 1);~head~0.base, ~head~0.offset := 0, 0;~weight~0 := 0;~maximumWeight~0 := 100;~executiveFloor~0 := 4;~prevDir~0 := 0;~calls_0~0 := 0;~calls_1~0 := 0;~calls_2~0 := 0;~calls_3~0 := 0;~calls_4~0 := 0;~personOnFloor_0_0~0 := 0;~personOnFloor_0_1~0 := 0;~personOnFloor_0_2~0 := 0;~personOnFloor_0_3~0 := 0;~personOnFloor_0_4~0 := 0;~personOnFloor_1_0~0 := 0;~personOnFloor_1_1~0 := 0;~personOnFloor_1_2~0 := 0;~personOnFloor_1_3~0 := 0;~personOnFloor_1_4~0 := 0;~personOnFloor_2_0~0 := 0;~personOnFloor_2_1~0 := 0;~personOnFloor_2_2~0 := 0;~personOnFloor_2_3~0 := 0;~personOnFloor_2_4~0 := 0;~personOnFloor_3_0~0 := 0;~personOnFloor_3_1~0 := 0;~personOnFloor_3_2~0 := 0;~personOnFloor_3_3~0 := 0;~personOnFloor_3_4~0 := 0;~personOnFloor_4_0~0 := 0;~personOnFloor_4_1~0 := 0;~personOnFloor_4_2~0 := 0;~personOnFloor_4_3~0 := 0;~personOnFloor_4_4~0 := 0;~personOnFloor_5_0~0 := 0;~personOnFloor_5_1~0 := 0;~personOnFloor_5_2~0 := 0;~personOnFloor_5_3~0 := 0;~personOnFloor_5_4~0 := 0;~cleanupTimeShifts~0 := 12;~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;" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret47#1, main_~retValue_acc~10#1, main_~tmp~12#1;havoc main_~retValue_acc~10#1;havoc main_~tmp~12#1;assume { :begin_inline_select_helpers } true;" "assume { :end_inline_select_helpers } true;assume { :begin_inline_select_features } true;" "assume { :end_inline_select_features } true;assume { :begin_inline_valid_product } true;havoc valid_product_#res#1;havoc valid_product_~retValue_acc~12#1;havoc valid_product_~retValue_acc~12#1;valid_product_~retValue_acc~12#1 := 1;valid_product_#res#1 := valid_product_~retValue_acc~12#1;" "main_#t~ret47#1 := valid_product_#res#1;havoc valid_product_~retValue_acc~12#1;assume { :end_inline_valid_product } true;main_~tmp~12#1 := main_#t~ret47#1;havoc main_#t~ret47#1;" "assume 0 != main_~tmp~12#1;assume { :begin_inline_setup } true;" "assume { :end_inline_setup } true;assume { :begin_inline_runTest } true;assume { :begin_inline_test } true;assume { :begin_inline_aliceCall } true;havoc aliceCall_#t~ret36#1, aliceCall_~tmp~5#1;havoc aliceCall_~tmp~5#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 1;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~4#1;" "assume !(0 == getOrigin_~person#1);" "assume 1 == getOrigin_~person#1;getOrigin_~retValue_acc~4#1 := 3;getOrigin_#res#1 := getOrigin_~retValue_acc~4#1;" "aliceCall_#t~ret36#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;aliceCall_~tmp~5#1 := aliceCall_#t~ret36#1;havoc aliceCall_#t~ret36#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 1, aliceCall_~tmp~5#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1;" "assume !(0 == initPersonOnFloor_~floor#1);" "assume !(1 == initPersonOnFloor_~floor#1);" "assume !(2 == initPersonOnFloor_~floor#1);" "assume 3 == initPersonOnFloor_~floor#1;" "assume !(0 == initPersonOnFloor_~person#1);" "assume 1 == initPersonOnFloor_~person#1;~personOnFloor_1_3~0 := 1;" "assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1;" "assume !(0 == callOnFloor_~floorID#1);" "assume !(1 == callOnFloor_~floorID#1);" "assume 2 == callOnFloor_~floorID#1;~calls_2~0 := 1;" "havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true;" "havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true;" "havoc aliceCall_#t~ret36#1, aliceCall_~tmp~5#1;assume { :end_inline_aliceCall } true;assume { :begin_inline_angelinaCall } true;havoc angelinaCall_#t~ret37#1, angelinaCall_~tmp~6#1;havoc angelinaCall_~tmp~6#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 2;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~4#1;" "assume !(0 == getOrigin_~person#1);" "assume !(1 == getOrigin_~person#1);" "assume 2 == getOrigin_~person#1;getOrigin_~retValue_acc~4#1 := 2;getOrigin_#res#1 := getOrigin_~retValue_acc~4#1;" "angelinaCall_#t~ret37#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;angelinaCall_~tmp~6#1 := angelinaCall_#t~ret37#1;havoc angelinaCall_#t~ret37#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 2, angelinaCall_~tmp~6#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1;" "assume 0 == initPersonOnFloor_~floor#1;" "assume !(0 == initPersonOnFloor_~person#1);" "assume 1 == initPersonOnFloor_~person#1;~personOnFloor_1_0~0 := 1;" "assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1;" "assume 0 == callOnFloor_~floorID#1;~calls_0~0 := 1;" "havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true;" "havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true;" "havoc angelinaCall_#t~ret37#1, angelinaCall_~tmp~6#1;assume { :end_inline_angelinaCall } true;assume { :begin_inline_threeTS } true;assume { :begin_inline_timeShift } true;havoc timeShift_#t~ret98#1, timeShift_#t~ret99#1, timeShift_#t~ret100#1, timeShift_#t~ret101#1, timeShift_#t~ret102#1, timeShift_#t~ret103#1, timeShift_#t~ret104#1, timeShift_#t~ret105#1, timeShift_#t~ret106#1, timeShift_#t~ret107#1, timeShift_#t~ret108#1, timeShift_~tmp~26#1, timeShift_~tmp___0~10#1, timeShift_~tmp___1~5#1, timeShift_~tmp___2~5#1, timeShift_~tmp___3~4#1, timeShift_~tmp___4~3#1, timeShift_~tmp___5~2#1, timeShift_~tmp___6~2#1, timeShift_~tmp___7~2#1, timeShift_~tmp___8~2#1, timeShift_~tmp___9~2#1;havoc timeShift_~tmp~26#1;havoc timeShift_~tmp___0~10#1;havoc timeShift_~tmp___1~5#1;havoc timeShift_~tmp___2~5#1;havoc timeShift_~tmp___3~4#1;havoc timeShift_~tmp___4~3#1;havoc timeShift_~tmp___5~2#1;havoc timeShift_~tmp___6~2#1;havoc timeShift_~tmp___7~2#1;havoc timeShift_~tmp___8~2#1;havoc timeShift_~tmp___9~2#1;assume { :begin_inline___utac_acc__Specification13_spec__1 } true;havoc __utac_acc__Specification13_spec__1_#t~ret27#1;assume { :begin_inline_getCurrentHeading } true;havoc getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~17#1;havoc getCurrentHeading_~retValue_acc~17#1;getCurrentHeading_~retValue_acc~17#1 := ~currentHeading~0;getCurrentHeading_#res#1 := getCurrentHeading_~retValue_acc~17#1;" "__utac_acc__Specification13_spec__1_#t~ret27#1 := getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~17#1;assume { :end_inline_getCurrentHeading } true;~prevDir~0 := __utac_acc__Specification13_spec__1_#t~ret27#1;havoc __utac_acc__Specification13_spec__1_#t~ret27#1;" "havoc __utac_acc__Specification13_spec__1_#t~ret27#1;assume { :end_inline___utac_acc__Specification13_spec__1 } true;assume { :begin_inline_stopRequestedAtCurrentFloor } true;havoc stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1, stopRequestedAtCurrentFloor_#t~ret83#1, stopRequestedAtCurrentFloor_#t~ret84#1, stopRequestedAtCurrentFloor_#t~ret85#1, stopRequestedAtCurrentFloor_~retValue_acc~27#1, stopRequestedAtCurrentFloor_~tmp~24#1, stopRequestedAtCurrentFloor_~tmp___0~8#1;havoc stopRequestedAtCurrentFloor_~retValue_acc~27#1;havoc stopRequestedAtCurrentFloor_~tmp~24#1;havoc stopRequestedAtCurrentFloor_~tmp___0~8#1;assume { :begin_inline_isExecutiveFloorCalling } true;havoc isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;havoc isExecutiveFloorCalling_~retValue_acc~30#1;assume { :begin_inline_isFloorCalling } true;isFloorCalling_#in~floorID#1 := ~executiveFloor~0;havoc isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;isFloorCalling_~floorID#1 := isFloorCalling_#in~floorID#1;havoc isFloorCalling_~retValue_acc~6#1;" "assume 0 == isFloorCalling_~floorID#1;isFloorCalling_~retValue_acc~6#1 := ~calls_0~0;isFloorCalling_#res#1 := isFloorCalling_~retValue_acc~6#1;" "isExecutiveFloorCalling_#t~ret135#1 := isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;havoc isFloorCalling_#in~floorID#1;assume { :end_inline_isFloorCalling } true;isExecutiveFloorCalling_~retValue_acc~30#1 := isExecutiveFloorCalling_#t~ret135#1;havoc isExecutiveFloorCalling_#t~ret135#1;isExecutiveFloorCalling_#res#1 := isExecutiveFloorCalling_~retValue_acc~30#1;" "stopRequestedAtCurrentFloor_#t~ret82#1 := isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;assume { :end_inline_isExecutiveFloorCalling } true;stopRequestedAtCurrentFloor_~tmp~24#1 := stopRequestedAtCurrentFloor_#t~ret82#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1;" "assume 0 != stopRequestedAtCurrentFloor_~tmp~24#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;havoc getCurrentFloorID_~retValue_acc~14#1;getCurrentFloorID_~retValue_acc~14#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~14#1;" "stopRequestedAtCurrentFloor_#t~ret83#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedAtCurrentFloor_~tmp___0~8#1 := stopRequestedAtCurrentFloor_#t~ret83#1;havoc stopRequestedAtCurrentFloor_#t~ret83#1;" "assume !(~executiveFloor~0 == stopRequestedAtCurrentFloor_~tmp___0~8#1);stopRequestedAtCurrentFloor_~retValue_acc~27#1 := 0;stopRequestedAtCurrentFloor_#res#1 := stopRequestedAtCurrentFloor_~retValue_acc~27#1;" "timeShift_#t~ret98#1 := stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1, stopRequestedAtCurrentFloor_#t~ret83#1, stopRequestedAtCurrentFloor_#t~ret84#1, stopRequestedAtCurrentFloor_#t~ret85#1, stopRequestedAtCurrentFloor_~retValue_acc~27#1, stopRequestedAtCurrentFloor_~tmp~24#1, stopRequestedAtCurrentFloor_~tmp___0~8#1;assume { :end_inline_stopRequestedAtCurrentFloor } true;timeShift_~tmp___9~2#1 := timeShift_#t~ret98#1;havoc timeShift_#t~ret98#1;" "assume !(0 != timeShift_~tmp___9~2#1);" "assume 1 == ~doorState~0;~doorState~0 := 0;" "assume { :begin_inline_stopRequestedInDirection } true;stopRequestedInDirection_#in~dir#1, stopRequestedInDirection_#in~respectFloorCalls#1, stopRequestedInDirection_#in~respectInLiftCalls#1 := ~currentHeading~0, 1, 1;havoc stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret73#1, stopRequestedInDirection_#t~ret74#1, stopRequestedInDirection_#t~ret75#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~23#1, stopRequestedInDirection_~tmp~20#1, stopRequestedInDirection_~tmp___0~5#1, stopRequestedInDirection_~__cil_tmp7~6#1, stopRequestedInDirection_~__cil_tmp8~7#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~23#1;havoc stopRequestedInDirection_~tmp~20#1;havoc stopRequestedInDirection_~tmp___0~5#1;havoc stopRequestedInDirection_~__cil_tmp7~6#1;havoc stopRequestedInDirection_~__cil_tmp8~7#1;assume { :begin_inline_isExecutiveFloorCalling } true;havoc isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;havoc isExecutiveFloorCalling_~retValue_acc~30#1;assume { :begin_inline_isFloorCalling } true;isFloorCalling_#in~floorID#1 := ~executiveFloor~0;havoc isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;isFloorCalling_~floorID#1 := isFloorCalling_#in~floorID#1;havoc isFloorCalling_~retValue_acc~6#1;" "assume 0 == isFloorCalling_~floorID#1;isFloorCalling_~retValue_acc~6#1 := ~calls_0~0;isFloorCalling_#res#1 := isFloorCalling_~retValue_acc~6#1;" "isExecutiveFloorCalling_#t~ret135#1 := isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;havoc isFloorCalling_#in~floorID#1;assume { :end_inline_isFloorCalling } true;isExecutiveFloorCalling_~retValue_acc~30#1 := isExecutiveFloorCalling_#t~ret135#1;havoc isExecutiveFloorCalling_#t~ret135#1;isExecutiveFloorCalling_#res#1 := isExecutiveFloorCalling_~retValue_acc~30#1;" "stopRequestedInDirection_#t~ret73#1 := isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;assume { :end_inline_isExecutiveFloorCalling } true;stopRequestedInDirection_~tmp___0~5#1 := stopRequestedInDirection_#t~ret73#1;havoc stopRequestedInDirection_#t~ret73#1;" "assume 0 != stopRequestedInDirection_~tmp___0~5#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;havoc getCurrentFloorID_~retValue_acc~14#1;getCurrentFloorID_~retValue_acc~14#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~14#1;" "stopRequestedInDirection_#t~ret74#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedInDirection_~tmp~20#1 := stopRequestedInDirection_#t~ret74#1;havoc stopRequestedInDirection_#t~ret74#1;stopRequestedInDirection_~__cil_tmp7~6#1 := (if 1 == stopRequestedInDirection_~dir#1 then 1 else 0);stopRequestedInDirection_~__cil_tmp8~7#1 := (if stopRequestedInDirection_~tmp~20#1 < ~executiveFloor~0 then 1 else 0);stopRequestedInDirection_~retValue_acc~23#1 := (if stopRequestedInDirection_~__cil_tmp8~7#1 == stopRequestedInDirection_~__cil_tmp7~6#1 then 1 else 0);stopRequestedInDirection_#res#1 := stopRequestedInDirection_~retValue_acc~23#1;" "timeShift_#t~ret105#1 := stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret73#1, stopRequestedInDirection_#t~ret74#1, stopRequestedInDirection_#t~ret75#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~23#1, stopRequestedInDirection_~tmp~20#1, stopRequestedInDirection_~tmp___0~5#1, stopRequestedInDirection_~__cil_tmp7~6#1, stopRequestedInDirection_~__cil_tmp8~7#1;havoc stopRequestedInDirection_#in~dir#1, stopRequestedInDirection_#in~respectFloorCalls#1, stopRequestedInDirection_#in~respectInLiftCalls#1;assume { :end_inline_stopRequestedInDirection } true;timeShift_~tmp___8~2#1 := timeShift_#t~ret105#1;havoc timeShift_#t~ret105#1;" "assume 0 != timeShift_~tmp___8~2#1;assume { :begin_inline_continueInDirection } true;continueInDirection_#in~dir#1 := ~currentHeading~0;havoc continueInDirection_#t~ret76#1, continueInDirection_~dir#1, continueInDirection_~tmp~21#1;continueInDirection_~dir#1 := continueInDirection_#in~dir#1;havoc continueInDirection_~tmp~21#1;~currentHeading~0 := continueInDirection_~dir#1;" "assume !(1 == ~currentHeading~0);" "assume !(0 == ~currentFloorID~0);" "assume !(1 == ~currentHeading~0);~currentFloorID~0 := ~currentFloorID~0 - 1;" "havoc continueInDirection_#t~ret76#1, continueInDirection_~dir#1, continueInDirection_~tmp~21#1;havoc continueInDirection_#in~dir#1;assume { :end_inline_continueInDirection } true;" "assume { :begin_inline___utac_acc__Specification13_spec__2 } true;havoc __utac_acc__Specification13_spec__2_#t~ret28#1, __utac_acc__Specification13_spec__2_#t~ret29#1, __utac_acc__Specification13_spec__2_#t~ret30#1, __utac_acc__Specification13_spec__2_#t~ret31#1, __utac_acc__Specification13_spec__2_#t~ret32#1, __utac_acc__Specification13_spec__2_#t~ret33#1, __utac_acc__Specification13_spec__2_~tmp~3#1, __utac_acc__Specification13_spec__2_~tmp___0~0#1, __utac_acc__Specification13_spec__2_~tmp___1~0#1, __utac_acc__Specification13_spec__2_~tmp___2~0#1, __utac_acc__Specification13_spec__2_~tmp___3~0#1, __utac_acc__Specification13_spec__2_~tmp___4~0#1, __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1, __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1;havoc __utac_acc__Specification13_spec__2_~tmp~3#1;havoc __utac_acc__Specification13_spec__2_~tmp___0~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___1~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___2~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___3~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___4~0#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1;__utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 := 2 * ~maximumWeight~0;__utac_acc__Specification13_spec__2_~__cil_tmp8~5#1 := (if __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 < 0 && 0 != __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 % 3 then 1 + __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 / 3 else __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 / 3);" "assume ~weight~0 > __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1;" "assume 1 == ~prevDir~0;assume { :begin_inline_existInLiftCallsInDirection } true;existInLiftCallsInDirection_#in~d#1 := 0;havoc existInLiftCallsInDirection_#res#1;havoc existInLiftCallsInDirection_~d#1, existInLiftCallsInDirection_~retValue_acc~29#1, existInLiftCallsInDirection_~i~1#1, existInLiftCallsInDirection_~i___0~0#1;existInLiftCallsInDirection_~d#1 := existInLiftCallsInDirection_#in~d#1;havoc existInLiftCallsInDirection_~retValue_acc~29#1;havoc existInLiftCallsInDirection_~i~1#1;havoc existInLiftCallsInDirection_~i___0~0#1;" "assume !(1 == existInLiftCallsInDirection_~d#1);" "assume 0 == existInLiftCallsInDirection_~d#1;existInLiftCallsInDirection_~i___0~0#1 := 0;existInLiftCallsInDirection_~i___0~0#1 := ~currentFloorID~0 - 1;" [2025-01-10 07:36:16,990 INFO L754 eck$LassoCheckResult]: Loop: "assume existInLiftCallsInDirection_~i___0~0#1 >= 0;" "existInLiftCallsInDirection_~i___0~0#1 := 1 + ~currentFloorID~0;" "assume !(existInLiftCallsInDirection_~i___0~0#1 < 5);" "existInLiftCallsInDirection_~i___0~0#1 := existInLiftCallsInDirection_~i___0~0#1 - 1;" [2025-01-10 07:36:16,991 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:36:16,991 INFO L85 PathProgramCache]: Analyzing trace with hash -1364909340, now seen corresponding path program 1 times [2025-01-10 07:36:16,991 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:36:16,991 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [841596644] [2025-01-10 07:36:16,991 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-10 07:36:16,991 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:36:17,008 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 63 statements into 1 equivalence classes. [2025-01-10 07:36:17,013 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 63 of 63 statements. [2025-01-10 07:36:17,013 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:36:17,014 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:36:17,071 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-01-10 07:36:17,071 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-10 07:36:17,071 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [841596644] [2025-01-10 07:36:17,071 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [841596644] provided 1 perfect and 0 imperfect interpolant sequences [2025-01-10 07:36:17,071 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-01-10 07:36:17,071 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2025-01-10 07:36:17,072 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [939813041] [2025-01-10 07:36:17,072 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-01-10 07:36:17,072 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-01-10 07:36:17,073 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:36:17,073 INFO L85 PathProgramCache]: Analyzing trace with hash 274166626, now seen corresponding path program 5 times [2025-01-10 07:36:17,073 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:36:17,073 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1219898039] [2025-01-10 07:36:17,073 INFO L95 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2025-01-10 07:36:17,073 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:36:17,085 INFO L108 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 partitioned 4 statements into 1 equivalence classes. [2025-01-10 07:36:17,088 INFO L111 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 1 check-sat command(s) and asserted 4 of 4 statements. [2025-01-10 07:36:17,088 INFO L114 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2025-01-10 07:36:17,088 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:36:17,088 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-01-10 07:36:17,089 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 4 statements into 1 equivalence classes. [2025-01-10 07:36:17,089 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 4 of 4 statements. [2025-01-10 07:36:17,089 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:36:17,089 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:36:17,097 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-01-10 07:36:17,115 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-10 07:36:17,115 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2025-01-10 07:36:17,115 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2025-01-10 07:36:17,116 INFO L87 Difference]: Start difference. First operand 9676 states and 18027 transitions. cyclomatic complexity: 8386 Second operand has 4 states, 4 states have (on average 15.75) internal successors, (63), 4 states have internal predecessors, (63), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-10 07:36:17,332 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-01-10 07:36:17,332 INFO L93 Difference]: Finished difference Result 9684 states and 18034 transitions. [2025-01-10 07:36:17,332 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 9684 states and 18034 transitions. [2025-01-10 07:36:17,376 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 2374 [2025-01-10 07:36:17,409 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 9684 states to 9684 states and 18034 transitions. [2025-01-10 07:36:17,409 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 9648 [2025-01-10 07:36:17,418 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 9648 [2025-01-10 07:36:17,418 INFO L73 IsDeterministic]: Start isDeterministic. Operand 9684 states and 18034 transitions. [2025-01-10 07:36:17,419 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-01-10 07:36:17,420 INFO L218 hiAutomatonCegarLoop]: Abstraction has 9684 states and 18034 transitions. [2025-01-10 07:36:17,432 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 9684 states and 18034 transitions. [2025-01-10 07:36:17,524 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 9684 to 9684. [2025-01-10 07:36:17,535 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9684 states, 9684 states have (on average 1.862247005369682) internal successors, (18034), 9683 states have internal predecessors, (18034), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-10 07:36:17,554 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9684 states to 9684 states and 18034 transitions. [2025-01-10 07:36:17,554 INFO L240 hiAutomatonCegarLoop]: Abstraction has 9684 states and 18034 transitions. [2025-01-10 07:36:17,554 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2025-01-10 07:36:17,555 INFO L432 stractBuchiCegarLoop]: Abstraction has 9684 states and 18034 transitions. [2025-01-10 07:36:17,555 INFO L338 stractBuchiCegarLoop]: ======== Iteration 8 ============ [2025-01-10 07:36:17,555 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 9684 states and 18034 transitions. [2025-01-10 07:36:17,588 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 2374 [2025-01-10 07:36:17,588 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-01-10 07:36:17,588 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-01-10 07:36:17,588 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] [2025-01-10 07:36:17,588 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1] [2025-01-10 07:36:17,589 INFO L752 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int#0(48, 1, 0, 1);call write~init~int#0(0, 1, 1, 1);call #Ultimate.allocInit(32, 2);call #Ultimate.allocInit(12, 3);call #Ultimate.allocInit(30, 4);call #Ultimate.allocInit(9, 5);call #Ultimate.allocInit(21, 6);call #Ultimate.allocInit(30, 7);call #Ultimate.allocInit(9, 8);call #Ultimate.allocInit(21, 9);call #Ultimate.allocInit(30, 10);call #Ultimate.allocInit(9, 11);call #Ultimate.allocInit(25, 12);call #Ultimate.allocInit(30, 13);call #Ultimate.allocInit(9, 14);call #Ultimate.allocInit(25, 15);call #Ultimate.allocInit(10, 16);call #Ultimate.allocInit(4, 17);call write~init~int#5(91, 17, 0, 1);call write~init~int#5(95, 17, 1, 1);call write~init~int#5(93, 17, 2, 1);call write~init~int#5(0, 17, 3, 1);call #Ultimate.allocInit(4, 18);call write~init~int#6(91, 18, 0, 1);call write~init~int#6(93, 18, 1, 1);call write~init~int#6(32, 18, 2, 1);call write~init~int#6(0, 18, 3, 1);call #Ultimate.allocInit(5, 19);call write~init~int#7(32, 19, 0, 1);call write~init~int#7(97, 19, 1, 1);call write~init~int#7(116, 19, 2, 1);call write~init~int#7(32, 19, 3, 1);call write~init~int#7(0, 19, 4, 1);call #Ultimate.allocInit(3, 20);call write~init~int#8(37, 20, 0, 1);call write~init~int#8(105, 20, 1, 1);call write~init~int#8(0, 20, 2, 1);call #Ultimate.allocInit(10, 21);call #Ultimate.allocInit(3, 22);call write~init~int#9(117, 22, 0, 1);call write~init~int#9(112, 22, 1, 1);call write~init~int#9(0, 22, 2, 1);call #Ultimate.allocInit(5, 23);call write~init~int#10(100, 23, 0, 1);call write~init~int#10(111, 23, 1, 1);call write~init~int#10(119, 23, 2, 1);call write~init~int#10(110, 23, 3, 1);call write~init~int#10(0, 23, 4, 1);call #Ultimate.allocInit(7, 24);call write~init~int#11(32, 24, 0, 1);call write~init~int#11(73, 24, 1, 1);call write~init~int#11(76, 24, 2, 1);call write~init~int#11(95, 24, 3, 1);call write~init~int#11(112, 24, 4, 1);call write~init~int#11(58, 24, 5, 1);call write~init~int#11(0, 24, 6, 1);call #Ultimate.allocInit(4, 25);call write~init~int#12(32, 25, 0, 1);call write~init~int#12(37, 25, 1, 1);call write~init~int#12(105, 25, 2, 1);call write~init~int#12(0, 25, 3, 1);call #Ultimate.allocInit(4, 26);call write~init~int#13(32, 26, 0, 1);call write~init~int#13(37, 26, 1, 1);call write~init~int#13(105, 26, 2, 1);call write~init~int#13(0, 26, 3, 1);call #Ultimate.allocInit(4, 27);call write~init~int#14(32, 27, 0, 1);call write~init~int#14(37, 27, 1, 1);call write~init~int#14(105, 27, 2, 1);call write~init~int#14(0, 27, 3, 1);call #Ultimate.allocInit(4, 28);call write~init~int#15(32, 28, 0, 1);call write~init~int#15(37, 28, 1, 1);call write~init~int#15(105, 28, 2, 1);call write~init~int#15(0, 28, 3, 1);call #Ultimate.allocInit(4, 29);call write~init~int#16(32, 29, 0, 1);call write~init~int#16(37, 29, 1, 1);call write~init~int#16(105, 29, 2, 1);call write~init~int#16(0, 29, 3, 1);call #Ultimate.allocInit(6, 30);call write~init~int#17(32, 30, 0, 1);call write~init~int#17(70, 30, 1, 1);call write~init~int#17(95, 30, 2, 1);call write~init~int#17(112, 30, 3, 1);call write~init~int#17(58, 30, 4, 1);call write~init~int#17(0, 30, 5, 1);call #Ultimate.allocInit(4, 31);call write~init~int#18(32, 31, 0, 1);call write~init~int#18(37, 31, 1, 1);call write~init~int#18(105, 31, 2, 1);call write~init~int#18(0, 31, 3, 1);call #Ultimate.allocInit(4, 32);call write~init~int#19(32, 32, 0, 1);call write~init~int#19(37, 32, 1, 1);call write~init~int#19(105, 32, 2, 1);call write~init~int#19(0, 32, 3, 1);call #Ultimate.allocInit(4, 33);call write~init~int#1(32, 33, 0, 1);call write~init~int#1(37, 33, 1, 1);call write~init~int#1(105, 33, 2, 1);call write~init~int#1(0, 33, 3, 1);call #Ultimate.allocInit(4, 34);call write~init~int#2(32, 34, 0, 1);call write~init~int#2(37, 34, 1, 1);call write~init~int#2(105, 34, 2, 1);call write~init~int#2(0, 34, 3, 1);call #Ultimate.allocInit(4, 35);call write~init~int#3(32, 35, 0, 1);call write~init~int#3(37, 35, 1, 1);call write~init~int#3(105, 35, 2, 1);call write~init~int#3(0, 35, 3, 1);call #Ultimate.allocInit(2, 36);call write~init~int#4(10, 36, 0, 1);call write~init~int#4(0, 36, 1, 1);~head~0.base, ~head~0.offset := 0, 0;~weight~0 := 0;~maximumWeight~0 := 100;~executiveFloor~0 := 4;~prevDir~0 := 0;~calls_0~0 := 0;~calls_1~0 := 0;~calls_2~0 := 0;~calls_3~0 := 0;~calls_4~0 := 0;~personOnFloor_0_0~0 := 0;~personOnFloor_0_1~0 := 0;~personOnFloor_0_2~0 := 0;~personOnFloor_0_3~0 := 0;~personOnFloor_0_4~0 := 0;~personOnFloor_1_0~0 := 0;~personOnFloor_1_1~0 := 0;~personOnFloor_1_2~0 := 0;~personOnFloor_1_3~0 := 0;~personOnFloor_1_4~0 := 0;~personOnFloor_2_0~0 := 0;~personOnFloor_2_1~0 := 0;~personOnFloor_2_2~0 := 0;~personOnFloor_2_3~0 := 0;~personOnFloor_2_4~0 := 0;~personOnFloor_3_0~0 := 0;~personOnFloor_3_1~0 := 0;~personOnFloor_3_2~0 := 0;~personOnFloor_3_3~0 := 0;~personOnFloor_3_4~0 := 0;~personOnFloor_4_0~0 := 0;~personOnFloor_4_1~0 := 0;~personOnFloor_4_2~0 := 0;~personOnFloor_4_3~0 := 0;~personOnFloor_4_4~0 := 0;~personOnFloor_5_0~0 := 0;~personOnFloor_5_1~0 := 0;~personOnFloor_5_2~0 := 0;~personOnFloor_5_3~0 := 0;~personOnFloor_5_4~0 := 0;~cleanupTimeShifts~0 := 12;~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;" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret47#1, main_~retValue_acc~10#1, main_~tmp~12#1;havoc main_~retValue_acc~10#1;havoc main_~tmp~12#1;assume { :begin_inline_select_helpers } true;" "assume { :end_inline_select_helpers } true;assume { :begin_inline_select_features } true;" "assume { :end_inline_select_features } true;assume { :begin_inline_valid_product } true;havoc valid_product_#res#1;havoc valid_product_~retValue_acc~12#1;havoc valid_product_~retValue_acc~12#1;valid_product_~retValue_acc~12#1 := 1;valid_product_#res#1 := valid_product_~retValue_acc~12#1;" "main_#t~ret47#1 := valid_product_#res#1;havoc valid_product_~retValue_acc~12#1;assume { :end_inline_valid_product } true;main_~tmp~12#1 := main_#t~ret47#1;havoc main_#t~ret47#1;" "assume 0 != main_~tmp~12#1;assume { :begin_inline_setup } true;" "assume { :end_inline_setup } true;assume { :begin_inline_runTest } true;assume { :begin_inline_test } true;assume { :begin_inline_aliceCall } true;havoc aliceCall_#t~ret36#1, aliceCall_~tmp~5#1;havoc aliceCall_~tmp~5#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 1;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~4#1;" "assume !(0 == getOrigin_~person#1);" "assume 1 == getOrigin_~person#1;getOrigin_~retValue_acc~4#1 := 3;getOrigin_#res#1 := getOrigin_~retValue_acc~4#1;" "aliceCall_#t~ret36#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;aliceCall_~tmp~5#1 := aliceCall_#t~ret36#1;havoc aliceCall_#t~ret36#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 1, aliceCall_~tmp~5#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1;" "assume !(0 == initPersonOnFloor_~floor#1);" "assume !(1 == initPersonOnFloor_~floor#1);" "assume !(2 == initPersonOnFloor_~floor#1);" "assume 3 == initPersonOnFloor_~floor#1;" "assume !(0 == initPersonOnFloor_~person#1);" "assume 1 == initPersonOnFloor_~person#1;~personOnFloor_1_3~0 := 1;" "assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1;" "assume !(0 == callOnFloor_~floorID#1);" "assume !(1 == callOnFloor_~floorID#1);" "assume !(2 == callOnFloor_~floorID#1);" "assume 3 == callOnFloor_~floorID#1;~calls_3~0 := 1;" "havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true;" "havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true;" "havoc aliceCall_#t~ret36#1, aliceCall_~tmp~5#1;assume { :end_inline_aliceCall } true;assume { :begin_inline_angelinaCall } true;havoc angelinaCall_#t~ret37#1, angelinaCall_~tmp~6#1;havoc angelinaCall_~tmp~6#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 2;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~4#1;" "assume !(0 == getOrigin_~person#1);" "assume !(1 == getOrigin_~person#1);" "assume 2 == getOrigin_~person#1;getOrigin_~retValue_acc~4#1 := 2;getOrigin_#res#1 := getOrigin_~retValue_acc~4#1;" "angelinaCall_#t~ret37#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;angelinaCall_~tmp~6#1 := angelinaCall_#t~ret37#1;havoc angelinaCall_#t~ret37#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 2, angelinaCall_~tmp~6#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1;" "assume 0 == initPersonOnFloor_~floor#1;" "assume !(0 == initPersonOnFloor_~person#1);" "assume 1 == initPersonOnFloor_~person#1;~personOnFloor_1_0~0 := 1;" "assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1;" "assume 0 == callOnFloor_~floorID#1;~calls_0~0 := 1;" "havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true;" "havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true;" "havoc angelinaCall_#t~ret37#1, angelinaCall_~tmp~6#1;assume { :end_inline_angelinaCall } true;assume { :begin_inline_threeTS } true;assume { :begin_inline_timeShift } true;havoc timeShift_#t~ret98#1, timeShift_#t~ret99#1, timeShift_#t~ret100#1, timeShift_#t~ret101#1, timeShift_#t~ret102#1, timeShift_#t~ret103#1, timeShift_#t~ret104#1, timeShift_#t~ret105#1, timeShift_#t~ret106#1, timeShift_#t~ret107#1, timeShift_#t~ret108#1, timeShift_~tmp~26#1, timeShift_~tmp___0~10#1, timeShift_~tmp___1~5#1, timeShift_~tmp___2~5#1, timeShift_~tmp___3~4#1, timeShift_~tmp___4~3#1, timeShift_~tmp___5~2#1, timeShift_~tmp___6~2#1, timeShift_~tmp___7~2#1, timeShift_~tmp___8~2#1, timeShift_~tmp___9~2#1;havoc timeShift_~tmp~26#1;havoc timeShift_~tmp___0~10#1;havoc timeShift_~tmp___1~5#1;havoc timeShift_~tmp___2~5#1;havoc timeShift_~tmp___3~4#1;havoc timeShift_~tmp___4~3#1;havoc timeShift_~tmp___5~2#1;havoc timeShift_~tmp___6~2#1;havoc timeShift_~tmp___7~2#1;havoc timeShift_~tmp___8~2#1;havoc timeShift_~tmp___9~2#1;assume { :begin_inline___utac_acc__Specification13_spec__1 } true;havoc __utac_acc__Specification13_spec__1_#t~ret27#1;assume { :begin_inline_getCurrentHeading } true;havoc getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~17#1;havoc getCurrentHeading_~retValue_acc~17#1;getCurrentHeading_~retValue_acc~17#1 := ~currentHeading~0;getCurrentHeading_#res#1 := getCurrentHeading_~retValue_acc~17#1;" "__utac_acc__Specification13_spec__1_#t~ret27#1 := getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~17#1;assume { :end_inline_getCurrentHeading } true;~prevDir~0 := __utac_acc__Specification13_spec__1_#t~ret27#1;havoc __utac_acc__Specification13_spec__1_#t~ret27#1;" "havoc __utac_acc__Specification13_spec__1_#t~ret27#1;assume { :end_inline___utac_acc__Specification13_spec__1 } true;assume { :begin_inline_stopRequestedAtCurrentFloor } true;havoc stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1, stopRequestedAtCurrentFloor_#t~ret83#1, stopRequestedAtCurrentFloor_#t~ret84#1, stopRequestedAtCurrentFloor_#t~ret85#1, stopRequestedAtCurrentFloor_~retValue_acc~27#1, stopRequestedAtCurrentFloor_~tmp~24#1, stopRequestedAtCurrentFloor_~tmp___0~8#1;havoc stopRequestedAtCurrentFloor_~retValue_acc~27#1;havoc stopRequestedAtCurrentFloor_~tmp~24#1;havoc stopRequestedAtCurrentFloor_~tmp___0~8#1;assume { :begin_inline_isExecutiveFloorCalling } true;havoc isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;havoc isExecutiveFloorCalling_~retValue_acc~30#1;assume { :begin_inline_isFloorCalling } true;isFloorCalling_#in~floorID#1 := ~executiveFloor~0;havoc isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;isFloorCalling_~floorID#1 := isFloorCalling_#in~floorID#1;havoc isFloorCalling_~retValue_acc~6#1;" "assume 0 == isFloorCalling_~floorID#1;isFloorCalling_~retValue_acc~6#1 := ~calls_0~0;isFloorCalling_#res#1 := isFloorCalling_~retValue_acc~6#1;" "isExecutiveFloorCalling_#t~ret135#1 := isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;havoc isFloorCalling_#in~floorID#1;assume { :end_inline_isFloorCalling } true;isExecutiveFloorCalling_~retValue_acc~30#1 := isExecutiveFloorCalling_#t~ret135#1;havoc isExecutiveFloorCalling_#t~ret135#1;isExecutiveFloorCalling_#res#1 := isExecutiveFloorCalling_~retValue_acc~30#1;" "stopRequestedAtCurrentFloor_#t~ret82#1 := isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;assume { :end_inline_isExecutiveFloorCalling } true;stopRequestedAtCurrentFloor_~tmp~24#1 := stopRequestedAtCurrentFloor_#t~ret82#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1;" "assume 0 != stopRequestedAtCurrentFloor_~tmp~24#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;havoc getCurrentFloorID_~retValue_acc~14#1;getCurrentFloorID_~retValue_acc~14#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~14#1;" "stopRequestedAtCurrentFloor_#t~ret83#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedAtCurrentFloor_~tmp___0~8#1 := stopRequestedAtCurrentFloor_#t~ret83#1;havoc stopRequestedAtCurrentFloor_#t~ret83#1;" "assume !(~executiveFloor~0 == stopRequestedAtCurrentFloor_~tmp___0~8#1);stopRequestedAtCurrentFloor_~retValue_acc~27#1 := 0;stopRequestedAtCurrentFloor_#res#1 := stopRequestedAtCurrentFloor_~retValue_acc~27#1;" "timeShift_#t~ret98#1 := stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1, stopRequestedAtCurrentFloor_#t~ret83#1, stopRequestedAtCurrentFloor_#t~ret84#1, stopRequestedAtCurrentFloor_#t~ret85#1, stopRequestedAtCurrentFloor_~retValue_acc~27#1, stopRequestedAtCurrentFloor_~tmp~24#1, stopRequestedAtCurrentFloor_~tmp___0~8#1;assume { :end_inline_stopRequestedAtCurrentFloor } true;timeShift_~tmp___9~2#1 := timeShift_#t~ret98#1;havoc timeShift_#t~ret98#1;" "assume !(0 != timeShift_~tmp___9~2#1);" "assume 1 == ~doorState~0;~doorState~0 := 0;" "assume { :begin_inline_stopRequestedInDirection } true;stopRequestedInDirection_#in~dir#1, stopRequestedInDirection_#in~respectFloorCalls#1, stopRequestedInDirection_#in~respectInLiftCalls#1 := ~currentHeading~0, 1, 1;havoc stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret73#1, stopRequestedInDirection_#t~ret74#1, stopRequestedInDirection_#t~ret75#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~23#1, stopRequestedInDirection_~tmp~20#1, stopRequestedInDirection_~tmp___0~5#1, stopRequestedInDirection_~__cil_tmp7~6#1, stopRequestedInDirection_~__cil_tmp8~7#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~23#1;havoc stopRequestedInDirection_~tmp~20#1;havoc stopRequestedInDirection_~tmp___0~5#1;havoc stopRequestedInDirection_~__cil_tmp7~6#1;havoc stopRequestedInDirection_~__cil_tmp8~7#1;assume { :begin_inline_isExecutiveFloorCalling } true;havoc isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;havoc isExecutiveFloorCalling_~retValue_acc~30#1;assume { :begin_inline_isFloorCalling } true;isFloorCalling_#in~floorID#1 := ~executiveFloor~0;havoc isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;isFloorCalling_~floorID#1 := isFloorCalling_#in~floorID#1;havoc isFloorCalling_~retValue_acc~6#1;" "assume 0 == isFloorCalling_~floorID#1;isFloorCalling_~retValue_acc~6#1 := ~calls_0~0;isFloorCalling_#res#1 := isFloorCalling_~retValue_acc~6#1;" "isExecutiveFloorCalling_#t~ret135#1 := isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;havoc isFloorCalling_#in~floorID#1;assume { :end_inline_isFloorCalling } true;isExecutiveFloorCalling_~retValue_acc~30#1 := isExecutiveFloorCalling_#t~ret135#1;havoc isExecutiveFloorCalling_#t~ret135#1;isExecutiveFloorCalling_#res#1 := isExecutiveFloorCalling_~retValue_acc~30#1;" "stopRequestedInDirection_#t~ret73#1 := isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;assume { :end_inline_isExecutiveFloorCalling } true;stopRequestedInDirection_~tmp___0~5#1 := stopRequestedInDirection_#t~ret73#1;havoc stopRequestedInDirection_#t~ret73#1;" "assume 0 != stopRequestedInDirection_~tmp___0~5#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;havoc getCurrentFloorID_~retValue_acc~14#1;getCurrentFloorID_~retValue_acc~14#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~14#1;" "stopRequestedInDirection_#t~ret74#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedInDirection_~tmp~20#1 := stopRequestedInDirection_#t~ret74#1;havoc stopRequestedInDirection_#t~ret74#1;stopRequestedInDirection_~__cil_tmp7~6#1 := (if 1 == stopRequestedInDirection_~dir#1 then 1 else 0);stopRequestedInDirection_~__cil_tmp8~7#1 := (if stopRequestedInDirection_~tmp~20#1 < ~executiveFloor~0 then 1 else 0);stopRequestedInDirection_~retValue_acc~23#1 := (if stopRequestedInDirection_~__cil_tmp8~7#1 == stopRequestedInDirection_~__cil_tmp7~6#1 then 1 else 0);stopRequestedInDirection_#res#1 := stopRequestedInDirection_~retValue_acc~23#1;" "timeShift_#t~ret105#1 := stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret73#1, stopRequestedInDirection_#t~ret74#1, stopRequestedInDirection_#t~ret75#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~23#1, stopRequestedInDirection_~tmp~20#1, stopRequestedInDirection_~tmp___0~5#1, stopRequestedInDirection_~__cil_tmp7~6#1, stopRequestedInDirection_~__cil_tmp8~7#1;havoc stopRequestedInDirection_#in~dir#1, stopRequestedInDirection_#in~respectFloorCalls#1, stopRequestedInDirection_#in~respectInLiftCalls#1;assume { :end_inline_stopRequestedInDirection } true;timeShift_~tmp___8~2#1 := timeShift_#t~ret105#1;havoc timeShift_#t~ret105#1;" "assume 0 != timeShift_~tmp___8~2#1;assume { :begin_inline_continueInDirection } true;continueInDirection_#in~dir#1 := ~currentHeading~0;havoc continueInDirection_#t~ret76#1, continueInDirection_~dir#1, continueInDirection_~tmp~21#1;continueInDirection_~dir#1 := continueInDirection_#in~dir#1;havoc continueInDirection_~tmp~21#1;~currentHeading~0 := continueInDirection_~dir#1;" "assume !(1 == ~currentHeading~0);" "assume !(0 == ~currentFloorID~0);" "assume !(1 == ~currentHeading~0);~currentFloorID~0 := ~currentFloorID~0 - 1;" "havoc continueInDirection_#t~ret76#1, continueInDirection_~dir#1, continueInDirection_~tmp~21#1;havoc continueInDirection_#in~dir#1;assume { :end_inline_continueInDirection } true;" "assume { :begin_inline___utac_acc__Specification13_spec__2 } true;havoc __utac_acc__Specification13_spec__2_#t~ret28#1, __utac_acc__Specification13_spec__2_#t~ret29#1, __utac_acc__Specification13_spec__2_#t~ret30#1, __utac_acc__Specification13_spec__2_#t~ret31#1, __utac_acc__Specification13_spec__2_#t~ret32#1, __utac_acc__Specification13_spec__2_#t~ret33#1, __utac_acc__Specification13_spec__2_~tmp~3#1, __utac_acc__Specification13_spec__2_~tmp___0~0#1, __utac_acc__Specification13_spec__2_~tmp___1~0#1, __utac_acc__Specification13_spec__2_~tmp___2~0#1, __utac_acc__Specification13_spec__2_~tmp___3~0#1, __utac_acc__Specification13_spec__2_~tmp___4~0#1, __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1, __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1;havoc __utac_acc__Specification13_spec__2_~tmp~3#1;havoc __utac_acc__Specification13_spec__2_~tmp___0~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___1~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___2~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___3~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___4~0#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1;__utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 := 2 * ~maximumWeight~0;__utac_acc__Specification13_spec__2_~__cil_tmp8~5#1 := (if __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 < 0 && 0 != __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 % 3 then 1 + __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 / 3 else __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 / 3);" "assume ~weight~0 > __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1;" "assume 1 == ~prevDir~0;assume { :begin_inline_existInLiftCallsInDirection } true;existInLiftCallsInDirection_#in~d#1 := 0;havoc existInLiftCallsInDirection_#res#1;havoc existInLiftCallsInDirection_~d#1, existInLiftCallsInDirection_~retValue_acc~29#1, existInLiftCallsInDirection_~i~1#1, existInLiftCallsInDirection_~i___0~0#1;existInLiftCallsInDirection_~d#1 := existInLiftCallsInDirection_#in~d#1;havoc existInLiftCallsInDirection_~retValue_acc~29#1;havoc existInLiftCallsInDirection_~i~1#1;havoc existInLiftCallsInDirection_~i___0~0#1;" "assume !(1 == existInLiftCallsInDirection_~d#1);" "assume 0 == existInLiftCallsInDirection_~d#1;existInLiftCallsInDirection_~i___0~0#1 := 0;existInLiftCallsInDirection_~i___0~0#1 := ~currentFloorID~0 - 1;" [2025-01-10 07:36:17,591 INFO L754 eck$LassoCheckResult]: Loop: "assume existInLiftCallsInDirection_~i___0~0#1 >= 0;" "existInLiftCallsInDirection_~i___0~0#1 := 1 + ~currentFloorID~0;" "assume !(existInLiftCallsInDirection_~i___0~0#1 < 5);" "existInLiftCallsInDirection_~i___0~0#1 := existInLiftCallsInDirection_~i___0~0#1 - 1;" [2025-01-10 07:36:17,591 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:36:17,591 INFO L85 PathProgramCache]: Analyzing trace with hash 1836589855, now seen corresponding path program 1 times [2025-01-10 07:36:17,591 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:36:17,591 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [833380425] [2025-01-10 07:36:17,591 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-10 07:36:17,591 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:36:17,610 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 64 statements into 1 equivalence classes. [2025-01-10 07:36:17,615 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 64 of 64 statements. [2025-01-10 07:36:17,615 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:36:17,615 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:36:17,702 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-01-10 07:36:17,702 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-10 07:36:17,702 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [833380425] [2025-01-10 07:36:17,702 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [833380425] provided 1 perfect and 0 imperfect interpolant sequences [2025-01-10 07:36:17,702 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-01-10 07:36:17,702 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2025-01-10 07:36:17,702 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [703221923] [2025-01-10 07:36:17,703 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-01-10 07:36:17,703 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-01-10 07:36:17,703 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:36:17,703 INFO L85 PathProgramCache]: Analyzing trace with hash 274166626, now seen corresponding path program 6 times [2025-01-10 07:36:17,703 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:36:17,703 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1616988245] [2025-01-10 07:36:17,703 INFO L95 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2025-01-10 07:36:17,703 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:36:17,715 INFO L108 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE partitioned 4 statements into 1 equivalence classes. [2025-01-10 07:36:17,716 INFO L111 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 1 check-sat command(s) and asserted 4 of 4 statements. [2025-01-10 07:36:17,716 INFO L114 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 1 check-sat command(s) [2025-01-10 07:36:17,716 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:36:17,716 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-01-10 07:36:17,717 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 4 statements into 1 equivalence classes. [2025-01-10 07:36:17,718 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 4 of 4 statements. [2025-01-10 07:36:17,718 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:36:17,718 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:36:17,725 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-01-10 07:36:17,749 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-10 07:36:17,750 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2025-01-10 07:36:17,750 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2025-01-10 07:36:17,750 INFO L87 Difference]: Start difference. First operand 9684 states and 18034 transitions. cyclomatic complexity: 8385 Second operand has 5 states, 5 states have (on average 12.8) internal successors, (64), 5 states have internal predecessors, (64), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-10 07:36:18,042 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-01-10 07:36:18,042 INFO L93 Difference]: Finished difference Result 9670 states and 18008 transitions. [2025-01-10 07:36:18,042 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 9670 states and 18008 transitions. [2025-01-10 07:36:18,091 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 2374 [2025-01-10 07:36:18,129 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 9670 states to 9670 states and 18008 transitions. [2025-01-10 07:36:18,129 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 9634 [2025-01-10 07:36:18,140 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 9634 [2025-01-10 07:36:18,140 INFO L73 IsDeterministic]: Start isDeterministic. Operand 9670 states and 18008 transitions. [2025-01-10 07:36:18,148 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-01-10 07:36:18,148 INFO L218 hiAutomatonCegarLoop]: Abstraction has 9670 states and 18008 transitions. [2025-01-10 07:36:18,164 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 9670 states and 18008 transitions. [2025-01-10 07:36:18,278 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 9670 to 9670. [2025-01-10 07:36:18,291 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9670 states, 9670 states have (on average 1.8622543950361945) internal successors, (18008), 9669 states have internal predecessors, (18008), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-10 07:36:18,446 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9670 states to 9670 states and 18008 transitions. [2025-01-10 07:36:18,446 INFO L240 hiAutomatonCegarLoop]: Abstraction has 9670 states and 18008 transitions. [2025-01-10 07:36:18,447 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2025-01-10 07:36:18,447 INFO L432 stractBuchiCegarLoop]: Abstraction has 9670 states and 18008 transitions. [2025-01-10 07:36:18,447 INFO L338 stractBuchiCegarLoop]: ======== Iteration 9 ============ [2025-01-10 07:36:18,447 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 9670 states and 18008 transitions. [2025-01-10 07:36:18,471 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 2374 [2025-01-10 07:36:18,471 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-01-10 07:36:18,471 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-01-10 07:36:18,474 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] [2025-01-10 07:36:18,475 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1] [2025-01-10 07:36:18,475 INFO L752 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int#0(48, 1, 0, 1);call write~init~int#0(0, 1, 1, 1);call #Ultimate.allocInit(32, 2);call #Ultimate.allocInit(12, 3);call #Ultimate.allocInit(30, 4);call #Ultimate.allocInit(9, 5);call #Ultimate.allocInit(21, 6);call #Ultimate.allocInit(30, 7);call #Ultimate.allocInit(9, 8);call #Ultimate.allocInit(21, 9);call #Ultimate.allocInit(30, 10);call #Ultimate.allocInit(9, 11);call #Ultimate.allocInit(25, 12);call #Ultimate.allocInit(30, 13);call #Ultimate.allocInit(9, 14);call #Ultimate.allocInit(25, 15);call #Ultimate.allocInit(10, 16);call #Ultimate.allocInit(4, 17);call write~init~int#5(91, 17, 0, 1);call write~init~int#5(95, 17, 1, 1);call write~init~int#5(93, 17, 2, 1);call write~init~int#5(0, 17, 3, 1);call #Ultimate.allocInit(4, 18);call write~init~int#6(91, 18, 0, 1);call write~init~int#6(93, 18, 1, 1);call write~init~int#6(32, 18, 2, 1);call write~init~int#6(0, 18, 3, 1);call #Ultimate.allocInit(5, 19);call write~init~int#7(32, 19, 0, 1);call write~init~int#7(97, 19, 1, 1);call write~init~int#7(116, 19, 2, 1);call write~init~int#7(32, 19, 3, 1);call write~init~int#7(0, 19, 4, 1);call #Ultimate.allocInit(3, 20);call write~init~int#8(37, 20, 0, 1);call write~init~int#8(105, 20, 1, 1);call write~init~int#8(0, 20, 2, 1);call #Ultimate.allocInit(10, 21);call #Ultimate.allocInit(3, 22);call write~init~int#9(117, 22, 0, 1);call write~init~int#9(112, 22, 1, 1);call write~init~int#9(0, 22, 2, 1);call #Ultimate.allocInit(5, 23);call write~init~int#10(100, 23, 0, 1);call write~init~int#10(111, 23, 1, 1);call write~init~int#10(119, 23, 2, 1);call write~init~int#10(110, 23, 3, 1);call write~init~int#10(0, 23, 4, 1);call #Ultimate.allocInit(7, 24);call write~init~int#11(32, 24, 0, 1);call write~init~int#11(73, 24, 1, 1);call write~init~int#11(76, 24, 2, 1);call write~init~int#11(95, 24, 3, 1);call write~init~int#11(112, 24, 4, 1);call write~init~int#11(58, 24, 5, 1);call write~init~int#11(0, 24, 6, 1);call #Ultimate.allocInit(4, 25);call write~init~int#12(32, 25, 0, 1);call write~init~int#12(37, 25, 1, 1);call write~init~int#12(105, 25, 2, 1);call write~init~int#12(0, 25, 3, 1);call #Ultimate.allocInit(4, 26);call write~init~int#13(32, 26, 0, 1);call write~init~int#13(37, 26, 1, 1);call write~init~int#13(105, 26, 2, 1);call write~init~int#13(0, 26, 3, 1);call #Ultimate.allocInit(4, 27);call write~init~int#14(32, 27, 0, 1);call write~init~int#14(37, 27, 1, 1);call write~init~int#14(105, 27, 2, 1);call write~init~int#14(0, 27, 3, 1);call #Ultimate.allocInit(4, 28);call write~init~int#15(32, 28, 0, 1);call write~init~int#15(37, 28, 1, 1);call write~init~int#15(105, 28, 2, 1);call write~init~int#15(0, 28, 3, 1);call #Ultimate.allocInit(4, 29);call write~init~int#16(32, 29, 0, 1);call write~init~int#16(37, 29, 1, 1);call write~init~int#16(105, 29, 2, 1);call write~init~int#16(0, 29, 3, 1);call #Ultimate.allocInit(6, 30);call write~init~int#17(32, 30, 0, 1);call write~init~int#17(70, 30, 1, 1);call write~init~int#17(95, 30, 2, 1);call write~init~int#17(112, 30, 3, 1);call write~init~int#17(58, 30, 4, 1);call write~init~int#17(0, 30, 5, 1);call #Ultimate.allocInit(4, 31);call write~init~int#18(32, 31, 0, 1);call write~init~int#18(37, 31, 1, 1);call write~init~int#18(105, 31, 2, 1);call write~init~int#18(0, 31, 3, 1);call #Ultimate.allocInit(4, 32);call write~init~int#19(32, 32, 0, 1);call write~init~int#19(37, 32, 1, 1);call write~init~int#19(105, 32, 2, 1);call write~init~int#19(0, 32, 3, 1);call #Ultimate.allocInit(4, 33);call write~init~int#1(32, 33, 0, 1);call write~init~int#1(37, 33, 1, 1);call write~init~int#1(105, 33, 2, 1);call write~init~int#1(0, 33, 3, 1);call #Ultimate.allocInit(4, 34);call write~init~int#2(32, 34, 0, 1);call write~init~int#2(37, 34, 1, 1);call write~init~int#2(105, 34, 2, 1);call write~init~int#2(0, 34, 3, 1);call #Ultimate.allocInit(4, 35);call write~init~int#3(32, 35, 0, 1);call write~init~int#3(37, 35, 1, 1);call write~init~int#3(105, 35, 2, 1);call write~init~int#3(0, 35, 3, 1);call #Ultimate.allocInit(2, 36);call write~init~int#4(10, 36, 0, 1);call write~init~int#4(0, 36, 1, 1);~head~0.base, ~head~0.offset := 0, 0;~weight~0 := 0;~maximumWeight~0 := 100;~executiveFloor~0 := 4;~prevDir~0 := 0;~calls_0~0 := 0;~calls_1~0 := 0;~calls_2~0 := 0;~calls_3~0 := 0;~calls_4~0 := 0;~personOnFloor_0_0~0 := 0;~personOnFloor_0_1~0 := 0;~personOnFloor_0_2~0 := 0;~personOnFloor_0_3~0 := 0;~personOnFloor_0_4~0 := 0;~personOnFloor_1_0~0 := 0;~personOnFloor_1_1~0 := 0;~personOnFloor_1_2~0 := 0;~personOnFloor_1_3~0 := 0;~personOnFloor_1_4~0 := 0;~personOnFloor_2_0~0 := 0;~personOnFloor_2_1~0 := 0;~personOnFloor_2_2~0 := 0;~personOnFloor_2_3~0 := 0;~personOnFloor_2_4~0 := 0;~personOnFloor_3_0~0 := 0;~personOnFloor_3_1~0 := 0;~personOnFloor_3_2~0 := 0;~personOnFloor_3_3~0 := 0;~personOnFloor_3_4~0 := 0;~personOnFloor_4_0~0 := 0;~personOnFloor_4_1~0 := 0;~personOnFloor_4_2~0 := 0;~personOnFloor_4_3~0 := 0;~personOnFloor_4_4~0 := 0;~personOnFloor_5_0~0 := 0;~personOnFloor_5_1~0 := 0;~personOnFloor_5_2~0 := 0;~personOnFloor_5_3~0 := 0;~personOnFloor_5_4~0 := 0;~cleanupTimeShifts~0 := 12;~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;" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret47#1, main_~retValue_acc~10#1, main_~tmp~12#1;havoc main_~retValue_acc~10#1;havoc main_~tmp~12#1;assume { :begin_inline_select_helpers } true;" "assume { :end_inline_select_helpers } true;assume { :begin_inline_select_features } true;" "assume { :end_inline_select_features } true;assume { :begin_inline_valid_product } true;havoc valid_product_#res#1;havoc valid_product_~retValue_acc~12#1;havoc valid_product_~retValue_acc~12#1;valid_product_~retValue_acc~12#1 := 1;valid_product_#res#1 := valid_product_~retValue_acc~12#1;" "main_#t~ret47#1 := valid_product_#res#1;havoc valid_product_~retValue_acc~12#1;assume { :end_inline_valid_product } true;main_~tmp~12#1 := main_#t~ret47#1;havoc main_#t~ret47#1;" "assume 0 != main_~tmp~12#1;assume { :begin_inline_setup } true;" "assume { :end_inline_setup } true;assume { :begin_inline_runTest } true;assume { :begin_inline_test } true;assume { :begin_inline_aliceCall } true;havoc aliceCall_#t~ret36#1, aliceCall_~tmp~5#1;havoc aliceCall_~tmp~5#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 1;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~4#1;" "assume !(0 == getOrigin_~person#1);" "assume 1 == getOrigin_~person#1;getOrigin_~retValue_acc~4#1 := 3;getOrigin_#res#1 := getOrigin_~retValue_acc~4#1;" "aliceCall_#t~ret36#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;aliceCall_~tmp~5#1 := aliceCall_#t~ret36#1;havoc aliceCall_#t~ret36#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 1, aliceCall_~tmp~5#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1;" "assume !(0 == initPersonOnFloor_~floor#1);" "assume !(1 == initPersonOnFloor_~floor#1);" "assume !(2 == initPersonOnFloor_~floor#1);" "assume 3 == initPersonOnFloor_~floor#1;" "assume !(0 == initPersonOnFloor_~person#1);" "assume 1 == initPersonOnFloor_~person#1;~personOnFloor_1_3~0 := 1;" "assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1;" "assume !(0 == callOnFloor_~floorID#1);" "assume !(1 == callOnFloor_~floorID#1);" "assume !(2 == callOnFloor_~floorID#1);" "assume 3 == callOnFloor_~floorID#1;~calls_3~0 := 1;" "havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true;" "havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true;" "havoc aliceCall_#t~ret36#1, aliceCall_~tmp~5#1;assume { :end_inline_aliceCall } true;assume { :begin_inline_angelinaCall } true;havoc angelinaCall_#t~ret37#1, angelinaCall_~tmp~6#1;havoc angelinaCall_~tmp~6#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 2;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~4#1;" "assume !(0 == getOrigin_~person#1);" "assume !(1 == getOrigin_~person#1);" "assume 2 == getOrigin_~person#1;getOrigin_~retValue_acc~4#1 := 2;getOrigin_#res#1 := getOrigin_~retValue_acc~4#1;" "angelinaCall_#t~ret37#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;angelinaCall_~tmp~6#1 := angelinaCall_#t~ret37#1;havoc angelinaCall_#t~ret37#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 2, angelinaCall_~tmp~6#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1;" "assume !(0 == initPersonOnFloor_~floor#1);" "assume 1 == initPersonOnFloor_~floor#1;" "assume !(0 == initPersonOnFloor_~person#1);" "assume 1 == initPersonOnFloor_~person#1;~personOnFloor_1_1~0 := 1;" "assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1;" "assume !(0 == callOnFloor_~floorID#1);" "assume 1 == callOnFloor_~floorID#1;~calls_1~0 := 1;" "havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true;" "havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true;" "havoc angelinaCall_#t~ret37#1, angelinaCall_~tmp~6#1;assume { :end_inline_angelinaCall } true;assume { :begin_inline_threeTS } true;assume { :begin_inline_timeShift } true;havoc timeShift_#t~ret98#1, timeShift_#t~ret99#1, timeShift_#t~ret100#1, timeShift_#t~ret101#1, timeShift_#t~ret102#1, timeShift_#t~ret103#1, timeShift_#t~ret104#1, timeShift_#t~ret105#1, timeShift_#t~ret106#1, timeShift_#t~ret107#1, timeShift_#t~ret108#1, timeShift_~tmp~26#1, timeShift_~tmp___0~10#1, timeShift_~tmp___1~5#1, timeShift_~tmp___2~5#1, timeShift_~tmp___3~4#1, timeShift_~tmp___4~3#1, timeShift_~tmp___5~2#1, timeShift_~tmp___6~2#1, timeShift_~tmp___7~2#1, timeShift_~tmp___8~2#1, timeShift_~tmp___9~2#1;havoc timeShift_~tmp~26#1;havoc timeShift_~tmp___0~10#1;havoc timeShift_~tmp___1~5#1;havoc timeShift_~tmp___2~5#1;havoc timeShift_~tmp___3~4#1;havoc timeShift_~tmp___4~3#1;havoc timeShift_~tmp___5~2#1;havoc timeShift_~tmp___6~2#1;havoc timeShift_~tmp___7~2#1;havoc timeShift_~tmp___8~2#1;havoc timeShift_~tmp___9~2#1;assume { :begin_inline___utac_acc__Specification13_spec__1 } true;havoc __utac_acc__Specification13_spec__1_#t~ret27#1;assume { :begin_inline_getCurrentHeading } true;havoc getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~17#1;havoc getCurrentHeading_~retValue_acc~17#1;getCurrentHeading_~retValue_acc~17#1 := ~currentHeading~0;getCurrentHeading_#res#1 := getCurrentHeading_~retValue_acc~17#1;" "__utac_acc__Specification13_spec__1_#t~ret27#1 := getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~17#1;assume { :end_inline_getCurrentHeading } true;~prevDir~0 := __utac_acc__Specification13_spec__1_#t~ret27#1;havoc __utac_acc__Specification13_spec__1_#t~ret27#1;" "havoc __utac_acc__Specification13_spec__1_#t~ret27#1;assume { :end_inline___utac_acc__Specification13_spec__1 } true;assume { :begin_inline_stopRequestedAtCurrentFloor } true;havoc stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1, stopRequestedAtCurrentFloor_#t~ret83#1, stopRequestedAtCurrentFloor_#t~ret84#1, stopRequestedAtCurrentFloor_#t~ret85#1, stopRequestedAtCurrentFloor_~retValue_acc~27#1, stopRequestedAtCurrentFloor_~tmp~24#1, stopRequestedAtCurrentFloor_~tmp___0~8#1;havoc stopRequestedAtCurrentFloor_~retValue_acc~27#1;havoc stopRequestedAtCurrentFloor_~tmp~24#1;havoc stopRequestedAtCurrentFloor_~tmp___0~8#1;assume { :begin_inline_isExecutiveFloorCalling } true;havoc isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;havoc isExecutiveFloorCalling_~retValue_acc~30#1;assume { :begin_inline_isFloorCalling } true;isFloorCalling_#in~floorID#1 := ~executiveFloor~0;havoc isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;isFloorCalling_~floorID#1 := isFloorCalling_#in~floorID#1;havoc isFloorCalling_~retValue_acc~6#1;" "assume 0 == isFloorCalling_~floorID#1;isFloorCalling_~retValue_acc~6#1 := ~calls_0~0;isFloorCalling_#res#1 := isFloorCalling_~retValue_acc~6#1;" "isExecutiveFloorCalling_#t~ret135#1 := isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;havoc isFloorCalling_#in~floorID#1;assume { :end_inline_isFloorCalling } true;isExecutiveFloorCalling_~retValue_acc~30#1 := isExecutiveFloorCalling_#t~ret135#1;havoc isExecutiveFloorCalling_#t~ret135#1;isExecutiveFloorCalling_#res#1 := isExecutiveFloorCalling_~retValue_acc~30#1;" "stopRequestedAtCurrentFloor_#t~ret82#1 := isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;assume { :end_inline_isExecutiveFloorCalling } true;stopRequestedAtCurrentFloor_~tmp~24#1 := stopRequestedAtCurrentFloor_#t~ret82#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1;" "assume 0 != stopRequestedAtCurrentFloor_~tmp~24#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;havoc getCurrentFloorID_~retValue_acc~14#1;getCurrentFloorID_~retValue_acc~14#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~14#1;" "stopRequestedAtCurrentFloor_#t~ret83#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedAtCurrentFloor_~tmp___0~8#1 := stopRequestedAtCurrentFloor_#t~ret83#1;havoc stopRequestedAtCurrentFloor_#t~ret83#1;" "assume !(~executiveFloor~0 == stopRequestedAtCurrentFloor_~tmp___0~8#1);stopRequestedAtCurrentFloor_~retValue_acc~27#1 := 0;stopRequestedAtCurrentFloor_#res#1 := stopRequestedAtCurrentFloor_~retValue_acc~27#1;" "timeShift_#t~ret98#1 := stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1, stopRequestedAtCurrentFloor_#t~ret83#1, stopRequestedAtCurrentFloor_#t~ret84#1, stopRequestedAtCurrentFloor_#t~ret85#1, stopRequestedAtCurrentFloor_~retValue_acc~27#1, stopRequestedAtCurrentFloor_~tmp~24#1, stopRequestedAtCurrentFloor_~tmp___0~8#1;assume { :end_inline_stopRequestedAtCurrentFloor } true;timeShift_~tmp___9~2#1 := timeShift_#t~ret98#1;havoc timeShift_#t~ret98#1;" "assume !(0 != timeShift_~tmp___9~2#1);" "assume 1 == ~doorState~0;~doorState~0 := 0;" "assume { :begin_inline_stopRequestedInDirection } true;stopRequestedInDirection_#in~dir#1, stopRequestedInDirection_#in~respectFloorCalls#1, stopRequestedInDirection_#in~respectInLiftCalls#1 := ~currentHeading~0, 1, 1;havoc stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret73#1, stopRequestedInDirection_#t~ret74#1, stopRequestedInDirection_#t~ret75#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~23#1, stopRequestedInDirection_~tmp~20#1, stopRequestedInDirection_~tmp___0~5#1, stopRequestedInDirection_~__cil_tmp7~6#1, stopRequestedInDirection_~__cil_tmp8~7#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~23#1;havoc stopRequestedInDirection_~tmp~20#1;havoc stopRequestedInDirection_~tmp___0~5#1;havoc stopRequestedInDirection_~__cil_tmp7~6#1;havoc stopRequestedInDirection_~__cil_tmp8~7#1;assume { :begin_inline_isExecutiveFloorCalling } true;havoc isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;havoc isExecutiveFloorCalling_~retValue_acc~30#1;assume { :begin_inline_isFloorCalling } true;isFloorCalling_#in~floorID#1 := ~executiveFloor~0;havoc isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;isFloorCalling_~floorID#1 := isFloorCalling_#in~floorID#1;havoc isFloorCalling_~retValue_acc~6#1;" "assume 0 == isFloorCalling_~floorID#1;isFloorCalling_~retValue_acc~6#1 := ~calls_0~0;isFloorCalling_#res#1 := isFloorCalling_~retValue_acc~6#1;" "isExecutiveFloorCalling_#t~ret135#1 := isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;havoc isFloorCalling_#in~floorID#1;assume { :end_inline_isFloorCalling } true;isExecutiveFloorCalling_~retValue_acc~30#1 := isExecutiveFloorCalling_#t~ret135#1;havoc isExecutiveFloorCalling_#t~ret135#1;isExecutiveFloorCalling_#res#1 := isExecutiveFloorCalling_~retValue_acc~30#1;" "stopRequestedInDirection_#t~ret73#1 := isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;assume { :end_inline_isExecutiveFloorCalling } true;stopRequestedInDirection_~tmp___0~5#1 := stopRequestedInDirection_#t~ret73#1;havoc stopRequestedInDirection_#t~ret73#1;" "assume 0 != stopRequestedInDirection_~tmp___0~5#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;havoc getCurrentFloorID_~retValue_acc~14#1;getCurrentFloorID_~retValue_acc~14#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~14#1;" "stopRequestedInDirection_#t~ret74#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedInDirection_~tmp~20#1 := stopRequestedInDirection_#t~ret74#1;havoc stopRequestedInDirection_#t~ret74#1;stopRequestedInDirection_~__cil_tmp7~6#1 := (if 1 == stopRequestedInDirection_~dir#1 then 1 else 0);stopRequestedInDirection_~__cil_tmp8~7#1 := (if stopRequestedInDirection_~tmp~20#1 < ~executiveFloor~0 then 1 else 0);stopRequestedInDirection_~retValue_acc~23#1 := (if stopRequestedInDirection_~__cil_tmp8~7#1 == stopRequestedInDirection_~__cil_tmp7~6#1 then 1 else 0);stopRequestedInDirection_#res#1 := stopRequestedInDirection_~retValue_acc~23#1;" "timeShift_#t~ret105#1 := stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret73#1, stopRequestedInDirection_#t~ret74#1, stopRequestedInDirection_#t~ret75#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~23#1, stopRequestedInDirection_~tmp~20#1, stopRequestedInDirection_~tmp___0~5#1, stopRequestedInDirection_~__cil_tmp7~6#1, stopRequestedInDirection_~__cil_tmp8~7#1;havoc stopRequestedInDirection_#in~dir#1, stopRequestedInDirection_#in~respectFloorCalls#1, stopRequestedInDirection_#in~respectInLiftCalls#1;assume { :end_inline_stopRequestedInDirection } true;timeShift_~tmp___8~2#1 := timeShift_#t~ret105#1;havoc timeShift_#t~ret105#1;" "assume 0 != timeShift_~tmp___8~2#1;assume { :begin_inline_continueInDirection } true;continueInDirection_#in~dir#1 := ~currentHeading~0;havoc continueInDirection_#t~ret76#1, continueInDirection_~dir#1, continueInDirection_~tmp~21#1;continueInDirection_~dir#1 := continueInDirection_#in~dir#1;havoc continueInDirection_~tmp~21#1;~currentHeading~0 := continueInDirection_~dir#1;" "assume !(1 == ~currentHeading~0);" "assume !(0 == ~currentFloorID~0);" "assume !(1 == ~currentHeading~0);~currentFloorID~0 := ~currentFloorID~0 - 1;" "havoc continueInDirection_#t~ret76#1, continueInDirection_~dir#1, continueInDirection_~tmp~21#1;havoc continueInDirection_#in~dir#1;assume { :end_inline_continueInDirection } true;" "assume { :begin_inline___utac_acc__Specification13_spec__2 } true;havoc __utac_acc__Specification13_spec__2_#t~ret28#1, __utac_acc__Specification13_spec__2_#t~ret29#1, __utac_acc__Specification13_spec__2_#t~ret30#1, __utac_acc__Specification13_spec__2_#t~ret31#1, __utac_acc__Specification13_spec__2_#t~ret32#1, __utac_acc__Specification13_spec__2_#t~ret33#1, __utac_acc__Specification13_spec__2_~tmp~3#1, __utac_acc__Specification13_spec__2_~tmp___0~0#1, __utac_acc__Specification13_spec__2_~tmp___1~0#1, __utac_acc__Specification13_spec__2_~tmp___2~0#1, __utac_acc__Specification13_spec__2_~tmp___3~0#1, __utac_acc__Specification13_spec__2_~tmp___4~0#1, __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1, __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1;havoc __utac_acc__Specification13_spec__2_~tmp~3#1;havoc __utac_acc__Specification13_spec__2_~tmp___0~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___1~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___2~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___3~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___4~0#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1;__utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 := 2 * ~maximumWeight~0;__utac_acc__Specification13_spec__2_~__cil_tmp8~5#1 := (if __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 < 0 && 0 != __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 % 3 then 1 + __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 / 3 else __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 / 3);" "assume ~weight~0 > __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1;" "assume 1 == ~prevDir~0;assume { :begin_inline_existInLiftCallsInDirection } true;existInLiftCallsInDirection_#in~d#1 := 0;havoc existInLiftCallsInDirection_#res#1;havoc existInLiftCallsInDirection_~d#1, existInLiftCallsInDirection_~retValue_acc~29#1, existInLiftCallsInDirection_~i~1#1, existInLiftCallsInDirection_~i___0~0#1;existInLiftCallsInDirection_~d#1 := existInLiftCallsInDirection_#in~d#1;havoc existInLiftCallsInDirection_~retValue_acc~29#1;havoc existInLiftCallsInDirection_~i~1#1;havoc existInLiftCallsInDirection_~i___0~0#1;" "assume !(1 == existInLiftCallsInDirection_~d#1);" "assume 0 == existInLiftCallsInDirection_~d#1;existInLiftCallsInDirection_~i___0~0#1 := 0;existInLiftCallsInDirection_~i___0~0#1 := ~currentFloorID~0 - 1;" [2025-01-10 07:36:18,475 INFO L754 eck$LassoCheckResult]: Loop: "assume existInLiftCallsInDirection_~i___0~0#1 >= 0;" "existInLiftCallsInDirection_~i___0~0#1 := 1 + ~currentFloorID~0;" "assume !(existInLiftCallsInDirection_~i___0~0#1 < 5);" "existInLiftCallsInDirection_~i___0~0#1 := existInLiftCallsInDirection_~i___0~0#1 - 1;" [2025-01-10 07:36:18,475 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:36:18,475 INFO L85 PathProgramCache]: Analyzing trace with hash -852779787, now seen corresponding path program 1 times [2025-01-10 07:36:18,475 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:36:18,476 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1791346014] [2025-01-10 07:36:18,476 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-10 07:36:18,476 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:36:18,493 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 66 statements into 1 equivalence classes. [2025-01-10 07:36:18,499 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 66 of 66 statements. [2025-01-10 07:36:18,499 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:36:18,499 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:36:18,584 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-01-10 07:36:18,585 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-10 07:36:18,585 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1791346014] [2025-01-10 07:36:18,585 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1791346014] provided 1 perfect and 0 imperfect interpolant sequences [2025-01-10 07:36:18,585 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-01-10 07:36:18,585 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2025-01-10 07:36:18,585 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1452767399] [2025-01-10 07:36:18,585 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-01-10 07:36:18,586 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-01-10 07:36:18,586 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:36:18,587 INFO L85 PathProgramCache]: Analyzing trace with hash 274166626, now seen corresponding path program 7 times [2025-01-10 07:36:18,587 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:36:18,587 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [456119707] [2025-01-10 07:36:18,587 INFO L95 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2025-01-10 07:36:18,587 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:36:18,595 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 4 statements into 1 equivalence classes. [2025-01-10 07:36:18,596 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 4 of 4 statements. [2025-01-10 07:36:18,596 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:36:18,596 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:36:18,596 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-01-10 07:36:18,597 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 4 statements into 1 equivalence classes. [2025-01-10 07:36:18,598 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 4 of 4 statements. [2025-01-10 07:36:18,598 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:36:18,598 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:36:18,602 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-01-10 07:36:18,619 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-10 07:36:18,621 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2025-01-10 07:36:18,621 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2025-01-10 07:36:18,621 INFO L87 Difference]: Start difference. First operand 9670 states and 18008 transitions. cyclomatic complexity: 8373 Second operand has 5 states, 5 states have (on average 13.2) internal successors, (66), 5 states have internal predecessors, (66), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-10 07:36:18,837 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-01-10 07:36:18,837 INFO L93 Difference]: Finished difference Result 9664 states and 17995 transitions. [2025-01-10 07:36:18,837 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 9664 states and 17995 transitions. [2025-01-10 07:36:18,870 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 2374 [2025-01-10 07:36:18,901 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 9664 states to 9664 states and 17995 transitions. [2025-01-10 07:36:18,901 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 9628 [2025-01-10 07:36:18,910 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 9628 [2025-01-10 07:36:18,910 INFO L73 IsDeterministic]: Start isDeterministic. Operand 9664 states and 17995 transitions. [2025-01-10 07:36:18,918 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-01-10 07:36:18,919 INFO L218 hiAutomatonCegarLoop]: Abstraction has 9664 states and 17995 transitions. [2025-01-10 07:36:18,931 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 9664 states and 17995 transitions. [2025-01-10 07:36:19,005 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 9664 to 9664. [2025-01-10 07:36:19,016 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9664 states, 9664 states have (on average 1.8620653973509933) internal successors, (17995), 9663 states have internal predecessors, (17995), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-10 07:36:19,029 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9664 states to 9664 states and 17995 transitions. [2025-01-10 07:36:19,029 INFO L240 hiAutomatonCegarLoop]: Abstraction has 9664 states and 17995 transitions. [2025-01-10 07:36:19,029 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2025-01-10 07:36:19,031 INFO L432 stractBuchiCegarLoop]: Abstraction has 9664 states and 17995 transitions. [2025-01-10 07:36:19,031 INFO L338 stractBuchiCegarLoop]: ======== Iteration 10 ============ [2025-01-10 07:36:19,031 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 9664 states and 17995 transitions. [2025-01-10 07:36:19,052 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 2374 [2025-01-10 07:36:19,053 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-01-10 07:36:19,053 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-01-10 07:36:19,053 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] [2025-01-10 07:36:19,053 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1] [2025-01-10 07:36:19,054 INFO L752 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int#0(48, 1, 0, 1);call write~init~int#0(0, 1, 1, 1);call #Ultimate.allocInit(32, 2);call #Ultimate.allocInit(12, 3);call #Ultimate.allocInit(30, 4);call #Ultimate.allocInit(9, 5);call #Ultimate.allocInit(21, 6);call #Ultimate.allocInit(30, 7);call #Ultimate.allocInit(9, 8);call #Ultimate.allocInit(21, 9);call #Ultimate.allocInit(30, 10);call #Ultimate.allocInit(9, 11);call #Ultimate.allocInit(25, 12);call #Ultimate.allocInit(30, 13);call #Ultimate.allocInit(9, 14);call #Ultimate.allocInit(25, 15);call #Ultimate.allocInit(10, 16);call #Ultimate.allocInit(4, 17);call write~init~int#5(91, 17, 0, 1);call write~init~int#5(95, 17, 1, 1);call write~init~int#5(93, 17, 2, 1);call write~init~int#5(0, 17, 3, 1);call #Ultimate.allocInit(4, 18);call write~init~int#6(91, 18, 0, 1);call write~init~int#6(93, 18, 1, 1);call write~init~int#6(32, 18, 2, 1);call write~init~int#6(0, 18, 3, 1);call #Ultimate.allocInit(5, 19);call write~init~int#7(32, 19, 0, 1);call write~init~int#7(97, 19, 1, 1);call write~init~int#7(116, 19, 2, 1);call write~init~int#7(32, 19, 3, 1);call write~init~int#7(0, 19, 4, 1);call #Ultimate.allocInit(3, 20);call write~init~int#8(37, 20, 0, 1);call write~init~int#8(105, 20, 1, 1);call write~init~int#8(0, 20, 2, 1);call #Ultimate.allocInit(10, 21);call #Ultimate.allocInit(3, 22);call write~init~int#9(117, 22, 0, 1);call write~init~int#9(112, 22, 1, 1);call write~init~int#9(0, 22, 2, 1);call #Ultimate.allocInit(5, 23);call write~init~int#10(100, 23, 0, 1);call write~init~int#10(111, 23, 1, 1);call write~init~int#10(119, 23, 2, 1);call write~init~int#10(110, 23, 3, 1);call write~init~int#10(0, 23, 4, 1);call #Ultimate.allocInit(7, 24);call write~init~int#11(32, 24, 0, 1);call write~init~int#11(73, 24, 1, 1);call write~init~int#11(76, 24, 2, 1);call write~init~int#11(95, 24, 3, 1);call write~init~int#11(112, 24, 4, 1);call write~init~int#11(58, 24, 5, 1);call write~init~int#11(0, 24, 6, 1);call #Ultimate.allocInit(4, 25);call write~init~int#12(32, 25, 0, 1);call write~init~int#12(37, 25, 1, 1);call write~init~int#12(105, 25, 2, 1);call write~init~int#12(0, 25, 3, 1);call #Ultimate.allocInit(4, 26);call write~init~int#13(32, 26, 0, 1);call write~init~int#13(37, 26, 1, 1);call write~init~int#13(105, 26, 2, 1);call write~init~int#13(0, 26, 3, 1);call #Ultimate.allocInit(4, 27);call write~init~int#14(32, 27, 0, 1);call write~init~int#14(37, 27, 1, 1);call write~init~int#14(105, 27, 2, 1);call write~init~int#14(0, 27, 3, 1);call #Ultimate.allocInit(4, 28);call write~init~int#15(32, 28, 0, 1);call write~init~int#15(37, 28, 1, 1);call write~init~int#15(105, 28, 2, 1);call write~init~int#15(0, 28, 3, 1);call #Ultimate.allocInit(4, 29);call write~init~int#16(32, 29, 0, 1);call write~init~int#16(37, 29, 1, 1);call write~init~int#16(105, 29, 2, 1);call write~init~int#16(0, 29, 3, 1);call #Ultimate.allocInit(6, 30);call write~init~int#17(32, 30, 0, 1);call write~init~int#17(70, 30, 1, 1);call write~init~int#17(95, 30, 2, 1);call write~init~int#17(112, 30, 3, 1);call write~init~int#17(58, 30, 4, 1);call write~init~int#17(0, 30, 5, 1);call #Ultimate.allocInit(4, 31);call write~init~int#18(32, 31, 0, 1);call write~init~int#18(37, 31, 1, 1);call write~init~int#18(105, 31, 2, 1);call write~init~int#18(0, 31, 3, 1);call #Ultimate.allocInit(4, 32);call write~init~int#19(32, 32, 0, 1);call write~init~int#19(37, 32, 1, 1);call write~init~int#19(105, 32, 2, 1);call write~init~int#19(0, 32, 3, 1);call #Ultimate.allocInit(4, 33);call write~init~int#1(32, 33, 0, 1);call write~init~int#1(37, 33, 1, 1);call write~init~int#1(105, 33, 2, 1);call write~init~int#1(0, 33, 3, 1);call #Ultimate.allocInit(4, 34);call write~init~int#2(32, 34, 0, 1);call write~init~int#2(37, 34, 1, 1);call write~init~int#2(105, 34, 2, 1);call write~init~int#2(0, 34, 3, 1);call #Ultimate.allocInit(4, 35);call write~init~int#3(32, 35, 0, 1);call write~init~int#3(37, 35, 1, 1);call write~init~int#3(105, 35, 2, 1);call write~init~int#3(0, 35, 3, 1);call #Ultimate.allocInit(2, 36);call write~init~int#4(10, 36, 0, 1);call write~init~int#4(0, 36, 1, 1);~head~0.base, ~head~0.offset := 0, 0;~weight~0 := 0;~maximumWeight~0 := 100;~executiveFloor~0 := 4;~prevDir~0 := 0;~calls_0~0 := 0;~calls_1~0 := 0;~calls_2~0 := 0;~calls_3~0 := 0;~calls_4~0 := 0;~personOnFloor_0_0~0 := 0;~personOnFloor_0_1~0 := 0;~personOnFloor_0_2~0 := 0;~personOnFloor_0_3~0 := 0;~personOnFloor_0_4~0 := 0;~personOnFloor_1_0~0 := 0;~personOnFloor_1_1~0 := 0;~personOnFloor_1_2~0 := 0;~personOnFloor_1_3~0 := 0;~personOnFloor_1_4~0 := 0;~personOnFloor_2_0~0 := 0;~personOnFloor_2_1~0 := 0;~personOnFloor_2_2~0 := 0;~personOnFloor_2_3~0 := 0;~personOnFloor_2_4~0 := 0;~personOnFloor_3_0~0 := 0;~personOnFloor_3_1~0 := 0;~personOnFloor_3_2~0 := 0;~personOnFloor_3_3~0 := 0;~personOnFloor_3_4~0 := 0;~personOnFloor_4_0~0 := 0;~personOnFloor_4_1~0 := 0;~personOnFloor_4_2~0 := 0;~personOnFloor_4_3~0 := 0;~personOnFloor_4_4~0 := 0;~personOnFloor_5_0~0 := 0;~personOnFloor_5_1~0 := 0;~personOnFloor_5_2~0 := 0;~personOnFloor_5_3~0 := 0;~personOnFloor_5_4~0 := 0;~cleanupTimeShifts~0 := 12;~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;" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret47#1, main_~retValue_acc~10#1, main_~tmp~12#1;havoc main_~retValue_acc~10#1;havoc main_~tmp~12#1;assume { :begin_inline_select_helpers } true;" "assume { :end_inline_select_helpers } true;assume { :begin_inline_select_features } true;" "assume { :end_inline_select_features } true;assume { :begin_inline_valid_product } true;havoc valid_product_#res#1;havoc valid_product_~retValue_acc~12#1;havoc valid_product_~retValue_acc~12#1;valid_product_~retValue_acc~12#1 := 1;valid_product_#res#1 := valid_product_~retValue_acc~12#1;" "main_#t~ret47#1 := valid_product_#res#1;havoc valid_product_~retValue_acc~12#1;assume { :end_inline_valid_product } true;main_~tmp~12#1 := main_#t~ret47#1;havoc main_#t~ret47#1;" "assume 0 != main_~tmp~12#1;assume { :begin_inline_setup } true;" "assume { :end_inline_setup } true;assume { :begin_inline_runTest } true;assume { :begin_inline_test } true;assume { :begin_inline_aliceCall } true;havoc aliceCall_#t~ret36#1, aliceCall_~tmp~5#1;havoc aliceCall_~tmp~5#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 1;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~4#1;" "assume !(0 == getOrigin_~person#1);" "assume 1 == getOrigin_~person#1;getOrigin_~retValue_acc~4#1 := 3;getOrigin_#res#1 := getOrigin_~retValue_acc~4#1;" "aliceCall_#t~ret36#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;aliceCall_~tmp~5#1 := aliceCall_#t~ret36#1;havoc aliceCall_#t~ret36#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 1, aliceCall_~tmp~5#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1;" "assume !(0 == initPersonOnFloor_~floor#1);" "assume !(1 == initPersonOnFloor_~floor#1);" "assume !(2 == initPersonOnFloor_~floor#1);" "assume 3 == initPersonOnFloor_~floor#1;" "assume !(0 == initPersonOnFloor_~person#1);" "assume 1 == initPersonOnFloor_~person#1;~personOnFloor_1_3~0 := 1;" "assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1;" "assume !(0 == callOnFloor_~floorID#1);" "assume !(1 == callOnFloor_~floorID#1);" "assume !(2 == callOnFloor_~floorID#1);" "assume 3 == callOnFloor_~floorID#1;~calls_3~0 := 1;" "havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true;" "havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true;" "havoc aliceCall_#t~ret36#1, aliceCall_~tmp~5#1;assume { :end_inline_aliceCall } true;assume { :begin_inline_angelinaCall } true;havoc angelinaCall_#t~ret37#1, angelinaCall_~tmp~6#1;havoc angelinaCall_~tmp~6#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 2;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~4#1;" "assume !(0 == getOrigin_~person#1);" "assume !(1 == getOrigin_~person#1);" "assume 2 == getOrigin_~person#1;getOrigin_~retValue_acc~4#1 := 2;getOrigin_#res#1 := getOrigin_~retValue_acc~4#1;" "angelinaCall_#t~ret37#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;angelinaCall_~tmp~6#1 := angelinaCall_#t~ret37#1;havoc angelinaCall_#t~ret37#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 2, angelinaCall_~tmp~6#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1;" "assume !(0 == initPersonOnFloor_~floor#1);" "assume !(1 == initPersonOnFloor_~floor#1);" "assume 2 == initPersonOnFloor_~floor#1;" "assume !(0 == initPersonOnFloor_~person#1);" "assume 1 == initPersonOnFloor_~person#1;~personOnFloor_1_2~0 := 1;" "assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1;" "assume !(0 == callOnFloor_~floorID#1);" "assume !(1 == callOnFloor_~floorID#1);" "assume 2 == callOnFloor_~floorID#1;~calls_2~0 := 1;" "havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true;" "havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true;" "havoc angelinaCall_#t~ret37#1, angelinaCall_~tmp~6#1;assume { :end_inline_angelinaCall } true;assume { :begin_inline_threeTS } true;assume { :begin_inline_timeShift } true;havoc timeShift_#t~ret98#1, timeShift_#t~ret99#1, timeShift_#t~ret100#1, timeShift_#t~ret101#1, timeShift_#t~ret102#1, timeShift_#t~ret103#1, timeShift_#t~ret104#1, timeShift_#t~ret105#1, timeShift_#t~ret106#1, timeShift_#t~ret107#1, timeShift_#t~ret108#1, timeShift_~tmp~26#1, timeShift_~tmp___0~10#1, timeShift_~tmp___1~5#1, timeShift_~tmp___2~5#1, timeShift_~tmp___3~4#1, timeShift_~tmp___4~3#1, timeShift_~tmp___5~2#1, timeShift_~tmp___6~2#1, timeShift_~tmp___7~2#1, timeShift_~tmp___8~2#1, timeShift_~tmp___9~2#1;havoc timeShift_~tmp~26#1;havoc timeShift_~tmp___0~10#1;havoc timeShift_~tmp___1~5#1;havoc timeShift_~tmp___2~5#1;havoc timeShift_~tmp___3~4#1;havoc timeShift_~tmp___4~3#1;havoc timeShift_~tmp___5~2#1;havoc timeShift_~tmp___6~2#1;havoc timeShift_~tmp___7~2#1;havoc timeShift_~tmp___8~2#1;havoc timeShift_~tmp___9~2#1;assume { :begin_inline___utac_acc__Specification13_spec__1 } true;havoc __utac_acc__Specification13_spec__1_#t~ret27#1;assume { :begin_inline_getCurrentHeading } true;havoc getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~17#1;havoc getCurrentHeading_~retValue_acc~17#1;getCurrentHeading_~retValue_acc~17#1 := ~currentHeading~0;getCurrentHeading_#res#1 := getCurrentHeading_~retValue_acc~17#1;" "__utac_acc__Specification13_spec__1_#t~ret27#1 := getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~17#1;assume { :end_inline_getCurrentHeading } true;~prevDir~0 := __utac_acc__Specification13_spec__1_#t~ret27#1;havoc __utac_acc__Specification13_spec__1_#t~ret27#1;" "havoc __utac_acc__Specification13_spec__1_#t~ret27#1;assume { :end_inline___utac_acc__Specification13_spec__1 } true;assume { :begin_inline_stopRequestedAtCurrentFloor } true;havoc stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1, stopRequestedAtCurrentFloor_#t~ret83#1, stopRequestedAtCurrentFloor_#t~ret84#1, stopRequestedAtCurrentFloor_#t~ret85#1, stopRequestedAtCurrentFloor_~retValue_acc~27#1, stopRequestedAtCurrentFloor_~tmp~24#1, stopRequestedAtCurrentFloor_~tmp___0~8#1;havoc stopRequestedAtCurrentFloor_~retValue_acc~27#1;havoc stopRequestedAtCurrentFloor_~tmp~24#1;havoc stopRequestedAtCurrentFloor_~tmp___0~8#1;assume { :begin_inline_isExecutiveFloorCalling } true;havoc isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;havoc isExecutiveFloorCalling_~retValue_acc~30#1;assume { :begin_inline_isFloorCalling } true;isFloorCalling_#in~floorID#1 := ~executiveFloor~0;havoc isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;isFloorCalling_~floorID#1 := isFloorCalling_#in~floorID#1;havoc isFloorCalling_~retValue_acc~6#1;" "assume 0 == isFloorCalling_~floorID#1;isFloorCalling_~retValue_acc~6#1 := ~calls_0~0;isFloorCalling_#res#1 := isFloorCalling_~retValue_acc~6#1;" "isExecutiveFloorCalling_#t~ret135#1 := isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;havoc isFloorCalling_#in~floorID#1;assume { :end_inline_isFloorCalling } true;isExecutiveFloorCalling_~retValue_acc~30#1 := isExecutiveFloorCalling_#t~ret135#1;havoc isExecutiveFloorCalling_#t~ret135#1;isExecutiveFloorCalling_#res#1 := isExecutiveFloorCalling_~retValue_acc~30#1;" "stopRequestedAtCurrentFloor_#t~ret82#1 := isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;assume { :end_inline_isExecutiveFloorCalling } true;stopRequestedAtCurrentFloor_~tmp~24#1 := stopRequestedAtCurrentFloor_#t~ret82#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1;" "assume 0 != stopRequestedAtCurrentFloor_~tmp~24#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;havoc getCurrentFloorID_~retValue_acc~14#1;getCurrentFloorID_~retValue_acc~14#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~14#1;" "stopRequestedAtCurrentFloor_#t~ret83#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedAtCurrentFloor_~tmp___0~8#1 := stopRequestedAtCurrentFloor_#t~ret83#1;havoc stopRequestedAtCurrentFloor_#t~ret83#1;" "assume !(~executiveFloor~0 == stopRequestedAtCurrentFloor_~tmp___0~8#1);stopRequestedAtCurrentFloor_~retValue_acc~27#1 := 0;stopRequestedAtCurrentFloor_#res#1 := stopRequestedAtCurrentFloor_~retValue_acc~27#1;" "timeShift_#t~ret98#1 := stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1, stopRequestedAtCurrentFloor_#t~ret83#1, stopRequestedAtCurrentFloor_#t~ret84#1, stopRequestedAtCurrentFloor_#t~ret85#1, stopRequestedAtCurrentFloor_~retValue_acc~27#1, stopRequestedAtCurrentFloor_~tmp~24#1, stopRequestedAtCurrentFloor_~tmp___0~8#1;assume { :end_inline_stopRequestedAtCurrentFloor } true;timeShift_~tmp___9~2#1 := timeShift_#t~ret98#1;havoc timeShift_#t~ret98#1;" "assume !(0 != timeShift_~tmp___9~2#1);" "assume 1 == ~doorState~0;~doorState~0 := 0;" "assume { :begin_inline_stopRequestedInDirection } true;stopRequestedInDirection_#in~dir#1, stopRequestedInDirection_#in~respectFloorCalls#1, stopRequestedInDirection_#in~respectInLiftCalls#1 := ~currentHeading~0, 1, 1;havoc stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret73#1, stopRequestedInDirection_#t~ret74#1, stopRequestedInDirection_#t~ret75#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~23#1, stopRequestedInDirection_~tmp~20#1, stopRequestedInDirection_~tmp___0~5#1, stopRequestedInDirection_~__cil_tmp7~6#1, stopRequestedInDirection_~__cil_tmp8~7#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~23#1;havoc stopRequestedInDirection_~tmp~20#1;havoc stopRequestedInDirection_~tmp___0~5#1;havoc stopRequestedInDirection_~__cil_tmp7~6#1;havoc stopRequestedInDirection_~__cil_tmp8~7#1;assume { :begin_inline_isExecutiveFloorCalling } true;havoc isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;havoc isExecutiveFloorCalling_~retValue_acc~30#1;assume { :begin_inline_isFloorCalling } true;isFloorCalling_#in~floorID#1 := ~executiveFloor~0;havoc isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;isFloorCalling_~floorID#1 := isFloorCalling_#in~floorID#1;havoc isFloorCalling_~retValue_acc~6#1;" "assume 0 == isFloorCalling_~floorID#1;isFloorCalling_~retValue_acc~6#1 := ~calls_0~0;isFloorCalling_#res#1 := isFloorCalling_~retValue_acc~6#1;" "isExecutiveFloorCalling_#t~ret135#1 := isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;havoc isFloorCalling_#in~floorID#1;assume { :end_inline_isFloorCalling } true;isExecutiveFloorCalling_~retValue_acc~30#1 := isExecutiveFloorCalling_#t~ret135#1;havoc isExecutiveFloorCalling_#t~ret135#1;isExecutiveFloorCalling_#res#1 := isExecutiveFloorCalling_~retValue_acc~30#1;" "stopRequestedInDirection_#t~ret73#1 := isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;assume { :end_inline_isExecutiveFloorCalling } true;stopRequestedInDirection_~tmp___0~5#1 := stopRequestedInDirection_#t~ret73#1;havoc stopRequestedInDirection_#t~ret73#1;" "assume 0 != stopRequestedInDirection_~tmp___0~5#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;havoc getCurrentFloorID_~retValue_acc~14#1;getCurrentFloorID_~retValue_acc~14#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~14#1;" "stopRequestedInDirection_#t~ret74#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedInDirection_~tmp~20#1 := stopRequestedInDirection_#t~ret74#1;havoc stopRequestedInDirection_#t~ret74#1;stopRequestedInDirection_~__cil_tmp7~6#1 := (if 1 == stopRequestedInDirection_~dir#1 then 1 else 0);stopRequestedInDirection_~__cil_tmp8~7#1 := (if stopRequestedInDirection_~tmp~20#1 < ~executiveFloor~0 then 1 else 0);stopRequestedInDirection_~retValue_acc~23#1 := (if stopRequestedInDirection_~__cil_tmp8~7#1 == stopRequestedInDirection_~__cil_tmp7~6#1 then 1 else 0);stopRequestedInDirection_#res#1 := stopRequestedInDirection_~retValue_acc~23#1;" "timeShift_#t~ret105#1 := stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret73#1, stopRequestedInDirection_#t~ret74#1, stopRequestedInDirection_#t~ret75#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~23#1, stopRequestedInDirection_~tmp~20#1, stopRequestedInDirection_~tmp___0~5#1, stopRequestedInDirection_~__cil_tmp7~6#1, stopRequestedInDirection_~__cil_tmp8~7#1;havoc stopRequestedInDirection_#in~dir#1, stopRequestedInDirection_#in~respectFloorCalls#1, stopRequestedInDirection_#in~respectInLiftCalls#1;assume { :end_inline_stopRequestedInDirection } true;timeShift_~tmp___8~2#1 := timeShift_#t~ret105#1;havoc timeShift_#t~ret105#1;" "assume 0 != timeShift_~tmp___8~2#1;assume { :begin_inline_continueInDirection } true;continueInDirection_#in~dir#1 := ~currentHeading~0;havoc continueInDirection_#t~ret76#1, continueInDirection_~dir#1, continueInDirection_~tmp~21#1;continueInDirection_~dir#1 := continueInDirection_#in~dir#1;havoc continueInDirection_~tmp~21#1;~currentHeading~0 := continueInDirection_~dir#1;" "assume !(1 == ~currentHeading~0);" "assume !(0 == ~currentFloorID~0);" "assume !(1 == ~currentHeading~0);~currentFloorID~0 := ~currentFloorID~0 - 1;" "havoc continueInDirection_#t~ret76#1, continueInDirection_~dir#1, continueInDirection_~tmp~21#1;havoc continueInDirection_#in~dir#1;assume { :end_inline_continueInDirection } true;" "assume { :begin_inline___utac_acc__Specification13_spec__2 } true;havoc __utac_acc__Specification13_spec__2_#t~ret28#1, __utac_acc__Specification13_spec__2_#t~ret29#1, __utac_acc__Specification13_spec__2_#t~ret30#1, __utac_acc__Specification13_spec__2_#t~ret31#1, __utac_acc__Specification13_spec__2_#t~ret32#1, __utac_acc__Specification13_spec__2_#t~ret33#1, __utac_acc__Specification13_spec__2_~tmp~3#1, __utac_acc__Specification13_spec__2_~tmp___0~0#1, __utac_acc__Specification13_spec__2_~tmp___1~0#1, __utac_acc__Specification13_spec__2_~tmp___2~0#1, __utac_acc__Specification13_spec__2_~tmp___3~0#1, __utac_acc__Specification13_spec__2_~tmp___4~0#1, __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1, __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1;havoc __utac_acc__Specification13_spec__2_~tmp~3#1;havoc __utac_acc__Specification13_spec__2_~tmp___0~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___1~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___2~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___3~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___4~0#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1;__utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 := 2 * ~maximumWeight~0;__utac_acc__Specification13_spec__2_~__cil_tmp8~5#1 := (if __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 < 0 && 0 != __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 % 3 then 1 + __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 / 3 else __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 / 3);" "assume ~weight~0 > __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1;" "assume 1 == ~prevDir~0;assume { :begin_inline_existInLiftCallsInDirection } true;existInLiftCallsInDirection_#in~d#1 := 0;havoc existInLiftCallsInDirection_#res#1;havoc existInLiftCallsInDirection_~d#1, existInLiftCallsInDirection_~retValue_acc~29#1, existInLiftCallsInDirection_~i~1#1, existInLiftCallsInDirection_~i___0~0#1;existInLiftCallsInDirection_~d#1 := existInLiftCallsInDirection_#in~d#1;havoc existInLiftCallsInDirection_~retValue_acc~29#1;havoc existInLiftCallsInDirection_~i~1#1;havoc existInLiftCallsInDirection_~i___0~0#1;" "assume !(1 == existInLiftCallsInDirection_~d#1);" "assume 0 == existInLiftCallsInDirection_~d#1;existInLiftCallsInDirection_~i___0~0#1 := 0;existInLiftCallsInDirection_~i___0~0#1 := ~currentFloorID~0 - 1;" [2025-01-10 07:36:19,054 INFO L754 eck$LassoCheckResult]: Loop: "assume existInLiftCallsInDirection_~i___0~0#1 >= 0;" "existInLiftCallsInDirection_~i___0~0#1 := 1 + ~currentFloorID~0;" "assume !(existInLiftCallsInDirection_~i___0~0#1 < 5);" "existInLiftCallsInDirection_~i___0~0#1 := existInLiftCallsInDirection_~i___0~0#1 - 1;" [2025-01-10 07:36:19,054 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:36:19,054 INFO L85 PathProgramCache]: Analyzing trace with hash -1018003242, now seen corresponding path program 1 times [2025-01-10 07:36:19,054 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:36:19,054 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [868695552] [2025-01-10 07:36:19,054 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-10 07:36:19,055 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:36:19,068 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 68 statements into 1 equivalence classes. [2025-01-10 07:36:19,074 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 68 of 68 statements. [2025-01-10 07:36:19,074 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:36:19,074 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:36:19,137 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-01-10 07:36:19,137 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-10 07:36:19,137 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [868695552] [2025-01-10 07:36:19,137 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [868695552] provided 1 perfect and 0 imperfect interpolant sequences [2025-01-10 07:36:19,137 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-01-10 07:36:19,138 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2025-01-10 07:36:19,138 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1383178537] [2025-01-10 07:36:19,138 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-01-10 07:36:19,138 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-01-10 07:36:19,138 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:36:19,138 INFO L85 PathProgramCache]: Analyzing trace with hash 274166626, now seen corresponding path program 8 times [2025-01-10 07:36:19,138 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:36:19,138 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1961775331] [2025-01-10 07:36:19,138 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-01-10 07:36:19,138 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:36:19,146 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 4 statements into 1 equivalence classes. [2025-01-10 07:36:19,147 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) and asserted 4 of 4 statements. [2025-01-10 07:36:19,147 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2025-01-10 07:36:19,147 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:36:19,147 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-01-10 07:36:19,148 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 4 statements into 1 equivalence classes. [2025-01-10 07:36:19,148 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 4 of 4 statements. [2025-01-10 07:36:19,149 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:36:19,149 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:36:19,153 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-01-10 07:36:19,170 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-10 07:36:19,170 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2025-01-10 07:36:19,170 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2025-01-10 07:36:19,170 INFO L87 Difference]: Start difference. First operand 9664 states and 17995 transitions. cyclomatic complexity: 8366 Second operand has 4 states, 4 states have (on average 17.0) internal successors, (68), 4 states have internal predecessors, (68), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-10 07:36:19,445 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-01-10 07:36:19,445 INFO L93 Difference]: Finished difference Result 9680 states and 18007 transitions. [2025-01-10 07:36:19,445 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 9680 states and 18007 transitions. [2025-01-10 07:36:19,479 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 2374 [2025-01-10 07:36:19,512 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 9680 states to 9680 states and 18007 transitions. [2025-01-10 07:36:19,512 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 9644 [2025-01-10 07:36:19,521 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 9644 [2025-01-10 07:36:19,521 INFO L73 IsDeterministic]: Start isDeterministic. Operand 9680 states and 18007 transitions. [2025-01-10 07:36:19,522 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-01-10 07:36:19,522 INFO L218 hiAutomatonCegarLoop]: Abstraction has 9680 states and 18007 transitions. [2025-01-10 07:36:19,540 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 9680 states and 18007 transitions. [2025-01-10 07:36:19,628 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 9680 to 9664. [2025-01-10 07:36:19,640 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9664 states, 9664 states have (on average 1.861237582781457) internal successors, (17987), 9663 states have internal predecessors, (17987), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-10 07:36:19,657 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9664 states to 9664 states and 17987 transitions. [2025-01-10 07:36:19,657 INFO L240 hiAutomatonCegarLoop]: Abstraction has 9664 states and 17987 transitions. [2025-01-10 07:36:19,658 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2025-01-10 07:36:19,660 INFO L432 stractBuchiCegarLoop]: Abstraction has 9664 states and 17987 transitions. [2025-01-10 07:36:19,660 INFO L338 stractBuchiCegarLoop]: ======== Iteration 11 ============ [2025-01-10 07:36:19,660 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 9664 states and 17987 transitions. [2025-01-10 07:36:19,686 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 2374 [2025-01-10 07:36:19,686 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-01-10 07:36:19,686 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-01-10 07:36:19,687 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] [2025-01-10 07:36:19,687 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1] [2025-01-10 07:36:19,687 INFO L752 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int#0(48, 1, 0, 1);call write~init~int#0(0, 1, 1, 1);call #Ultimate.allocInit(32, 2);call #Ultimate.allocInit(12, 3);call #Ultimate.allocInit(30, 4);call #Ultimate.allocInit(9, 5);call #Ultimate.allocInit(21, 6);call #Ultimate.allocInit(30, 7);call #Ultimate.allocInit(9, 8);call #Ultimate.allocInit(21, 9);call #Ultimate.allocInit(30, 10);call #Ultimate.allocInit(9, 11);call #Ultimate.allocInit(25, 12);call #Ultimate.allocInit(30, 13);call #Ultimate.allocInit(9, 14);call #Ultimate.allocInit(25, 15);call #Ultimate.allocInit(10, 16);call #Ultimate.allocInit(4, 17);call write~init~int#5(91, 17, 0, 1);call write~init~int#5(95, 17, 1, 1);call write~init~int#5(93, 17, 2, 1);call write~init~int#5(0, 17, 3, 1);call #Ultimate.allocInit(4, 18);call write~init~int#6(91, 18, 0, 1);call write~init~int#6(93, 18, 1, 1);call write~init~int#6(32, 18, 2, 1);call write~init~int#6(0, 18, 3, 1);call #Ultimate.allocInit(5, 19);call write~init~int#7(32, 19, 0, 1);call write~init~int#7(97, 19, 1, 1);call write~init~int#7(116, 19, 2, 1);call write~init~int#7(32, 19, 3, 1);call write~init~int#7(0, 19, 4, 1);call #Ultimate.allocInit(3, 20);call write~init~int#8(37, 20, 0, 1);call write~init~int#8(105, 20, 1, 1);call write~init~int#8(0, 20, 2, 1);call #Ultimate.allocInit(10, 21);call #Ultimate.allocInit(3, 22);call write~init~int#9(117, 22, 0, 1);call write~init~int#9(112, 22, 1, 1);call write~init~int#9(0, 22, 2, 1);call #Ultimate.allocInit(5, 23);call write~init~int#10(100, 23, 0, 1);call write~init~int#10(111, 23, 1, 1);call write~init~int#10(119, 23, 2, 1);call write~init~int#10(110, 23, 3, 1);call write~init~int#10(0, 23, 4, 1);call #Ultimate.allocInit(7, 24);call write~init~int#11(32, 24, 0, 1);call write~init~int#11(73, 24, 1, 1);call write~init~int#11(76, 24, 2, 1);call write~init~int#11(95, 24, 3, 1);call write~init~int#11(112, 24, 4, 1);call write~init~int#11(58, 24, 5, 1);call write~init~int#11(0, 24, 6, 1);call #Ultimate.allocInit(4, 25);call write~init~int#12(32, 25, 0, 1);call write~init~int#12(37, 25, 1, 1);call write~init~int#12(105, 25, 2, 1);call write~init~int#12(0, 25, 3, 1);call #Ultimate.allocInit(4, 26);call write~init~int#13(32, 26, 0, 1);call write~init~int#13(37, 26, 1, 1);call write~init~int#13(105, 26, 2, 1);call write~init~int#13(0, 26, 3, 1);call #Ultimate.allocInit(4, 27);call write~init~int#14(32, 27, 0, 1);call write~init~int#14(37, 27, 1, 1);call write~init~int#14(105, 27, 2, 1);call write~init~int#14(0, 27, 3, 1);call #Ultimate.allocInit(4, 28);call write~init~int#15(32, 28, 0, 1);call write~init~int#15(37, 28, 1, 1);call write~init~int#15(105, 28, 2, 1);call write~init~int#15(0, 28, 3, 1);call #Ultimate.allocInit(4, 29);call write~init~int#16(32, 29, 0, 1);call write~init~int#16(37, 29, 1, 1);call write~init~int#16(105, 29, 2, 1);call write~init~int#16(0, 29, 3, 1);call #Ultimate.allocInit(6, 30);call write~init~int#17(32, 30, 0, 1);call write~init~int#17(70, 30, 1, 1);call write~init~int#17(95, 30, 2, 1);call write~init~int#17(112, 30, 3, 1);call write~init~int#17(58, 30, 4, 1);call write~init~int#17(0, 30, 5, 1);call #Ultimate.allocInit(4, 31);call write~init~int#18(32, 31, 0, 1);call write~init~int#18(37, 31, 1, 1);call write~init~int#18(105, 31, 2, 1);call write~init~int#18(0, 31, 3, 1);call #Ultimate.allocInit(4, 32);call write~init~int#19(32, 32, 0, 1);call write~init~int#19(37, 32, 1, 1);call write~init~int#19(105, 32, 2, 1);call write~init~int#19(0, 32, 3, 1);call #Ultimate.allocInit(4, 33);call write~init~int#1(32, 33, 0, 1);call write~init~int#1(37, 33, 1, 1);call write~init~int#1(105, 33, 2, 1);call write~init~int#1(0, 33, 3, 1);call #Ultimate.allocInit(4, 34);call write~init~int#2(32, 34, 0, 1);call write~init~int#2(37, 34, 1, 1);call write~init~int#2(105, 34, 2, 1);call write~init~int#2(0, 34, 3, 1);call #Ultimate.allocInit(4, 35);call write~init~int#3(32, 35, 0, 1);call write~init~int#3(37, 35, 1, 1);call write~init~int#3(105, 35, 2, 1);call write~init~int#3(0, 35, 3, 1);call #Ultimate.allocInit(2, 36);call write~init~int#4(10, 36, 0, 1);call write~init~int#4(0, 36, 1, 1);~head~0.base, ~head~0.offset := 0, 0;~weight~0 := 0;~maximumWeight~0 := 100;~executiveFloor~0 := 4;~prevDir~0 := 0;~calls_0~0 := 0;~calls_1~0 := 0;~calls_2~0 := 0;~calls_3~0 := 0;~calls_4~0 := 0;~personOnFloor_0_0~0 := 0;~personOnFloor_0_1~0 := 0;~personOnFloor_0_2~0 := 0;~personOnFloor_0_3~0 := 0;~personOnFloor_0_4~0 := 0;~personOnFloor_1_0~0 := 0;~personOnFloor_1_1~0 := 0;~personOnFloor_1_2~0 := 0;~personOnFloor_1_3~0 := 0;~personOnFloor_1_4~0 := 0;~personOnFloor_2_0~0 := 0;~personOnFloor_2_1~0 := 0;~personOnFloor_2_2~0 := 0;~personOnFloor_2_3~0 := 0;~personOnFloor_2_4~0 := 0;~personOnFloor_3_0~0 := 0;~personOnFloor_3_1~0 := 0;~personOnFloor_3_2~0 := 0;~personOnFloor_3_3~0 := 0;~personOnFloor_3_4~0 := 0;~personOnFloor_4_0~0 := 0;~personOnFloor_4_1~0 := 0;~personOnFloor_4_2~0 := 0;~personOnFloor_4_3~0 := 0;~personOnFloor_4_4~0 := 0;~personOnFloor_5_0~0 := 0;~personOnFloor_5_1~0 := 0;~personOnFloor_5_2~0 := 0;~personOnFloor_5_3~0 := 0;~personOnFloor_5_4~0 := 0;~cleanupTimeShifts~0 := 12;~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;" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret47#1, main_~retValue_acc~10#1, main_~tmp~12#1;havoc main_~retValue_acc~10#1;havoc main_~tmp~12#1;assume { :begin_inline_select_helpers } true;" "assume { :end_inline_select_helpers } true;assume { :begin_inline_select_features } true;" "assume { :end_inline_select_features } true;assume { :begin_inline_valid_product } true;havoc valid_product_#res#1;havoc valid_product_~retValue_acc~12#1;havoc valid_product_~retValue_acc~12#1;valid_product_~retValue_acc~12#1 := 1;valid_product_#res#1 := valid_product_~retValue_acc~12#1;" "main_#t~ret47#1 := valid_product_#res#1;havoc valid_product_~retValue_acc~12#1;assume { :end_inline_valid_product } true;main_~tmp~12#1 := main_#t~ret47#1;havoc main_#t~ret47#1;" "assume 0 != main_~tmp~12#1;assume { :begin_inline_setup } true;" "assume { :end_inline_setup } true;assume { :begin_inline_runTest } true;assume { :begin_inline_test } true;assume { :begin_inline_aliceCall } true;havoc aliceCall_#t~ret36#1, aliceCall_~tmp~5#1;havoc aliceCall_~tmp~5#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 1;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~4#1;" "assume !(0 == getOrigin_~person#1);" "assume 1 == getOrigin_~person#1;getOrigin_~retValue_acc~4#1 := 3;getOrigin_#res#1 := getOrigin_~retValue_acc~4#1;" "aliceCall_#t~ret36#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;aliceCall_~tmp~5#1 := aliceCall_#t~ret36#1;havoc aliceCall_#t~ret36#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 1, aliceCall_~tmp~5#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1;" "assume !(0 == initPersonOnFloor_~floor#1);" "assume !(1 == initPersonOnFloor_~floor#1);" "assume !(2 == initPersonOnFloor_~floor#1);" "assume 3 == initPersonOnFloor_~floor#1;" "assume !(0 == initPersonOnFloor_~person#1);" "assume 1 == initPersonOnFloor_~person#1;~personOnFloor_1_3~0 := 1;" "assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1;" "assume !(0 == callOnFloor_~floorID#1);" "assume !(1 == callOnFloor_~floorID#1);" "assume !(2 == callOnFloor_~floorID#1);" "assume 3 == callOnFloor_~floorID#1;~calls_3~0 := 1;" "havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true;" "havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true;" "havoc aliceCall_#t~ret36#1, aliceCall_~tmp~5#1;assume { :end_inline_aliceCall } true;assume { :begin_inline_angelinaCall } true;havoc angelinaCall_#t~ret37#1, angelinaCall_~tmp~6#1;havoc angelinaCall_~tmp~6#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 2;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~4#1;" "assume !(0 == getOrigin_~person#1);" "assume !(1 == getOrigin_~person#1);" "assume 2 == getOrigin_~person#1;getOrigin_~retValue_acc~4#1 := 2;getOrigin_#res#1 := getOrigin_~retValue_acc~4#1;" "angelinaCall_#t~ret37#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;angelinaCall_~tmp~6#1 := angelinaCall_#t~ret37#1;havoc angelinaCall_#t~ret37#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 2, angelinaCall_~tmp~6#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1;" "assume !(0 == initPersonOnFloor_~floor#1);" "assume !(1 == initPersonOnFloor_~floor#1);" "assume 2 == initPersonOnFloor_~floor#1;" "assume !(0 == initPersonOnFloor_~person#1);" "assume !(1 == initPersonOnFloor_~person#1);" "assume 2 == initPersonOnFloor_~person#1;~personOnFloor_2_2~0 := 1;" "assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1;" "assume !(0 == callOnFloor_~floorID#1);" "assume !(1 == callOnFloor_~floorID#1);" "assume 2 == callOnFloor_~floorID#1;~calls_2~0 := 1;" "havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true;" "havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true;" "havoc angelinaCall_#t~ret37#1, angelinaCall_~tmp~6#1;assume { :end_inline_angelinaCall } true;assume { :begin_inline_threeTS } true;assume { :begin_inline_timeShift } true;havoc timeShift_#t~ret98#1, timeShift_#t~ret99#1, timeShift_#t~ret100#1, timeShift_#t~ret101#1, timeShift_#t~ret102#1, timeShift_#t~ret103#1, timeShift_#t~ret104#1, timeShift_#t~ret105#1, timeShift_#t~ret106#1, timeShift_#t~ret107#1, timeShift_#t~ret108#1, timeShift_~tmp~26#1, timeShift_~tmp___0~10#1, timeShift_~tmp___1~5#1, timeShift_~tmp___2~5#1, timeShift_~tmp___3~4#1, timeShift_~tmp___4~3#1, timeShift_~tmp___5~2#1, timeShift_~tmp___6~2#1, timeShift_~tmp___7~2#1, timeShift_~tmp___8~2#1, timeShift_~tmp___9~2#1;havoc timeShift_~tmp~26#1;havoc timeShift_~tmp___0~10#1;havoc timeShift_~tmp___1~5#1;havoc timeShift_~tmp___2~5#1;havoc timeShift_~tmp___3~4#1;havoc timeShift_~tmp___4~3#1;havoc timeShift_~tmp___5~2#1;havoc timeShift_~tmp___6~2#1;havoc timeShift_~tmp___7~2#1;havoc timeShift_~tmp___8~2#1;havoc timeShift_~tmp___9~2#1;assume { :begin_inline___utac_acc__Specification13_spec__1 } true;havoc __utac_acc__Specification13_spec__1_#t~ret27#1;assume { :begin_inline_getCurrentHeading } true;havoc getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~17#1;havoc getCurrentHeading_~retValue_acc~17#1;getCurrentHeading_~retValue_acc~17#1 := ~currentHeading~0;getCurrentHeading_#res#1 := getCurrentHeading_~retValue_acc~17#1;" "__utac_acc__Specification13_spec__1_#t~ret27#1 := getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~17#1;assume { :end_inline_getCurrentHeading } true;~prevDir~0 := __utac_acc__Specification13_spec__1_#t~ret27#1;havoc __utac_acc__Specification13_spec__1_#t~ret27#1;" "havoc __utac_acc__Specification13_spec__1_#t~ret27#1;assume { :end_inline___utac_acc__Specification13_spec__1 } true;assume { :begin_inline_stopRequestedAtCurrentFloor } true;havoc stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1, stopRequestedAtCurrentFloor_#t~ret83#1, stopRequestedAtCurrentFloor_#t~ret84#1, stopRequestedAtCurrentFloor_#t~ret85#1, stopRequestedAtCurrentFloor_~retValue_acc~27#1, stopRequestedAtCurrentFloor_~tmp~24#1, stopRequestedAtCurrentFloor_~tmp___0~8#1;havoc stopRequestedAtCurrentFloor_~retValue_acc~27#1;havoc stopRequestedAtCurrentFloor_~tmp~24#1;havoc stopRequestedAtCurrentFloor_~tmp___0~8#1;assume { :begin_inline_isExecutiveFloorCalling } true;havoc isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;havoc isExecutiveFloorCalling_~retValue_acc~30#1;assume { :begin_inline_isFloorCalling } true;isFloorCalling_#in~floorID#1 := ~executiveFloor~0;havoc isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;isFloorCalling_~floorID#1 := isFloorCalling_#in~floorID#1;havoc isFloorCalling_~retValue_acc~6#1;" "assume 0 == isFloorCalling_~floorID#1;isFloorCalling_~retValue_acc~6#1 := ~calls_0~0;isFloorCalling_#res#1 := isFloorCalling_~retValue_acc~6#1;" "isExecutiveFloorCalling_#t~ret135#1 := isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;havoc isFloorCalling_#in~floorID#1;assume { :end_inline_isFloorCalling } true;isExecutiveFloorCalling_~retValue_acc~30#1 := isExecutiveFloorCalling_#t~ret135#1;havoc isExecutiveFloorCalling_#t~ret135#1;isExecutiveFloorCalling_#res#1 := isExecutiveFloorCalling_~retValue_acc~30#1;" "stopRequestedAtCurrentFloor_#t~ret82#1 := isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;assume { :end_inline_isExecutiveFloorCalling } true;stopRequestedAtCurrentFloor_~tmp~24#1 := stopRequestedAtCurrentFloor_#t~ret82#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1;" "assume 0 != stopRequestedAtCurrentFloor_~tmp~24#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;havoc getCurrentFloorID_~retValue_acc~14#1;getCurrentFloorID_~retValue_acc~14#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~14#1;" "stopRequestedAtCurrentFloor_#t~ret83#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedAtCurrentFloor_~tmp___0~8#1 := stopRequestedAtCurrentFloor_#t~ret83#1;havoc stopRequestedAtCurrentFloor_#t~ret83#1;" "assume !(~executiveFloor~0 == stopRequestedAtCurrentFloor_~tmp___0~8#1);stopRequestedAtCurrentFloor_~retValue_acc~27#1 := 0;stopRequestedAtCurrentFloor_#res#1 := stopRequestedAtCurrentFloor_~retValue_acc~27#1;" "timeShift_#t~ret98#1 := stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1, stopRequestedAtCurrentFloor_#t~ret83#1, stopRequestedAtCurrentFloor_#t~ret84#1, stopRequestedAtCurrentFloor_#t~ret85#1, stopRequestedAtCurrentFloor_~retValue_acc~27#1, stopRequestedAtCurrentFloor_~tmp~24#1, stopRequestedAtCurrentFloor_~tmp___0~8#1;assume { :end_inline_stopRequestedAtCurrentFloor } true;timeShift_~tmp___9~2#1 := timeShift_#t~ret98#1;havoc timeShift_#t~ret98#1;" "assume !(0 != timeShift_~tmp___9~2#1);" "assume 1 == ~doorState~0;~doorState~0 := 0;" "assume { :begin_inline_stopRequestedInDirection } true;stopRequestedInDirection_#in~dir#1, stopRequestedInDirection_#in~respectFloorCalls#1, stopRequestedInDirection_#in~respectInLiftCalls#1 := ~currentHeading~0, 1, 1;havoc stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret73#1, stopRequestedInDirection_#t~ret74#1, stopRequestedInDirection_#t~ret75#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~23#1, stopRequestedInDirection_~tmp~20#1, stopRequestedInDirection_~tmp___0~5#1, stopRequestedInDirection_~__cil_tmp7~6#1, stopRequestedInDirection_~__cil_tmp8~7#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~23#1;havoc stopRequestedInDirection_~tmp~20#1;havoc stopRequestedInDirection_~tmp___0~5#1;havoc stopRequestedInDirection_~__cil_tmp7~6#1;havoc stopRequestedInDirection_~__cil_tmp8~7#1;assume { :begin_inline_isExecutiveFloorCalling } true;havoc isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;havoc isExecutiveFloorCalling_~retValue_acc~30#1;assume { :begin_inline_isFloorCalling } true;isFloorCalling_#in~floorID#1 := ~executiveFloor~0;havoc isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;isFloorCalling_~floorID#1 := isFloorCalling_#in~floorID#1;havoc isFloorCalling_~retValue_acc~6#1;" "assume 0 == isFloorCalling_~floorID#1;isFloorCalling_~retValue_acc~6#1 := ~calls_0~0;isFloorCalling_#res#1 := isFloorCalling_~retValue_acc~6#1;" "isExecutiveFloorCalling_#t~ret135#1 := isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;havoc isFloorCalling_#in~floorID#1;assume { :end_inline_isFloorCalling } true;isExecutiveFloorCalling_~retValue_acc~30#1 := isExecutiveFloorCalling_#t~ret135#1;havoc isExecutiveFloorCalling_#t~ret135#1;isExecutiveFloorCalling_#res#1 := isExecutiveFloorCalling_~retValue_acc~30#1;" "stopRequestedInDirection_#t~ret73#1 := isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;assume { :end_inline_isExecutiveFloorCalling } true;stopRequestedInDirection_~tmp___0~5#1 := stopRequestedInDirection_#t~ret73#1;havoc stopRequestedInDirection_#t~ret73#1;" "assume 0 != stopRequestedInDirection_~tmp___0~5#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;havoc getCurrentFloorID_~retValue_acc~14#1;getCurrentFloorID_~retValue_acc~14#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~14#1;" "stopRequestedInDirection_#t~ret74#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedInDirection_~tmp~20#1 := stopRequestedInDirection_#t~ret74#1;havoc stopRequestedInDirection_#t~ret74#1;stopRequestedInDirection_~__cil_tmp7~6#1 := (if 1 == stopRequestedInDirection_~dir#1 then 1 else 0);stopRequestedInDirection_~__cil_tmp8~7#1 := (if stopRequestedInDirection_~tmp~20#1 < ~executiveFloor~0 then 1 else 0);stopRequestedInDirection_~retValue_acc~23#1 := (if stopRequestedInDirection_~__cil_tmp8~7#1 == stopRequestedInDirection_~__cil_tmp7~6#1 then 1 else 0);stopRequestedInDirection_#res#1 := stopRequestedInDirection_~retValue_acc~23#1;" "timeShift_#t~ret105#1 := stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret73#1, stopRequestedInDirection_#t~ret74#1, stopRequestedInDirection_#t~ret75#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~23#1, stopRequestedInDirection_~tmp~20#1, stopRequestedInDirection_~tmp___0~5#1, stopRequestedInDirection_~__cil_tmp7~6#1, stopRequestedInDirection_~__cil_tmp8~7#1;havoc stopRequestedInDirection_#in~dir#1, stopRequestedInDirection_#in~respectFloorCalls#1, stopRequestedInDirection_#in~respectInLiftCalls#1;assume { :end_inline_stopRequestedInDirection } true;timeShift_~tmp___8~2#1 := timeShift_#t~ret105#1;havoc timeShift_#t~ret105#1;" "assume 0 != timeShift_~tmp___8~2#1;assume { :begin_inline_continueInDirection } true;continueInDirection_#in~dir#1 := ~currentHeading~0;havoc continueInDirection_#t~ret76#1, continueInDirection_~dir#1, continueInDirection_~tmp~21#1;continueInDirection_~dir#1 := continueInDirection_#in~dir#1;havoc continueInDirection_~tmp~21#1;~currentHeading~0 := continueInDirection_~dir#1;" "assume !(1 == ~currentHeading~0);" "assume !(0 == ~currentFloorID~0);" "assume !(1 == ~currentHeading~0);~currentFloorID~0 := ~currentFloorID~0 - 1;" "havoc continueInDirection_#t~ret76#1, continueInDirection_~dir#1, continueInDirection_~tmp~21#1;havoc continueInDirection_#in~dir#1;assume { :end_inline_continueInDirection } true;" "assume { :begin_inline___utac_acc__Specification13_spec__2 } true;havoc __utac_acc__Specification13_spec__2_#t~ret28#1, __utac_acc__Specification13_spec__2_#t~ret29#1, __utac_acc__Specification13_spec__2_#t~ret30#1, __utac_acc__Specification13_spec__2_#t~ret31#1, __utac_acc__Specification13_spec__2_#t~ret32#1, __utac_acc__Specification13_spec__2_#t~ret33#1, __utac_acc__Specification13_spec__2_~tmp~3#1, __utac_acc__Specification13_spec__2_~tmp___0~0#1, __utac_acc__Specification13_spec__2_~tmp___1~0#1, __utac_acc__Specification13_spec__2_~tmp___2~0#1, __utac_acc__Specification13_spec__2_~tmp___3~0#1, __utac_acc__Specification13_spec__2_~tmp___4~0#1, __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1, __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1;havoc __utac_acc__Specification13_spec__2_~tmp~3#1;havoc __utac_acc__Specification13_spec__2_~tmp___0~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___1~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___2~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___3~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___4~0#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1;__utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 := 2 * ~maximumWeight~0;__utac_acc__Specification13_spec__2_~__cil_tmp8~5#1 := (if __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 < 0 && 0 != __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 % 3 then 1 + __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 / 3 else __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 / 3);" "assume ~weight~0 > __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1;" "assume 1 == ~prevDir~0;assume { :begin_inline_existInLiftCallsInDirection } true;existInLiftCallsInDirection_#in~d#1 := 0;havoc existInLiftCallsInDirection_#res#1;havoc existInLiftCallsInDirection_~d#1, existInLiftCallsInDirection_~retValue_acc~29#1, existInLiftCallsInDirection_~i~1#1, existInLiftCallsInDirection_~i___0~0#1;existInLiftCallsInDirection_~d#1 := existInLiftCallsInDirection_#in~d#1;havoc existInLiftCallsInDirection_~retValue_acc~29#1;havoc existInLiftCallsInDirection_~i~1#1;havoc existInLiftCallsInDirection_~i___0~0#1;" "assume !(1 == existInLiftCallsInDirection_~d#1);" "assume 0 == existInLiftCallsInDirection_~d#1;existInLiftCallsInDirection_~i___0~0#1 := 0;existInLiftCallsInDirection_~i___0~0#1 := ~currentFloorID~0 - 1;" [2025-01-10 07:36:19,688 INFO L754 eck$LassoCheckResult]: Loop: "assume existInLiftCallsInDirection_~i___0~0#1 >= 0;" "existInLiftCallsInDirection_~i___0~0#1 := 1 + ~currentFloorID~0;" "assume !(existInLiftCallsInDirection_~i___0~0#1 < 5);" "existInLiftCallsInDirection_~i___0~0#1 := existInLiftCallsInDirection_~i___0~0#1 - 1;" [2025-01-10 07:36:19,689 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:36:19,689 INFO L85 PathProgramCache]: Analyzing trace with hash 1437608093, now seen corresponding path program 1 times [2025-01-10 07:36:19,689 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:36:19,689 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1682010607] [2025-01-10 07:36:19,689 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-10 07:36:19,689 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:36:19,704 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 69 statements into 1 equivalence classes. [2025-01-10 07:36:19,710 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 69 of 69 statements. [2025-01-10 07:36:19,710 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:36:19,710 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:36:19,765 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-01-10 07:36:19,765 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-10 07:36:19,765 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1682010607] [2025-01-10 07:36:19,765 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1682010607] provided 1 perfect and 0 imperfect interpolant sequences [2025-01-10 07:36:19,765 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-01-10 07:36:19,765 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2025-01-10 07:36:19,765 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [798265366] [2025-01-10 07:36:19,765 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-01-10 07:36:19,766 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-01-10 07:36:19,766 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:36:19,766 INFO L85 PathProgramCache]: Analyzing trace with hash 274166626, now seen corresponding path program 9 times [2025-01-10 07:36:19,766 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:36:19,766 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [424080019] [2025-01-10 07:36:19,766 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2025-01-10 07:36:19,766 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:36:19,774 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 partitioned 4 statements into 1 equivalence classes. [2025-01-10 07:36:19,775 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 1 check-sat command(s) and asserted 4 of 4 statements. [2025-01-10 07:36:19,775 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 1 check-sat command(s) [2025-01-10 07:36:19,775 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:36:19,775 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-01-10 07:36:19,777 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 4 statements into 1 equivalence classes. [2025-01-10 07:36:19,778 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 4 of 4 statements. [2025-01-10 07:36:19,778 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:36:19,778 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:36:19,782 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-01-10 07:36:19,797 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-10 07:36:19,798 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2025-01-10 07:36:19,798 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2025-01-10 07:36:19,798 INFO L87 Difference]: Start difference. First operand 9664 states and 17987 transitions. cyclomatic complexity: 8358 Second operand has 4 states, 4 states have (on average 17.25) internal successors, (69), 3 states have internal predecessors, (69), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-10 07:36:22,565 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-01-10 07:36:22,565 INFO L93 Difference]: Finished difference Result 9664 states and 17607 transitions. [2025-01-10 07:36:22,566 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 9664 states and 17607 transitions. [2025-01-10 07:36:22,594 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 2374 [2025-01-10 07:36:22,620 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 9664 states to 9664 states and 17607 transitions. [2025-01-10 07:36:22,620 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 9628 [2025-01-10 07:36:22,628 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 9628 [2025-01-10 07:36:22,628 INFO L73 IsDeterministic]: Start isDeterministic. Operand 9664 states and 17607 transitions. [2025-01-10 07:36:22,629 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-01-10 07:36:22,629 INFO L218 hiAutomatonCegarLoop]: Abstraction has 9664 states and 17607 transitions. [2025-01-10 07:36:22,640 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 9664 states and 17607 transitions. [2025-01-10 07:36:22,713 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 9664 to 9664. [2025-01-10 07:36:22,724 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9664 states, 9664 states have (on average 1.8219163907284768) internal successors, (17607), 9663 states have internal predecessors, (17607), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-10 07:36:22,738 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9664 states to 9664 states and 17607 transitions. [2025-01-10 07:36:22,738 INFO L240 hiAutomatonCegarLoop]: Abstraction has 9664 states and 17607 transitions. [2025-01-10 07:36:22,742 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2025-01-10 07:36:22,742 INFO L432 stractBuchiCegarLoop]: Abstraction has 9664 states and 17607 transitions. [2025-01-10 07:36:22,742 INFO L338 stractBuchiCegarLoop]: ======== Iteration 12 ============ [2025-01-10 07:36:22,742 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 9664 states and 17607 transitions. [2025-01-10 07:36:22,765 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 2374 [2025-01-10 07:36:22,765 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-01-10 07:36:22,765 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-01-10 07:36:22,766 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-01-10 07:36:22,766 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1] [2025-01-10 07:36:22,766 INFO L752 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int#0(48, 1, 0, 1);call write~init~int#0(0, 1, 1, 1);call #Ultimate.allocInit(32, 2);call #Ultimate.allocInit(12, 3);call #Ultimate.allocInit(30, 4);call #Ultimate.allocInit(9, 5);call #Ultimate.allocInit(21, 6);call #Ultimate.allocInit(30, 7);call #Ultimate.allocInit(9, 8);call #Ultimate.allocInit(21, 9);call #Ultimate.allocInit(30, 10);call #Ultimate.allocInit(9, 11);call #Ultimate.allocInit(25, 12);call #Ultimate.allocInit(30, 13);call #Ultimate.allocInit(9, 14);call #Ultimate.allocInit(25, 15);call #Ultimate.allocInit(10, 16);call #Ultimate.allocInit(4, 17);call write~init~int#5(91, 17, 0, 1);call write~init~int#5(95, 17, 1, 1);call write~init~int#5(93, 17, 2, 1);call write~init~int#5(0, 17, 3, 1);call #Ultimate.allocInit(4, 18);call write~init~int#6(91, 18, 0, 1);call write~init~int#6(93, 18, 1, 1);call write~init~int#6(32, 18, 2, 1);call write~init~int#6(0, 18, 3, 1);call #Ultimate.allocInit(5, 19);call write~init~int#7(32, 19, 0, 1);call write~init~int#7(97, 19, 1, 1);call write~init~int#7(116, 19, 2, 1);call write~init~int#7(32, 19, 3, 1);call write~init~int#7(0, 19, 4, 1);call #Ultimate.allocInit(3, 20);call write~init~int#8(37, 20, 0, 1);call write~init~int#8(105, 20, 1, 1);call write~init~int#8(0, 20, 2, 1);call #Ultimate.allocInit(10, 21);call #Ultimate.allocInit(3, 22);call write~init~int#9(117, 22, 0, 1);call write~init~int#9(112, 22, 1, 1);call write~init~int#9(0, 22, 2, 1);call #Ultimate.allocInit(5, 23);call write~init~int#10(100, 23, 0, 1);call write~init~int#10(111, 23, 1, 1);call write~init~int#10(119, 23, 2, 1);call write~init~int#10(110, 23, 3, 1);call write~init~int#10(0, 23, 4, 1);call #Ultimate.allocInit(7, 24);call write~init~int#11(32, 24, 0, 1);call write~init~int#11(73, 24, 1, 1);call write~init~int#11(76, 24, 2, 1);call write~init~int#11(95, 24, 3, 1);call write~init~int#11(112, 24, 4, 1);call write~init~int#11(58, 24, 5, 1);call write~init~int#11(0, 24, 6, 1);call #Ultimate.allocInit(4, 25);call write~init~int#12(32, 25, 0, 1);call write~init~int#12(37, 25, 1, 1);call write~init~int#12(105, 25, 2, 1);call write~init~int#12(0, 25, 3, 1);call #Ultimate.allocInit(4, 26);call write~init~int#13(32, 26, 0, 1);call write~init~int#13(37, 26, 1, 1);call write~init~int#13(105, 26, 2, 1);call write~init~int#13(0, 26, 3, 1);call #Ultimate.allocInit(4, 27);call write~init~int#14(32, 27, 0, 1);call write~init~int#14(37, 27, 1, 1);call write~init~int#14(105, 27, 2, 1);call write~init~int#14(0, 27, 3, 1);call #Ultimate.allocInit(4, 28);call write~init~int#15(32, 28, 0, 1);call write~init~int#15(37, 28, 1, 1);call write~init~int#15(105, 28, 2, 1);call write~init~int#15(0, 28, 3, 1);call #Ultimate.allocInit(4, 29);call write~init~int#16(32, 29, 0, 1);call write~init~int#16(37, 29, 1, 1);call write~init~int#16(105, 29, 2, 1);call write~init~int#16(0, 29, 3, 1);call #Ultimate.allocInit(6, 30);call write~init~int#17(32, 30, 0, 1);call write~init~int#17(70, 30, 1, 1);call write~init~int#17(95, 30, 2, 1);call write~init~int#17(112, 30, 3, 1);call write~init~int#17(58, 30, 4, 1);call write~init~int#17(0, 30, 5, 1);call #Ultimate.allocInit(4, 31);call write~init~int#18(32, 31, 0, 1);call write~init~int#18(37, 31, 1, 1);call write~init~int#18(105, 31, 2, 1);call write~init~int#18(0, 31, 3, 1);call #Ultimate.allocInit(4, 32);call write~init~int#19(32, 32, 0, 1);call write~init~int#19(37, 32, 1, 1);call write~init~int#19(105, 32, 2, 1);call write~init~int#19(0, 32, 3, 1);call #Ultimate.allocInit(4, 33);call write~init~int#1(32, 33, 0, 1);call write~init~int#1(37, 33, 1, 1);call write~init~int#1(105, 33, 2, 1);call write~init~int#1(0, 33, 3, 1);call #Ultimate.allocInit(4, 34);call write~init~int#2(32, 34, 0, 1);call write~init~int#2(37, 34, 1, 1);call write~init~int#2(105, 34, 2, 1);call write~init~int#2(0, 34, 3, 1);call #Ultimate.allocInit(4, 35);call write~init~int#3(32, 35, 0, 1);call write~init~int#3(37, 35, 1, 1);call write~init~int#3(105, 35, 2, 1);call write~init~int#3(0, 35, 3, 1);call #Ultimate.allocInit(2, 36);call write~init~int#4(10, 36, 0, 1);call write~init~int#4(0, 36, 1, 1);~head~0.base, ~head~0.offset := 0, 0;~weight~0 := 0;~maximumWeight~0 := 100;~executiveFloor~0 := 4;~prevDir~0 := 0;~calls_0~0 := 0;~calls_1~0 := 0;~calls_2~0 := 0;~calls_3~0 := 0;~calls_4~0 := 0;~personOnFloor_0_0~0 := 0;~personOnFloor_0_1~0 := 0;~personOnFloor_0_2~0 := 0;~personOnFloor_0_3~0 := 0;~personOnFloor_0_4~0 := 0;~personOnFloor_1_0~0 := 0;~personOnFloor_1_1~0 := 0;~personOnFloor_1_2~0 := 0;~personOnFloor_1_3~0 := 0;~personOnFloor_1_4~0 := 0;~personOnFloor_2_0~0 := 0;~personOnFloor_2_1~0 := 0;~personOnFloor_2_2~0 := 0;~personOnFloor_2_3~0 := 0;~personOnFloor_2_4~0 := 0;~personOnFloor_3_0~0 := 0;~personOnFloor_3_1~0 := 0;~personOnFloor_3_2~0 := 0;~personOnFloor_3_3~0 := 0;~personOnFloor_3_4~0 := 0;~personOnFloor_4_0~0 := 0;~personOnFloor_4_1~0 := 0;~personOnFloor_4_2~0 := 0;~personOnFloor_4_3~0 := 0;~personOnFloor_4_4~0 := 0;~personOnFloor_5_0~0 := 0;~personOnFloor_5_1~0 := 0;~personOnFloor_5_2~0 := 0;~personOnFloor_5_3~0 := 0;~personOnFloor_5_4~0 := 0;~cleanupTimeShifts~0 := 12;~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;" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret47#1, main_~retValue_acc~10#1, main_~tmp~12#1;havoc main_~retValue_acc~10#1;havoc main_~tmp~12#1;assume { :begin_inline_select_helpers } true;" "assume { :end_inline_select_helpers } true;assume { :begin_inline_select_features } true;" "assume { :end_inline_select_features } true;assume { :begin_inline_valid_product } true;havoc valid_product_#res#1;havoc valid_product_~retValue_acc~12#1;havoc valid_product_~retValue_acc~12#1;valid_product_~retValue_acc~12#1 := 1;valid_product_#res#1 := valid_product_~retValue_acc~12#1;" "main_#t~ret47#1 := valid_product_#res#1;havoc valid_product_~retValue_acc~12#1;assume { :end_inline_valid_product } true;main_~tmp~12#1 := main_#t~ret47#1;havoc main_#t~ret47#1;" "assume 0 != main_~tmp~12#1;assume { :begin_inline_setup } true;" "assume { :end_inline_setup } true;assume { :begin_inline_runTest } true;assume { :begin_inline_test } true;assume { :begin_inline_aliceCall } true;havoc aliceCall_#t~ret36#1, aliceCall_~tmp~5#1;havoc aliceCall_~tmp~5#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 1;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~4#1;" "assume !(0 == getOrigin_~person#1);" "assume 1 == getOrigin_~person#1;getOrigin_~retValue_acc~4#1 := 3;getOrigin_#res#1 := getOrigin_~retValue_acc~4#1;" "aliceCall_#t~ret36#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;aliceCall_~tmp~5#1 := aliceCall_#t~ret36#1;havoc aliceCall_#t~ret36#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 1, aliceCall_~tmp~5#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1;" "assume !(0 == initPersonOnFloor_~floor#1);" "assume !(1 == initPersonOnFloor_~floor#1);" "assume !(2 == initPersonOnFloor_~floor#1);" "assume 3 == initPersonOnFloor_~floor#1;" "assume !(0 == initPersonOnFloor_~person#1);" "assume 1 == initPersonOnFloor_~person#1;~personOnFloor_1_3~0 := 1;" "assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1;" "assume !(0 == callOnFloor_~floorID#1);" "assume !(1 == callOnFloor_~floorID#1);" "assume !(2 == callOnFloor_~floorID#1);" "assume 3 == callOnFloor_~floorID#1;~calls_3~0 := 1;" "havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true;" "havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true;" "havoc aliceCall_#t~ret36#1, aliceCall_~tmp~5#1;assume { :end_inline_aliceCall } true;assume { :begin_inline_angelinaCall } true;havoc angelinaCall_#t~ret37#1, angelinaCall_~tmp~6#1;havoc angelinaCall_~tmp~6#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 2;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~4#1;" "assume !(0 == getOrigin_~person#1);" "assume !(1 == getOrigin_~person#1);" "assume 2 == getOrigin_~person#1;getOrigin_~retValue_acc~4#1 := 2;getOrigin_#res#1 := getOrigin_~retValue_acc~4#1;" "angelinaCall_#t~ret37#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;angelinaCall_~tmp~6#1 := angelinaCall_#t~ret37#1;havoc angelinaCall_#t~ret37#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 2, angelinaCall_~tmp~6#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1;" "assume !(0 == initPersonOnFloor_~floor#1);" "assume !(1 == initPersonOnFloor_~floor#1);" "assume 2 == initPersonOnFloor_~floor#1;" "assume !(0 == initPersonOnFloor_~person#1);" "assume !(1 == initPersonOnFloor_~person#1);" "assume 2 == initPersonOnFloor_~person#1;~personOnFloor_2_2~0 := 1;" "assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1;" "assume !(0 == callOnFloor_~floorID#1);" "assume !(1 == callOnFloor_~floorID#1);" "assume 2 == callOnFloor_~floorID#1;~calls_2~0 := 1;" "havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true;" "havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true;" "havoc angelinaCall_#t~ret37#1, angelinaCall_~tmp~6#1;assume { :end_inline_angelinaCall } true;assume { :begin_inline_threeTS } true;assume { :begin_inline_timeShift } true;havoc timeShift_#t~ret98#1, timeShift_#t~ret99#1, timeShift_#t~ret100#1, timeShift_#t~ret101#1, timeShift_#t~ret102#1, timeShift_#t~ret103#1, timeShift_#t~ret104#1, timeShift_#t~ret105#1, timeShift_#t~ret106#1, timeShift_#t~ret107#1, timeShift_#t~ret108#1, timeShift_~tmp~26#1, timeShift_~tmp___0~10#1, timeShift_~tmp___1~5#1, timeShift_~tmp___2~5#1, timeShift_~tmp___3~4#1, timeShift_~tmp___4~3#1, timeShift_~tmp___5~2#1, timeShift_~tmp___6~2#1, timeShift_~tmp___7~2#1, timeShift_~tmp___8~2#1, timeShift_~tmp___9~2#1;havoc timeShift_~tmp~26#1;havoc timeShift_~tmp___0~10#1;havoc timeShift_~tmp___1~5#1;havoc timeShift_~tmp___2~5#1;havoc timeShift_~tmp___3~4#1;havoc timeShift_~tmp___4~3#1;havoc timeShift_~tmp___5~2#1;havoc timeShift_~tmp___6~2#1;havoc timeShift_~tmp___7~2#1;havoc timeShift_~tmp___8~2#1;havoc timeShift_~tmp___9~2#1;assume { :begin_inline___utac_acc__Specification13_spec__1 } true;havoc __utac_acc__Specification13_spec__1_#t~ret27#1;assume { :begin_inline_getCurrentHeading } true;havoc getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~17#1;havoc getCurrentHeading_~retValue_acc~17#1;getCurrentHeading_~retValue_acc~17#1 := ~currentHeading~0;getCurrentHeading_#res#1 := getCurrentHeading_~retValue_acc~17#1;" "__utac_acc__Specification13_spec__1_#t~ret27#1 := getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~17#1;assume { :end_inline_getCurrentHeading } true;~prevDir~0 := __utac_acc__Specification13_spec__1_#t~ret27#1;havoc __utac_acc__Specification13_spec__1_#t~ret27#1;" "havoc __utac_acc__Specification13_spec__1_#t~ret27#1;assume { :end_inline___utac_acc__Specification13_spec__1 } true;assume { :begin_inline_stopRequestedAtCurrentFloor } true;havoc stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1, stopRequestedAtCurrentFloor_#t~ret83#1, stopRequestedAtCurrentFloor_#t~ret84#1, stopRequestedAtCurrentFloor_#t~ret85#1, stopRequestedAtCurrentFloor_~retValue_acc~27#1, stopRequestedAtCurrentFloor_~tmp~24#1, stopRequestedAtCurrentFloor_~tmp___0~8#1;havoc stopRequestedAtCurrentFloor_~retValue_acc~27#1;havoc stopRequestedAtCurrentFloor_~tmp~24#1;havoc stopRequestedAtCurrentFloor_~tmp___0~8#1;assume { :begin_inline_isExecutiveFloorCalling } true;havoc isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;havoc isExecutiveFloorCalling_~retValue_acc~30#1;assume { :begin_inline_isFloorCalling } true;isFloorCalling_#in~floorID#1 := ~executiveFloor~0;havoc isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;isFloorCalling_~floorID#1 := isFloorCalling_#in~floorID#1;havoc isFloorCalling_~retValue_acc~6#1;" "assume !(0 == isFloorCalling_~floorID#1);" "assume !(1 == isFloorCalling_~floorID#1);" "assume !(2 == isFloorCalling_~floorID#1);" "assume !(3 == isFloorCalling_~floorID#1);" "assume 4 == isFloorCalling_~floorID#1;isFloorCalling_~retValue_acc~6#1 := ~calls_4~0;isFloorCalling_#res#1 := isFloorCalling_~retValue_acc~6#1;" "isExecutiveFloorCalling_#t~ret135#1 := isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;havoc isFloorCalling_#in~floorID#1;assume { :end_inline_isFloorCalling } true;isExecutiveFloorCalling_~retValue_acc~30#1 := isExecutiveFloorCalling_#t~ret135#1;havoc isExecutiveFloorCalling_#t~ret135#1;isExecutiveFloorCalling_#res#1 := isExecutiveFloorCalling_~retValue_acc~30#1;" "stopRequestedAtCurrentFloor_#t~ret82#1 := isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;assume { :end_inline_isExecutiveFloorCalling } true;stopRequestedAtCurrentFloor_~tmp~24#1 := stopRequestedAtCurrentFloor_#t~ret82#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1;" "assume 0 != stopRequestedAtCurrentFloor_~tmp~24#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;havoc getCurrentFloorID_~retValue_acc~14#1;getCurrentFloorID_~retValue_acc~14#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~14#1;" "stopRequestedAtCurrentFloor_#t~ret83#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedAtCurrentFloor_~tmp___0~8#1 := stopRequestedAtCurrentFloor_#t~ret83#1;havoc stopRequestedAtCurrentFloor_#t~ret83#1;" "assume !(~executiveFloor~0 == stopRequestedAtCurrentFloor_~tmp___0~8#1);stopRequestedAtCurrentFloor_~retValue_acc~27#1 := 0;stopRequestedAtCurrentFloor_#res#1 := stopRequestedAtCurrentFloor_~retValue_acc~27#1;" "timeShift_#t~ret98#1 := stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1, stopRequestedAtCurrentFloor_#t~ret83#1, stopRequestedAtCurrentFloor_#t~ret84#1, stopRequestedAtCurrentFloor_#t~ret85#1, stopRequestedAtCurrentFloor_~retValue_acc~27#1, stopRequestedAtCurrentFloor_~tmp~24#1, stopRequestedAtCurrentFloor_~tmp___0~8#1;assume { :end_inline_stopRequestedAtCurrentFloor } true;timeShift_~tmp___9~2#1 := timeShift_#t~ret98#1;havoc timeShift_#t~ret98#1;" "assume !(0 != timeShift_~tmp___9~2#1);" "assume 1 == ~doorState~0;~doorState~0 := 0;" "assume { :begin_inline_stopRequestedInDirection } true;stopRequestedInDirection_#in~dir#1, stopRequestedInDirection_#in~respectFloorCalls#1, stopRequestedInDirection_#in~respectInLiftCalls#1 := ~currentHeading~0, 1, 1;havoc stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret73#1, stopRequestedInDirection_#t~ret74#1, stopRequestedInDirection_#t~ret75#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~23#1, stopRequestedInDirection_~tmp~20#1, stopRequestedInDirection_~tmp___0~5#1, stopRequestedInDirection_~__cil_tmp7~6#1, stopRequestedInDirection_~__cil_tmp8~7#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~23#1;havoc stopRequestedInDirection_~tmp~20#1;havoc stopRequestedInDirection_~tmp___0~5#1;havoc stopRequestedInDirection_~__cil_tmp7~6#1;havoc stopRequestedInDirection_~__cil_tmp8~7#1;assume { :begin_inline_isExecutiveFloorCalling } true;havoc isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;havoc isExecutiveFloorCalling_~retValue_acc~30#1;assume { :begin_inline_isFloorCalling } true;isFloorCalling_#in~floorID#1 := ~executiveFloor~0;havoc isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;isFloorCalling_~floorID#1 := isFloorCalling_#in~floorID#1;havoc isFloorCalling_~retValue_acc~6#1;" "assume !(0 == isFloorCalling_~floorID#1);" "assume !(1 == isFloorCalling_~floorID#1);" "assume !(2 == isFloorCalling_~floorID#1);" "assume !(3 == isFloorCalling_~floorID#1);" "assume 4 == isFloorCalling_~floorID#1;isFloorCalling_~retValue_acc~6#1 := ~calls_4~0;isFloorCalling_#res#1 := isFloorCalling_~retValue_acc~6#1;" "isExecutiveFloorCalling_#t~ret135#1 := isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;havoc isFloorCalling_#in~floorID#1;assume { :end_inline_isFloorCalling } true;isExecutiveFloorCalling_~retValue_acc~30#1 := isExecutiveFloorCalling_#t~ret135#1;havoc isExecutiveFloorCalling_#t~ret135#1;isExecutiveFloorCalling_#res#1 := isExecutiveFloorCalling_~retValue_acc~30#1;" "stopRequestedInDirection_#t~ret73#1 := isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;assume { :end_inline_isExecutiveFloorCalling } true;stopRequestedInDirection_~tmp___0~5#1 := stopRequestedInDirection_#t~ret73#1;havoc stopRequestedInDirection_#t~ret73#1;" "assume 0 != stopRequestedInDirection_~tmp___0~5#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;havoc getCurrentFloorID_~retValue_acc~14#1;getCurrentFloorID_~retValue_acc~14#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~14#1;" "stopRequestedInDirection_#t~ret74#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedInDirection_~tmp~20#1 := stopRequestedInDirection_#t~ret74#1;havoc stopRequestedInDirection_#t~ret74#1;stopRequestedInDirection_~__cil_tmp7~6#1 := (if 1 == stopRequestedInDirection_~dir#1 then 1 else 0);stopRequestedInDirection_~__cil_tmp8~7#1 := (if stopRequestedInDirection_~tmp~20#1 < ~executiveFloor~0 then 1 else 0);stopRequestedInDirection_~retValue_acc~23#1 := (if stopRequestedInDirection_~__cil_tmp8~7#1 == stopRequestedInDirection_~__cil_tmp7~6#1 then 1 else 0);stopRequestedInDirection_#res#1 := stopRequestedInDirection_~retValue_acc~23#1;" "timeShift_#t~ret105#1 := stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret73#1, stopRequestedInDirection_#t~ret74#1, stopRequestedInDirection_#t~ret75#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~23#1, stopRequestedInDirection_~tmp~20#1, stopRequestedInDirection_~tmp___0~5#1, stopRequestedInDirection_~__cil_tmp7~6#1, stopRequestedInDirection_~__cil_tmp8~7#1;havoc stopRequestedInDirection_#in~dir#1, stopRequestedInDirection_#in~respectFloorCalls#1, stopRequestedInDirection_#in~respectInLiftCalls#1;assume { :end_inline_stopRequestedInDirection } true;timeShift_~tmp___8~2#1 := timeShift_#t~ret105#1;havoc timeShift_#t~ret105#1;" "assume 0 != timeShift_~tmp___8~2#1;assume { :begin_inline_continueInDirection } true;continueInDirection_#in~dir#1 := ~currentHeading~0;havoc continueInDirection_#t~ret76#1, continueInDirection_~dir#1, continueInDirection_~tmp~21#1;continueInDirection_~dir#1 := continueInDirection_#in~dir#1;havoc continueInDirection_~tmp~21#1;~currentHeading~0 := continueInDirection_~dir#1;" "assume !(1 == ~currentHeading~0);" "assume !(0 == ~currentFloorID~0);" "assume !(1 == ~currentHeading~0);~currentFloorID~0 := ~currentFloorID~0 - 1;" "havoc continueInDirection_#t~ret76#1, continueInDirection_~dir#1, continueInDirection_~tmp~21#1;havoc continueInDirection_#in~dir#1;assume { :end_inline_continueInDirection } true;" "assume { :begin_inline___utac_acc__Specification13_spec__2 } true;havoc __utac_acc__Specification13_spec__2_#t~ret28#1, __utac_acc__Specification13_spec__2_#t~ret29#1, __utac_acc__Specification13_spec__2_#t~ret30#1, __utac_acc__Specification13_spec__2_#t~ret31#1, __utac_acc__Specification13_spec__2_#t~ret32#1, __utac_acc__Specification13_spec__2_#t~ret33#1, __utac_acc__Specification13_spec__2_~tmp~3#1, __utac_acc__Specification13_spec__2_~tmp___0~0#1, __utac_acc__Specification13_spec__2_~tmp___1~0#1, __utac_acc__Specification13_spec__2_~tmp___2~0#1, __utac_acc__Specification13_spec__2_~tmp___3~0#1, __utac_acc__Specification13_spec__2_~tmp___4~0#1, __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1, __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1;havoc __utac_acc__Specification13_spec__2_~tmp~3#1;havoc __utac_acc__Specification13_spec__2_~tmp___0~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___1~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___2~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___3~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___4~0#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1;__utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 := 2 * ~maximumWeight~0;__utac_acc__Specification13_spec__2_~__cil_tmp8~5#1 := (if __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 < 0 && 0 != __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 % 3 then 1 + __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 / 3 else __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 / 3);" "assume ~weight~0 > __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1;" "assume 1 == ~prevDir~0;assume { :begin_inline_existInLiftCallsInDirection } true;existInLiftCallsInDirection_#in~d#1 := 0;havoc existInLiftCallsInDirection_#res#1;havoc existInLiftCallsInDirection_~d#1, existInLiftCallsInDirection_~retValue_acc~29#1, existInLiftCallsInDirection_~i~1#1, existInLiftCallsInDirection_~i___0~0#1;existInLiftCallsInDirection_~d#1 := existInLiftCallsInDirection_#in~d#1;havoc existInLiftCallsInDirection_~retValue_acc~29#1;havoc existInLiftCallsInDirection_~i~1#1;havoc existInLiftCallsInDirection_~i___0~0#1;" "assume !(1 == existInLiftCallsInDirection_~d#1);" "assume 0 == existInLiftCallsInDirection_~d#1;existInLiftCallsInDirection_~i___0~0#1 := 0;existInLiftCallsInDirection_~i___0~0#1 := ~currentFloorID~0 - 1;" [2025-01-10 07:36:22,766 INFO L754 eck$LassoCheckResult]: Loop: "assume existInLiftCallsInDirection_~i___0~0#1 >= 0;" "existInLiftCallsInDirection_~i___0~0#1 := 1 + ~currentFloorID~0;" "assume !(existInLiftCallsInDirection_~i___0~0#1 < 5);" "existInLiftCallsInDirection_~i___0~0#1 := existInLiftCallsInDirection_~i___0~0#1 - 1;" [2025-01-10 07:36:22,767 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:36:22,767 INFO L85 PathProgramCache]: Analyzing trace with hash 526400137, now seen corresponding path program 1 times [2025-01-10 07:36:22,767 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:36:22,767 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [33934332] [2025-01-10 07:36:22,767 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-10 07:36:22,767 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:36:22,779 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 77 statements into 1 equivalence classes. [2025-01-10 07:36:22,783 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 77 of 77 statements. [2025-01-10 07:36:22,783 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:36:22,783 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:36:22,886 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-01-10 07:36:22,887 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-10 07:36:22,887 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [33934332] [2025-01-10 07:36:22,887 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [33934332] provided 1 perfect and 0 imperfect interpolant sequences [2025-01-10 07:36:22,887 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-01-10 07:36:22,887 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2025-01-10 07:36:22,887 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [673036947] [2025-01-10 07:36:22,887 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-01-10 07:36:22,888 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-01-10 07:36:22,888 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:36:22,888 INFO L85 PathProgramCache]: Analyzing trace with hash 274166626, now seen corresponding path program 10 times [2025-01-10 07:36:22,888 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:36:22,888 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1467282364] [2025-01-10 07:36:22,888 INFO L95 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2025-01-10 07:36:22,888 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:36:22,894 INFO L108 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST partitioned 4 statements into 2 equivalence classes. [2025-01-10 07:36:22,895 INFO L111 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 2 check-sat command(s) and asserted 4 of 4 statements. [2025-01-10 07:36:22,895 INFO L114 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 2 check-sat command(s) [2025-01-10 07:36:22,895 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:36:22,895 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-01-10 07:36:22,896 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 4 statements into 1 equivalence classes. [2025-01-10 07:36:22,896 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 4 of 4 statements. [2025-01-10 07:36:22,896 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:36:22,896 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:36:22,900 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-01-10 07:36:22,914 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-10 07:36:22,914 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2025-01-10 07:36:22,914 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2025-01-10 07:36:22,914 INFO L87 Difference]: Start difference. First operand 9664 states and 17607 transitions. cyclomatic complexity: 7978 Second operand has 6 states, 6 states have (on average 12.833333333333334) internal successors, (77), 5 states have internal predecessors, (77), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-10 07:36:26,791 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-01-10 07:36:26,791 INFO L93 Difference]: Finished difference Result 19675 states and 35454 transitions. [2025-01-10 07:36:26,792 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 19675 states and 35454 transitions. [2025-01-10 07:36:26,861 INFO L131 ngComponentsAnalysis]: Automaton has 66 accepting balls. 4829 [2025-01-10 07:36:26,915 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 19675 states to 19675 states and 35454 transitions. [2025-01-10 07:36:26,915 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 19603 [2025-01-10 07:36:26,934 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 19603 [2025-01-10 07:36:26,935 INFO L73 IsDeterministic]: Start isDeterministic. Operand 19675 states and 35454 transitions. [2025-01-10 07:36:26,936 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-01-10 07:36:26,936 INFO L218 hiAutomatonCegarLoop]: Abstraction has 19675 states and 35454 transitions. [2025-01-10 07:36:26,956 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 19675 states and 35454 transitions. [2025-01-10 07:36:27,105 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 19675 to 19172. [2025-01-10 07:36:27,124 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19172 states, 19172 states have (on average 1.8230231587732109) internal successors, (34951), 19171 states have internal predecessors, (34951), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-10 07:36:27,150 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19172 states to 19172 states and 34951 transitions. [2025-01-10 07:36:27,151 INFO L240 hiAutomatonCegarLoop]: Abstraction has 19172 states and 34951 transitions. [2025-01-10 07:36:27,152 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2025-01-10 07:36:27,152 INFO L432 stractBuchiCegarLoop]: Abstraction has 19172 states and 34951 transitions. [2025-01-10 07:36:27,152 INFO L338 stractBuchiCegarLoop]: ======== Iteration 13 ============ [2025-01-10 07:36:27,152 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 19172 states and 34951 transitions. [2025-01-10 07:36:27,196 INFO L131 ngComponentsAnalysis]: Automaton has 66 accepting balls. 4722 [2025-01-10 07:36:27,196 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-01-10 07:36:27,196 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-01-10 07:36:27,197 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-01-10 07:36:27,197 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1] [2025-01-10 07:36:27,197 INFO L752 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int#0(48, 1, 0, 1);call write~init~int#0(0, 1, 1, 1);call #Ultimate.allocInit(32, 2);call #Ultimate.allocInit(12, 3);call #Ultimate.allocInit(30, 4);call #Ultimate.allocInit(9, 5);call #Ultimate.allocInit(21, 6);call #Ultimate.allocInit(30, 7);call #Ultimate.allocInit(9, 8);call #Ultimate.allocInit(21, 9);call #Ultimate.allocInit(30, 10);call #Ultimate.allocInit(9, 11);call #Ultimate.allocInit(25, 12);call #Ultimate.allocInit(30, 13);call #Ultimate.allocInit(9, 14);call #Ultimate.allocInit(25, 15);call #Ultimate.allocInit(10, 16);call #Ultimate.allocInit(4, 17);call write~init~int#5(91, 17, 0, 1);call write~init~int#5(95, 17, 1, 1);call write~init~int#5(93, 17, 2, 1);call write~init~int#5(0, 17, 3, 1);call #Ultimate.allocInit(4, 18);call write~init~int#6(91, 18, 0, 1);call write~init~int#6(93, 18, 1, 1);call write~init~int#6(32, 18, 2, 1);call write~init~int#6(0, 18, 3, 1);call #Ultimate.allocInit(5, 19);call write~init~int#7(32, 19, 0, 1);call write~init~int#7(97, 19, 1, 1);call write~init~int#7(116, 19, 2, 1);call write~init~int#7(32, 19, 3, 1);call write~init~int#7(0, 19, 4, 1);call #Ultimate.allocInit(3, 20);call write~init~int#8(37, 20, 0, 1);call write~init~int#8(105, 20, 1, 1);call write~init~int#8(0, 20, 2, 1);call #Ultimate.allocInit(10, 21);call #Ultimate.allocInit(3, 22);call write~init~int#9(117, 22, 0, 1);call write~init~int#9(112, 22, 1, 1);call write~init~int#9(0, 22, 2, 1);call #Ultimate.allocInit(5, 23);call write~init~int#10(100, 23, 0, 1);call write~init~int#10(111, 23, 1, 1);call write~init~int#10(119, 23, 2, 1);call write~init~int#10(110, 23, 3, 1);call write~init~int#10(0, 23, 4, 1);call #Ultimate.allocInit(7, 24);call write~init~int#11(32, 24, 0, 1);call write~init~int#11(73, 24, 1, 1);call write~init~int#11(76, 24, 2, 1);call write~init~int#11(95, 24, 3, 1);call write~init~int#11(112, 24, 4, 1);call write~init~int#11(58, 24, 5, 1);call write~init~int#11(0, 24, 6, 1);call #Ultimate.allocInit(4, 25);call write~init~int#12(32, 25, 0, 1);call write~init~int#12(37, 25, 1, 1);call write~init~int#12(105, 25, 2, 1);call write~init~int#12(0, 25, 3, 1);call #Ultimate.allocInit(4, 26);call write~init~int#13(32, 26, 0, 1);call write~init~int#13(37, 26, 1, 1);call write~init~int#13(105, 26, 2, 1);call write~init~int#13(0, 26, 3, 1);call #Ultimate.allocInit(4, 27);call write~init~int#14(32, 27, 0, 1);call write~init~int#14(37, 27, 1, 1);call write~init~int#14(105, 27, 2, 1);call write~init~int#14(0, 27, 3, 1);call #Ultimate.allocInit(4, 28);call write~init~int#15(32, 28, 0, 1);call write~init~int#15(37, 28, 1, 1);call write~init~int#15(105, 28, 2, 1);call write~init~int#15(0, 28, 3, 1);call #Ultimate.allocInit(4, 29);call write~init~int#16(32, 29, 0, 1);call write~init~int#16(37, 29, 1, 1);call write~init~int#16(105, 29, 2, 1);call write~init~int#16(0, 29, 3, 1);call #Ultimate.allocInit(6, 30);call write~init~int#17(32, 30, 0, 1);call write~init~int#17(70, 30, 1, 1);call write~init~int#17(95, 30, 2, 1);call write~init~int#17(112, 30, 3, 1);call write~init~int#17(58, 30, 4, 1);call write~init~int#17(0, 30, 5, 1);call #Ultimate.allocInit(4, 31);call write~init~int#18(32, 31, 0, 1);call write~init~int#18(37, 31, 1, 1);call write~init~int#18(105, 31, 2, 1);call write~init~int#18(0, 31, 3, 1);call #Ultimate.allocInit(4, 32);call write~init~int#19(32, 32, 0, 1);call write~init~int#19(37, 32, 1, 1);call write~init~int#19(105, 32, 2, 1);call write~init~int#19(0, 32, 3, 1);call #Ultimate.allocInit(4, 33);call write~init~int#1(32, 33, 0, 1);call write~init~int#1(37, 33, 1, 1);call write~init~int#1(105, 33, 2, 1);call write~init~int#1(0, 33, 3, 1);call #Ultimate.allocInit(4, 34);call write~init~int#2(32, 34, 0, 1);call write~init~int#2(37, 34, 1, 1);call write~init~int#2(105, 34, 2, 1);call write~init~int#2(0, 34, 3, 1);call #Ultimate.allocInit(4, 35);call write~init~int#3(32, 35, 0, 1);call write~init~int#3(37, 35, 1, 1);call write~init~int#3(105, 35, 2, 1);call write~init~int#3(0, 35, 3, 1);call #Ultimate.allocInit(2, 36);call write~init~int#4(10, 36, 0, 1);call write~init~int#4(0, 36, 1, 1);~head~0.base, ~head~0.offset := 0, 0;~weight~0 := 0;~maximumWeight~0 := 100;~executiveFloor~0 := 4;~prevDir~0 := 0;~calls_0~0 := 0;~calls_1~0 := 0;~calls_2~0 := 0;~calls_3~0 := 0;~calls_4~0 := 0;~personOnFloor_0_0~0 := 0;~personOnFloor_0_1~0 := 0;~personOnFloor_0_2~0 := 0;~personOnFloor_0_3~0 := 0;~personOnFloor_0_4~0 := 0;~personOnFloor_1_0~0 := 0;~personOnFloor_1_1~0 := 0;~personOnFloor_1_2~0 := 0;~personOnFloor_1_3~0 := 0;~personOnFloor_1_4~0 := 0;~personOnFloor_2_0~0 := 0;~personOnFloor_2_1~0 := 0;~personOnFloor_2_2~0 := 0;~personOnFloor_2_3~0 := 0;~personOnFloor_2_4~0 := 0;~personOnFloor_3_0~0 := 0;~personOnFloor_3_1~0 := 0;~personOnFloor_3_2~0 := 0;~personOnFloor_3_3~0 := 0;~personOnFloor_3_4~0 := 0;~personOnFloor_4_0~0 := 0;~personOnFloor_4_1~0 := 0;~personOnFloor_4_2~0 := 0;~personOnFloor_4_3~0 := 0;~personOnFloor_4_4~0 := 0;~personOnFloor_5_0~0 := 0;~personOnFloor_5_1~0 := 0;~personOnFloor_5_2~0 := 0;~personOnFloor_5_3~0 := 0;~personOnFloor_5_4~0 := 0;~cleanupTimeShifts~0 := 12;~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;" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret47#1, main_~retValue_acc~10#1, main_~tmp~12#1;havoc main_~retValue_acc~10#1;havoc main_~tmp~12#1;assume { :begin_inline_select_helpers } true;" "assume { :end_inline_select_helpers } true;assume { :begin_inline_select_features } true;" "assume { :end_inline_select_features } true;assume { :begin_inline_valid_product } true;havoc valid_product_#res#1;havoc valid_product_~retValue_acc~12#1;havoc valid_product_~retValue_acc~12#1;valid_product_~retValue_acc~12#1 := 1;valid_product_#res#1 := valid_product_~retValue_acc~12#1;" "main_#t~ret47#1 := valid_product_#res#1;havoc valid_product_~retValue_acc~12#1;assume { :end_inline_valid_product } true;main_~tmp~12#1 := main_#t~ret47#1;havoc main_#t~ret47#1;" "assume 0 != main_~tmp~12#1;assume { :begin_inline_setup } true;" "assume { :end_inline_setup } true;assume { :begin_inline_runTest } true;assume { :begin_inline_test } true;assume { :begin_inline_aliceCall } true;havoc aliceCall_#t~ret36#1, aliceCall_~tmp~5#1;havoc aliceCall_~tmp~5#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 1;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~4#1;" "assume !(0 == getOrigin_~person#1);" "assume 1 == getOrigin_~person#1;getOrigin_~retValue_acc~4#1 := 3;getOrigin_#res#1 := getOrigin_~retValue_acc~4#1;" "aliceCall_#t~ret36#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;aliceCall_~tmp~5#1 := aliceCall_#t~ret36#1;havoc aliceCall_#t~ret36#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 1, aliceCall_~tmp~5#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1;" "assume !(0 == initPersonOnFloor_~floor#1);" "assume !(1 == initPersonOnFloor_~floor#1);" "assume !(2 == initPersonOnFloor_~floor#1);" "assume 3 == initPersonOnFloor_~floor#1;" "assume !(0 == initPersonOnFloor_~person#1);" "assume 1 == initPersonOnFloor_~person#1;~personOnFloor_1_3~0 := 1;" "assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1;" "assume !(0 == callOnFloor_~floorID#1);" "assume !(1 == callOnFloor_~floorID#1);" "assume !(2 == callOnFloor_~floorID#1);" "assume 3 == callOnFloor_~floorID#1;~calls_3~0 := 1;" "havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true;" "havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true;" "havoc aliceCall_#t~ret36#1, aliceCall_~tmp~5#1;assume { :end_inline_aliceCall } true;assume { :begin_inline_angelinaCall } true;havoc angelinaCall_#t~ret37#1, angelinaCall_~tmp~6#1;havoc angelinaCall_~tmp~6#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 2;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~4#1;" "assume !(0 == getOrigin_~person#1);" "assume !(1 == getOrigin_~person#1);" "assume 2 == getOrigin_~person#1;getOrigin_~retValue_acc~4#1 := 2;getOrigin_#res#1 := getOrigin_~retValue_acc~4#1;" "angelinaCall_#t~ret37#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;angelinaCall_~tmp~6#1 := angelinaCall_#t~ret37#1;havoc angelinaCall_#t~ret37#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 2, angelinaCall_~tmp~6#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1;" "assume !(0 == initPersonOnFloor_~floor#1);" "assume !(1 == initPersonOnFloor_~floor#1);" "assume !(2 == initPersonOnFloor_~floor#1);" "assume !(3 == initPersonOnFloor_~floor#1);" "assume !(4 == initPersonOnFloor_~floor#1);" "assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1;" "assume !(0 == callOnFloor_~floorID#1);" "assume !(1 == callOnFloor_~floorID#1);" "assume !(2 == callOnFloor_~floorID#1);" "assume !(3 == callOnFloor_~floorID#1);" "assume 4 == callOnFloor_~floorID#1;~calls_4~0 := 1;" "havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true;" "havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true;" "havoc angelinaCall_#t~ret37#1, angelinaCall_~tmp~6#1;assume { :end_inline_angelinaCall } true;assume { :begin_inline_threeTS } true;assume { :begin_inline_timeShift } true;havoc timeShift_#t~ret98#1, timeShift_#t~ret99#1, timeShift_#t~ret100#1, timeShift_#t~ret101#1, timeShift_#t~ret102#1, timeShift_#t~ret103#1, timeShift_#t~ret104#1, timeShift_#t~ret105#1, timeShift_#t~ret106#1, timeShift_#t~ret107#1, timeShift_#t~ret108#1, timeShift_~tmp~26#1, timeShift_~tmp___0~10#1, timeShift_~tmp___1~5#1, timeShift_~tmp___2~5#1, timeShift_~tmp___3~4#1, timeShift_~tmp___4~3#1, timeShift_~tmp___5~2#1, timeShift_~tmp___6~2#1, timeShift_~tmp___7~2#1, timeShift_~tmp___8~2#1, timeShift_~tmp___9~2#1;havoc timeShift_~tmp~26#1;havoc timeShift_~tmp___0~10#1;havoc timeShift_~tmp___1~5#1;havoc timeShift_~tmp___2~5#1;havoc timeShift_~tmp___3~4#1;havoc timeShift_~tmp___4~3#1;havoc timeShift_~tmp___5~2#1;havoc timeShift_~tmp___6~2#1;havoc timeShift_~tmp___7~2#1;havoc timeShift_~tmp___8~2#1;havoc timeShift_~tmp___9~2#1;assume { :begin_inline___utac_acc__Specification13_spec__1 } true;havoc __utac_acc__Specification13_spec__1_#t~ret27#1;assume { :begin_inline_getCurrentHeading } true;havoc getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~17#1;havoc getCurrentHeading_~retValue_acc~17#1;getCurrentHeading_~retValue_acc~17#1 := ~currentHeading~0;getCurrentHeading_#res#1 := getCurrentHeading_~retValue_acc~17#1;" "__utac_acc__Specification13_spec__1_#t~ret27#1 := getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~17#1;assume { :end_inline_getCurrentHeading } true;~prevDir~0 := __utac_acc__Specification13_spec__1_#t~ret27#1;havoc __utac_acc__Specification13_spec__1_#t~ret27#1;" "havoc __utac_acc__Specification13_spec__1_#t~ret27#1;assume { :end_inline___utac_acc__Specification13_spec__1 } true;assume { :begin_inline_stopRequestedAtCurrentFloor } true;havoc stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1, stopRequestedAtCurrentFloor_#t~ret83#1, stopRequestedAtCurrentFloor_#t~ret84#1, stopRequestedAtCurrentFloor_#t~ret85#1, stopRequestedAtCurrentFloor_~retValue_acc~27#1, stopRequestedAtCurrentFloor_~tmp~24#1, stopRequestedAtCurrentFloor_~tmp___0~8#1;havoc stopRequestedAtCurrentFloor_~retValue_acc~27#1;havoc stopRequestedAtCurrentFloor_~tmp~24#1;havoc stopRequestedAtCurrentFloor_~tmp___0~8#1;assume { :begin_inline_isExecutiveFloorCalling } true;havoc isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;havoc isExecutiveFloorCalling_~retValue_acc~30#1;assume { :begin_inline_isFloorCalling } true;isFloorCalling_#in~floorID#1 := ~executiveFloor~0;havoc isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;isFloorCalling_~floorID#1 := isFloorCalling_#in~floorID#1;havoc isFloorCalling_~retValue_acc~6#1;" "assume !(0 == isFloorCalling_~floorID#1);" "assume !(1 == isFloorCalling_~floorID#1);" "assume !(2 == isFloorCalling_~floorID#1);" "assume !(3 == isFloorCalling_~floorID#1);" "assume 4 == isFloorCalling_~floorID#1;isFloorCalling_~retValue_acc~6#1 := ~calls_4~0;isFloorCalling_#res#1 := isFloorCalling_~retValue_acc~6#1;" "isExecutiveFloorCalling_#t~ret135#1 := isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;havoc isFloorCalling_#in~floorID#1;assume { :end_inline_isFloorCalling } true;isExecutiveFloorCalling_~retValue_acc~30#1 := isExecutiveFloorCalling_#t~ret135#1;havoc isExecutiveFloorCalling_#t~ret135#1;isExecutiveFloorCalling_#res#1 := isExecutiveFloorCalling_~retValue_acc~30#1;" "stopRequestedAtCurrentFloor_#t~ret82#1 := isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;assume { :end_inline_isExecutiveFloorCalling } true;stopRequestedAtCurrentFloor_~tmp~24#1 := stopRequestedAtCurrentFloor_#t~ret82#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1;" "assume 0 != stopRequestedAtCurrentFloor_~tmp~24#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;havoc getCurrentFloorID_~retValue_acc~14#1;getCurrentFloorID_~retValue_acc~14#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~14#1;" "stopRequestedAtCurrentFloor_#t~ret83#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedAtCurrentFloor_~tmp___0~8#1 := stopRequestedAtCurrentFloor_#t~ret83#1;havoc stopRequestedAtCurrentFloor_#t~ret83#1;" "assume !(~executiveFloor~0 == stopRequestedAtCurrentFloor_~tmp___0~8#1);stopRequestedAtCurrentFloor_~retValue_acc~27#1 := 0;stopRequestedAtCurrentFloor_#res#1 := stopRequestedAtCurrentFloor_~retValue_acc~27#1;" "timeShift_#t~ret98#1 := stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1, stopRequestedAtCurrentFloor_#t~ret83#1, stopRequestedAtCurrentFloor_#t~ret84#1, stopRequestedAtCurrentFloor_#t~ret85#1, stopRequestedAtCurrentFloor_~retValue_acc~27#1, stopRequestedAtCurrentFloor_~tmp~24#1, stopRequestedAtCurrentFloor_~tmp___0~8#1;assume { :end_inline_stopRequestedAtCurrentFloor } true;timeShift_~tmp___9~2#1 := timeShift_#t~ret98#1;havoc timeShift_#t~ret98#1;" "assume !(0 != timeShift_~tmp___9~2#1);" "assume 1 == ~doorState~0;~doorState~0 := 0;" "assume { :begin_inline_stopRequestedInDirection } true;stopRequestedInDirection_#in~dir#1, stopRequestedInDirection_#in~respectFloorCalls#1, stopRequestedInDirection_#in~respectInLiftCalls#1 := ~currentHeading~0, 1, 1;havoc stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret73#1, stopRequestedInDirection_#t~ret74#1, stopRequestedInDirection_#t~ret75#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~23#1, stopRequestedInDirection_~tmp~20#1, stopRequestedInDirection_~tmp___0~5#1, stopRequestedInDirection_~__cil_tmp7~6#1, stopRequestedInDirection_~__cil_tmp8~7#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~23#1;havoc stopRequestedInDirection_~tmp~20#1;havoc stopRequestedInDirection_~tmp___0~5#1;havoc stopRequestedInDirection_~__cil_tmp7~6#1;havoc stopRequestedInDirection_~__cil_tmp8~7#1;assume { :begin_inline_isExecutiveFloorCalling } true;havoc isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;havoc isExecutiveFloorCalling_~retValue_acc~30#1;assume { :begin_inline_isFloorCalling } true;isFloorCalling_#in~floorID#1 := ~executiveFloor~0;havoc isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;isFloorCalling_~floorID#1 := isFloorCalling_#in~floorID#1;havoc isFloorCalling_~retValue_acc~6#1;" "assume !(0 == isFloorCalling_~floorID#1);" "assume !(1 == isFloorCalling_~floorID#1);" "assume !(2 == isFloorCalling_~floorID#1);" "assume !(3 == isFloorCalling_~floorID#1);" "assume 4 == isFloorCalling_~floorID#1;isFloorCalling_~retValue_acc~6#1 := ~calls_4~0;isFloorCalling_#res#1 := isFloorCalling_~retValue_acc~6#1;" "isExecutiveFloorCalling_#t~ret135#1 := isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;havoc isFloorCalling_#in~floorID#1;assume { :end_inline_isFloorCalling } true;isExecutiveFloorCalling_~retValue_acc~30#1 := isExecutiveFloorCalling_#t~ret135#1;havoc isExecutiveFloorCalling_#t~ret135#1;isExecutiveFloorCalling_#res#1 := isExecutiveFloorCalling_~retValue_acc~30#1;" "stopRequestedInDirection_#t~ret73#1 := isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;assume { :end_inline_isExecutiveFloorCalling } true;stopRequestedInDirection_~tmp___0~5#1 := stopRequestedInDirection_#t~ret73#1;havoc stopRequestedInDirection_#t~ret73#1;" "assume 0 != stopRequestedInDirection_~tmp___0~5#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;havoc getCurrentFloorID_~retValue_acc~14#1;getCurrentFloorID_~retValue_acc~14#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~14#1;" "stopRequestedInDirection_#t~ret74#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedInDirection_~tmp~20#1 := stopRequestedInDirection_#t~ret74#1;havoc stopRequestedInDirection_#t~ret74#1;stopRequestedInDirection_~__cil_tmp7~6#1 := (if 1 == stopRequestedInDirection_~dir#1 then 1 else 0);stopRequestedInDirection_~__cil_tmp8~7#1 := (if stopRequestedInDirection_~tmp~20#1 < ~executiveFloor~0 then 1 else 0);stopRequestedInDirection_~retValue_acc~23#1 := (if stopRequestedInDirection_~__cil_tmp8~7#1 == stopRequestedInDirection_~__cil_tmp7~6#1 then 1 else 0);stopRequestedInDirection_#res#1 := stopRequestedInDirection_~retValue_acc~23#1;" "timeShift_#t~ret105#1 := stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret73#1, stopRequestedInDirection_#t~ret74#1, stopRequestedInDirection_#t~ret75#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~23#1, stopRequestedInDirection_~tmp~20#1, stopRequestedInDirection_~tmp___0~5#1, stopRequestedInDirection_~__cil_tmp7~6#1, stopRequestedInDirection_~__cil_tmp8~7#1;havoc stopRequestedInDirection_#in~dir#1, stopRequestedInDirection_#in~respectFloorCalls#1, stopRequestedInDirection_#in~respectInLiftCalls#1;assume { :end_inline_stopRequestedInDirection } true;timeShift_~tmp___8~2#1 := timeShift_#t~ret105#1;havoc timeShift_#t~ret105#1;" "assume 0 != timeShift_~tmp___8~2#1;assume { :begin_inline_continueInDirection } true;continueInDirection_#in~dir#1 := ~currentHeading~0;havoc continueInDirection_#t~ret76#1, continueInDirection_~dir#1, continueInDirection_~tmp~21#1;continueInDirection_~dir#1 := continueInDirection_#in~dir#1;havoc continueInDirection_~tmp~21#1;~currentHeading~0 := continueInDirection_~dir#1;" "assume !(1 == ~currentHeading~0);" "assume !(0 == ~currentFloorID~0);" "assume !(1 == ~currentHeading~0);~currentFloorID~0 := ~currentFloorID~0 - 1;" "havoc continueInDirection_#t~ret76#1, continueInDirection_~dir#1, continueInDirection_~tmp~21#1;havoc continueInDirection_#in~dir#1;assume { :end_inline_continueInDirection } true;" "assume { :begin_inline___utac_acc__Specification13_spec__2 } true;havoc __utac_acc__Specification13_spec__2_#t~ret28#1, __utac_acc__Specification13_spec__2_#t~ret29#1, __utac_acc__Specification13_spec__2_#t~ret30#1, __utac_acc__Specification13_spec__2_#t~ret31#1, __utac_acc__Specification13_spec__2_#t~ret32#1, __utac_acc__Specification13_spec__2_#t~ret33#1, __utac_acc__Specification13_spec__2_~tmp~3#1, __utac_acc__Specification13_spec__2_~tmp___0~0#1, __utac_acc__Specification13_spec__2_~tmp___1~0#1, __utac_acc__Specification13_spec__2_~tmp___2~0#1, __utac_acc__Specification13_spec__2_~tmp___3~0#1, __utac_acc__Specification13_spec__2_~tmp___4~0#1, __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1, __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1;havoc __utac_acc__Specification13_spec__2_~tmp~3#1;havoc __utac_acc__Specification13_spec__2_~tmp___0~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___1~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___2~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___3~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___4~0#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1;__utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 := 2 * ~maximumWeight~0;__utac_acc__Specification13_spec__2_~__cil_tmp8~5#1 := (if __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 < 0 && 0 != __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 % 3 then 1 + __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 / 3 else __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 / 3);" "assume ~weight~0 > __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1;" "assume 1 == ~prevDir~0;assume { :begin_inline_existInLiftCallsInDirection } true;existInLiftCallsInDirection_#in~d#1 := 0;havoc existInLiftCallsInDirection_#res#1;havoc existInLiftCallsInDirection_~d#1, existInLiftCallsInDirection_~retValue_acc~29#1, existInLiftCallsInDirection_~i~1#1, existInLiftCallsInDirection_~i___0~0#1;existInLiftCallsInDirection_~d#1 := existInLiftCallsInDirection_#in~d#1;havoc existInLiftCallsInDirection_~retValue_acc~29#1;havoc existInLiftCallsInDirection_~i~1#1;havoc existInLiftCallsInDirection_~i___0~0#1;" "assume !(1 == existInLiftCallsInDirection_~d#1);" "assume 0 == existInLiftCallsInDirection_~d#1;existInLiftCallsInDirection_~i___0~0#1 := 0;existInLiftCallsInDirection_~i___0~0#1 := ~currentFloorID~0 - 1;" [2025-01-10 07:36:27,198 INFO L754 eck$LassoCheckResult]: Loop: "assume existInLiftCallsInDirection_~i___0~0#1 >= 0;" "existInLiftCallsInDirection_~i___0~0#1 := 1 + ~currentFloorID~0;" "assume !(existInLiftCallsInDirection_~i___0~0#1 < 5);" "existInLiftCallsInDirection_~i___0~0#1 := existInLiftCallsInDirection_~i___0~0#1 - 1;" [2025-01-10 07:36:27,198 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:36:27,198 INFO L85 PathProgramCache]: Analyzing trace with hash 1873642043, now seen corresponding path program 1 times [2025-01-10 07:36:27,198 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:36:27,198 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [508878765] [2025-01-10 07:36:27,198 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-10 07:36:27,198 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:36:27,213 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 78 statements into 1 equivalence classes. [2025-01-10 07:36:27,217 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 78 of 78 statements. [2025-01-10 07:36:27,217 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:36:27,217 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:36:27,268 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-01-10 07:36:27,269 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-10 07:36:27,269 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [508878765] [2025-01-10 07:36:27,269 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [508878765] provided 1 perfect and 0 imperfect interpolant sequences [2025-01-10 07:36:27,269 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-01-10 07:36:27,269 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2025-01-10 07:36:27,269 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2032793905] [2025-01-10 07:36:27,269 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-01-10 07:36:27,269 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-01-10 07:36:27,269 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:36:27,269 INFO L85 PathProgramCache]: Analyzing trace with hash 274166626, now seen corresponding path program 11 times [2025-01-10 07:36:27,269 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:36:27,269 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1517944911] [2025-01-10 07:36:27,269 INFO L95 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2025-01-10 07:36:27,270 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:36:27,277 INFO L108 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 partitioned 4 statements into 1 equivalence classes. [2025-01-10 07:36:27,278 INFO L111 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 1 check-sat command(s) and asserted 4 of 4 statements. [2025-01-10 07:36:27,278 INFO L114 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2025-01-10 07:36:27,278 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:36:27,278 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-01-10 07:36:27,280 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 4 statements into 1 equivalence classes. [2025-01-10 07:36:27,285 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 4 of 4 statements. [2025-01-10 07:36:27,285 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:36:27,285 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:36:27,290 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-01-10 07:36:27,304 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-10 07:36:27,304 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2025-01-10 07:36:27,304 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2025-01-10 07:36:27,305 INFO L87 Difference]: Start difference. First operand 19172 states and 34951 transitions. cyclomatic complexity: 15849 Second operand has 4 states, 4 states have (on average 19.5) internal successors, (78), 4 states have internal predecessors, (78), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-10 07:36:27,456 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-01-10 07:36:27,457 INFO L93 Difference]: Finished difference Result 19144 states and 34901 transitions. [2025-01-10 07:36:27,457 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 19144 states and 34901 transitions. [2025-01-10 07:36:27,522 INFO L131 ngComponentsAnalysis]: Automaton has 66 accepting balls. 4722 [2025-01-10 07:36:27,739 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 19144 states to 19144 states and 34901 transitions. [2025-01-10 07:36:27,739 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 19072 [2025-01-10 07:36:27,750 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 19072 [2025-01-10 07:36:27,750 INFO L73 IsDeterministic]: Start isDeterministic. Operand 19144 states and 34901 transitions. [2025-01-10 07:36:27,751 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-01-10 07:36:27,751 INFO L218 hiAutomatonCegarLoop]: Abstraction has 19144 states and 34901 transitions. [2025-01-10 07:36:27,767 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 19144 states and 34901 transitions. [2025-01-10 07:36:27,900 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 19144 to 19144. [2025-01-10 07:36:27,920 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19144 states, 19144 states have (on average 1.8230777267028835) internal successors, (34901), 19143 states have internal predecessors, (34901), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-10 07:36:27,947 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19144 states to 19144 states and 34901 transitions. [2025-01-10 07:36:27,947 INFO L240 hiAutomatonCegarLoop]: Abstraction has 19144 states and 34901 transitions. [2025-01-10 07:36:27,947 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2025-01-10 07:36:27,948 INFO L432 stractBuchiCegarLoop]: Abstraction has 19144 states and 34901 transitions. [2025-01-10 07:36:27,948 INFO L338 stractBuchiCegarLoop]: ======== Iteration 14 ============ [2025-01-10 07:36:27,948 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 19144 states and 34901 transitions. [2025-01-10 07:36:27,990 INFO L131 ngComponentsAnalysis]: Automaton has 66 accepting balls. 4722 [2025-01-10 07:36:27,990 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-01-10 07:36:27,990 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-01-10 07:36:27,991 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-01-10 07:36:27,991 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1] [2025-01-10 07:36:27,991 INFO L752 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int#0(48, 1, 0, 1);call write~init~int#0(0, 1, 1, 1);call #Ultimate.allocInit(32, 2);call #Ultimate.allocInit(12, 3);call #Ultimate.allocInit(30, 4);call #Ultimate.allocInit(9, 5);call #Ultimate.allocInit(21, 6);call #Ultimate.allocInit(30, 7);call #Ultimate.allocInit(9, 8);call #Ultimate.allocInit(21, 9);call #Ultimate.allocInit(30, 10);call #Ultimate.allocInit(9, 11);call #Ultimate.allocInit(25, 12);call #Ultimate.allocInit(30, 13);call #Ultimate.allocInit(9, 14);call #Ultimate.allocInit(25, 15);call #Ultimate.allocInit(10, 16);call #Ultimate.allocInit(4, 17);call write~init~int#5(91, 17, 0, 1);call write~init~int#5(95, 17, 1, 1);call write~init~int#5(93, 17, 2, 1);call write~init~int#5(0, 17, 3, 1);call #Ultimate.allocInit(4, 18);call write~init~int#6(91, 18, 0, 1);call write~init~int#6(93, 18, 1, 1);call write~init~int#6(32, 18, 2, 1);call write~init~int#6(0, 18, 3, 1);call #Ultimate.allocInit(5, 19);call write~init~int#7(32, 19, 0, 1);call write~init~int#7(97, 19, 1, 1);call write~init~int#7(116, 19, 2, 1);call write~init~int#7(32, 19, 3, 1);call write~init~int#7(0, 19, 4, 1);call #Ultimate.allocInit(3, 20);call write~init~int#8(37, 20, 0, 1);call write~init~int#8(105, 20, 1, 1);call write~init~int#8(0, 20, 2, 1);call #Ultimate.allocInit(10, 21);call #Ultimate.allocInit(3, 22);call write~init~int#9(117, 22, 0, 1);call write~init~int#9(112, 22, 1, 1);call write~init~int#9(0, 22, 2, 1);call #Ultimate.allocInit(5, 23);call write~init~int#10(100, 23, 0, 1);call write~init~int#10(111, 23, 1, 1);call write~init~int#10(119, 23, 2, 1);call write~init~int#10(110, 23, 3, 1);call write~init~int#10(0, 23, 4, 1);call #Ultimate.allocInit(7, 24);call write~init~int#11(32, 24, 0, 1);call write~init~int#11(73, 24, 1, 1);call write~init~int#11(76, 24, 2, 1);call write~init~int#11(95, 24, 3, 1);call write~init~int#11(112, 24, 4, 1);call write~init~int#11(58, 24, 5, 1);call write~init~int#11(0, 24, 6, 1);call #Ultimate.allocInit(4, 25);call write~init~int#12(32, 25, 0, 1);call write~init~int#12(37, 25, 1, 1);call write~init~int#12(105, 25, 2, 1);call write~init~int#12(0, 25, 3, 1);call #Ultimate.allocInit(4, 26);call write~init~int#13(32, 26, 0, 1);call write~init~int#13(37, 26, 1, 1);call write~init~int#13(105, 26, 2, 1);call write~init~int#13(0, 26, 3, 1);call #Ultimate.allocInit(4, 27);call write~init~int#14(32, 27, 0, 1);call write~init~int#14(37, 27, 1, 1);call write~init~int#14(105, 27, 2, 1);call write~init~int#14(0, 27, 3, 1);call #Ultimate.allocInit(4, 28);call write~init~int#15(32, 28, 0, 1);call write~init~int#15(37, 28, 1, 1);call write~init~int#15(105, 28, 2, 1);call write~init~int#15(0, 28, 3, 1);call #Ultimate.allocInit(4, 29);call write~init~int#16(32, 29, 0, 1);call write~init~int#16(37, 29, 1, 1);call write~init~int#16(105, 29, 2, 1);call write~init~int#16(0, 29, 3, 1);call #Ultimate.allocInit(6, 30);call write~init~int#17(32, 30, 0, 1);call write~init~int#17(70, 30, 1, 1);call write~init~int#17(95, 30, 2, 1);call write~init~int#17(112, 30, 3, 1);call write~init~int#17(58, 30, 4, 1);call write~init~int#17(0, 30, 5, 1);call #Ultimate.allocInit(4, 31);call write~init~int#18(32, 31, 0, 1);call write~init~int#18(37, 31, 1, 1);call write~init~int#18(105, 31, 2, 1);call write~init~int#18(0, 31, 3, 1);call #Ultimate.allocInit(4, 32);call write~init~int#19(32, 32, 0, 1);call write~init~int#19(37, 32, 1, 1);call write~init~int#19(105, 32, 2, 1);call write~init~int#19(0, 32, 3, 1);call #Ultimate.allocInit(4, 33);call write~init~int#1(32, 33, 0, 1);call write~init~int#1(37, 33, 1, 1);call write~init~int#1(105, 33, 2, 1);call write~init~int#1(0, 33, 3, 1);call #Ultimate.allocInit(4, 34);call write~init~int#2(32, 34, 0, 1);call write~init~int#2(37, 34, 1, 1);call write~init~int#2(105, 34, 2, 1);call write~init~int#2(0, 34, 3, 1);call #Ultimate.allocInit(4, 35);call write~init~int#3(32, 35, 0, 1);call write~init~int#3(37, 35, 1, 1);call write~init~int#3(105, 35, 2, 1);call write~init~int#3(0, 35, 3, 1);call #Ultimate.allocInit(2, 36);call write~init~int#4(10, 36, 0, 1);call write~init~int#4(0, 36, 1, 1);~head~0.base, ~head~0.offset := 0, 0;~weight~0 := 0;~maximumWeight~0 := 100;~executiveFloor~0 := 4;~prevDir~0 := 0;~calls_0~0 := 0;~calls_1~0 := 0;~calls_2~0 := 0;~calls_3~0 := 0;~calls_4~0 := 0;~personOnFloor_0_0~0 := 0;~personOnFloor_0_1~0 := 0;~personOnFloor_0_2~0 := 0;~personOnFloor_0_3~0 := 0;~personOnFloor_0_4~0 := 0;~personOnFloor_1_0~0 := 0;~personOnFloor_1_1~0 := 0;~personOnFloor_1_2~0 := 0;~personOnFloor_1_3~0 := 0;~personOnFloor_1_4~0 := 0;~personOnFloor_2_0~0 := 0;~personOnFloor_2_1~0 := 0;~personOnFloor_2_2~0 := 0;~personOnFloor_2_3~0 := 0;~personOnFloor_2_4~0 := 0;~personOnFloor_3_0~0 := 0;~personOnFloor_3_1~0 := 0;~personOnFloor_3_2~0 := 0;~personOnFloor_3_3~0 := 0;~personOnFloor_3_4~0 := 0;~personOnFloor_4_0~0 := 0;~personOnFloor_4_1~0 := 0;~personOnFloor_4_2~0 := 0;~personOnFloor_4_3~0 := 0;~personOnFloor_4_4~0 := 0;~personOnFloor_5_0~0 := 0;~personOnFloor_5_1~0 := 0;~personOnFloor_5_2~0 := 0;~personOnFloor_5_3~0 := 0;~personOnFloor_5_4~0 := 0;~cleanupTimeShifts~0 := 12;~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;" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret47#1, main_~retValue_acc~10#1, main_~tmp~12#1;havoc main_~retValue_acc~10#1;havoc main_~tmp~12#1;assume { :begin_inline_select_helpers } true;" "assume { :end_inline_select_helpers } true;assume { :begin_inline_select_features } true;" "assume { :end_inline_select_features } true;assume { :begin_inline_valid_product } true;havoc valid_product_#res#1;havoc valid_product_~retValue_acc~12#1;havoc valid_product_~retValue_acc~12#1;valid_product_~retValue_acc~12#1 := 1;valid_product_#res#1 := valid_product_~retValue_acc~12#1;" "main_#t~ret47#1 := valid_product_#res#1;havoc valid_product_~retValue_acc~12#1;assume { :end_inline_valid_product } true;main_~tmp~12#1 := main_#t~ret47#1;havoc main_#t~ret47#1;" "assume 0 != main_~tmp~12#1;assume { :begin_inline_setup } true;" "assume { :end_inline_setup } true;assume { :begin_inline_runTest } true;assume { :begin_inline_test } true;assume { :begin_inline_aliceCall } true;havoc aliceCall_#t~ret36#1, aliceCall_~tmp~5#1;havoc aliceCall_~tmp~5#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 1;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~4#1;" "assume !(0 == getOrigin_~person#1);" "assume 1 == getOrigin_~person#1;getOrigin_~retValue_acc~4#1 := 3;getOrigin_#res#1 := getOrigin_~retValue_acc~4#1;" "aliceCall_#t~ret36#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;aliceCall_~tmp~5#1 := aliceCall_#t~ret36#1;havoc aliceCall_#t~ret36#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 1, aliceCall_~tmp~5#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1;" "assume !(0 == initPersonOnFloor_~floor#1);" "assume !(1 == initPersonOnFloor_~floor#1);" "assume !(2 == initPersonOnFloor_~floor#1);" "assume 3 == initPersonOnFloor_~floor#1;" "assume !(0 == initPersonOnFloor_~person#1);" "assume 1 == initPersonOnFloor_~person#1;~personOnFloor_1_3~0 := 1;" "assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1;" "assume !(0 == callOnFloor_~floorID#1);" "assume !(1 == callOnFloor_~floorID#1);" "assume !(2 == callOnFloor_~floorID#1);" "assume !(3 == callOnFloor_~floorID#1);" "assume 4 == callOnFloor_~floorID#1;~calls_4~0 := 1;" "havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true;" "havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true;" "havoc aliceCall_#t~ret36#1, aliceCall_~tmp~5#1;assume { :end_inline_aliceCall } true;assume { :begin_inline_angelinaCall } true;havoc angelinaCall_#t~ret37#1, angelinaCall_~tmp~6#1;havoc angelinaCall_~tmp~6#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 2;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~4#1;" "assume !(0 == getOrigin_~person#1);" "assume !(1 == getOrigin_~person#1);" "assume 2 == getOrigin_~person#1;getOrigin_~retValue_acc~4#1 := 2;getOrigin_#res#1 := getOrigin_~retValue_acc~4#1;" "angelinaCall_#t~ret37#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;angelinaCall_~tmp~6#1 := angelinaCall_#t~ret37#1;havoc angelinaCall_#t~ret37#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 2, angelinaCall_~tmp~6#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1;" "assume !(0 == initPersonOnFloor_~floor#1);" "assume !(1 == initPersonOnFloor_~floor#1);" "assume 2 == initPersonOnFloor_~floor#1;" "assume !(0 == initPersonOnFloor_~person#1);" "assume !(1 == initPersonOnFloor_~person#1);" "assume 2 == initPersonOnFloor_~person#1;~personOnFloor_2_2~0 := 1;" "assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1;" "assume !(0 == callOnFloor_~floorID#1);" "assume !(1 == callOnFloor_~floorID#1);" "assume 2 == callOnFloor_~floorID#1;~calls_2~0 := 1;" "havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true;" "havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true;" "havoc angelinaCall_#t~ret37#1, angelinaCall_~tmp~6#1;assume { :end_inline_angelinaCall } true;assume { :begin_inline_threeTS } true;assume { :begin_inline_timeShift } true;havoc timeShift_#t~ret98#1, timeShift_#t~ret99#1, timeShift_#t~ret100#1, timeShift_#t~ret101#1, timeShift_#t~ret102#1, timeShift_#t~ret103#1, timeShift_#t~ret104#1, timeShift_#t~ret105#1, timeShift_#t~ret106#1, timeShift_#t~ret107#1, timeShift_#t~ret108#1, timeShift_~tmp~26#1, timeShift_~tmp___0~10#1, timeShift_~tmp___1~5#1, timeShift_~tmp___2~5#1, timeShift_~tmp___3~4#1, timeShift_~tmp___4~3#1, timeShift_~tmp___5~2#1, timeShift_~tmp___6~2#1, timeShift_~tmp___7~2#1, timeShift_~tmp___8~2#1, timeShift_~tmp___9~2#1;havoc timeShift_~tmp~26#1;havoc timeShift_~tmp___0~10#1;havoc timeShift_~tmp___1~5#1;havoc timeShift_~tmp___2~5#1;havoc timeShift_~tmp___3~4#1;havoc timeShift_~tmp___4~3#1;havoc timeShift_~tmp___5~2#1;havoc timeShift_~tmp___6~2#1;havoc timeShift_~tmp___7~2#1;havoc timeShift_~tmp___8~2#1;havoc timeShift_~tmp___9~2#1;assume { :begin_inline___utac_acc__Specification13_spec__1 } true;havoc __utac_acc__Specification13_spec__1_#t~ret27#1;assume { :begin_inline_getCurrentHeading } true;havoc getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~17#1;havoc getCurrentHeading_~retValue_acc~17#1;getCurrentHeading_~retValue_acc~17#1 := ~currentHeading~0;getCurrentHeading_#res#1 := getCurrentHeading_~retValue_acc~17#1;" "__utac_acc__Specification13_spec__1_#t~ret27#1 := getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~17#1;assume { :end_inline_getCurrentHeading } true;~prevDir~0 := __utac_acc__Specification13_spec__1_#t~ret27#1;havoc __utac_acc__Specification13_spec__1_#t~ret27#1;" "havoc __utac_acc__Specification13_spec__1_#t~ret27#1;assume { :end_inline___utac_acc__Specification13_spec__1 } true;assume { :begin_inline_stopRequestedAtCurrentFloor } true;havoc stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1, stopRequestedAtCurrentFloor_#t~ret83#1, stopRequestedAtCurrentFloor_#t~ret84#1, stopRequestedAtCurrentFloor_#t~ret85#1, stopRequestedAtCurrentFloor_~retValue_acc~27#1, stopRequestedAtCurrentFloor_~tmp~24#1, stopRequestedAtCurrentFloor_~tmp___0~8#1;havoc stopRequestedAtCurrentFloor_~retValue_acc~27#1;havoc stopRequestedAtCurrentFloor_~tmp~24#1;havoc stopRequestedAtCurrentFloor_~tmp___0~8#1;assume { :begin_inline_isExecutiveFloorCalling } true;havoc isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;havoc isExecutiveFloorCalling_~retValue_acc~30#1;assume { :begin_inline_isFloorCalling } true;isFloorCalling_#in~floorID#1 := ~executiveFloor~0;havoc isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;isFloorCalling_~floorID#1 := isFloorCalling_#in~floorID#1;havoc isFloorCalling_~retValue_acc~6#1;" "assume !(0 == isFloorCalling_~floorID#1);" "assume !(1 == isFloorCalling_~floorID#1);" "assume !(2 == isFloorCalling_~floorID#1);" "assume !(3 == isFloorCalling_~floorID#1);" "assume 4 == isFloorCalling_~floorID#1;isFloorCalling_~retValue_acc~6#1 := ~calls_4~0;isFloorCalling_#res#1 := isFloorCalling_~retValue_acc~6#1;" "isExecutiveFloorCalling_#t~ret135#1 := isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;havoc isFloorCalling_#in~floorID#1;assume { :end_inline_isFloorCalling } true;isExecutiveFloorCalling_~retValue_acc~30#1 := isExecutiveFloorCalling_#t~ret135#1;havoc isExecutiveFloorCalling_#t~ret135#1;isExecutiveFloorCalling_#res#1 := isExecutiveFloorCalling_~retValue_acc~30#1;" "stopRequestedAtCurrentFloor_#t~ret82#1 := isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;assume { :end_inline_isExecutiveFloorCalling } true;stopRequestedAtCurrentFloor_~tmp~24#1 := stopRequestedAtCurrentFloor_#t~ret82#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1;" "assume 0 != stopRequestedAtCurrentFloor_~tmp~24#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;havoc getCurrentFloorID_~retValue_acc~14#1;getCurrentFloorID_~retValue_acc~14#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~14#1;" "stopRequestedAtCurrentFloor_#t~ret83#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedAtCurrentFloor_~tmp___0~8#1 := stopRequestedAtCurrentFloor_#t~ret83#1;havoc stopRequestedAtCurrentFloor_#t~ret83#1;" "assume !(~executiveFloor~0 == stopRequestedAtCurrentFloor_~tmp___0~8#1);stopRequestedAtCurrentFloor_~retValue_acc~27#1 := 0;stopRequestedAtCurrentFloor_#res#1 := stopRequestedAtCurrentFloor_~retValue_acc~27#1;" "timeShift_#t~ret98#1 := stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1, stopRequestedAtCurrentFloor_#t~ret83#1, stopRequestedAtCurrentFloor_#t~ret84#1, stopRequestedAtCurrentFloor_#t~ret85#1, stopRequestedAtCurrentFloor_~retValue_acc~27#1, stopRequestedAtCurrentFloor_~tmp~24#1, stopRequestedAtCurrentFloor_~tmp___0~8#1;assume { :end_inline_stopRequestedAtCurrentFloor } true;timeShift_~tmp___9~2#1 := timeShift_#t~ret98#1;havoc timeShift_#t~ret98#1;" "assume !(0 != timeShift_~tmp___9~2#1);" "assume 1 == ~doorState~0;~doorState~0 := 0;" "assume { :begin_inline_stopRequestedInDirection } true;stopRequestedInDirection_#in~dir#1, stopRequestedInDirection_#in~respectFloorCalls#1, stopRequestedInDirection_#in~respectInLiftCalls#1 := ~currentHeading~0, 1, 1;havoc stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret73#1, stopRequestedInDirection_#t~ret74#1, stopRequestedInDirection_#t~ret75#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~23#1, stopRequestedInDirection_~tmp~20#1, stopRequestedInDirection_~tmp___0~5#1, stopRequestedInDirection_~__cil_tmp7~6#1, stopRequestedInDirection_~__cil_tmp8~7#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~23#1;havoc stopRequestedInDirection_~tmp~20#1;havoc stopRequestedInDirection_~tmp___0~5#1;havoc stopRequestedInDirection_~__cil_tmp7~6#1;havoc stopRequestedInDirection_~__cil_tmp8~7#1;assume { :begin_inline_isExecutiveFloorCalling } true;havoc isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;havoc isExecutiveFloorCalling_~retValue_acc~30#1;assume { :begin_inline_isFloorCalling } true;isFloorCalling_#in~floorID#1 := ~executiveFloor~0;havoc isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;isFloorCalling_~floorID#1 := isFloorCalling_#in~floorID#1;havoc isFloorCalling_~retValue_acc~6#1;" "assume !(0 == isFloorCalling_~floorID#1);" "assume !(1 == isFloorCalling_~floorID#1);" "assume !(2 == isFloorCalling_~floorID#1);" "assume !(3 == isFloorCalling_~floorID#1);" "assume 4 == isFloorCalling_~floorID#1;isFloorCalling_~retValue_acc~6#1 := ~calls_4~0;isFloorCalling_#res#1 := isFloorCalling_~retValue_acc~6#1;" "isExecutiveFloorCalling_#t~ret135#1 := isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;havoc isFloorCalling_#in~floorID#1;assume { :end_inline_isFloorCalling } true;isExecutiveFloorCalling_~retValue_acc~30#1 := isExecutiveFloorCalling_#t~ret135#1;havoc isExecutiveFloorCalling_#t~ret135#1;isExecutiveFloorCalling_#res#1 := isExecutiveFloorCalling_~retValue_acc~30#1;" "stopRequestedInDirection_#t~ret73#1 := isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;assume { :end_inline_isExecutiveFloorCalling } true;stopRequestedInDirection_~tmp___0~5#1 := stopRequestedInDirection_#t~ret73#1;havoc stopRequestedInDirection_#t~ret73#1;" "assume 0 != stopRequestedInDirection_~tmp___0~5#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;havoc getCurrentFloorID_~retValue_acc~14#1;getCurrentFloorID_~retValue_acc~14#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~14#1;" "stopRequestedInDirection_#t~ret74#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedInDirection_~tmp~20#1 := stopRequestedInDirection_#t~ret74#1;havoc stopRequestedInDirection_#t~ret74#1;stopRequestedInDirection_~__cil_tmp7~6#1 := (if 1 == stopRequestedInDirection_~dir#1 then 1 else 0);stopRequestedInDirection_~__cil_tmp8~7#1 := (if stopRequestedInDirection_~tmp~20#1 < ~executiveFloor~0 then 1 else 0);stopRequestedInDirection_~retValue_acc~23#1 := (if stopRequestedInDirection_~__cil_tmp8~7#1 == stopRequestedInDirection_~__cil_tmp7~6#1 then 1 else 0);stopRequestedInDirection_#res#1 := stopRequestedInDirection_~retValue_acc~23#1;" "timeShift_#t~ret105#1 := stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret73#1, stopRequestedInDirection_#t~ret74#1, stopRequestedInDirection_#t~ret75#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~23#1, stopRequestedInDirection_~tmp~20#1, stopRequestedInDirection_~tmp___0~5#1, stopRequestedInDirection_~__cil_tmp7~6#1, stopRequestedInDirection_~__cil_tmp8~7#1;havoc stopRequestedInDirection_#in~dir#1, stopRequestedInDirection_#in~respectFloorCalls#1, stopRequestedInDirection_#in~respectInLiftCalls#1;assume { :end_inline_stopRequestedInDirection } true;timeShift_~tmp___8~2#1 := timeShift_#t~ret105#1;havoc timeShift_#t~ret105#1;" "assume 0 != timeShift_~tmp___8~2#1;assume { :begin_inline_continueInDirection } true;continueInDirection_#in~dir#1 := ~currentHeading~0;havoc continueInDirection_#t~ret76#1, continueInDirection_~dir#1, continueInDirection_~tmp~21#1;continueInDirection_~dir#1 := continueInDirection_#in~dir#1;havoc continueInDirection_~tmp~21#1;~currentHeading~0 := continueInDirection_~dir#1;" "assume !(1 == ~currentHeading~0);" "assume !(0 == ~currentFloorID~0);" "assume !(1 == ~currentHeading~0);~currentFloorID~0 := ~currentFloorID~0 - 1;" "havoc continueInDirection_#t~ret76#1, continueInDirection_~dir#1, continueInDirection_~tmp~21#1;havoc continueInDirection_#in~dir#1;assume { :end_inline_continueInDirection } true;" "assume { :begin_inline___utac_acc__Specification13_spec__2 } true;havoc __utac_acc__Specification13_spec__2_#t~ret28#1, __utac_acc__Specification13_spec__2_#t~ret29#1, __utac_acc__Specification13_spec__2_#t~ret30#1, __utac_acc__Specification13_spec__2_#t~ret31#1, __utac_acc__Specification13_spec__2_#t~ret32#1, __utac_acc__Specification13_spec__2_#t~ret33#1, __utac_acc__Specification13_spec__2_~tmp~3#1, __utac_acc__Specification13_spec__2_~tmp___0~0#1, __utac_acc__Specification13_spec__2_~tmp___1~0#1, __utac_acc__Specification13_spec__2_~tmp___2~0#1, __utac_acc__Specification13_spec__2_~tmp___3~0#1, __utac_acc__Specification13_spec__2_~tmp___4~0#1, __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1, __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1;havoc __utac_acc__Specification13_spec__2_~tmp~3#1;havoc __utac_acc__Specification13_spec__2_~tmp___0~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___1~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___2~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___3~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___4~0#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1;__utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 := 2 * ~maximumWeight~0;__utac_acc__Specification13_spec__2_~__cil_tmp8~5#1 := (if __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 < 0 && 0 != __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 % 3 then 1 + __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 / 3 else __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 / 3);" "assume ~weight~0 > __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1;" "assume 1 == ~prevDir~0;assume { :begin_inline_existInLiftCallsInDirection } true;existInLiftCallsInDirection_#in~d#1 := 0;havoc existInLiftCallsInDirection_#res#1;havoc existInLiftCallsInDirection_~d#1, existInLiftCallsInDirection_~retValue_acc~29#1, existInLiftCallsInDirection_~i~1#1, existInLiftCallsInDirection_~i___0~0#1;existInLiftCallsInDirection_~d#1 := existInLiftCallsInDirection_#in~d#1;havoc existInLiftCallsInDirection_~retValue_acc~29#1;havoc existInLiftCallsInDirection_~i~1#1;havoc existInLiftCallsInDirection_~i___0~0#1;" "assume !(1 == existInLiftCallsInDirection_~d#1);" "assume 0 == existInLiftCallsInDirection_~d#1;existInLiftCallsInDirection_~i___0~0#1 := 0;existInLiftCallsInDirection_~i___0~0#1 := ~currentFloorID~0 - 1;" [2025-01-10 07:36:27,991 INFO L754 eck$LassoCheckResult]: Loop: "assume existInLiftCallsInDirection_~i___0~0#1 >= 0;" "existInLiftCallsInDirection_~i___0~0#1 := 1 + ~currentFloorID~0;" "assume !(existInLiftCallsInDirection_~i___0~0#1 < 5);" "existInLiftCallsInDirection_~i___0~0#1 := existInLiftCallsInDirection_~i___0~0#1 - 1;" [2025-01-10 07:36:27,992 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:36:27,992 INFO L85 PathProgramCache]: Analyzing trace with hash 1651041417, now seen corresponding path program 1 times [2025-01-10 07:36:27,992 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:36:27,992 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1151555764] [2025-01-10 07:36:27,992 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-10 07:36:27,992 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:36:28,009 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 78 statements into 1 equivalence classes. [2025-01-10 07:36:28,013 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 78 of 78 statements. [2025-01-10 07:36:28,013 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:36:28,013 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:36:28,073 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-01-10 07:36:28,073 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-10 07:36:28,073 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1151555764] [2025-01-10 07:36:28,073 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1151555764] provided 1 perfect and 0 imperfect interpolant sequences [2025-01-10 07:36:28,073 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-01-10 07:36:28,073 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2025-01-10 07:36:28,073 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1284463163] [2025-01-10 07:36:28,074 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-01-10 07:36:28,075 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-01-10 07:36:28,075 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:36:28,075 INFO L85 PathProgramCache]: Analyzing trace with hash 274166626, now seen corresponding path program 12 times [2025-01-10 07:36:28,075 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:36:28,075 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1421680973] [2025-01-10 07:36:28,075 INFO L95 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2025-01-10 07:36:28,075 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:36:28,082 INFO L108 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE partitioned 4 statements into 1 equivalence classes. [2025-01-10 07:36:28,082 INFO L111 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 1 check-sat command(s) and asserted 4 of 4 statements. [2025-01-10 07:36:28,082 INFO L114 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 1 check-sat command(s) [2025-01-10 07:36:28,082 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:36:28,082 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-01-10 07:36:28,083 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 4 statements into 1 equivalence classes. [2025-01-10 07:36:28,083 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 4 of 4 statements. [2025-01-10 07:36:28,083 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:36:28,083 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:36:28,087 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-01-10 07:36:28,102 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-10 07:36:28,102 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2025-01-10 07:36:28,102 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2025-01-10 07:36:28,102 INFO L87 Difference]: Start difference. First operand 19144 states and 34901 transitions. cyclomatic complexity: 15827 Second operand has 5 states, 5 states have (on average 15.6) internal successors, (78), 5 states have internal predecessors, (78), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-10 07:36:28,305 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-01-10 07:36:28,305 INFO L93 Difference]: Finished difference Result 19131 states and 34879 transitions. [2025-01-10 07:36:28,305 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 19131 states and 34879 transitions. [2025-01-10 07:36:28,366 INFO L131 ngComponentsAnalysis]: Automaton has 66 accepting balls. 4722 [2025-01-10 07:36:28,412 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 19131 states to 19131 states and 34879 transitions. [2025-01-10 07:36:28,412 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 19059 [2025-01-10 07:36:28,428 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 19059 [2025-01-10 07:36:28,429 INFO L73 IsDeterministic]: Start isDeterministic. Operand 19131 states and 34879 transitions. [2025-01-10 07:36:28,433 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-01-10 07:36:28,434 INFO L218 hiAutomatonCegarLoop]: Abstraction has 19131 states and 34879 transitions. [2025-01-10 07:36:28,451 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 19131 states and 34879 transitions. [2025-01-10 07:36:28,583 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 19131 to 19131. [2025-01-10 07:36:28,602 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19131 states, 19131 states have (on average 1.8231665882598924) internal successors, (34879), 19130 states have internal predecessors, (34879), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-10 07:36:28,627 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19131 states to 19131 states and 34879 transitions. [2025-01-10 07:36:28,627 INFO L240 hiAutomatonCegarLoop]: Abstraction has 19131 states and 34879 transitions. [2025-01-10 07:36:28,627 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2025-01-10 07:36:28,628 INFO L432 stractBuchiCegarLoop]: Abstraction has 19131 states and 34879 transitions. [2025-01-10 07:36:28,628 INFO L338 stractBuchiCegarLoop]: ======== Iteration 15 ============ [2025-01-10 07:36:28,628 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 19131 states and 34879 transitions. [2025-01-10 07:36:28,669 INFO L131 ngComponentsAnalysis]: Automaton has 66 accepting balls. 4722 [2025-01-10 07:36:28,669 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-01-10 07:36:28,669 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-01-10 07:36:28,670 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-01-10 07:36:28,670 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1] [2025-01-10 07:36:28,670 INFO L752 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int#0(48, 1, 0, 1);call write~init~int#0(0, 1, 1, 1);call #Ultimate.allocInit(32, 2);call #Ultimate.allocInit(12, 3);call #Ultimate.allocInit(30, 4);call #Ultimate.allocInit(9, 5);call #Ultimate.allocInit(21, 6);call #Ultimate.allocInit(30, 7);call #Ultimate.allocInit(9, 8);call #Ultimate.allocInit(21, 9);call #Ultimate.allocInit(30, 10);call #Ultimate.allocInit(9, 11);call #Ultimate.allocInit(25, 12);call #Ultimate.allocInit(30, 13);call #Ultimate.allocInit(9, 14);call #Ultimate.allocInit(25, 15);call #Ultimate.allocInit(10, 16);call #Ultimate.allocInit(4, 17);call write~init~int#5(91, 17, 0, 1);call write~init~int#5(95, 17, 1, 1);call write~init~int#5(93, 17, 2, 1);call write~init~int#5(0, 17, 3, 1);call #Ultimate.allocInit(4, 18);call write~init~int#6(91, 18, 0, 1);call write~init~int#6(93, 18, 1, 1);call write~init~int#6(32, 18, 2, 1);call write~init~int#6(0, 18, 3, 1);call #Ultimate.allocInit(5, 19);call write~init~int#7(32, 19, 0, 1);call write~init~int#7(97, 19, 1, 1);call write~init~int#7(116, 19, 2, 1);call write~init~int#7(32, 19, 3, 1);call write~init~int#7(0, 19, 4, 1);call #Ultimate.allocInit(3, 20);call write~init~int#8(37, 20, 0, 1);call write~init~int#8(105, 20, 1, 1);call write~init~int#8(0, 20, 2, 1);call #Ultimate.allocInit(10, 21);call #Ultimate.allocInit(3, 22);call write~init~int#9(117, 22, 0, 1);call write~init~int#9(112, 22, 1, 1);call write~init~int#9(0, 22, 2, 1);call #Ultimate.allocInit(5, 23);call write~init~int#10(100, 23, 0, 1);call write~init~int#10(111, 23, 1, 1);call write~init~int#10(119, 23, 2, 1);call write~init~int#10(110, 23, 3, 1);call write~init~int#10(0, 23, 4, 1);call #Ultimate.allocInit(7, 24);call write~init~int#11(32, 24, 0, 1);call write~init~int#11(73, 24, 1, 1);call write~init~int#11(76, 24, 2, 1);call write~init~int#11(95, 24, 3, 1);call write~init~int#11(112, 24, 4, 1);call write~init~int#11(58, 24, 5, 1);call write~init~int#11(0, 24, 6, 1);call #Ultimate.allocInit(4, 25);call write~init~int#12(32, 25, 0, 1);call write~init~int#12(37, 25, 1, 1);call write~init~int#12(105, 25, 2, 1);call write~init~int#12(0, 25, 3, 1);call #Ultimate.allocInit(4, 26);call write~init~int#13(32, 26, 0, 1);call write~init~int#13(37, 26, 1, 1);call write~init~int#13(105, 26, 2, 1);call write~init~int#13(0, 26, 3, 1);call #Ultimate.allocInit(4, 27);call write~init~int#14(32, 27, 0, 1);call write~init~int#14(37, 27, 1, 1);call write~init~int#14(105, 27, 2, 1);call write~init~int#14(0, 27, 3, 1);call #Ultimate.allocInit(4, 28);call write~init~int#15(32, 28, 0, 1);call write~init~int#15(37, 28, 1, 1);call write~init~int#15(105, 28, 2, 1);call write~init~int#15(0, 28, 3, 1);call #Ultimate.allocInit(4, 29);call write~init~int#16(32, 29, 0, 1);call write~init~int#16(37, 29, 1, 1);call write~init~int#16(105, 29, 2, 1);call write~init~int#16(0, 29, 3, 1);call #Ultimate.allocInit(6, 30);call write~init~int#17(32, 30, 0, 1);call write~init~int#17(70, 30, 1, 1);call write~init~int#17(95, 30, 2, 1);call write~init~int#17(112, 30, 3, 1);call write~init~int#17(58, 30, 4, 1);call write~init~int#17(0, 30, 5, 1);call #Ultimate.allocInit(4, 31);call write~init~int#18(32, 31, 0, 1);call write~init~int#18(37, 31, 1, 1);call write~init~int#18(105, 31, 2, 1);call write~init~int#18(0, 31, 3, 1);call #Ultimate.allocInit(4, 32);call write~init~int#19(32, 32, 0, 1);call write~init~int#19(37, 32, 1, 1);call write~init~int#19(105, 32, 2, 1);call write~init~int#19(0, 32, 3, 1);call #Ultimate.allocInit(4, 33);call write~init~int#1(32, 33, 0, 1);call write~init~int#1(37, 33, 1, 1);call write~init~int#1(105, 33, 2, 1);call write~init~int#1(0, 33, 3, 1);call #Ultimate.allocInit(4, 34);call write~init~int#2(32, 34, 0, 1);call write~init~int#2(37, 34, 1, 1);call write~init~int#2(105, 34, 2, 1);call write~init~int#2(0, 34, 3, 1);call #Ultimate.allocInit(4, 35);call write~init~int#3(32, 35, 0, 1);call write~init~int#3(37, 35, 1, 1);call write~init~int#3(105, 35, 2, 1);call write~init~int#3(0, 35, 3, 1);call #Ultimate.allocInit(2, 36);call write~init~int#4(10, 36, 0, 1);call write~init~int#4(0, 36, 1, 1);~head~0.base, ~head~0.offset := 0, 0;~weight~0 := 0;~maximumWeight~0 := 100;~executiveFloor~0 := 4;~prevDir~0 := 0;~calls_0~0 := 0;~calls_1~0 := 0;~calls_2~0 := 0;~calls_3~0 := 0;~calls_4~0 := 0;~personOnFloor_0_0~0 := 0;~personOnFloor_0_1~0 := 0;~personOnFloor_0_2~0 := 0;~personOnFloor_0_3~0 := 0;~personOnFloor_0_4~0 := 0;~personOnFloor_1_0~0 := 0;~personOnFloor_1_1~0 := 0;~personOnFloor_1_2~0 := 0;~personOnFloor_1_3~0 := 0;~personOnFloor_1_4~0 := 0;~personOnFloor_2_0~0 := 0;~personOnFloor_2_1~0 := 0;~personOnFloor_2_2~0 := 0;~personOnFloor_2_3~0 := 0;~personOnFloor_2_4~0 := 0;~personOnFloor_3_0~0 := 0;~personOnFloor_3_1~0 := 0;~personOnFloor_3_2~0 := 0;~personOnFloor_3_3~0 := 0;~personOnFloor_3_4~0 := 0;~personOnFloor_4_0~0 := 0;~personOnFloor_4_1~0 := 0;~personOnFloor_4_2~0 := 0;~personOnFloor_4_3~0 := 0;~personOnFloor_4_4~0 := 0;~personOnFloor_5_0~0 := 0;~personOnFloor_5_1~0 := 0;~personOnFloor_5_2~0 := 0;~personOnFloor_5_3~0 := 0;~personOnFloor_5_4~0 := 0;~cleanupTimeShifts~0 := 12;~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;" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret47#1, main_~retValue_acc~10#1, main_~tmp~12#1;havoc main_~retValue_acc~10#1;havoc main_~tmp~12#1;assume { :begin_inline_select_helpers } true;" "assume { :end_inline_select_helpers } true;assume { :begin_inline_select_features } true;" "assume { :end_inline_select_features } true;assume { :begin_inline_valid_product } true;havoc valid_product_#res#1;havoc valid_product_~retValue_acc~12#1;havoc valid_product_~retValue_acc~12#1;valid_product_~retValue_acc~12#1 := 1;valid_product_#res#1 := valid_product_~retValue_acc~12#1;" "main_#t~ret47#1 := valid_product_#res#1;havoc valid_product_~retValue_acc~12#1;assume { :end_inline_valid_product } true;main_~tmp~12#1 := main_#t~ret47#1;havoc main_#t~ret47#1;" "assume 0 != main_~tmp~12#1;assume { :begin_inline_setup } true;" "assume { :end_inline_setup } true;assume { :begin_inline_runTest } true;assume { :begin_inline_test } true;assume { :begin_inline_aliceCall } true;havoc aliceCall_#t~ret36#1, aliceCall_~tmp~5#1;havoc aliceCall_~tmp~5#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 1;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~4#1;" "assume !(0 == getOrigin_~person#1);" "assume 1 == getOrigin_~person#1;getOrigin_~retValue_acc~4#1 := 3;getOrigin_#res#1 := getOrigin_~retValue_acc~4#1;" "aliceCall_#t~ret36#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;aliceCall_~tmp~5#1 := aliceCall_#t~ret36#1;havoc aliceCall_#t~ret36#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 1, aliceCall_~tmp~5#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1;" "assume !(0 == initPersonOnFloor_~floor#1);" "assume !(1 == initPersonOnFloor_~floor#1);" "assume !(2 == initPersonOnFloor_~floor#1);" "assume 3 == initPersonOnFloor_~floor#1;" "assume !(0 == initPersonOnFloor_~person#1);" "assume 1 == initPersonOnFloor_~person#1;~personOnFloor_1_3~0 := 1;" "assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1;" "assume !(0 == callOnFloor_~floorID#1);" "assume !(1 == callOnFloor_~floorID#1);" "assume !(2 == callOnFloor_~floorID#1);" "assume 3 == callOnFloor_~floorID#1;~calls_3~0 := 1;" "havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true;" "havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true;" "havoc aliceCall_#t~ret36#1, aliceCall_~tmp~5#1;assume { :end_inline_aliceCall } true;assume { :begin_inline_angelinaCall } true;havoc angelinaCall_#t~ret37#1, angelinaCall_~tmp~6#1;havoc angelinaCall_~tmp~6#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 2;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~4#1;" "assume !(0 == getOrigin_~person#1);" "assume !(1 == getOrigin_~person#1);" "assume 2 == getOrigin_~person#1;getOrigin_~retValue_acc~4#1 := 2;getOrigin_#res#1 := getOrigin_~retValue_acc~4#1;" "angelinaCall_#t~ret37#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;angelinaCall_~tmp~6#1 := angelinaCall_#t~ret37#1;havoc angelinaCall_#t~ret37#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 2, angelinaCall_~tmp~6#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1;" "assume !(0 == initPersonOnFloor_~floor#1);" "assume !(1 == initPersonOnFloor_~floor#1);" "assume 2 == initPersonOnFloor_~floor#1;" "assume !(0 == initPersonOnFloor_~person#1);" "assume !(1 == initPersonOnFloor_~person#1);" "assume 2 == initPersonOnFloor_~person#1;~personOnFloor_2_2~0 := 1;" "assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1;" "assume !(0 == callOnFloor_~floorID#1);" "assume !(1 == callOnFloor_~floorID#1);" "assume !(2 == callOnFloor_~floorID#1);" "assume !(3 == callOnFloor_~floorID#1);" "assume 4 == callOnFloor_~floorID#1;~calls_4~0 := 1;" "havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true;" "havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true;" "havoc angelinaCall_#t~ret37#1, angelinaCall_~tmp~6#1;assume { :end_inline_angelinaCall } true;assume { :begin_inline_threeTS } true;assume { :begin_inline_timeShift } true;havoc timeShift_#t~ret98#1, timeShift_#t~ret99#1, timeShift_#t~ret100#1, timeShift_#t~ret101#1, timeShift_#t~ret102#1, timeShift_#t~ret103#1, timeShift_#t~ret104#1, timeShift_#t~ret105#1, timeShift_#t~ret106#1, timeShift_#t~ret107#1, timeShift_#t~ret108#1, timeShift_~tmp~26#1, timeShift_~tmp___0~10#1, timeShift_~tmp___1~5#1, timeShift_~tmp___2~5#1, timeShift_~tmp___3~4#1, timeShift_~tmp___4~3#1, timeShift_~tmp___5~2#1, timeShift_~tmp___6~2#1, timeShift_~tmp___7~2#1, timeShift_~tmp___8~2#1, timeShift_~tmp___9~2#1;havoc timeShift_~tmp~26#1;havoc timeShift_~tmp___0~10#1;havoc timeShift_~tmp___1~5#1;havoc timeShift_~tmp___2~5#1;havoc timeShift_~tmp___3~4#1;havoc timeShift_~tmp___4~3#1;havoc timeShift_~tmp___5~2#1;havoc timeShift_~tmp___6~2#1;havoc timeShift_~tmp___7~2#1;havoc timeShift_~tmp___8~2#1;havoc timeShift_~tmp___9~2#1;assume { :begin_inline___utac_acc__Specification13_spec__1 } true;havoc __utac_acc__Specification13_spec__1_#t~ret27#1;assume { :begin_inline_getCurrentHeading } true;havoc getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~17#1;havoc getCurrentHeading_~retValue_acc~17#1;getCurrentHeading_~retValue_acc~17#1 := ~currentHeading~0;getCurrentHeading_#res#1 := getCurrentHeading_~retValue_acc~17#1;" "__utac_acc__Specification13_spec__1_#t~ret27#1 := getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~17#1;assume { :end_inline_getCurrentHeading } true;~prevDir~0 := __utac_acc__Specification13_spec__1_#t~ret27#1;havoc __utac_acc__Specification13_spec__1_#t~ret27#1;" "havoc __utac_acc__Specification13_spec__1_#t~ret27#1;assume { :end_inline___utac_acc__Specification13_spec__1 } true;assume { :begin_inline_stopRequestedAtCurrentFloor } true;havoc stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1, stopRequestedAtCurrentFloor_#t~ret83#1, stopRequestedAtCurrentFloor_#t~ret84#1, stopRequestedAtCurrentFloor_#t~ret85#1, stopRequestedAtCurrentFloor_~retValue_acc~27#1, stopRequestedAtCurrentFloor_~tmp~24#1, stopRequestedAtCurrentFloor_~tmp___0~8#1;havoc stopRequestedAtCurrentFloor_~retValue_acc~27#1;havoc stopRequestedAtCurrentFloor_~tmp~24#1;havoc stopRequestedAtCurrentFloor_~tmp___0~8#1;assume { :begin_inline_isExecutiveFloorCalling } true;havoc isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;havoc isExecutiveFloorCalling_~retValue_acc~30#1;assume { :begin_inline_isFloorCalling } true;isFloorCalling_#in~floorID#1 := ~executiveFloor~0;havoc isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;isFloorCalling_~floorID#1 := isFloorCalling_#in~floorID#1;havoc isFloorCalling_~retValue_acc~6#1;" "assume !(0 == isFloorCalling_~floorID#1);" "assume !(1 == isFloorCalling_~floorID#1);" "assume !(2 == isFloorCalling_~floorID#1);" "assume !(3 == isFloorCalling_~floorID#1);" "assume 4 == isFloorCalling_~floorID#1;isFloorCalling_~retValue_acc~6#1 := ~calls_4~0;isFloorCalling_#res#1 := isFloorCalling_~retValue_acc~6#1;" "isExecutiveFloorCalling_#t~ret135#1 := isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;havoc isFloorCalling_#in~floorID#1;assume { :end_inline_isFloorCalling } true;isExecutiveFloorCalling_~retValue_acc~30#1 := isExecutiveFloorCalling_#t~ret135#1;havoc isExecutiveFloorCalling_#t~ret135#1;isExecutiveFloorCalling_#res#1 := isExecutiveFloorCalling_~retValue_acc~30#1;" "stopRequestedAtCurrentFloor_#t~ret82#1 := isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;assume { :end_inline_isExecutiveFloorCalling } true;stopRequestedAtCurrentFloor_~tmp~24#1 := stopRequestedAtCurrentFloor_#t~ret82#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1;" "assume 0 != stopRequestedAtCurrentFloor_~tmp~24#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;havoc getCurrentFloorID_~retValue_acc~14#1;getCurrentFloorID_~retValue_acc~14#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~14#1;" "stopRequestedAtCurrentFloor_#t~ret83#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedAtCurrentFloor_~tmp___0~8#1 := stopRequestedAtCurrentFloor_#t~ret83#1;havoc stopRequestedAtCurrentFloor_#t~ret83#1;" "assume !(~executiveFloor~0 == stopRequestedAtCurrentFloor_~tmp___0~8#1);stopRequestedAtCurrentFloor_~retValue_acc~27#1 := 0;stopRequestedAtCurrentFloor_#res#1 := stopRequestedAtCurrentFloor_~retValue_acc~27#1;" "timeShift_#t~ret98#1 := stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1, stopRequestedAtCurrentFloor_#t~ret83#1, stopRequestedAtCurrentFloor_#t~ret84#1, stopRequestedAtCurrentFloor_#t~ret85#1, stopRequestedAtCurrentFloor_~retValue_acc~27#1, stopRequestedAtCurrentFloor_~tmp~24#1, stopRequestedAtCurrentFloor_~tmp___0~8#1;assume { :end_inline_stopRequestedAtCurrentFloor } true;timeShift_~tmp___9~2#1 := timeShift_#t~ret98#1;havoc timeShift_#t~ret98#1;" "assume !(0 != timeShift_~tmp___9~2#1);" "assume 1 == ~doorState~0;~doorState~0 := 0;" "assume { :begin_inline_stopRequestedInDirection } true;stopRequestedInDirection_#in~dir#1, stopRequestedInDirection_#in~respectFloorCalls#1, stopRequestedInDirection_#in~respectInLiftCalls#1 := ~currentHeading~0, 1, 1;havoc stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret73#1, stopRequestedInDirection_#t~ret74#1, stopRequestedInDirection_#t~ret75#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~23#1, stopRequestedInDirection_~tmp~20#1, stopRequestedInDirection_~tmp___0~5#1, stopRequestedInDirection_~__cil_tmp7~6#1, stopRequestedInDirection_~__cil_tmp8~7#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~23#1;havoc stopRequestedInDirection_~tmp~20#1;havoc stopRequestedInDirection_~tmp___0~5#1;havoc stopRequestedInDirection_~__cil_tmp7~6#1;havoc stopRequestedInDirection_~__cil_tmp8~7#1;assume { :begin_inline_isExecutiveFloorCalling } true;havoc isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;havoc isExecutiveFloorCalling_~retValue_acc~30#1;assume { :begin_inline_isFloorCalling } true;isFloorCalling_#in~floorID#1 := ~executiveFloor~0;havoc isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;isFloorCalling_~floorID#1 := isFloorCalling_#in~floorID#1;havoc isFloorCalling_~retValue_acc~6#1;" "assume !(0 == isFloorCalling_~floorID#1);" "assume !(1 == isFloorCalling_~floorID#1);" "assume !(2 == isFloorCalling_~floorID#1);" "assume !(3 == isFloorCalling_~floorID#1);" "assume 4 == isFloorCalling_~floorID#1;isFloorCalling_~retValue_acc~6#1 := ~calls_4~0;isFloorCalling_#res#1 := isFloorCalling_~retValue_acc~6#1;" "isExecutiveFloorCalling_#t~ret135#1 := isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;havoc isFloorCalling_#in~floorID#1;assume { :end_inline_isFloorCalling } true;isExecutiveFloorCalling_~retValue_acc~30#1 := isExecutiveFloorCalling_#t~ret135#1;havoc isExecutiveFloorCalling_#t~ret135#1;isExecutiveFloorCalling_#res#1 := isExecutiveFloorCalling_~retValue_acc~30#1;" "stopRequestedInDirection_#t~ret73#1 := isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;assume { :end_inline_isExecutiveFloorCalling } true;stopRequestedInDirection_~tmp___0~5#1 := stopRequestedInDirection_#t~ret73#1;havoc stopRequestedInDirection_#t~ret73#1;" "assume 0 != stopRequestedInDirection_~tmp___0~5#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;havoc getCurrentFloorID_~retValue_acc~14#1;getCurrentFloorID_~retValue_acc~14#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~14#1;" "stopRequestedInDirection_#t~ret74#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedInDirection_~tmp~20#1 := stopRequestedInDirection_#t~ret74#1;havoc stopRequestedInDirection_#t~ret74#1;stopRequestedInDirection_~__cil_tmp7~6#1 := (if 1 == stopRequestedInDirection_~dir#1 then 1 else 0);stopRequestedInDirection_~__cil_tmp8~7#1 := (if stopRequestedInDirection_~tmp~20#1 < ~executiveFloor~0 then 1 else 0);stopRequestedInDirection_~retValue_acc~23#1 := (if stopRequestedInDirection_~__cil_tmp8~7#1 == stopRequestedInDirection_~__cil_tmp7~6#1 then 1 else 0);stopRequestedInDirection_#res#1 := stopRequestedInDirection_~retValue_acc~23#1;" "timeShift_#t~ret105#1 := stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret73#1, stopRequestedInDirection_#t~ret74#1, stopRequestedInDirection_#t~ret75#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~23#1, stopRequestedInDirection_~tmp~20#1, stopRequestedInDirection_~tmp___0~5#1, stopRequestedInDirection_~__cil_tmp7~6#1, stopRequestedInDirection_~__cil_tmp8~7#1;havoc stopRequestedInDirection_#in~dir#1, stopRequestedInDirection_#in~respectFloorCalls#1, stopRequestedInDirection_#in~respectInLiftCalls#1;assume { :end_inline_stopRequestedInDirection } true;timeShift_~tmp___8~2#1 := timeShift_#t~ret105#1;havoc timeShift_#t~ret105#1;" "assume 0 != timeShift_~tmp___8~2#1;assume { :begin_inline_continueInDirection } true;continueInDirection_#in~dir#1 := ~currentHeading~0;havoc continueInDirection_#t~ret76#1, continueInDirection_~dir#1, continueInDirection_~tmp~21#1;continueInDirection_~dir#1 := continueInDirection_#in~dir#1;havoc continueInDirection_~tmp~21#1;~currentHeading~0 := continueInDirection_~dir#1;" "assume !(1 == ~currentHeading~0);" "assume !(0 == ~currentFloorID~0);" "assume !(1 == ~currentHeading~0);~currentFloorID~0 := ~currentFloorID~0 - 1;" "havoc continueInDirection_#t~ret76#1, continueInDirection_~dir#1, continueInDirection_~tmp~21#1;havoc continueInDirection_#in~dir#1;assume { :end_inline_continueInDirection } true;" "assume { :begin_inline___utac_acc__Specification13_spec__2 } true;havoc __utac_acc__Specification13_spec__2_#t~ret28#1, __utac_acc__Specification13_spec__2_#t~ret29#1, __utac_acc__Specification13_spec__2_#t~ret30#1, __utac_acc__Specification13_spec__2_#t~ret31#1, __utac_acc__Specification13_spec__2_#t~ret32#1, __utac_acc__Specification13_spec__2_#t~ret33#1, __utac_acc__Specification13_spec__2_~tmp~3#1, __utac_acc__Specification13_spec__2_~tmp___0~0#1, __utac_acc__Specification13_spec__2_~tmp___1~0#1, __utac_acc__Specification13_spec__2_~tmp___2~0#1, __utac_acc__Specification13_spec__2_~tmp___3~0#1, __utac_acc__Specification13_spec__2_~tmp___4~0#1, __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1, __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1;havoc __utac_acc__Specification13_spec__2_~tmp~3#1;havoc __utac_acc__Specification13_spec__2_~tmp___0~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___1~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___2~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___3~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___4~0#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1;__utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 := 2 * ~maximumWeight~0;__utac_acc__Specification13_spec__2_~__cil_tmp8~5#1 := (if __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 < 0 && 0 != __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 % 3 then 1 + __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 / 3 else __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 / 3);" "assume ~weight~0 > __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1;" "assume 1 == ~prevDir~0;assume { :begin_inline_existInLiftCallsInDirection } true;existInLiftCallsInDirection_#in~d#1 := 0;havoc existInLiftCallsInDirection_#res#1;havoc existInLiftCallsInDirection_~d#1, existInLiftCallsInDirection_~retValue_acc~29#1, existInLiftCallsInDirection_~i~1#1, existInLiftCallsInDirection_~i___0~0#1;existInLiftCallsInDirection_~d#1 := existInLiftCallsInDirection_#in~d#1;havoc existInLiftCallsInDirection_~retValue_acc~29#1;havoc existInLiftCallsInDirection_~i~1#1;havoc existInLiftCallsInDirection_~i___0~0#1;" "assume !(1 == existInLiftCallsInDirection_~d#1);" "assume 0 == existInLiftCallsInDirection_~d#1;existInLiftCallsInDirection_~i___0~0#1 := 0;existInLiftCallsInDirection_~i___0~0#1 := ~currentFloorID~0 - 1;" [2025-01-10 07:36:28,670 INFO L754 eck$LassoCheckResult]: Loop: "assume existInLiftCallsInDirection_~i___0~0#1 >= 0;" "existInLiftCallsInDirection_~i___0~0#1 := 1 + ~currentFloorID~0;" "assume !(existInLiftCallsInDirection_~i___0~0#1 < 5);" "existInLiftCallsInDirection_~i___0~0#1 := existInLiftCallsInDirection_~i___0~0#1 - 1;" [2025-01-10 07:36:28,671 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:36:28,671 INFO L85 PathProgramCache]: Analyzing trace with hash 1211647492, now seen corresponding path program 1 times [2025-01-10 07:36:28,671 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:36:28,671 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1566945807] [2025-01-10 07:36:28,671 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-10 07:36:28,671 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:36:28,684 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 79 statements into 1 equivalence classes. [2025-01-10 07:36:28,687 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 79 of 79 statements. [2025-01-10 07:36:28,687 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:36:28,687 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:36:28,736 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-01-10 07:36:28,737 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-10 07:36:28,737 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1566945807] [2025-01-10 07:36:28,737 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1566945807] provided 1 perfect and 0 imperfect interpolant sequences [2025-01-10 07:36:28,737 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-01-10 07:36:28,737 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2025-01-10 07:36:28,737 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2068658516] [2025-01-10 07:36:28,737 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-01-10 07:36:28,737 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-01-10 07:36:28,737 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:36:28,737 INFO L85 PathProgramCache]: Analyzing trace with hash 274166626, now seen corresponding path program 13 times [2025-01-10 07:36:28,737 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:36:28,737 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [145079479] [2025-01-10 07:36:28,738 INFO L95 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2025-01-10 07:36:28,738 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:36:28,744 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 4 statements into 1 equivalence classes. [2025-01-10 07:36:28,744 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 4 of 4 statements. [2025-01-10 07:36:28,744 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:36:28,744 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:36:28,744 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-01-10 07:36:28,745 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 4 statements into 1 equivalence classes. [2025-01-10 07:36:28,745 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 4 of 4 statements. [2025-01-10 07:36:28,745 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:36:28,746 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:36:28,749 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-01-10 07:36:28,763 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-10 07:36:28,763 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2025-01-10 07:36:28,763 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2025-01-10 07:36:28,763 INFO L87 Difference]: Start difference. First operand 19131 states and 34879 transitions. cyclomatic complexity: 15818 Second operand has 5 states, 5 states have (on average 15.8) internal successors, (79), 5 states have internal predecessors, (79), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-10 07:36:28,946 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-01-10 07:36:28,946 INFO L93 Difference]: Finished difference Result 13345 states and 24327 transitions. [2025-01-10 07:36:28,946 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 13345 states and 24327 transitions. [2025-01-10 07:36:28,988 INFO L131 ngComponentsAnalysis]: Automaton has 42 accepting balls. 4390 [2025-01-10 07:36:29,018 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 13345 states to 13345 states and 24327 transitions. [2025-01-10 07:36:29,018 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 13309 [2025-01-10 07:36:29,027 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 13309 [2025-01-10 07:36:29,027 INFO L73 IsDeterministic]: Start isDeterministic. Operand 13345 states and 24327 transitions. [2025-01-10 07:36:29,031 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-01-10 07:36:29,031 INFO L218 hiAutomatonCegarLoop]: Abstraction has 13345 states and 24327 transitions. [2025-01-10 07:36:29,043 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 13345 states and 24327 transitions. [2025-01-10 07:36:29,131 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 13345 to 13345. [2025-01-10 07:36:29,145 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13345 states, 13345 states have (on average 1.8229299363057325) internal successors, (24327), 13344 states have internal predecessors, (24327), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-10 07:36:29,165 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13345 states to 13345 states and 24327 transitions. [2025-01-10 07:36:29,165 INFO L240 hiAutomatonCegarLoop]: Abstraction has 13345 states and 24327 transitions. [2025-01-10 07:36:29,165 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2025-01-10 07:36:29,166 INFO L432 stractBuchiCegarLoop]: Abstraction has 13345 states and 24327 transitions. [2025-01-10 07:36:29,166 INFO L338 stractBuchiCegarLoop]: ======== Iteration 16 ============ [2025-01-10 07:36:29,166 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 13345 states and 24327 transitions. [2025-01-10 07:36:29,198 INFO L131 ngComponentsAnalysis]: Automaton has 42 accepting balls. 4390 [2025-01-10 07:36:29,198 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-01-10 07:36:29,198 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-01-10 07:36:29,198 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-01-10 07:36:29,198 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1] [2025-01-10 07:36:29,199 INFO L752 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int#0(48, 1, 0, 1);call write~init~int#0(0, 1, 1, 1);call #Ultimate.allocInit(32, 2);call #Ultimate.allocInit(12, 3);call #Ultimate.allocInit(30, 4);call #Ultimate.allocInit(9, 5);call #Ultimate.allocInit(21, 6);call #Ultimate.allocInit(30, 7);call #Ultimate.allocInit(9, 8);call #Ultimate.allocInit(21, 9);call #Ultimate.allocInit(30, 10);call #Ultimate.allocInit(9, 11);call #Ultimate.allocInit(25, 12);call #Ultimate.allocInit(30, 13);call #Ultimate.allocInit(9, 14);call #Ultimate.allocInit(25, 15);call #Ultimate.allocInit(10, 16);call #Ultimate.allocInit(4, 17);call write~init~int#5(91, 17, 0, 1);call write~init~int#5(95, 17, 1, 1);call write~init~int#5(93, 17, 2, 1);call write~init~int#5(0, 17, 3, 1);call #Ultimate.allocInit(4, 18);call write~init~int#6(91, 18, 0, 1);call write~init~int#6(93, 18, 1, 1);call write~init~int#6(32, 18, 2, 1);call write~init~int#6(0, 18, 3, 1);call #Ultimate.allocInit(5, 19);call write~init~int#7(32, 19, 0, 1);call write~init~int#7(97, 19, 1, 1);call write~init~int#7(116, 19, 2, 1);call write~init~int#7(32, 19, 3, 1);call write~init~int#7(0, 19, 4, 1);call #Ultimate.allocInit(3, 20);call write~init~int#8(37, 20, 0, 1);call write~init~int#8(105, 20, 1, 1);call write~init~int#8(0, 20, 2, 1);call #Ultimate.allocInit(10, 21);call #Ultimate.allocInit(3, 22);call write~init~int#9(117, 22, 0, 1);call write~init~int#9(112, 22, 1, 1);call write~init~int#9(0, 22, 2, 1);call #Ultimate.allocInit(5, 23);call write~init~int#10(100, 23, 0, 1);call write~init~int#10(111, 23, 1, 1);call write~init~int#10(119, 23, 2, 1);call write~init~int#10(110, 23, 3, 1);call write~init~int#10(0, 23, 4, 1);call #Ultimate.allocInit(7, 24);call write~init~int#11(32, 24, 0, 1);call write~init~int#11(73, 24, 1, 1);call write~init~int#11(76, 24, 2, 1);call write~init~int#11(95, 24, 3, 1);call write~init~int#11(112, 24, 4, 1);call write~init~int#11(58, 24, 5, 1);call write~init~int#11(0, 24, 6, 1);call #Ultimate.allocInit(4, 25);call write~init~int#12(32, 25, 0, 1);call write~init~int#12(37, 25, 1, 1);call write~init~int#12(105, 25, 2, 1);call write~init~int#12(0, 25, 3, 1);call #Ultimate.allocInit(4, 26);call write~init~int#13(32, 26, 0, 1);call write~init~int#13(37, 26, 1, 1);call write~init~int#13(105, 26, 2, 1);call write~init~int#13(0, 26, 3, 1);call #Ultimate.allocInit(4, 27);call write~init~int#14(32, 27, 0, 1);call write~init~int#14(37, 27, 1, 1);call write~init~int#14(105, 27, 2, 1);call write~init~int#14(0, 27, 3, 1);call #Ultimate.allocInit(4, 28);call write~init~int#15(32, 28, 0, 1);call write~init~int#15(37, 28, 1, 1);call write~init~int#15(105, 28, 2, 1);call write~init~int#15(0, 28, 3, 1);call #Ultimate.allocInit(4, 29);call write~init~int#16(32, 29, 0, 1);call write~init~int#16(37, 29, 1, 1);call write~init~int#16(105, 29, 2, 1);call write~init~int#16(0, 29, 3, 1);call #Ultimate.allocInit(6, 30);call write~init~int#17(32, 30, 0, 1);call write~init~int#17(70, 30, 1, 1);call write~init~int#17(95, 30, 2, 1);call write~init~int#17(112, 30, 3, 1);call write~init~int#17(58, 30, 4, 1);call write~init~int#17(0, 30, 5, 1);call #Ultimate.allocInit(4, 31);call write~init~int#18(32, 31, 0, 1);call write~init~int#18(37, 31, 1, 1);call write~init~int#18(105, 31, 2, 1);call write~init~int#18(0, 31, 3, 1);call #Ultimate.allocInit(4, 32);call write~init~int#19(32, 32, 0, 1);call write~init~int#19(37, 32, 1, 1);call write~init~int#19(105, 32, 2, 1);call write~init~int#19(0, 32, 3, 1);call #Ultimate.allocInit(4, 33);call write~init~int#1(32, 33, 0, 1);call write~init~int#1(37, 33, 1, 1);call write~init~int#1(105, 33, 2, 1);call write~init~int#1(0, 33, 3, 1);call #Ultimate.allocInit(4, 34);call write~init~int#2(32, 34, 0, 1);call write~init~int#2(37, 34, 1, 1);call write~init~int#2(105, 34, 2, 1);call write~init~int#2(0, 34, 3, 1);call #Ultimate.allocInit(4, 35);call write~init~int#3(32, 35, 0, 1);call write~init~int#3(37, 35, 1, 1);call write~init~int#3(105, 35, 2, 1);call write~init~int#3(0, 35, 3, 1);call #Ultimate.allocInit(2, 36);call write~init~int#4(10, 36, 0, 1);call write~init~int#4(0, 36, 1, 1);~head~0.base, ~head~0.offset := 0, 0;~weight~0 := 0;~maximumWeight~0 := 100;~executiveFloor~0 := 4;~prevDir~0 := 0;~calls_0~0 := 0;~calls_1~0 := 0;~calls_2~0 := 0;~calls_3~0 := 0;~calls_4~0 := 0;~personOnFloor_0_0~0 := 0;~personOnFloor_0_1~0 := 0;~personOnFloor_0_2~0 := 0;~personOnFloor_0_3~0 := 0;~personOnFloor_0_4~0 := 0;~personOnFloor_1_0~0 := 0;~personOnFloor_1_1~0 := 0;~personOnFloor_1_2~0 := 0;~personOnFloor_1_3~0 := 0;~personOnFloor_1_4~0 := 0;~personOnFloor_2_0~0 := 0;~personOnFloor_2_1~0 := 0;~personOnFloor_2_2~0 := 0;~personOnFloor_2_3~0 := 0;~personOnFloor_2_4~0 := 0;~personOnFloor_3_0~0 := 0;~personOnFloor_3_1~0 := 0;~personOnFloor_3_2~0 := 0;~personOnFloor_3_3~0 := 0;~personOnFloor_3_4~0 := 0;~personOnFloor_4_0~0 := 0;~personOnFloor_4_1~0 := 0;~personOnFloor_4_2~0 := 0;~personOnFloor_4_3~0 := 0;~personOnFloor_4_4~0 := 0;~personOnFloor_5_0~0 := 0;~personOnFloor_5_1~0 := 0;~personOnFloor_5_2~0 := 0;~personOnFloor_5_3~0 := 0;~personOnFloor_5_4~0 := 0;~cleanupTimeShifts~0 := 12;~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;" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret47#1, main_~retValue_acc~10#1, main_~tmp~12#1;havoc main_~retValue_acc~10#1;havoc main_~tmp~12#1;assume { :begin_inline_select_helpers } true;" "assume { :end_inline_select_helpers } true;assume { :begin_inline_select_features } true;" "assume { :end_inline_select_features } true;assume { :begin_inline_valid_product } true;havoc valid_product_#res#1;havoc valid_product_~retValue_acc~12#1;havoc valid_product_~retValue_acc~12#1;valid_product_~retValue_acc~12#1 := 1;valid_product_#res#1 := valid_product_~retValue_acc~12#1;" "main_#t~ret47#1 := valid_product_#res#1;havoc valid_product_~retValue_acc~12#1;assume { :end_inline_valid_product } true;main_~tmp~12#1 := main_#t~ret47#1;havoc main_#t~ret47#1;" "assume 0 != main_~tmp~12#1;assume { :begin_inline_setup } true;" "assume { :end_inline_setup } true;assume { :begin_inline_runTest } true;assume { :begin_inline_test } true;assume { :begin_inline_aliceCall } true;havoc aliceCall_#t~ret36#1, aliceCall_~tmp~5#1;havoc aliceCall_~tmp~5#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 1;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~4#1;" "assume !(0 == getOrigin_~person#1);" "assume 1 == getOrigin_~person#1;getOrigin_~retValue_acc~4#1 := 3;getOrigin_#res#1 := getOrigin_~retValue_acc~4#1;" "aliceCall_#t~ret36#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;aliceCall_~tmp~5#1 := aliceCall_#t~ret36#1;havoc aliceCall_#t~ret36#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 1, aliceCall_~tmp~5#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1;" "assume !(0 == initPersonOnFloor_~floor#1);" "assume !(1 == initPersonOnFloor_~floor#1);" "assume !(2 == initPersonOnFloor_~floor#1);" "assume 3 == initPersonOnFloor_~floor#1;" "assume !(0 == initPersonOnFloor_~person#1);" "assume 1 == initPersonOnFloor_~person#1;~personOnFloor_1_3~0 := 1;" "assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1;" "assume !(0 == callOnFloor_~floorID#1);" "assume !(1 == callOnFloor_~floorID#1);" "assume !(2 == callOnFloor_~floorID#1);" "assume 3 == callOnFloor_~floorID#1;~calls_3~0 := 1;" "havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true;" "havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true;" "havoc aliceCall_#t~ret36#1, aliceCall_~tmp~5#1;assume { :end_inline_aliceCall } true;assume { :begin_inline_angelinaCall } true;havoc angelinaCall_#t~ret37#1, angelinaCall_~tmp~6#1;havoc angelinaCall_~tmp~6#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 2;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~4#1;" "assume !(0 == getOrigin_~person#1);" "assume !(1 == getOrigin_~person#1);" "assume 2 == getOrigin_~person#1;getOrigin_~retValue_acc~4#1 := 2;getOrigin_#res#1 := getOrigin_~retValue_acc~4#1;" "angelinaCall_#t~ret37#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;angelinaCall_~tmp~6#1 := angelinaCall_#t~ret37#1;havoc angelinaCall_#t~ret37#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 2, angelinaCall_~tmp~6#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1;" "assume !(0 == initPersonOnFloor_~floor#1);" "assume !(1 == initPersonOnFloor_~floor#1);" "assume 2 == initPersonOnFloor_~floor#1;" "assume !(0 == initPersonOnFloor_~person#1);" "assume !(1 == initPersonOnFloor_~person#1);" "assume 2 == initPersonOnFloor_~person#1;~personOnFloor_2_2~0 := 1;" "assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1;" "assume !(0 == callOnFloor_~floorID#1);" "assume !(1 == callOnFloor_~floorID#1);" "assume 2 == callOnFloor_~floorID#1;~calls_2~0 := 1;" "havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true;" "havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true;" "havoc angelinaCall_#t~ret37#1, angelinaCall_~tmp~6#1;assume { :end_inline_angelinaCall } true;assume { :begin_inline_threeTS } true;assume { :begin_inline_timeShift } true;havoc timeShift_#t~ret98#1, timeShift_#t~ret99#1, timeShift_#t~ret100#1, timeShift_#t~ret101#1, timeShift_#t~ret102#1, timeShift_#t~ret103#1, timeShift_#t~ret104#1, timeShift_#t~ret105#1, timeShift_#t~ret106#1, timeShift_#t~ret107#1, timeShift_#t~ret108#1, timeShift_~tmp~26#1, timeShift_~tmp___0~10#1, timeShift_~tmp___1~5#1, timeShift_~tmp___2~5#1, timeShift_~tmp___3~4#1, timeShift_~tmp___4~3#1, timeShift_~tmp___5~2#1, timeShift_~tmp___6~2#1, timeShift_~tmp___7~2#1, timeShift_~tmp___8~2#1, timeShift_~tmp___9~2#1;havoc timeShift_~tmp~26#1;havoc timeShift_~tmp___0~10#1;havoc timeShift_~tmp___1~5#1;havoc timeShift_~tmp___2~5#1;havoc timeShift_~tmp___3~4#1;havoc timeShift_~tmp___4~3#1;havoc timeShift_~tmp___5~2#1;havoc timeShift_~tmp___6~2#1;havoc timeShift_~tmp___7~2#1;havoc timeShift_~tmp___8~2#1;havoc timeShift_~tmp___9~2#1;assume { :begin_inline___utac_acc__Specification13_spec__1 } true;havoc __utac_acc__Specification13_spec__1_#t~ret27#1;assume { :begin_inline_getCurrentHeading } true;havoc getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~17#1;havoc getCurrentHeading_~retValue_acc~17#1;getCurrentHeading_~retValue_acc~17#1 := ~currentHeading~0;getCurrentHeading_#res#1 := getCurrentHeading_~retValue_acc~17#1;" "__utac_acc__Specification13_spec__1_#t~ret27#1 := getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~17#1;assume { :end_inline_getCurrentHeading } true;~prevDir~0 := __utac_acc__Specification13_spec__1_#t~ret27#1;havoc __utac_acc__Specification13_spec__1_#t~ret27#1;" "havoc __utac_acc__Specification13_spec__1_#t~ret27#1;assume { :end_inline___utac_acc__Specification13_spec__1 } true;assume { :begin_inline_stopRequestedAtCurrentFloor } true;havoc stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1, stopRequestedAtCurrentFloor_#t~ret83#1, stopRequestedAtCurrentFloor_#t~ret84#1, stopRequestedAtCurrentFloor_#t~ret85#1, stopRequestedAtCurrentFloor_~retValue_acc~27#1, stopRequestedAtCurrentFloor_~tmp~24#1, stopRequestedAtCurrentFloor_~tmp___0~8#1;havoc stopRequestedAtCurrentFloor_~retValue_acc~27#1;havoc stopRequestedAtCurrentFloor_~tmp~24#1;havoc stopRequestedAtCurrentFloor_~tmp___0~8#1;assume { :begin_inline_isExecutiveFloorCalling } true;havoc isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;havoc isExecutiveFloorCalling_~retValue_acc~30#1;assume { :begin_inline_isFloorCalling } true;isFloorCalling_#in~floorID#1 := ~executiveFloor~0;havoc isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;isFloorCalling_~floorID#1 := isFloorCalling_#in~floorID#1;havoc isFloorCalling_~retValue_acc~6#1;" "assume !(0 == isFloorCalling_~floorID#1);" "assume !(1 == isFloorCalling_~floorID#1);" "assume !(2 == isFloorCalling_~floorID#1);" "assume !(3 == isFloorCalling_~floorID#1);" "assume 4 == isFloorCalling_~floorID#1;isFloorCalling_~retValue_acc~6#1 := ~calls_4~0;isFloorCalling_#res#1 := isFloorCalling_~retValue_acc~6#1;" "isExecutiveFloorCalling_#t~ret135#1 := isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;havoc isFloorCalling_#in~floorID#1;assume { :end_inline_isFloorCalling } true;isExecutiveFloorCalling_~retValue_acc~30#1 := isExecutiveFloorCalling_#t~ret135#1;havoc isExecutiveFloorCalling_#t~ret135#1;isExecutiveFloorCalling_#res#1 := isExecutiveFloorCalling_~retValue_acc~30#1;" "stopRequestedAtCurrentFloor_#t~ret82#1 := isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;assume { :end_inline_isExecutiveFloorCalling } true;stopRequestedAtCurrentFloor_~tmp~24#1 := stopRequestedAtCurrentFloor_#t~ret82#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1;" "assume !(0 != stopRequestedAtCurrentFloor_~tmp~24#1);assume { :begin_inline_stopRequestedAtCurrentFloor__wrappee__twothirdsfull } true;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#res#1;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret79#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret80#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret81#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~retValue_acc~26#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp~23#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp___0~7#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp4~3#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp5~4#1;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~retValue_acc~26#1;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp~23#1;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp___0~7#1;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp4~3#1;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp5~4#1;stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp4~3#1 := 2 * ~maximumWeight~0;stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp5~4#1 := (if stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp4~3#1 < 0 && 0 != stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp4~3#1 % 3 then 1 + stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp4~3#1 / 3 else stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp4~3#1 / 3);" "assume ~weight~0 > stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp5~4#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;havoc getCurrentFloorID_~retValue_acc~14#1;getCurrentFloorID_~retValue_acc~14#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~14#1;" "stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret79#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp~23#1 := stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret79#1;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret79#1;assume { :begin_inline_buttonForFloorIsPressed } true;buttonForFloorIsPressed_#in~floorID#1 := stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp~23#1;havoc buttonForFloorIsPressed_#res#1;havoc buttonForFloorIsPressed_~floorID#1, buttonForFloorIsPressed_~retValue_acc~16#1;buttonForFloorIsPressed_~floorID#1 := buttonForFloorIsPressed_#in~floorID#1;havoc buttonForFloorIsPressed_~retValue_acc~16#1;" "assume 0 == buttonForFloorIsPressed_~floorID#1;buttonForFloorIsPressed_~retValue_acc~16#1 := ~floorButtons_0~0;buttonForFloorIsPressed_#res#1 := buttonForFloorIsPressed_~retValue_acc~16#1;" "stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret80#1 := buttonForFloorIsPressed_#res#1;havoc buttonForFloorIsPressed_~floorID#1, buttonForFloorIsPressed_~retValue_acc~16#1;havoc buttonForFloorIsPressed_#in~floorID#1;assume { :end_inline_buttonForFloorIsPressed } true;stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp___0~7#1 := stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret80#1;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret80#1;stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~retValue_acc~26#1 := (if 1 == stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp___0~7#1 then 1 else 0);stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#res#1 := stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~retValue_acc~26#1;" "stopRequestedAtCurrentFloor_#t~ret85#1 := stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#res#1;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret79#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret80#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret81#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~retValue_acc~26#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp~23#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp___0~7#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp4~3#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp5~4#1;assume { :end_inline_stopRequestedAtCurrentFloor__wrappee__twothirdsfull } true;stopRequestedAtCurrentFloor_~retValue_acc~27#1 := stopRequestedAtCurrentFloor_#t~ret85#1;havoc stopRequestedAtCurrentFloor_#t~ret85#1;stopRequestedAtCurrentFloor_#res#1 := stopRequestedAtCurrentFloor_~retValue_acc~27#1;" "timeShift_#t~ret98#1 := stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1, stopRequestedAtCurrentFloor_#t~ret83#1, stopRequestedAtCurrentFloor_#t~ret84#1, stopRequestedAtCurrentFloor_#t~ret85#1, stopRequestedAtCurrentFloor_~retValue_acc~27#1, stopRequestedAtCurrentFloor_~tmp~24#1, stopRequestedAtCurrentFloor_~tmp___0~8#1;assume { :end_inline_stopRequestedAtCurrentFloor } true;timeShift_~tmp___9~2#1 := timeShift_#t~ret98#1;havoc timeShift_#t~ret98#1;" "assume !(0 != timeShift_~tmp___9~2#1);" "assume 1 == ~doorState~0;~doorState~0 := 0;" "assume { :begin_inline_stopRequestedInDirection } true;stopRequestedInDirection_#in~dir#1, stopRequestedInDirection_#in~respectFloorCalls#1, stopRequestedInDirection_#in~respectInLiftCalls#1 := ~currentHeading~0, 1, 1;havoc stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret73#1, stopRequestedInDirection_#t~ret74#1, stopRequestedInDirection_#t~ret75#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~23#1, stopRequestedInDirection_~tmp~20#1, stopRequestedInDirection_~tmp___0~5#1, stopRequestedInDirection_~__cil_tmp7~6#1, stopRequestedInDirection_~__cil_tmp8~7#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~23#1;havoc stopRequestedInDirection_~tmp~20#1;havoc stopRequestedInDirection_~tmp___0~5#1;havoc stopRequestedInDirection_~__cil_tmp7~6#1;havoc stopRequestedInDirection_~__cil_tmp8~7#1;assume { :begin_inline_isExecutiveFloorCalling } true;havoc isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;havoc isExecutiveFloorCalling_~retValue_acc~30#1;assume { :begin_inline_isFloorCalling } true;isFloorCalling_#in~floorID#1 := ~executiveFloor~0;havoc isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;isFloorCalling_~floorID#1 := isFloorCalling_#in~floorID#1;havoc isFloorCalling_~retValue_acc~6#1;" "assume !(0 == isFloorCalling_~floorID#1);" "assume !(1 == isFloorCalling_~floorID#1);" "assume !(2 == isFloorCalling_~floorID#1);" "assume !(3 == isFloorCalling_~floorID#1);" "assume 4 == isFloorCalling_~floorID#1;isFloorCalling_~retValue_acc~6#1 := ~calls_4~0;isFloorCalling_#res#1 := isFloorCalling_~retValue_acc~6#1;" "isExecutiveFloorCalling_#t~ret135#1 := isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;havoc isFloorCalling_#in~floorID#1;assume { :end_inline_isFloorCalling } true;isExecutiveFloorCalling_~retValue_acc~30#1 := isExecutiveFloorCalling_#t~ret135#1;havoc isExecutiveFloorCalling_#t~ret135#1;isExecutiveFloorCalling_#res#1 := isExecutiveFloorCalling_~retValue_acc~30#1;" "stopRequestedInDirection_#t~ret73#1 := isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;assume { :end_inline_isExecutiveFloorCalling } true;stopRequestedInDirection_~tmp___0~5#1 := stopRequestedInDirection_#t~ret73#1;havoc stopRequestedInDirection_#t~ret73#1;" "assume 0 != stopRequestedInDirection_~tmp___0~5#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;havoc getCurrentFloorID_~retValue_acc~14#1;getCurrentFloorID_~retValue_acc~14#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~14#1;" "stopRequestedInDirection_#t~ret74#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedInDirection_~tmp~20#1 := stopRequestedInDirection_#t~ret74#1;havoc stopRequestedInDirection_#t~ret74#1;stopRequestedInDirection_~__cil_tmp7~6#1 := (if 1 == stopRequestedInDirection_~dir#1 then 1 else 0);stopRequestedInDirection_~__cil_tmp8~7#1 := (if stopRequestedInDirection_~tmp~20#1 < ~executiveFloor~0 then 1 else 0);stopRequestedInDirection_~retValue_acc~23#1 := (if stopRequestedInDirection_~__cil_tmp8~7#1 == stopRequestedInDirection_~__cil_tmp7~6#1 then 1 else 0);stopRequestedInDirection_#res#1 := stopRequestedInDirection_~retValue_acc~23#1;" "timeShift_#t~ret105#1 := stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret73#1, stopRequestedInDirection_#t~ret74#1, stopRequestedInDirection_#t~ret75#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~23#1, stopRequestedInDirection_~tmp~20#1, stopRequestedInDirection_~tmp___0~5#1, stopRequestedInDirection_~__cil_tmp7~6#1, stopRequestedInDirection_~__cil_tmp8~7#1;havoc stopRequestedInDirection_#in~dir#1, stopRequestedInDirection_#in~respectFloorCalls#1, stopRequestedInDirection_#in~respectInLiftCalls#1;assume { :end_inline_stopRequestedInDirection } true;timeShift_~tmp___8~2#1 := timeShift_#t~ret105#1;havoc timeShift_#t~ret105#1;" "assume 0 != timeShift_~tmp___8~2#1;assume { :begin_inline_continueInDirection } true;continueInDirection_#in~dir#1 := ~currentHeading~0;havoc continueInDirection_#t~ret76#1, continueInDirection_~dir#1, continueInDirection_~tmp~21#1;continueInDirection_~dir#1 := continueInDirection_#in~dir#1;havoc continueInDirection_~tmp~21#1;~currentHeading~0 := continueInDirection_~dir#1;" "assume !(1 == ~currentHeading~0);" "assume !(0 == ~currentFloorID~0);" "assume !(1 == ~currentHeading~0);~currentFloorID~0 := ~currentFloorID~0 - 1;" "havoc continueInDirection_#t~ret76#1, continueInDirection_~dir#1, continueInDirection_~tmp~21#1;havoc continueInDirection_#in~dir#1;assume { :end_inline_continueInDirection } true;" "assume { :begin_inline___utac_acc__Specification13_spec__2 } true;havoc __utac_acc__Specification13_spec__2_#t~ret28#1, __utac_acc__Specification13_spec__2_#t~ret29#1, __utac_acc__Specification13_spec__2_#t~ret30#1, __utac_acc__Specification13_spec__2_#t~ret31#1, __utac_acc__Specification13_spec__2_#t~ret32#1, __utac_acc__Specification13_spec__2_#t~ret33#1, __utac_acc__Specification13_spec__2_~tmp~3#1, __utac_acc__Specification13_spec__2_~tmp___0~0#1, __utac_acc__Specification13_spec__2_~tmp___1~0#1, __utac_acc__Specification13_spec__2_~tmp___2~0#1, __utac_acc__Specification13_spec__2_~tmp___3~0#1, __utac_acc__Specification13_spec__2_~tmp___4~0#1, __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1, __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1;havoc __utac_acc__Specification13_spec__2_~tmp~3#1;havoc __utac_acc__Specification13_spec__2_~tmp___0~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___1~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___2~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___3~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___4~0#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1;__utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 := 2 * ~maximumWeight~0;__utac_acc__Specification13_spec__2_~__cil_tmp8~5#1 := (if __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 < 0 && 0 != __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 % 3 then 1 + __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 / 3 else __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 / 3);" "assume ~weight~0 > __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1;" "assume 1 == ~prevDir~0;assume { :begin_inline_existInLiftCallsInDirection } true;existInLiftCallsInDirection_#in~d#1 := 0;havoc existInLiftCallsInDirection_#res#1;havoc existInLiftCallsInDirection_~d#1, existInLiftCallsInDirection_~retValue_acc~29#1, existInLiftCallsInDirection_~i~1#1, existInLiftCallsInDirection_~i___0~0#1;existInLiftCallsInDirection_~d#1 := existInLiftCallsInDirection_#in~d#1;havoc existInLiftCallsInDirection_~retValue_acc~29#1;havoc existInLiftCallsInDirection_~i~1#1;havoc existInLiftCallsInDirection_~i___0~0#1;" "assume !(1 == existInLiftCallsInDirection_~d#1);" "assume 0 == existInLiftCallsInDirection_~d#1;existInLiftCallsInDirection_~i___0~0#1 := 0;existInLiftCallsInDirection_~i___0~0#1 := ~currentFloorID~0 - 1;" [2025-01-10 07:36:29,199 INFO L754 eck$LassoCheckResult]: Loop: "assume existInLiftCallsInDirection_~i___0~0#1 >= 0;" "existInLiftCallsInDirection_~i___0~0#1 := 1 + ~currentFloorID~0;" "assume !(existInLiftCallsInDirection_~i___0~0#1 < 5);" "existInLiftCallsInDirection_~i___0~0#1 := existInLiftCallsInDirection_~i___0~0#1 - 1;" [2025-01-10 07:36:29,199 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:36:29,199 INFO L85 PathProgramCache]: Analyzing trace with hash 463883221, now seen corresponding path program 1 times [2025-01-10 07:36:29,199 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:36:29,199 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [701445268] [2025-01-10 07:36:29,199 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-10 07:36:29,199 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:36:29,212 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 80 statements into 1 equivalence classes. [2025-01-10 07:36:29,217 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 80 of 80 statements. [2025-01-10 07:36:29,217 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:36:29,217 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:36:29,274 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-01-10 07:36:29,275 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-10 07:36:29,275 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [701445268] [2025-01-10 07:36:29,275 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [701445268] provided 1 perfect and 0 imperfect interpolant sequences [2025-01-10 07:36:29,275 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-01-10 07:36:29,275 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2025-01-10 07:36:29,275 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1035575362] [2025-01-10 07:36:29,275 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-01-10 07:36:29,275 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-01-10 07:36:29,275 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:36:29,276 INFO L85 PathProgramCache]: Analyzing trace with hash 274166626, now seen corresponding path program 14 times [2025-01-10 07:36:29,276 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:36:29,276 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1687523438] [2025-01-10 07:36:29,276 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-01-10 07:36:29,276 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:36:29,282 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 4 statements into 1 equivalence classes. [2025-01-10 07:36:29,283 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) and asserted 4 of 4 statements. [2025-01-10 07:36:29,283 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2025-01-10 07:36:29,283 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:36:29,283 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-01-10 07:36:29,283 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 4 statements into 1 equivalence classes. [2025-01-10 07:36:29,284 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 4 of 4 statements. [2025-01-10 07:36:29,284 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:36:29,284 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:36:29,287 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-01-10 07:36:29,301 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-10 07:36:29,301 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2025-01-10 07:36:29,301 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2025-01-10 07:36:29,301 INFO L87 Difference]: Start difference. First operand 13345 states and 24327 transitions. cyclomatic complexity: 11026 Second operand has 6 states, 6 states have (on average 13.333333333333334) internal successors, (80), 5 states have internal predecessors, (80), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-10 07:36:32,075 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-01-10 07:36:32,075 INFO L93 Difference]: Finished difference Result 13688 states and 24660 transitions. [2025-01-10 07:36:32,075 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 13688 states and 24660 transitions. [2025-01-10 07:36:32,116 INFO L131 ngComponentsAnalysis]: Automaton has 42 accepting balls. 4495 [2025-01-10 07:36:32,144 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 13688 states to 13688 states and 24660 transitions. [2025-01-10 07:36:32,145 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 13652 [2025-01-10 07:36:32,153 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 13652 [2025-01-10 07:36:32,153 INFO L73 IsDeterministic]: Start isDeterministic. Operand 13688 states and 24660 transitions. [2025-01-10 07:36:32,154 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-01-10 07:36:32,154 INFO L218 hiAutomatonCegarLoop]: Abstraction has 13688 states and 24660 transitions. [2025-01-10 07:36:32,164 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 13688 states and 24660 transitions. [2025-01-10 07:36:32,253 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 13688 to 13335. [2025-01-10 07:36:32,267 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13335 states, 13335 states have (on average 1.8227971503562055) internal successors, (24307), 13334 states have internal predecessors, (24307), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-10 07:36:32,286 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13335 states to 13335 states and 24307 transitions. [2025-01-10 07:36:32,286 INFO L240 hiAutomatonCegarLoop]: Abstraction has 13335 states and 24307 transitions. [2025-01-10 07:36:32,286 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2025-01-10 07:36:32,286 INFO L432 stractBuchiCegarLoop]: Abstraction has 13335 states and 24307 transitions. [2025-01-10 07:36:32,286 INFO L338 stractBuchiCegarLoop]: ======== Iteration 17 ============ [2025-01-10 07:36:32,286 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 13335 states and 24307 transitions. [2025-01-10 07:36:32,316 INFO L131 ngComponentsAnalysis]: Automaton has 42 accepting balls. 4388 [2025-01-10 07:36:32,316 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-01-10 07:36:32,316 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-01-10 07:36:32,317 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-01-10 07:36:32,317 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1] [2025-01-10 07:36:32,321 INFO L752 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int#0(48, 1, 0, 1);call write~init~int#0(0, 1, 1, 1);call #Ultimate.allocInit(32, 2);call #Ultimate.allocInit(12, 3);call #Ultimate.allocInit(30, 4);call #Ultimate.allocInit(9, 5);call #Ultimate.allocInit(21, 6);call #Ultimate.allocInit(30, 7);call #Ultimate.allocInit(9, 8);call #Ultimate.allocInit(21, 9);call #Ultimate.allocInit(30, 10);call #Ultimate.allocInit(9, 11);call #Ultimate.allocInit(25, 12);call #Ultimate.allocInit(30, 13);call #Ultimate.allocInit(9, 14);call #Ultimate.allocInit(25, 15);call #Ultimate.allocInit(10, 16);call #Ultimate.allocInit(4, 17);call write~init~int#5(91, 17, 0, 1);call write~init~int#5(95, 17, 1, 1);call write~init~int#5(93, 17, 2, 1);call write~init~int#5(0, 17, 3, 1);call #Ultimate.allocInit(4, 18);call write~init~int#6(91, 18, 0, 1);call write~init~int#6(93, 18, 1, 1);call write~init~int#6(32, 18, 2, 1);call write~init~int#6(0, 18, 3, 1);call #Ultimate.allocInit(5, 19);call write~init~int#7(32, 19, 0, 1);call write~init~int#7(97, 19, 1, 1);call write~init~int#7(116, 19, 2, 1);call write~init~int#7(32, 19, 3, 1);call write~init~int#7(0, 19, 4, 1);call #Ultimate.allocInit(3, 20);call write~init~int#8(37, 20, 0, 1);call write~init~int#8(105, 20, 1, 1);call write~init~int#8(0, 20, 2, 1);call #Ultimate.allocInit(10, 21);call #Ultimate.allocInit(3, 22);call write~init~int#9(117, 22, 0, 1);call write~init~int#9(112, 22, 1, 1);call write~init~int#9(0, 22, 2, 1);call #Ultimate.allocInit(5, 23);call write~init~int#10(100, 23, 0, 1);call write~init~int#10(111, 23, 1, 1);call write~init~int#10(119, 23, 2, 1);call write~init~int#10(110, 23, 3, 1);call write~init~int#10(0, 23, 4, 1);call #Ultimate.allocInit(7, 24);call write~init~int#11(32, 24, 0, 1);call write~init~int#11(73, 24, 1, 1);call write~init~int#11(76, 24, 2, 1);call write~init~int#11(95, 24, 3, 1);call write~init~int#11(112, 24, 4, 1);call write~init~int#11(58, 24, 5, 1);call write~init~int#11(0, 24, 6, 1);call #Ultimate.allocInit(4, 25);call write~init~int#12(32, 25, 0, 1);call write~init~int#12(37, 25, 1, 1);call write~init~int#12(105, 25, 2, 1);call write~init~int#12(0, 25, 3, 1);call #Ultimate.allocInit(4, 26);call write~init~int#13(32, 26, 0, 1);call write~init~int#13(37, 26, 1, 1);call write~init~int#13(105, 26, 2, 1);call write~init~int#13(0, 26, 3, 1);call #Ultimate.allocInit(4, 27);call write~init~int#14(32, 27, 0, 1);call write~init~int#14(37, 27, 1, 1);call write~init~int#14(105, 27, 2, 1);call write~init~int#14(0, 27, 3, 1);call #Ultimate.allocInit(4, 28);call write~init~int#15(32, 28, 0, 1);call write~init~int#15(37, 28, 1, 1);call write~init~int#15(105, 28, 2, 1);call write~init~int#15(0, 28, 3, 1);call #Ultimate.allocInit(4, 29);call write~init~int#16(32, 29, 0, 1);call write~init~int#16(37, 29, 1, 1);call write~init~int#16(105, 29, 2, 1);call write~init~int#16(0, 29, 3, 1);call #Ultimate.allocInit(6, 30);call write~init~int#17(32, 30, 0, 1);call write~init~int#17(70, 30, 1, 1);call write~init~int#17(95, 30, 2, 1);call write~init~int#17(112, 30, 3, 1);call write~init~int#17(58, 30, 4, 1);call write~init~int#17(0, 30, 5, 1);call #Ultimate.allocInit(4, 31);call write~init~int#18(32, 31, 0, 1);call write~init~int#18(37, 31, 1, 1);call write~init~int#18(105, 31, 2, 1);call write~init~int#18(0, 31, 3, 1);call #Ultimate.allocInit(4, 32);call write~init~int#19(32, 32, 0, 1);call write~init~int#19(37, 32, 1, 1);call write~init~int#19(105, 32, 2, 1);call write~init~int#19(0, 32, 3, 1);call #Ultimate.allocInit(4, 33);call write~init~int#1(32, 33, 0, 1);call write~init~int#1(37, 33, 1, 1);call write~init~int#1(105, 33, 2, 1);call write~init~int#1(0, 33, 3, 1);call #Ultimate.allocInit(4, 34);call write~init~int#2(32, 34, 0, 1);call write~init~int#2(37, 34, 1, 1);call write~init~int#2(105, 34, 2, 1);call write~init~int#2(0, 34, 3, 1);call #Ultimate.allocInit(4, 35);call write~init~int#3(32, 35, 0, 1);call write~init~int#3(37, 35, 1, 1);call write~init~int#3(105, 35, 2, 1);call write~init~int#3(0, 35, 3, 1);call #Ultimate.allocInit(2, 36);call write~init~int#4(10, 36, 0, 1);call write~init~int#4(0, 36, 1, 1);~head~0.base, ~head~0.offset := 0, 0;~weight~0 := 0;~maximumWeight~0 := 100;~executiveFloor~0 := 4;~prevDir~0 := 0;~calls_0~0 := 0;~calls_1~0 := 0;~calls_2~0 := 0;~calls_3~0 := 0;~calls_4~0 := 0;~personOnFloor_0_0~0 := 0;~personOnFloor_0_1~0 := 0;~personOnFloor_0_2~0 := 0;~personOnFloor_0_3~0 := 0;~personOnFloor_0_4~0 := 0;~personOnFloor_1_0~0 := 0;~personOnFloor_1_1~0 := 0;~personOnFloor_1_2~0 := 0;~personOnFloor_1_3~0 := 0;~personOnFloor_1_4~0 := 0;~personOnFloor_2_0~0 := 0;~personOnFloor_2_1~0 := 0;~personOnFloor_2_2~0 := 0;~personOnFloor_2_3~0 := 0;~personOnFloor_2_4~0 := 0;~personOnFloor_3_0~0 := 0;~personOnFloor_3_1~0 := 0;~personOnFloor_3_2~0 := 0;~personOnFloor_3_3~0 := 0;~personOnFloor_3_4~0 := 0;~personOnFloor_4_0~0 := 0;~personOnFloor_4_1~0 := 0;~personOnFloor_4_2~0 := 0;~personOnFloor_4_3~0 := 0;~personOnFloor_4_4~0 := 0;~personOnFloor_5_0~0 := 0;~personOnFloor_5_1~0 := 0;~personOnFloor_5_2~0 := 0;~personOnFloor_5_3~0 := 0;~personOnFloor_5_4~0 := 0;~cleanupTimeShifts~0 := 12;~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;" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret47#1, main_~retValue_acc~10#1, main_~tmp~12#1;havoc main_~retValue_acc~10#1;havoc main_~tmp~12#1;assume { :begin_inline_select_helpers } true;" "assume { :end_inline_select_helpers } true;assume { :begin_inline_select_features } true;" "assume { :end_inline_select_features } true;assume { :begin_inline_valid_product } true;havoc valid_product_#res#1;havoc valid_product_~retValue_acc~12#1;havoc valid_product_~retValue_acc~12#1;valid_product_~retValue_acc~12#1 := 1;valid_product_#res#1 := valid_product_~retValue_acc~12#1;" "main_#t~ret47#1 := valid_product_#res#1;havoc valid_product_~retValue_acc~12#1;assume { :end_inline_valid_product } true;main_~tmp~12#1 := main_#t~ret47#1;havoc main_#t~ret47#1;" "assume 0 != main_~tmp~12#1;assume { :begin_inline_setup } true;" "assume { :end_inline_setup } true;assume { :begin_inline_runTest } true;assume { :begin_inline_test } true;assume { :begin_inline_aliceCall } true;havoc aliceCall_#t~ret36#1, aliceCall_~tmp~5#1;havoc aliceCall_~tmp~5#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 1;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~4#1;" "assume !(0 == getOrigin_~person#1);" "assume 1 == getOrigin_~person#1;getOrigin_~retValue_acc~4#1 := 3;getOrigin_#res#1 := getOrigin_~retValue_acc~4#1;" "aliceCall_#t~ret36#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;aliceCall_~tmp~5#1 := aliceCall_#t~ret36#1;havoc aliceCall_#t~ret36#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 1, aliceCall_~tmp~5#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1;" "assume !(0 == initPersonOnFloor_~floor#1);" "assume !(1 == initPersonOnFloor_~floor#1);" "assume !(2 == initPersonOnFloor_~floor#1);" "assume 3 == initPersonOnFloor_~floor#1;" "assume !(0 == initPersonOnFloor_~person#1);" "assume 1 == initPersonOnFloor_~person#1;~personOnFloor_1_3~0 := 1;" "assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1;" "assume !(0 == callOnFloor_~floorID#1);" "assume !(1 == callOnFloor_~floorID#1);" "assume !(2 == callOnFloor_~floorID#1);" "assume 3 == callOnFloor_~floorID#1;~calls_3~0 := 1;" "havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true;" "havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true;" "havoc aliceCall_#t~ret36#1, aliceCall_~tmp~5#1;assume { :end_inline_aliceCall } true;assume { :begin_inline_angelinaCall } true;havoc angelinaCall_#t~ret37#1, angelinaCall_~tmp~6#1;havoc angelinaCall_~tmp~6#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 2;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~4#1;" "assume !(0 == getOrigin_~person#1);" "assume !(1 == getOrigin_~person#1);" "assume 2 == getOrigin_~person#1;getOrigin_~retValue_acc~4#1 := 2;getOrigin_#res#1 := getOrigin_~retValue_acc~4#1;" "angelinaCall_#t~ret37#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;angelinaCall_~tmp~6#1 := angelinaCall_#t~ret37#1;havoc angelinaCall_#t~ret37#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 2, angelinaCall_~tmp~6#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1;" "assume !(0 == initPersonOnFloor_~floor#1);" "assume !(1 == initPersonOnFloor_~floor#1);" "assume 2 == initPersonOnFloor_~floor#1;" "assume !(0 == initPersonOnFloor_~person#1);" "assume !(1 == initPersonOnFloor_~person#1);" "assume 2 == initPersonOnFloor_~person#1;~personOnFloor_2_2~0 := 1;" "assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1;" "assume !(0 == callOnFloor_~floorID#1);" "assume !(1 == callOnFloor_~floorID#1);" "assume 2 == callOnFloor_~floorID#1;~calls_2~0 := 1;" "havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true;" "havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true;" "havoc angelinaCall_#t~ret37#1, angelinaCall_~tmp~6#1;assume { :end_inline_angelinaCall } true;assume { :begin_inline_threeTS } true;assume { :begin_inline_timeShift } true;havoc timeShift_#t~ret98#1, timeShift_#t~ret99#1, timeShift_#t~ret100#1, timeShift_#t~ret101#1, timeShift_#t~ret102#1, timeShift_#t~ret103#1, timeShift_#t~ret104#1, timeShift_#t~ret105#1, timeShift_#t~ret106#1, timeShift_#t~ret107#1, timeShift_#t~ret108#1, timeShift_~tmp~26#1, timeShift_~tmp___0~10#1, timeShift_~tmp___1~5#1, timeShift_~tmp___2~5#1, timeShift_~tmp___3~4#1, timeShift_~tmp___4~3#1, timeShift_~tmp___5~2#1, timeShift_~tmp___6~2#1, timeShift_~tmp___7~2#1, timeShift_~tmp___8~2#1, timeShift_~tmp___9~2#1;havoc timeShift_~tmp~26#1;havoc timeShift_~tmp___0~10#1;havoc timeShift_~tmp___1~5#1;havoc timeShift_~tmp___2~5#1;havoc timeShift_~tmp___3~4#1;havoc timeShift_~tmp___4~3#1;havoc timeShift_~tmp___5~2#1;havoc timeShift_~tmp___6~2#1;havoc timeShift_~tmp___7~2#1;havoc timeShift_~tmp___8~2#1;havoc timeShift_~tmp___9~2#1;assume { :begin_inline___utac_acc__Specification13_spec__1 } true;havoc __utac_acc__Specification13_spec__1_#t~ret27#1;assume { :begin_inline_getCurrentHeading } true;havoc getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~17#1;havoc getCurrentHeading_~retValue_acc~17#1;getCurrentHeading_~retValue_acc~17#1 := ~currentHeading~0;getCurrentHeading_#res#1 := getCurrentHeading_~retValue_acc~17#1;" "__utac_acc__Specification13_spec__1_#t~ret27#1 := getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~17#1;assume { :end_inline_getCurrentHeading } true;~prevDir~0 := __utac_acc__Specification13_spec__1_#t~ret27#1;havoc __utac_acc__Specification13_spec__1_#t~ret27#1;" "havoc __utac_acc__Specification13_spec__1_#t~ret27#1;assume { :end_inline___utac_acc__Specification13_spec__1 } true;assume { :begin_inline_stopRequestedAtCurrentFloor } true;havoc stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1, stopRequestedAtCurrentFloor_#t~ret83#1, stopRequestedAtCurrentFloor_#t~ret84#1, stopRequestedAtCurrentFloor_#t~ret85#1, stopRequestedAtCurrentFloor_~retValue_acc~27#1, stopRequestedAtCurrentFloor_~tmp~24#1, stopRequestedAtCurrentFloor_~tmp___0~8#1;havoc stopRequestedAtCurrentFloor_~retValue_acc~27#1;havoc stopRequestedAtCurrentFloor_~tmp~24#1;havoc stopRequestedAtCurrentFloor_~tmp___0~8#1;assume { :begin_inline_isExecutiveFloorCalling } true;havoc isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;havoc isExecutiveFloorCalling_~retValue_acc~30#1;assume { :begin_inline_isFloorCalling } true;isFloorCalling_#in~floorID#1 := ~executiveFloor~0;havoc isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;isFloorCalling_~floorID#1 := isFloorCalling_#in~floorID#1;havoc isFloorCalling_~retValue_acc~6#1;" "assume !(0 == isFloorCalling_~floorID#1);" "assume !(1 == isFloorCalling_~floorID#1);" "assume !(2 == isFloorCalling_~floorID#1);" "assume !(3 == isFloorCalling_~floorID#1);" "assume 4 == isFloorCalling_~floorID#1;isFloorCalling_~retValue_acc~6#1 := ~calls_4~0;isFloorCalling_#res#1 := isFloorCalling_~retValue_acc~6#1;" "isExecutiveFloorCalling_#t~ret135#1 := isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;havoc isFloorCalling_#in~floorID#1;assume { :end_inline_isFloorCalling } true;isExecutiveFloorCalling_~retValue_acc~30#1 := isExecutiveFloorCalling_#t~ret135#1;havoc isExecutiveFloorCalling_#t~ret135#1;isExecutiveFloorCalling_#res#1 := isExecutiveFloorCalling_~retValue_acc~30#1;" "stopRequestedAtCurrentFloor_#t~ret82#1 := isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;assume { :end_inline_isExecutiveFloorCalling } true;stopRequestedAtCurrentFloor_~tmp~24#1 := stopRequestedAtCurrentFloor_#t~ret82#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1;" "assume !(0 != stopRequestedAtCurrentFloor_~tmp~24#1);assume { :begin_inline_stopRequestedAtCurrentFloor__wrappee__twothirdsfull } true;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#res#1;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret79#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret80#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret81#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~retValue_acc~26#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp~23#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp___0~7#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp4~3#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp5~4#1;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~retValue_acc~26#1;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp~23#1;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp___0~7#1;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp4~3#1;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp5~4#1;stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp4~3#1 := 2 * ~maximumWeight~0;stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp5~4#1 := (if stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp4~3#1 < 0 && 0 != stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp4~3#1 % 3 then 1 + stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp4~3#1 / 3 else stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp4~3#1 / 3);" "assume ~weight~0 > stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp5~4#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;havoc getCurrentFloorID_~retValue_acc~14#1;getCurrentFloorID_~retValue_acc~14#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~14#1;" "stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret79#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp~23#1 := stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret79#1;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret79#1;assume { :begin_inline_buttonForFloorIsPressed } true;buttonForFloorIsPressed_#in~floorID#1 := stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp~23#1;havoc buttonForFloorIsPressed_#res#1;havoc buttonForFloorIsPressed_~floorID#1, buttonForFloorIsPressed_~retValue_acc~16#1;buttonForFloorIsPressed_~floorID#1 := buttonForFloorIsPressed_#in~floorID#1;havoc buttonForFloorIsPressed_~retValue_acc~16#1;" "assume 0 == buttonForFloorIsPressed_~floorID#1;buttonForFloorIsPressed_~retValue_acc~16#1 := ~floorButtons_0~0;buttonForFloorIsPressed_#res#1 := buttonForFloorIsPressed_~retValue_acc~16#1;" "stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret80#1 := buttonForFloorIsPressed_#res#1;havoc buttonForFloorIsPressed_~floorID#1, buttonForFloorIsPressed_~retValue_acc~16#1;havoc buttonForFloorIsPressed_#in~floorID#1;assume { :end_inline_buttonForFloorIsPressed } true;stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp___0~7#1 := stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret80#1;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret80#1;stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~retValue_acc~26#1 := (if 1 == stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp___0~7#1 then 1 else 0);stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#res#1 := stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~retValue_acc~26#1;" "stopRequestedAtCurrentFloor_#t~ret85#1 := stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#res#1;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret79#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret80#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret81#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~retValue_acc~26#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp~23#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp___0~7#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp4~3#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp5~4#1;assume { :end_inline_stopRequestedAtCurrentFloor__wrappee__twothirdsfull } true;stopRequestedAtCurrentFloor_~retValue_acc~27#1 := stopRequestedAtCurrentFloor_#t~ret85#1;havoc stopRequestedAtCurrentFloor_#t~ret85#1;stopRequestedAtCurrentFloor_#res#1 := stopRequestedAtCurrentFloor_~retValue_acc~27#1;" "timeShift_#t~ret98#1 := stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1, stopRequestedAtCurrentFloor_#t~ret83#1, stopRequestedAtCurrentFloor_#t~ret84#1, stopRequestedAtCurrentFloor_#t~ret85#1, stopRequestedAtCurrentFloor_~retValue_acc~27#1, stopRequestedAtCurrentFloor_~tmp~24#1, stopRequestedAtCurrentFloor_~tmp___0~8#1;assume { :end_inline_stopRequestedAtCurrentFloor } true;timeShift_~tmp___9~2#1 := timeShift_#t~ret98#1;havoc timeShift_#t~ret98#1;" "assume !(0 != timeShift_~tmp___9~2#1);" "assume 1 == ~doorState~0;~doorState~0 := 0;" "assume { :begin_inline_stopRequestedInDirection } true;stopRequestedInDirection_#in~dir#1, stopRequestedInDirection_#in~respectFloorCalls#1, stopRequestedInDirection_#in~respectInLiftCalls#1 := ~currentHeading~0, 1, 1;havoc stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret73#1, stopRequestedInDirection_#t~ret74#1, stopRequestedInDirection_#t~ret75#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~23#1, stopRequestedInDirection_~tmp~20#1, stopRequestedInDirection_~tmp___0~5#1, stopRequestedInDirection_~__cil_tmp7~6#1, stopRequestedInDirection_~__cil_tmp8~7#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~23#1;havoc stopRequestedInDirection_~tmp~20#1;havoc stopRequestedInDirection_~tmp___0~5#1;havoc stopRequestedInDirection_~__cil_tmp7~6#1;havoc stopRequestedInDirection_~__cil_tmp8~7#1;assume { :begin_inline_isExecutiveFloorCalling } true;havoc isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;havoc isExecutiveFloorCalling_~retValue_acc~30#1;assume { :begin_inline_isFloorCalling } true;isFloorCalling_#in~floorID#1 := ~executiveFloor~0;havoc isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;isFloorCalling_~floorID#1 := isFloorCalling_#in~floorID#1;havoc isFloorCalling_~retValue_acc~6#1;" "assume !(0 == isFloorCalling_~floorID#1);" "assume !(1 == isFloorCalling_~floorID#1);" "assume !(2 == isFloorCalling_~floorID#1);" "assume !(3 == isFloorCalling_~floorID#1);" "assume 4 == isFloorCalling_~floorID#1;isFloorCalling_~retValue_acc~6#1 := ~calls_4~0;isFloorCalling_#res#1 := isFloorCalling_~retValue_acc~6#1;" "isExecutiveFloorCalling_#t~ret135#1 := isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;havoc isFloorCalling_#in~floorID#1;assume { :end_inline_isFloorCalling } true;isExecutiveFloorCalling_~retValue_acc~30#1 := isExecutiveFloorCalling_#t~ret135#1;havoc isExecutiveFloorCalling_#t~ret135#1;isExecutiveFloorCalling_#res#1 := isExecutiveFloorCalling_~retValue_acc~30#1;" "stopRequestedInDirection_#t~ret73#1 := isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;assume { :end_inline_isExecutiveFloorCalling } true;stopRequestedInDirection_~tmp___0~5#1 := stopRequestedInDirection_#t~ret73#1;havoc stopRequestedInDirection_#t~ret73#1;" "assume !(0 != stopRequestedInDirection_~tmp___0~5#1);assume { :begin_inline_stopRequestedInDirection__wrappee__twothirdsfull } true;stopRequestedInDirection__wrappee__twothirdsfull_#in~dir#1, stopRequestedInDirection__wrappee__twothirdsfull_#in~respectFloorCalls#1, stopRequestedInDirection__wrappee__twothirdsfull_#in~respectInLiftCalls#1 := stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_#res#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_#t~ret69#1, stopRequestedInDirection__wrappee__twothirdsfull_#t~ret70#1, stopRequestedInDirection__wrappee__twothirdsfull_#t~ret71#1, stopRequestedInDirection__wrappee__twothirdsfull_#t~ret72#1, stopRequestedInDirection__wrappee__twothirdsfull_~dir#1, stopRequestedInDirection__wrappee__twothirdsfull_~respectFloorCalls#1, stopRequestedInDirection__wrappee__twothirdsfull_~respectInLiftCalls#1, stopRequestedInDirection__wrappee__twothirdsfull_~retValue_acc~22#1, stopRequestedInDirection__wrappee__twothirdsfull_~overload~0#1, stopRequestedInDirection__wrappee__twothirdsfull_~buttonPressed~0#1, stopRequestedInDirection__wrappee__twothirdsfull_~tmp~19#1, stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp8~6#1, stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp9~5#1;stopRequestedInDirection__wrappee__twothirdsfull_~dir#1 := stopRequestedInDirection__wrappee__twothirdsfull_#in~dir#1;stopRequestedInDirection__wrappee__twothirdsfull_~respectFloorCalls#1 := stopRequestedInDirection__wrappee__twothirdsfull_#in~respectFloorCalls#1;stopRequestedInDirection__wrappee__twothirdsfull_~respectInLiftCalls#1 := stopRequestedInDirection__wrappee__twothirdsfull_#in~respectInLiftCalls#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_~retValue_acc~22#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_~overload~0#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_~buttonPressed~0#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_~tmp~19#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp8~6#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp9~5#1;stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp8~6#1 := 2 * ~maximumWeight~0;stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp9~5#1 := (if stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp8~6#1 < 0 && 0 != stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp8~6#1 % 3 then 1 + stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp8~6#1 / 3 else stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp8~6#1 / 3);stopRequestedInDirection__wrappee__twothirdsfull_~overload~0#1 := (if ~weight~0 > stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp9~5#1 then 1 else 0);assume { :begin_inline_isAnyLiftButtonPressed } true;havoc isAnyLiftButtonPressed_#res#1;havoc isAnyLiftButtonPressed_~retValue_acc~24#1;havoc isAnyLiftButtonPressed_~retValue_acc~24#1;" "assume 0 != ~floorButtons_0~0;isAnyLiftButtonPressed_~retValue_acc~24#1 := 1;isAnyLiftButtonPressed_#res#1 := isAnyLiftButtonPressed_~retValue_acc~24#1;" "stopRequestedInDirection__wrappee__twothirdsfull_#t~ret69#1 := isAnyLiftButtonPressed_#res#1;havoc isAnyLiftButtonPressed_~retValue_acc~24#1;assume { :end_inline_isAnyLiftButtonPressed } true;stopRequestedInDirection__wrappee__twothirdsfull_~tmp~19#1 := stopRequestedInDirection__wrappee__twothirdsfull_#t~ret69#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_#t~ret69#1;stopRequestedInDirection__wrappee__twothirdsfull_~buttonPressed~0#1 := stopRequestedInDirection__wrappee__twothirdsfull_~tmp~19#1;" "assume !(0 != stopRequestedInDirection__wrappee__twothirdsfull_~overload~0#1);assume { :begin_inline_stopRequestedInDirection__wrappee__empty } true;stopRequestedInDirection__wrappee__empty_#in~dir#1, stopRequestedInDirection__wrappee__empty_#in~respectFloorCalls#1, stopRequestedInDirection__wrappee__empty_#in~respectInLiftCalls#1 := stopRequestedInDirection__wrappee__twothirdsfull_~dir#1, stopRequestedInDirection__wrappee__twothirdsfull_~respectFloorCalls#1, stopRequestedInDirection__wrappee__twothirdsfull_~respectInLiftCalls#1;havoc stopRequestedInDirection__wrappee__empty_#res#1;havoc stopRequestedInDirection__wrappee__empty_#t~ret58#1, stopRequestedInDirection__wrappee__empty_#t~ret59#1, stopRequestedInDirection__wrappee__empty_#t~ret60#1, stopRequestedInDirection__wrappee__empty_#t~ret61#1, stopRequestedInDirection__wrappee__empty_#t~ret62#1, stopRequestedInDirection__wrappee__empty_#t~ret63#1, stopRequestedInDirection__wrappee__empty_#t~ret64#1, stopRequestedInDirection__wrappee__empty_#t~ret65#1, stopRequestedInDirection__wrappee__empty_#t~ret66#1, stopRequestedInDirection__wrappee__empty_#t~ret67#1, stopRequestedInDirection__wrappee__empty_#t~ret68#1, stopRequestedInDirection__wrappee__empty_~dir#1, stopRequestedInDirection__wrappee__empty_~respectFloorCalls#1, stopRequestedInDirection__wrappee__empty_~respectInLiftCalls#1, stopRequestedInDirection__wrappee__empty_~retValue_acc~21#1, stopRequestedInDirection__wrappee__empty_~tmp~18#1, stopRequestedInDirection__wrappee__empty_~tmp___0~4#1, stopRequestedInDirection__wrappee__empty_~tmp___1~3#1, stopRequestedInDirection__wrappee__empty_~tmp___2~3#1, stopRequestedInDirection__wrappee__empty_~tmp___3~2#1, stopRequestedInDirection__wrappee__empty_~tmp___4~1#1, stopRequestedInDirection__wrappee__empty_~tmp___5~0#1, stopRequestedInDirection__wrappee__empty_~tmp___6~0#1, stopRequestedInDirection__wrappee__empty_~tmp___7~0#1, stopRequestedInDirection__wrappee__empty_~tmp___8~0#1, stopRequestedInDirection__wrappee__empty_~tmp___9~0#1;stopRequestedInDirection__wrappee__empty_~dir#1 := stopRequestedInDirection__wrappee__empty_#in~dir#1;stopRequestedInDirection__wrappee__empty_~respectFloorCalls#1 := stopRequestedInDirection__wrappee__empty_#in~respectFloorCalls#1;stopRequestedInDirection__wrappee__empty_~respectInLiftCalls#1 := stopRequestedInDirection__wrappee__empty_#in~respectInLiftCalls#1;havoc stopRequestedInDirection__wrappee__empty_~retValue_acc~21#1;havoc stopRequestedInDirection__wrappee__empty_~tmp~18#1;havoc stopRequestedInDirection__wrappee__empty_~tmp___0~4#1;havoc stopRequestedInDirection__wrappee__empty_~tmp___1~3#1;havoc stopRequestedInDirection__wrappee__empty_~tmp___2~3#1;havoc stopRequestedInDirection__wrappee__empty_~tmp___3~2#1;havoc stopRequestedInDirection__wrappee__empty_~tmp___4~1#1;havoc stopRequestedInDirection__wrappee__empty_~tmp___5~0#1;havoc stopRequestedInDirection__wrappee__empty_~tmp___6~0#1;havoc stopRequestedInDirection__wrappee__empty_~tmp___7~0#1;havoc stopRequestedInDirection__wrappee__empty_~tmp___8~0#1;havoc stopRequestedInDirection__wrappee__empty_~tmp___9~0#1;" "assume !(1 == stopRequestedInDirection__wrappee__empty_~dir#1);" "assume 0 == ~currentFloorID~0;stopRequestedInDirection__wrappee__empty_~retValue_acc~21#1 := 0;stopRequestedInDirection__wrappee__empty_#res#1 := stopRequestedInDirection__wrappee__empty_~retValue_acc~21#1;" "stopRequestedInDirection__wrappee__twothirdsfull_#t~ret72#1 := stopRequestedInDirection__wrappee__empty_#res#1;havoc stopRequestedInDirection__wrappee__empty_#t~ret58#1, stopRequestedInDirection__wrappee__empty_#t~ret59#1, stopRequestedInDirection__wrappee__empty_#t~ret60#1, stopRequestedInDirection__wrappee__empty_#t~ret61#1, stopRequestedInDirection__wrappee__empty_#t~ret62#1, stopRequestedInDirection__wrappee__empty_#t~ret63#1, stopRequestedInDirection__wrappee__empty_#t~ret64#1, stopRequestedInDirection__wrappee__empty_#t~ret65#1, stopRequestedInDirection__wrappee__empty_#t~ret66#1, stopRequestedInDirection__wrappee__empty_#t~ret67#1, stopRequestedInDirection__wrappee__empty_#t~ret68#1, stopRequestedInDirection__wrappee__empty_~dir#1, stopRequestedInDirection__wrappee__empty_~respectFloorCalls#1, stopRequestedInDirection__wrappee__empty_~respectInLiftCalls#1, stopRequestedInDirection__wrappee__empty_~retValue_acc~21#1, stopRequestedInDirection__wrappee__empty_~tmp~18#1, stopRequestedInDirection__wrappee__empty_~tmp___0~4#1, stopRequestedInDirection__wrappee__empty_~tmp___1~3#1, stopRequestedInDirection__wrappee__empty_~tmp___2~3#1, stopRequestedInDirection__wrappee__empty_~tmp___3~2#1, stopRequestedInDirection__wrappee__empty_~tmp___4~1#1, stopRequestedInDirection__wrappee__empty_~tmp___5~0#1, stopRequestedInDirection__wrappee__empty_~tmp___6~0#1, stopRequestedInDirection__wrappee__empty_~tmp___7~0#1, stopRequestedInDirection__wrappee__empty_~tmp___8~0#1, stopRequestedInDirection__wrappee__empty_~tmp___9~0#1;havoc stopRequestedInDirection__wrappee__empty_#in~dir#1, stopRequestedInDirection__wrappee__empty_#in~respectFloorCalls#1, stopRequestedInDirection__wrappee__empty_#in~respectInLiftCalls#1;assume { :end_inline_stopRequestedInDirection__wrappee__empty } true;stopRequestedInDirection__wrappee__twothirdsfull_~retValue_acc~22#1 := stopRequestedInDirection__wrappee__twothirdsfull_#t~ret72#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_#t~ret72#1;stopRequestedInDirection__wrappee__twothirdsfull_#res#1 := stopRequestedInDirection__wrappee__twothirdsfull_~retValue_acc~22#1;" "stopRequestedInDirection_#t~ret75#1 := stopRequestedInDirection__wrappee__twothirdsfull_#res#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_#t~ret69#1, stopRequestedInDirection__wrappee__twothirdsfull_#t~ret70#1, stopRequestedInDirection__wrappee__twothirdsfull_#t~ret71#1, stopRequestedInDirection__wrappee__twothirdsfull_#t~ret72#1, stopRequestedInDirection__wrappee__twothirdsfull_~dir#1, stopRequestedInDirection__wrappee__twothirdsfull_~respectFloorCalls#1, stopRequestedInDirection__wrappee__twothirdsfull_~respectInLiftCalls#1, stopRequestedInDirection__wrappee__twothirdsfull_~retValue_acc~22#1, stopRequestedInDirection__wrappee__twothirdsfull_~overload~0#1, stopRequestedInDirection__wrappee__twothirdsfull_~buttonPressed~0#1, stopRequestedInDirection__wrappee__twothirdsfull_~tmp~19#1, stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp8~6#1, stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp9~5#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_#in~dir#1, stopRequestedInDirection__wrappee__twothirdsfull_#in~respectFloorCalls#1, stopRequestedInDirection__wrappee__twothirdsfull_#in~respectInLiftCalls#1;assume { :end_inline_stopRequestedInDirection__wrappee__twothirdsfull } true;stopRequestedInDirection_~retValue_acc~23#1 := stopRequestedInDirection_#t~ret75#1;havoc stopRequestedInDirection_#t~ret75#1;stopRequestedInDirection_#res#1 := stopRequestedInDirection_~retValue_acc~23#1;" "timeShift_#t~ret105#1 := stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret73#1, stopRequestedInDirection_#t~ret74#1, stopRequestedInDirection_#t~ret75#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~23#1, stopRequestedInDirection_~tmp~20#1, stopRequestedInDirection_~tmp___0~5#1, stopRequestedInDirection_~__cil_tmp7~6#1, stopRequestedInDirection_~__cil_tmp8~7#1;havoc stopRequestedInDirection_#in~dir#1, stopRequestedInDirection_#in~respectFloorCalls#1, stopRequestedInDirection_#in~respectInLiftCalls#1;assume { :end_inline_stopRequestedInDirection } true;timeShift_~tmp___8~2#1 := timeShift_#t~ret105#1;havoc timeShift_#t~ret105#1;" "assume 0 != timeShift_~tmp___8~2#1;assume { :begin_inline_continueInDirection } true;continueInDirection_#in~dir#1 := ~currentHeading~0;havoc continueInDirection_#t~ret76#1, continueInDirection_~dir#1, continueInDirection_~tmp~21#1;continueInDirection_~dir#1 := continueInDirection_#in~dir#1;havoc continueInDirection_~tmp~21#1;~currentHeading~0 := continueInDirection_~dir#1;" "assume !(1 == ~currentHeading~0);" "assume !(0 == ~currentFloorID~0);" "assume !(1 == ~currentHeading~0);~currentFloorID~0 := ~currentFloorID~0 - 1;" "havoc continueInDirection_#t~ret76#1, continueInDirection_~dir#1, continueInDirection_~tmp~21#1;havoc continueInDirection_#in~dir#1;assume { :end_inline_continueInDirection } true;" "assume { :begin_inline___utac_acc__Specification13_spec__2 } true;havoc __utac_acc__Specification13_spec__2_#t~ret28#1, __utac_acc__Specification13_spec__2_#t~ret29#1, __utac_acc__Specification13_spec__2_#t~ret30#1, __utac_acc__Specification13_spec__2_#t~ret31#1, __utac_acc__Specification13_spec__2_#t~ret32#1, __utac_acc__Specification13_spec__2_#t~ret33#1, __utac_acc__Specification13_spec__2_~tmp~3#1, __utac_acc__Specification13_spec__2_~tmp___0~0#1, __utac_acc__Specification13_spec__2_~tmp___1~0#1, __utac_acc__Specification13_spec__2_~tmp___2~0#1, __utac_acc__Specification13_spec__2_~tmp___3~0#1, __utac_acc__Specification13_spec__2_~tmp___4~0#1, __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1, __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1;havoc __utac_acc__Specification13_spec__2_~tmp~3#1;havoc __utac_acc__Specification13_spec__2_~tmp___0~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___1~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___2~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___3~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___4~0#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1;__utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 := 2 * ~maximumWeight~0;__utac_acc__Specification13_spec__2_~__cil_tmp8~5#1 := (if __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 < 0 && 0 != __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 % 3 then 1 + __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 / 3 else __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 / 3);" "assume ~weight~0 > __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1;" "assume 1 == ~prevDir~0;assume { :begin_inline_existInLiftCallsInDirection } true;existInLiftCallsInDirection_#in~d#1 := 0;havoc existInLiftCallsInDirection_#res#1;havoc existInLiftCallsInDirection_~d#1, existInLiftCallsInDirection_~retValue_acc~29#1, existInLiftCallsInDirection_~i~1#1, existInLiftCallsInDirection_~i___0~0#1;existInLiftCallsInDirection_~d#1 := existInLiftCallsInDirection_#in~d#1;havoc existInLiftCallsInDirection_~retValue_acc~29#1;havoc existInLiftCallsInDirection_~i~1#1;havoc existInLiftCallsInDirection_~i___0~0#1;" "assume !(1 == existInLiftCallsInDirection_~d#1);" "assume 0 == existInLiftCallsInDirection_~d#1;existInLiftCallsInDirection_~i___0~0#1 := 0;existInLiftCallsInDirection_~i___0~0#1 := ~currentFloorID~0 - 1;" [2025-01-10 07:36:32,321 INFO L754 eck$LassoCheckResult]: Loop: "assume existInLiftCallsInDirection_~i___0~0#1 >= 0;" "existInLiftCallsInDirection_~i___0~0#1 := 1 + ~currentFloorID~0;" "assume !(existInLiftCallsInDirection_~i___0~0#1 < 5);" "existInLiftCallsInDirection_~i___0~0#1 := existInLiftCallsInDirection_~i___0~0#1 - 1;" [2025-01-10 07:36:32,321 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:36:32,321 INFO L85 PathProgramCache]: Analyzing trace with hash 816407143, now seen corresponding path program 1 times [2025-01-10 07:36:32,321 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:36:32,321 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1176443038] [2025-01-10 07:36:32,321 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-10 07:36:32,321 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:36:32,338 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 86 statements into 1 equivalence classes. [2025-01-10 07:36:32,344 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 86 of 86 statements. [2025-01-10 07:36:32,344 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:36:32,345 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:36:32,376 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-01-10 07:36:32,377 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-10 07:36:32,377 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1176443038] [2025-01-10 07:36:32,377 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1176443038] provided 1 perfect and 0 imperfect interpolant sequences [2025-01-10 07:36:32,377 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-01-10 07:36:32,377 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2025-01-10 07:36:32,377 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [56815771] [2025-01-10 07:36:32,377 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-01-10 07:36:32,377 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-01-10 07:36:32,377 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:36:32,377 INFO L85 PathProgramCache]: Analyzing trace with hash 274166626, now seen corresponding path program 15 times [2025-01-10 07:36:32,378 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:36:32,378 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1170798678] [2025-01-10 07:36:32,378 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2025-01-10 07:36:32,378 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:36:32,385 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 partitioned 4 statements into 1 equivalence classes. [2025-01-10 07:36:32,388 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 1 check-sat command(s) and asserted 4 of 4 statements. [2025-01-10 07:36:32,388 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 1 check-sat command(s) [2025-01-10 07:36:32,388 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:36:32,388 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-01-10 07:36:32,389 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 4 statements into 1 equivalence classes. [2025-01-10 07:36:32,389 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 4 of 4 statements. [2025-01-10 07:36:32,389 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:36:32,389 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:36:32,394 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-01-10 07:36:32,410 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-10 07:36:32,410 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2025-01-10 07:36:32,410 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2025-01-10 07:36:32,411 INFO L87 Difference]: Start difference. First operand 13335 states and 24307 transitions. cyclomatic complexity: 11016 Second operand has 3 states, 3 states have (on average 28.666666666666668) internal successors, (86), 2 states have internal predecessors, (86), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-10 07:36:32,930 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-01-10 07:36:32,930 INFO L93 Difference]: Finished difference Result 25366 states and 46130 transitions. [2025-01-10 07:36:32,930 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 25366 states and 46130 transitions. [2025-01-10 07:36:33,020 INFO L131 ngComponentsAnalysis]: Automaton has 82 accepting balls. 8654 [2025-01-10 07:36:33,090 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 25366 states to 25366 states and 46130 transitions. [2025-01-10 07:36:33,090 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 25296 [2025-01-10 07:36:33,110 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 25296 [2025-01-10 07:36:33,110 INFO L73 IsDeterministic]: Start isDeterministic. Operand 25366 states and 46130 transitions. [2025-01-10 07:36:33,112 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-01-10 07:36:33,112 INFO L218 hiAutomatonCegarLoop]: Abstraction has 25366 states and 46130 transitions. [2025-01-10 07:36:33,135 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 25366 states and 46130 transitions. [2025-01-10 07:36:33,306 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 25366 to 25364. [2025-01-10 07:36:33,332 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 25364 states, 25364 states have (on average 1.8186405929664091) internal successors, (46128), 25363 states have internal predecessors, (46128), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-10 07:36:33,369 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25364 states to 25364 states and 46128 transitions. [2025-01-10 07:36:33,369 INFO L240 hiAutomatonCegarLoop]: Abstraction has 25364 states and 46128 transitions. [2025-01-10 07:36:33,370 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2025-01-10 07:36:33,370 INFO L432 stractBuchiCegarLoop]: Abstraction has 25364 states and 46128 transitions. [2025-01-10 07:36:33,370 INFO L338 stractBuchiCegarLoop]: ======== Iteration 18 ============ [2025-01-10 07:36:33,370 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 25364 states and 46128 transitions. [2025-01-10 07:36:33,431 INFO L131 ngComponentsAnalysis]: Automaton has 82 accepting balls. 8654 [2025-01-10 07:36:33,431 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-01-10 07:36:33,431 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-01-10 07:36:33,432 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-01-10 07:36:33,432 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1] [2025-01-10 07:36:33,432 INFO L752 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int#0(48, 1, 0, 1);call write~init~int#0(0, 1, 1, 1);call #Ultimate.allocInit(32, 2);call #Ultimate.allocInit(12, 3);call #Ultimate.allocInit(30, 4);call #Ultimate.allocInit(9, 5);call #Ultimate.allocInit(21, 6);call #Ultimate.allocInit(30, 7);call #Ultimate.allocInit(9, 8);call #Ultimate.allocInit(21, 9);call #Ultimate.allocInit(30, 10);call #Ultimate.allocInit(9, 11);call #Ultimate.allocInit(25, 12);call #Ultimate.allocInit(30, 13);call #Ultimate.allocInit(9, 14);call #Ultimate.allocInit(25, 15);call #Ultimate.allocInit(10, 16);call #Ultimate.allocInit(4, 17);call write~init~int#5(91, 17, 0, 1);call write~init~int#5(95, 17, 1, 1);call write~init~int#5(93, 17, 2, 1);call write~init~int#5(0, 17, 3, 1);call #Ultimate.allocInit(4, 18);call write~init~int#6(91, 18, 0, 1);call write~init~int#6(93, 18, 1, 1);call write~init~int#6(32, 18, 2, 1);call write~init~int#6(0, 18, 3, 1);call #Ultimate.allocInit(5, 19);call write~init~int#7(32, 19, 0, 1);call write~init~int#7(97, 19, 1, 1);call write~init~int#7(116, 19, 2, 1);call write~init~int#7(32, 19, 3, 1);call write~init~int#7(0, 19, 4, 1);call #Ultimate.allocInit(3, 20);call write~init~int#8(37, 20, 0, 1);call write~init~int#8(105, 20, 1, 1);call write~init~int#8(0, 20, 2, 1);call #Ultimate.allocInit(10, 21);call #Ultimate.allocInit(3, 22);call write~init~int#9(117, 22, 0, 1);call write~init~int#9(112, 22, 1, 1);call write~init~int#9(0, 22, 2, 1);call #Ultimate.allocInit(5, 23);call write~init~int#10(100, 23, 0, 1);call write~init~int#10(111, 23, 1, 1);call write~init~int#10(119, 23, 2, 1);call write~init~int#10(110, 23, 3, 1);call write~init~int#10(0, 23, 4, 1);call #Ultimate.allocInit(7, 24);call write~init~int#11(32, 24, 0, 1);call write~init~int#11(73, 24, 1, 1);call write~init~int#11(76, 24, 2, 1);call write~init~int#11(95, 24, 3, 1);call write~init~int#11(112, 24, 4, 1);call write~init~int#11(58, 24, 5, 1);call write~init~int#11(0, 24, 6, 1);call #Ultimate.allocInit(4, 25);call write~init~int#12(32, 25, 0, 1);call write~init~int#12(37, 25, 1, 1);call write~init~int#12(105, 25, 2, 1);call write~init~int#12(0, 25, 3, 1);call #Ultimate.allocInit(4, 26);call write~init~int#13(32, 26, 0, 1);call write~init~int#13(37, 26, 1, 1);call write~init~int#13(105, 26, 2, 1);call write~init~int#13(0, 26, 3, 1);call #Ultimate.allocInit(4, 27);call write~init~int#14(32, 27, 0, 1);call write~init~int#14(37, 27, 1, 1);call write~init~int#14(105, 27, 2, 1);call write~init~int#14(0, 27, 3, 1);call #Ultimate.allocInit(4, 28);call write~init~int#15(32, 28, 0, 1);call write~init~int#15(37, 28, 1, 1);call write~init~int#15(105, 28, 2, 1);call write~init~int#15(0, 28, 3, 1);call #Ultimate.allocInit(4, 29);call write~init~int#16(32, 29, 0, 1);call write~init~int#16(37, 29, 1, 1);call write~init~int#16(105, 29, 2, 1);call write~init~int#16(0, 29, 3, 1);call #Ultimate.allocInit(6, 30);call write~init~int#17(32, 30, 0, 1);call write~init~int#17(70, 30, 1, 1);call write~init~int#17(95, 30, 2, 1);call write~init~int#17(112, 30, 3, 1);call write~init~int#17(58, 30, 4, 1);call write~init~int#17(0, 30, 5, 1);call #Ultimate.allocInit(4, 31);call write~init~int#18(32, 31, 0, 1);call write~init~int#18(37, 31, 1, 1);call write~init~int#18(105, 31, 2, 1);call write~init~int#18(0, 31, 3, 1);call #Ultimate.allocInit(4, 32);call write~init~int#19(32, 32, 0, 1);call write~init~int#19(37, 32, 1, 1);call write~init~int#19(105, 32, 2, 1);call write~init~int#19(0, 32, 3, 1);call #Ultimate.allocInit(4, 33);call write~init~int#1(32, 33, 0, 1);call write~init~int#1(37, 33, 1, 1);call write~init~int#1(105, 33, 2, 1);call write~init~int#1(0, 33, 3, 1);call #Ultimate.allocInit(4, 34);call write~init~int#2(32, 34, 0, 1);call write~init~int#2(37, 34, 1, 1);call write~init~int#2(105, 34, 2, 1);call write~init~int#2(0, 34, 3, 1);call #Ultimate.allocInit(4, 35);call write~init~int#3(32, 35, 0, 1);call write~init~int#3(37, 35, 1, 1);call write~init~int#3(105, 35, 2, 1);call write~init~int#3(0, 35, 3, 1);call #Ultimate.allocInit(2, 36);call write~init~int#4(10, 36, 0, 1);call write~init~int#4(0, 36, 1, 1);~head~0.base, ~head~0.offset := 0, 0;~weight~0 := 0;~maximumWeight~0 := 100;~executiveFloor~0 := 4;~prevDir~0 := 0;~calls_0~0 := 0;~calls_1~0 := 0;~calls_2~0 := 0;~calls_3~0 := 0;~calls_4~0 := 0;~personOnFloor_0_0~0 := 0;~personOnFloor_0_1~0 := 0;~personOnFloor_0_2~0 := 0;~personOnFloor_0_3~0 := 0;~personOnFloor_0_4~0 := 0;~personOnFloor_1_0~0 := 0;~personOnFloor_1_1~0 := 0;~personOnFloor_1_2~0 := 0;~personOnFloor_1_3~0 := 0;~personOnFloor_1_4~0 := 0;~personOnFloor_2_0~0 := 0;~personOnFloor_2_1~0 := 0;~personOnFloor_2_2~0 := 0;~personOnFloor_2_3~0 := 0;~personOnFloor_2_4~0 := 0;~personOnFloor_3_0~0 := 0;~personOnFloor_3_1~0 := 0;~personOnFloor_3_2~0 := 0;~personOnFloor_3_3~0 := 0;~personOnFloor_3_4~0 := 0;~personOnFloor_4_0~0 := 0;~personOnFloor_4_1~0 := 0;~personOnFloor_4_2~0 := 0;~personOnFloor_4_3~0 := 0;~personOnFloor_4_4~0 := 0;~personOnFloor_5_0~0 := 0;~personOnFloor_5_1~0 := 0;~personOnFloor_5_2~0 := 0;~personOnFloor_5_3~0 := 0;~personOnFloor_5_4~0 := 0;~cleanupTimeShifts~0 := 12;~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;" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret47#1, main_~retValue_acc~10#1, main_~tmp~12#1;havoc main_~retValue_acc~10#1;havoc main_~tmp~12#1;assume { :begin_inline_select_helpers } true;" "assume { :end_inline_select_helpers } true;assume { :begin_inline_select_features } true;" "assume { :end_inline_select_features } true;assume { :begin_inline_valid_product } true;havoc valid_product_#res#1;havoc valid_product_~retValue_acc~12#1;havoc valid_product_~retValue_acc~12#1;valid_product_~retValue_acc~12#1 := 1;valid_product_#res#1 := valid_product_~retValue_acc~12#1;" "main_#t~ret47#1 := valid_product_#res#1;havoc valid_product_~retValue_acc~12#1;assume { :end_inline_valid_product } true;main_~tmp~12#1 := main_#t~ret47#1;havoc main_#t~ret47#1;" "assume 0 != main_~tmp~12#1;assume { :begin_inline_setup } true;" "assume { :end_inline_setup } true;assume { :begin_inline_runTest } true;assume { :begin_inline_test } true;assume { :begin_inline_aliceCall } true;havoc aliceCall_#t~ret36#1, aliceCall_~tmp~5#1;havoc aliceCall_~tmp~5#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 1;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~4#1;" "assume !(0 == getOrigin_~person#1);" "assume 1 == getOrigin_~person#1;getOrigin_~retValue_acc~4#1 := 3;getOrigin_#res#1 := getOrigin_~retValue_acc~4#1;" "aliceCall_#t~ret36#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;aliceCall_~tmp~5#1 := aliceCall_#t~ret36#1;havoc aliceCall_#t~ret36#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 1, aliceCall_~tmp~5#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1;" "assume !(0 == initPersonOnFloor_~floor#1);" "assume !(1 == initPersonOnFloor_~floor#1);" "assume !(2 == initPersonOnFloor_~floor#1);" "assume 3 == initPersonOnFloor_~floor#1;" "assume !(0 == initPersonOnFloor_~person#1);" "assume 1 == initPersonOnFloor_~person#1;~personOnFloor_1_3~0 := 1;" "assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1;" "assume !(0 == callOnFloor_~floorID#1);" "assume !(1 == callOnFloor_~floorID#1);" "assume !(2 == callOnFloor_~floorID#1);" "assume 3 == callOnFloor_~floorID#1;~calls_3~0 := 1;" "havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true;" "havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true;" "havoc aliceCall_#t~ret36#1, aliceCall_~tmp~5#1;assume { :end_inline_aliceCall } true;assume { :begin_inline_angelinaCall } true;havoc angelinaCall_#t~ret37#1, angelinaCall_~tmp~6#1;havoc angelinaCall_~tmp~6#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 2;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~4#1;" "assume !(0 == getOrigin_~person#1);" "assume !(1 == getOrigin_~person#1);" "assume 2 == getOrigin_~person#1;getOrigin_~retValue_acc~4#1 := 2;getOrigin_#res#1 := getOrigin_~retValue_acc~4#1;" "angelinaCall_#t~ret37#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;angelinaCall_~tmp~6#1 := angelinaCall_#t~ret37#1;havoc angelinaCall_#t~ret37#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 2, angelinaCall_~tmp~6#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1;" "assume !(0 == initPersonOnFloor_~floor#1);" "assume !(1 == initPersonOnFloor_~floor#1);" "assume 2 == initPersonOnFloor_~floor#1;" "assume !(0 == initPersonOnFloor_~person#1);" "assume !(1 == initPersonOnFloor_~person#1);" "assume 2 == initPersonOnFloor_~person#1;~personOnFloor_2_2~0 := 1;" "assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1;" "assume !(0 == callOnFloor_~floorID#1);" "assume !(1 == callOnFloor_~floorID#1);" "assume 2 == callOnFloor_~floorID#1;~calls_2~0 := 1;" "havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true;" "havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true;" "havoc angelinaCall_#t~ret37#1, angelinaCall_~tmp~6#1;assume { :end_inline_angelinaCall } true;assume { :begin_inline_threeTS } true;assume { :begin_inline_timeShift } true;havoc timeShift_#t~ret98#1, timeShift_#t~ret99#1, timeShift_#t~ret100#1, timeShift_#t~ret101#1, timeShift_#t~ret102#1, timeShift_#t~ret103#1, timeShift_#t~ret104#1, timeShift_#t~ret105#1, timeShift_#t~ret106#1, timeShift_#t~ret107#1, timeShift_#t~ret108#1, timeShift_~tmp~26#1, timeShift_~tmp___0~10#1, timeShift_~tmp___1~5#1, timeShift_~tmp___2~5#1, timeShift_~tmp___3~4#1, timeShift_~tmp___4~3#1, timeShift_~tmp___5~2#1, timeShift_~tmp___6~2#1, timeShift_~tmp___7~2#1, timeShift_~tmp___8~2#1, timeShift_~tmp___9~2#1;havoc timeShift_~tmp~26#1;havoc timeShift_~tmp___0~10#1;havoc timeShift_~tmp___1~5#1;havoc timeShift_~tmp___2~5#1;havoc timeShift_~tmp___3~4#1;havoc timeShift_~tmp___4~3#1;havoc timeShift_~tmp___5~2#1;havoc timeShift_~tmp___6~2#1;havoc timeShift_~tmp___7~2#1;havoc timeShift_~tmp___8~2#1;havoc timeShift_~tmp___9~2#1;assume { :begin_inline___utac_acc__Specification13_spec__1 } true;havoc __utac_acc__Specification13_spec__1_#t~ret27#1;assume { :begin_inline_getCurrentHeading } true;havoc getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~17#1;havoc getCurrentHeading_~retValue_acc~17#1;getCurrentHeading_~retValue_acc~17#1 := ~currentHeading~0;getCurrentHeading_#res#1 := getCurrentHeading_~retValue_acc~17#1;" "__utac_acc__Specification13_spec__1_#t~ret27#1 := getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~17#1;assume { :end_inline_getCurrentHeading } true;~prevDir~0 := __utac_acc__Specification13_spec__1_#t~ret27#1;havoc __utac_acc__Specification13_spec__1_#t~ret27#1;" "havoc __utac_acc__Specification13_spec__1_#t~ret27#1;assume { :end_inline___utac_acc__Specification13_spec__1 } true;assume { :begin_inline_stopRequestedAtCurrentFloor } true;havoc stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1, stopRequestedAtCurrentFloor_#t~ret83#1, stopRequestedAtCurrentFloor_#t~ret84#1, stopRequestedAtCurrentFloor_#t~ret85#1, stopRequestedAtCurrentFloor_~retValue_acc~27#1, stopRequestedAtCurrentFloor_~tmp~24#1, stopRequestedAtCurrentFloor_~tmp___0~8#1;havoc stopRequestedAtCurrentFloor_~retValue_acc~27#1;havoc stopRequestedAtCurrentFloor_~tmp~24#1;havoc stopRequestedAtCurrentFloor_~tmp___0~8#1;assume { :begin_inline_isExecutiveFloorCalling } true;havoc isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;havoc isExecutiveFloorCalling_~retValue_acc~30#1;assume { :begin_inline_isFloorCalling } true;isFloorCalling_#in~floorID#1 := ~executiveFloor~0;havoc isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;isFloorCalling_~floorID#1 := isFloorCalling_#in~floorID#1;havoc isFloorCalling_~retValue_acc~6#1;" "assume !(0 == isFloorCalling_~floorID#1);" "assume !(1 == isFloorCalling_~floorID#1);" "assume !(2 == isFloorCalling_~floorID#1);" "assume !(3 == isFloorCalling_~floorID#1);" "assume 4 == isFloorCalling_~floorID#1;isFloorCalling_~retValue_acc~6#1 := ~calls_4~0;isFloorCalling_#res#1 := isFloorCalling_~retValue_acc~6#1;" "isExecutiveFloorCalling_#t~ret135#1 := isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;havoc isFloorCalling_#in~floorID#1;assume { :end_inline_isFloorCalling } true;isExecutiveFloorCalling_~retValue_acc~30#1 := isExecutiveFloorCalling_#t~ret135#1;havoc isExecutiveFloorCalling_#t~ret135#1;isExecutiveFloorCalling_#res#1 := isExecutiveFloorCalling_~retValue_acc~30#1;" "stopRequestedAtCurrentFloor_#t~ret82#1 := isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;assume { :end_inline_isExecutiveFloorCalling } true;stopRequestedAtCurrentFloor_~tmp~24#1 := stopRequestedAtCurrentFloor_#t~ret82#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1;" "assume !(0 != stopRequestedAtCurrentFloor_~tmp~24#1);assume { :begin_inline_stopRequestedAtCurrentFloor__wrappee__twothirdsfull } true;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#res#1;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret79#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret80#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret81#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~retValue_acc~26#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp~23#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp___0~7#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp4~3#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp5~4#1;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~retValue_acc~26#1;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp~23#1;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp___0~7#1;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp4~3#1;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp5~4#1;stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp4~3#1 := 2 * ~maximumWeight~0;stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp5~4#1 := (if stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp4~3#1 < 0 && 0 != stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp4~3#1 % 3 then 1 + stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp4~3#1 / 3 else stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp4~3#1 / 3);" "assume ~weight~0 > stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp5~4#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;havoc getCurrentFloorID_~retValue_acc~14#1;getCurrentFloorID_~retValue_acc~14#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~14#1;" "stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret79#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp~23#1 := stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret79#1;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret79#1;assume { :begin_inline_buttonForFloorIsPressed } true;buttonForFloorIsPressed_#in~floorID#1 := stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp~23#1;havoc buttonForFloorIsPressed_#res#1;havoc buttonForFloorIsPressed_~floorID#1, buttonForFloorIsPressed_~retValue_acc~16#1;buttonForFloorIsPressed_~floorID#1 := buttonForFloorIsPressed_#in~floorID#1;havoc buttonForFloorIsPressed_~retValue_acc~16#1;" "assume 0 == buttonForFloorIsPressed_~floorID#1;buttonForFloorIsPressed_~retValue_acc~16#1 := ~floorButtons_0~0;buttonForFloorIsPressed_#res#1 := buttonForFloorIsPressed_~retValue_acc~16#1;" "stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret80#1 := buttonForFloorIsPressed_#res#1;havoc buttonForFloorIsPressed_~floorID#1, buttonForFloorIsPressed_~retValue_acc~16#1;havoc buttonForFloorIsPressed_#in~floorID#1;assume { :end_inline_buttonForFloorIsPressed } true;stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp___0~7#1 := stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret80#1;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret80#1;stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~retValue_acc~26#1 := (if 1 == stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp___0~7#1 then 1 else 0);stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#res#1 := stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~retValue_acc~26#1;" "stopRequestedAtCurrentFloor_#t~ret85#1 := stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#res#1;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret79#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret80#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret81#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~retValue_acc~26#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp~23#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp___0~7#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp4~3#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp5~4#1;assume { :end_inline_stopRequestedAtCurrentFloor__wrappee__twothirdsfull } true;stopRequestedAtCurrentFloor_~retValue_acc~27#1 := stopRequestedAtCurrentFloor_#t~ret85#1;havoc stopRequestedAtCurrentFloor_#t~ret85#1;stopRequestedAtCurrentFloor_#res#1 := stopRequestedAtCurrentFloor_~retValue_acc~27#1;" "timeShift_#t~ret98#1 := stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1, stopRequestedAtCurrentFloor_#t~ret83#1, stopRequestedAtCurrentFloor_#t~ret84#1, stopRequestedAtCurrentFloor_#t~ret85#1, stopRequestedAtCurrentFloor_~retValue_acc~27#1, stopRequestedAtCurrentFloor_~tmp~24#1, stopRequestedAtCurrentFloor_~tmp___0~8#1;assume { :end_inline_stopRequestedAtCurrentFloor } true;timeShift_~tmp___9~2#1 := timeShift_#t~ret98#1;havoc timeShift_#t~ret98#1;" "assume !(0 != timeShift_~tmp___9~2#1);" "assume 1 == ~doorState~0;~doorState~0 := 0;" "assume { :begin_inline_stopRequestedInDirection } true;stopRequestedInDirection_#in~dir#1, stopRequestedInDirection_#in~respectFloorCalls#1, stopRequestedInDirection_#in~respectInLiftCalls#1 := ~currentHeading~0, 1, 1;havoc stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret73#1, stopRequestedInDirection_#t~ret74#1, stopRequestedInDirection_#t~ret75#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~23#1, stopRequestedInDirection_~tmp~20#1, stopRequestedInDirection_~tmp___0~5#1, stopRequestedInDirection_~__cil_tmp7~6#1, stopRequestedInDirection_~__cil_tmp8~7#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~23#1;havoc stopRequestedInDirection_~tmp~20#1;havoc stopRequestedInDirection_~tmp___0~5#1;havoc stopRequestedInDirection_~__cil_tmp7~6#1;havoc stopRequestedInDirection_~__cil_tmp8~7#1;assume { :begin_inline_isExecutiveFloorCalling } true;havoc isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;havoc isExecutiveFloorCalling_~retValue_acc~30#1;assume { :begin_inline_isFloorCalling } true;isFloorCalling_#in~floorID#1 := ~executiveFloor~0;havoc isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;isFloorCalling_~floorID#1 := isFloorCalling_#in~floorID#1;havoc isFloorCalling_~retValue_acc~6#1;" "assume !(0 == isFloorCalling_~floorID#1);" "assume !(1 == isFloorCalling_~floorID#1);" "assume !(2 == isFloorCalling_~floorID#1);" "assume !(3 == isFloorCalling_~floorID#1);" "assume 4 == isFloorCalling_~floorID#1;isFloorCalling_~retValue_acc~6#1 := ~calls_4~0;isFloorCalling_#res#1 := isFloorCalling_~retValue_acc~6#1;" "isExecutiveFloorCalling_#t~ret135#1 := isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;havoc isFloorCalling_#in~floorID#1;assume { :end_inline_isFloorCalling } true;isExecutiveFloorCalling_~retValue_acc~30#1 := isExecutiveFloorCalling_#t~ret135#1;havoc isExecutiveFloorCalling_#t~ret135#1;isExecutiveFloorCalling_#res#1 := isExecutiveFloorCalling_~retValue_acc~30#1;" "stopRequestedInDirection_#t~ret73#1 := isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;assume { :end_inline_isExecutiveFloorCalling } true;stopRequestedInDirection_~tmp___0~5#1 := stopRequestedInDirection_#t~ret73#1;havoc stopRequestedInDirection_#t~ret73#1;" "assume !(0 != stopRequestedInDirection_~tmp___0~5#1);assume { :begin_inline_stopRequestedInDirection__wrappee__twothirdsfull } true;stopRequestedInDirection__wrappee__twothirdsfull_#in~dir#1, stopRequestedInDirection__wrappee__twothirdsfull_#in~respectFloorCalls#1, stopRequestedInDirection__wrappee__twothirdsfull_#in~respectInLiftCalls#1 := stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_#res#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_#t~ret69#1, stopRequestedInDirection__wrappee__twothirdsfull_#t~ret70#1, stopRequestedInDirection__wrappee__twothirdsfull_#t~ret71#1, stopRequestedInDirection__wrappee__twothirdsfull_#t~ret72#1, stopRequestedInDirection__wrappee__twothirdsfull_~dir#1, stopRequestedInDirection__wrappee__twothirdsfull_~respectFloorCalls#1, stopRequestedInDirection__wrappee__twothirdsfull_~respectInLiftCalls#1, stopRequestedInDirection__wrappee__twothirdsfull_~retValue_acc~22#1, stopRequestedInDirection__wrappee__twothirdsfull_~overload~0#1, stopRequestedInDirection__wrappee__twothirdsfull_~buttonPressed~0#1, stopRequestedInDirection__wrappee__twothirdsfull_~tmp~19#1, stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp8~6#1, stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp9~5#1;stopRequestedInDirection__wrappee__twothirdsfull_~dir#1 := stopRequestedInDirection__wrappee__twothirdsfull_#in~dir#1;stopRequestedInDirection__wrappee__twothirdsfull_~respectFloorCalls#1 := stopRequestedInDirection__wrappee__twothirdsfull_#in~respectFloorCalls#1;stopRequestedInDirection__wrappee__twothirdsfull_~respectInLiftCalls#1 := stopRequestedInDirection__wrappee__twothirdsfull_#in~respectInLiftCalls#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_~retValue_acc~22#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_~overload~0#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_~buttonPressed~0#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_~tmp~19#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp8~6#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp9~5#1;stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp8~6#1 := 2 * ~maximumWeight~0;stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp9~5#1 := (if stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp8~6#1 < 0 && 0 != stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp8~6#1 % 3 then 1 + stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp8~6#1 / 3 else stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp8~6#1 / 3);stopRequestedInDirection__wrappee__twothirdsfull_~overload~0#1 := (if ~weight~0 > stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp9~5#1 then 1 else 0);assume { :begin_inline_isAnyLiftButtonPressed } true;havoc isAnyLiftButtonPressed_#res#1;havoc isAnyLiftButtonPressed_~retValue_acc~24#1;havoc isAnyLiftButtonPressed_~retValue_acc~24#1;" "assume !(0 != ~floorButtons_0~0);" "assume 0 != ~floorButtons_1~0;isAnyLiftButtonPressed_~retValue_acc~24#1 := 1;isAnyLiftButtonPressed_#res#1 := isAnyLiftButtonPressed_~retValue_acc~24#1;" "stopRequestedInDirection__wrappee__twothirdsfull_#t~ret69#1 := isAnyLiftButtonPressed_#res#1;havoc isAnyLiftButtonPressed_~retValue_acc~24#1;assume { :end_inline_isAnyLiftButtonPressed } true;stopRequestedInDirection__wrappee__twothirdsfull_~tmp~19#1 := stopRequestedInDirection__wrappee__twothirdsfull_#t~ret69#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_#t~ret69#1;stopRequestedInDirection__wrappee__twothirdsfull_~buttonPressed~0#1 := stopRequestedInDirection__wrappee__twothirdsfull_~tmp~19#1;" "assume !(0 != stopRequestedInDirection__wrappee__twothirdsfull_~overload~0#1);assume { :begin_inline_stopRequestedInDirection__wrappee__empty } true;stopRequestedInDirection__wrappee__empty_#in~dir#1, stopRequestedInDirection__wrappee__empty_#in~respectFloorCalls#1, stopRequestedInDirection__wrappee__empty_#in~respectInLiftCalls#1 := stopRequestedInDirection__wrappee__twothirdsfull_~dir#1, stopRequestedInDirection__wrappee__twothirdsfull_~respectFloorCalls#1, stopRequestedInDirection__wrappee__twothirdsfull_~respectInLiftCalls#1;havoc stopRequestedInDirection__wrappee__empty_#res#1;havoc stopRequestedInDirection__wrappee__empty_#t~ret58#1, stopRequestedInDirection__wrappee__empty_#t~ret59#1, stopRequestedInDirection__wrappee__empty_#t~ret60#1, stopRequestedInDirection__wrappee__empty_#t~ret61#1, stopRequestedInDirection__wrappee__empty_#t~ret62#1, stopRequestedInDirection__wrappee__empty_#t~ret63#1, stopRequestedInDirection__wrappee__empty_#t~ret64#1, stopRequestedInDirection__wrappee__empty_#t~ret65#1, stopRequestedInDirection__wrappee__empty_#t~ret66#1, stopRequestedInDirection__wrappee__empty_#t~ret67#1, stopRequestedInDirection__wrappee__empty_#t~ret68#1, stopRequestedInDirection__wrappee__empty_~dir#1, stopRequestedInDirection__wrappee__empty_~respectFloorCalls#1, stopRequestedInDirection__wrappee__empty_~respectInLiftCalls#1, stopRequestedInDirection__wrappee__empty_~retValue_acc~21#1, stopRequestedInDirection__wrappee__empty_~tmp~18#1, stopRequestedInDirection__wrappee__empty_~tmp___0~4#1, stopRequestedInDirection__wrappee__empty_~tmp___1~3#1, stopRequestedInDirection__wrappee__empty_~tmp___2~3#1, stopRequestedInDirection__wrappee__empty_~tmp___3~2#1, stopRequestedInDirection__wrappee__empty_~tmp___4~1#1, stopRequestedInDirection__wrappee__empty_~tmp___5~0#1, stopRequestedInDirection__wrappee__empty_~tmp___6~0#1, stopRequestedInDirection__wrappee__empty_~tmp___7~0#1, stopRequestedInDirection__wrappee__empty_~tmp___8~0#1, stopRequestedInDirection__wrappee__empty_~tmp___9~0#1;stopRequestedInDirection__wrappee__empty_~dir#1 := stopRequestedInDirection__wrappee__empty_#in~dir#1;stopRequestedInDirection__wrappee__empty_~respectFloorCalls#1 := stopRequestedInDirection__wrappee__empty_#in~respectFloorCalls#1;stopRequestedInDirection__wrappee__empty_~respectInLiftCalls#1 := stopRequestedInDirection__wrappee__empty_#in~respectInLiftCalls#1;havoc stopRequestedInDirection__wrappee__empty_~retValue_acc~21#1;havoc stopRequestedInDirection__wrappee__empty_~tmp~18#1;havoc stopRequestedInDirection__wrappee__empty_~tmp___0~4#1;havoc stopRequestedInDirection__wrappee__empty_~tmp___1~3#1;havoc stopRequestedInDirection__wrappee__empty_~tmp___2~3#1;havoc stopRequestedInDirection__wrappee__empty_~tmp___3~2#1;havoc stopRequestedInDirection__wrappee__empty_~tmp___4~1#1;havoc stopRequestedInDirection__wrappee__empty_~tmp___5~0#1;havoc stopRequestedInDirection__wrappee__empty_~tmp___6~0#1;havoc stopRequestedInDirection__wrappee__empty_~tmp___7~0#1;havoc stopRequestedInDirection__wrappee__empty_~tmp___8~0#1;havoc stopRequestedInDirection__wrappee__empty_~tmp___9~0#1;" "assume !(1 == stopRequestedInDirection__wrappee__empty_~dir#1);" "assume 0 == ~currentFloorID~0;stopRequestedInDirection__wrappee__empty_~retValue_acc~21#1 := 0;stopRequestedInDirection__wrappee__empty_#res#1 := stopRequestedInDirection__wrappee__empty_~retValue_acc~21#1;" "stopRequestedInDirection__wrappee__twothirdsfull_#t~ret72#1 := stopRequestedInDirection__wrappee__empty_#res#1;havoc stopRequestedInDirection__wrappee__empty_#t~ret58#1, stopRequestedInDirection__wrappee__empty_#t~ret59#1, stopRequestedInDirection__wrappee__empty_#t~ret60#1, stopRequestedInDirection__wrappee__empty_#t~ret61#1, stopRequestedInDirection__wrappee__empty_#t~ret62#1, stopRequestedInDirection__wrappee__empty_#t~ret63#1, stopRequestedInDirection__wrappee__empty_#t~ret64#1, stopRequestedInDirection__wrappee__empty_#t~ret65#1, stopRequestedInDirection__wrappee__empty_#t~ret66#1, stopRequestedInDirection__wrappee__empty_#t~ret67#1, stopRequestedInDirection__wrappee__empty_#t~ret68#1, stopRequestedInDirection__wrappee__empty_~dir#1, stopRequestedInDirection__wrappee__empty_~respectFloorCalls#1, stopRequestedInDirection__wrappee__empty_~respectInLiftCalls#1, stopRequestedInDirection__wrappee__empty_~retValue_acc~21#1, stopRequestedInDirection__wrappee__empty_~tmp~18#1, stopRequestedInDirection__wrappee__empty_~tmp___0~4#1, stopRequestedInDirection__wrappee__empty_~tmp___1~3#1, stopRequestedInDirection__wrappee__empty_~tmp___2~3#1, stopRequestedInDirection__wrappee__empty_~tmp___3~2#1, stopRequestedInDirection__wrappee__empty_~tmp___4~1#1, stopRequestedInDirection__wrappee__empty_~tmp___5~0#1, stopRequestedInDirection__wrappee__empty_~tmp___6~0#1, stopRequestedInDirection__wrappee__empty_~tmp___7~0#1, stopRequestedInDirection__wrappee__empty_~tmp___8~0#1, stopRequestedInDirection__wrappee__empty_~tmp___9~0#1;havoc stopRequestedInDirection__wrappee__empty_#in~dir#1, stopRequestedInDirection__wrappee__empty_#in~respectFloorCalls#1, stopRequestedInDirection__wrappee__empty_#in~respectInLiftCalls#1;assume { :end_inline_stopRequestedInDirection__wrappee__empty } true;stopRequestedInDirection__wrappee__twothirdsfull_~retValue_acc~22#1 := stopRequestedInDirection__wrappee__twothirdsfull_#t~ret72#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_#t~ret72#1;stopRequestedInDirection__wrappee__twothirdsfull_#res#1 := stopRequestedInDirection__wrappee__twothirdsfull_~retValue_acc~22#1;" "stopRequestedInDirection_#t~ret75#1 := stopRequestedInDirection__wrappee__twothirdsfull_#res#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_#t~ret69#1, stopRequestedInDirection__wrappee__twothirdsfull_#t~ret70#1, stopRequestedInDirection__wrappee__twothirdsfull_#t~ret71#1, stopRequestedInDirection__wrappee__twothirdsfull_#t~ret72#1, stopRequestedInDirection__wrappee__twothirdsfull_~dir#1, stopRequestedInDirection__wrappee__twothirdsfull_~respectFloorCalls#1, stopRequestedInDirection__wrappee__twothirdsfull_~respectInLiftCalls#1, stopRequestedInDirection__wrappee__twothirdsfull_~retValue_acc~22#1, stopRequestedInDirection__wrappee__twothirdsfull_~overload~0#1, stopRequestedInDirection__wrappee__twothirdsfull_~buttonPressed~0#1, stopRequestedInDirection__wrappee__twothirdsfull_~tmp~19#1, stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp8~6#1, stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp9~5#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_#in~dir#1, stopRequestedInDirection__wrappee__twothirdsfull_#in~respectFloorCalls#1, stopRequestedInDirection__wrappee__twothirdsfull_#in~respectInLiftCalls#1;assume { :end_inline_stopRequestedInDirection__wrappee__twothirdsfull } true;stopRequestedInDirection_~retValue_acc~23#1 := stopRequestedInDirection_#t~ret75#1;havoc stopRequestedInDirection_#t~ret75#1;stopRequestedInDirection_#res#1 := stopRequestedInDirection_~retValue_acc~23#1;" "timeShift_#t~ret105#1 := stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret73#1, stopRequestedInDirection_#t~ret74#1, stopRequestedInDirection_#t~ret75#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~23#1, stopRequestedInDirection_~tmp~20#1, stopRequestedInDirection_~tmp___0~5#1, stopRequestedInDirection_~__cil_tmp7~6#1, stopRequestedInDirection_~__cil_tmp8~7#1;havoc stopRequestedInDirection_#in~dir#1, stopRequestedInDirection_#in~respectFloorCalls#1, stopRequestedInDirection_#in~respectInLiftCalls#1;assume { :end_inline_stopRequestedInDirection } true;timeShift_~tmp___8~2#1 := timeShift_#t~ret105#1;havoc timeShift_#t~ret105#1;" "assume 0 != timeShift_~tmp___8~2#1;assume { :begin_inline_continueInDirection } true;continueInDirection_#in~dir#1 := ~currentHeading~0;havoc continueInDirection_#t~ret76#1, continueInDirection_~dir#1, continueInDirection_~tmp~21#1;continueInDirection_~dir#1 := continueInDirection_#in~dir#1;havoc continueInDirection_~tmp~21#1;~currentHeading~0 := continueInDirection_~dir#1;" "assume !(1 == ~currentHeading~0);" "assume !(0 == ~currentFloorID~0);" "assume !(1 == ~currentHeading~0);~currentFloorID~0 := ~currentFloorID~0 - 1;" "havoc continueInDirection_#t~ret76#1, continueInDirection_~dir#1, continueInDirection_~tmp~21#1;havoc continueInDirection_#in~dir#1;assume { :end_inline_continueInDirection } true;" "assume { :begin_inline___utac_acc__Specification13_spec__2 } true;havoc __utac_acc__Specification13_spec__2_#t~ret28#1, __utac_acc__Specification13_spec__2_#t~ret29#1, __utac_acc__Specification13_spec__2_#t~ret30#1, __utac_acc__Specification13_spec__2_#t~ret31#1, __utac_acc__Specification13_spec__2_#t~ret32#1, __utac_acc__Specification13_spec__2_#t~ret33#1, __utac_acc__Specification13_spec__2_~tmp~3#1, __utac_acc__Specification13_spec__2_~tmp___0~0#1, __utac_acc__Specification13_spec__2_~tmp___1~0#1, __utac_acc__Specification13_spec__2_~tmp___2~0#1, __utac_acc__Specification13_spec__2_~tmp___3~0#1, __utac_acc__Specification13_spec__2_~tmp___4~0#1, __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1, __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1;havoc __utac_acc__Specification13_spec__2_~tmp~3#1;havoc __utac_acc__Specification13_spec__2_~tmp___0~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___1~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___2~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___3~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___4~0#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1;__utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 := 2 * ~maximumWeight~0;__utac_acc__Specification13_spec__2_~__cil_tmp8~5#1 := (if __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 < 0 && 0 != __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 % 3 then 1 + __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 / 3 else __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 / 3);" "assume ~weight~0 > __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1;" "assume 1 == ~prevDir~0;assume { :begin_inline_existInLiftCallsInDirection } true;existInLiftCallsInDirection_#in~d#1 := 0;havoc existInLiftCallsInDirection_#res#1;havoc existInLiftCallsInDirection_~d#1, existInLiftCallsInDirection_~retValue_acc~29#1, existInLiftCallsInDirection_~i~1#1, existInLiftCallsInDirection_~i___0~0#1;existInLiftCallsInDirection_~d#1 := existInLiftCallsInDirection_#in~d#1;havoc existInLiftCallsInDirection_~retValue_acc~29#1;havoc existInLiftCallsInDirection_~i~1#1;havoc existInLiftCallsInDirection_~i___0~0#1;" "assume !(1 == existInLiftCallsInDirection_~d#1);" "assume 0 == existInLiftCallsInDirection_~d#1;existInLiftCallsInDirection_~i___0~0#1 := 0;existInLiftCallsInDirection_~i___0~0#1 := ~currentFloorID~0 - 1;" [2025-01-10 07:36:33,433 INFO L754 eck$LassoCheckResult]: Loop: "assume existInLiftCallsInDirection_~i___0~0#1 >= 0;" "existInLiftCallsInDirection_~i___0~0#1 := 1 + ~currentFloorID~0;" "assume !(existInLiftCallsInDirection_~i___0~0#1 < 5);" "existInLiftCallsInDirection_~i___0~0#1 := existInLiftCallsInDirection_~i___0~0#1 - 1;" [2025-01-10 07:36:33,433 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:36:33,433 INFO L85 PathProgramCache]: Analyzing trace with hash 1916430364, now seen corresponding path program 1 times [2025-01-10 07:36:33,433 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:36:33,433 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1156452090] [2025-01-10 07:36:33,433 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-10 07:36:33,433 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:36:33,452 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 87 statements into 1 equivalence classes. [2025-01-10 07:36:33,456 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 87 of 87 statements. [2025-01-10 07:36:33,457 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:36:33,457 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:36:33,485 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-01-10 07:36:33,485 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-10 07:36:33,485 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1156452090] [2025-01-10 07:36:33,485 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1156452090] provided 1 perfect and 0 imperfect interpolant sequences [2025-01-10 07:36:33,485 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-01-10 07:36:33,486 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2025-01-10 07:36:33,486 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1918918819] [2025-01-10 07:36:33,486 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-01-10 07:36:33,486 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-01-10 07:36:33,486 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:36:33,486 INFO L85 PathProgramCache]: Analyzing trace with hash 274166626, now seen corresponding path program 16 times [2025-01-10 07:36:33,486 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:36:33,486 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [638724440] [2025-01-10 07:36:33,486 INFO L95 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2025-01-10 07:36:33,487 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:36:33,494 INFO L108 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST partitioned 4 statements into 2 equivalence classes. [2025-01-10 07:36:33,495 INFO L111 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 2 check-sat command(s) and asserted 4 of 4 statements. [2025-01-10 07:36:33,495 INFO L114 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 2 check-sat command(s) [2025-01-10 07:36:33,495 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:36:33,495 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-01-10 07:36:33,496 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 4 statements into 1 equivalence classes. [2025-01-10 07:36:33,497 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 4 of 4 statements. [2025-01-10 07:36:33,497 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:36:33,497 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:36:33,500 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-01-10 07:36:33,523 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-10 07:36:33,524 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2025-01-10 07:36:33,524 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2025-01-10 07:36:33,524 INFO L87 Difference]: Start difference. First operand 25364 states and 46128 transitions. cyclomatic complexity: 20850 Second operand has 3 states, 3 states have (on average 29.0) internal successors, (87), 2 states have internal predecessors, (87), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-10 07:36:34,207 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-01-10 07:36:34,208 INFO L93 Difference]: Finished difference Result 49342 states and 89503 transitions. [2025-01-10 07:36:34,208 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 49342 states and 89503 transitions. [2025-01-10 07:36:34,420 INFO L131 ngComponentsAnalysis]: Automaton has 162 accepting balls. 17166 [2025-01-10 07:36:34,579 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 49342 states to 49342 states and 89503 transitions. [2025-01-10 07:36:34,579 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 49208 [2025-01-10 07:36:34,621 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 49208 [2025-01-10 07:36:34,621 INFO L73 IsDeterministic]: Start isDeterministic. Operand 49342 states and 89503 transitions. [2025-01-10 07:36:34,622 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-01-10 07:36:34,622 INFO L218 hiAutomatonCegarLoop]: Abstraction has 49342 states and 89503 transitions. [2025-01-10 07:36:34,659 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 49342 states and 89503 transitions. [2025-01-10 07:36:35,091 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 49342 to 49338. [2025-01-10 07:36:35,139 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 49338 states, 49338 states have (on average 1.8139973245774048) internal successors, (89499), 49337 states have internal predecessors, (89499), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-10 07:36:35,238 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 49338 states to 49338 states and 89499 transitions. [2025-01-10 07:36:35,239 INFO L240 hiAutomatonCegarLoop]: Abstraction has 49338 states and 89499 transitions. [2025-01-10 07:36:35,239 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2025-01-10 07:36:35,239 INFO L432 stractBuchiCegarLoop]: Abstraction has 49338 states and 89499 transitions. [2025-01-10 07:36:35,239 INFO L338 stractBuchiCegarLoop]: ======== Iteration 19 ============ [2025-01-10 07:36:35,239 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 49338 states and 89499 transitions. [2025-01-10 07:36:35,403 INFO L131 ngComponentsAnalysis]: Automaton has 162 accepting balls. 17166 [2025-01-10 07:36:35,403 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-01-10 07:36:35,403 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-01-10 07:36:35,404 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-01-10 07:36:35,404 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1] [2025-01-10 07:36:35,404 INFO L752 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int#0(48, 1, 0, 1);call write~init~int#0(0, 1, 1, 1);call #Ultimate.allocInit(32, 2);call #Ultimate.allocInit(12, 3);call #Ultimate.allocInit(30, 4);call #Ultimate.allocInit(9, 5);call #Ultimate.allocInit(21, 6);call #Ultimate.allocInit(30, 7);call #Ultimate.allocInit(9, 8);call #Ultimate.allocInit(21, 9);call #Ultimate.allocInit(30, 10);call #Ultimate.allocInit(9, 11);call #Ultimate.allocInit(25, 12);call #Ultimate.allocInit(30, 13);call #Ultimate.allocInit(9, 14);call #Ultimate.allocInit(25, 15);call #Ultimate.allocInit(10, 16);call #Ultimate.allocInit(4, 17);call write~init~int#5(91, 17, 0, 1);call write~init~int#5(95, 17, 1, 1);call write~init~int#5(93, 17, 2, 1);call write~init~int#5(0, 17, 3, 1);call #Ultimate.allocInit(4, 18);call write~init~int#6(91, 18, 0, 1);call write~init~int#6(93, 18, 1, 1);call write~init~int#6(32, 18, 2, 1);call write~init~int#6(0, 18, 3, 1);call #Ultimate.allocInit(5, 19);call write~init~int#7(32, 19, 0, 1);call write~init~int#7(97, 19, 1, 1);call write~init~int#7(116, 19, 2, 1);call write~init~int#7(32, 19, 3, 1);call write~init~int#7(0, 19, 4, 1);call #Ultimate.allocInit(3, 20);call write~init~int#8(37, 20, 0, 1);call write~init~int#8(105, 20, 1, 1);call write~init~int#8(0, 20, 2, 1);call #Ultimate.allocInit(10, 21);call #Ultimate.allocInit(3, 22);call write~init~int#9(117, 22, 0, 1);call write~init~int#9(112, 22, 1, 1);call write~init~int#9(0, 22, 2, 1);call #Ultimate.allocInit(5, 23);call write~init~int#10(100, 23, 0, 1);call write~init~int#10(111, 23, 1, 1);call write~init~int#10(119, 23, 2, 1);call write~init~int#10(110, 23, 3, 1);call write~init~int#10(0, 23, 4, 1);call #Ultimate.allocInit(7, 24);call write~init~int#11(32, 24, 0, 1);call write~init~int#11(73, 24, 1, 1);call write~init~int#11(76, 24, 2, 1);call write~init~int#11(95, 24, 3, 1);call write~init~int#11(112, 24, 4, 1);call write~init~int#11(58, 24, 5, 1);call write~init~int#11(0, 24, 6, 1);call #Ultimate.allocInit(4, 25);call write~init~int#12(32, 25, 0, 1);call write~init~int#12(37, 25, 1, 1);call write~init~int#12(105, 25, 2, 1);call write~init~int#12(0, 25, 3, 1);call #Ultimate.allocInit(4, 26);call write~init~int#13(32, 26, 0, 1);call write~init~int#13(37, 26, 1, 1);call write~init~int#13(105, 26, 2, 1);call write~init~int#13(0, 26, 3, 1);call #Ultimate.allocInit(4, 27);call write~init~int#14(32, 27, 0, 1);call write~init~int#14(37, 27, 1, 1);call write~init~int#14(105, 27, 2, 1);call write~init~int#14(0, 27, 3, 1);call #Ultimate.allocInit(4, 28);call write~init~int#15(32, 28, 0, 1);call write~init~int#15(37, 28, 1, 1);call write~init~int#15(105, 28, 2, 1);call write~init~int#15(0, 28, 3, 1);call #Ultimate.allocInit(4, 29);call write~init~int#16(32, 29, 0, 1);call write~init~int#16(37, 29, 1, 1);call write~init~int#16(105, 29, 2, 1);call write~init~int#16(0, 29, 3, 1);call #Ultimate.allocInit(6, 30);call write~init~int#17(32, 30, 0, 1);call write~init~int#17(70, 30, 1, 1);call write~init~int#17(95, 30, 2, 1);call write~init~int#17(112, 30, 3, 1);call write~init~int#17(58, 30, 4, 1);call write~init~int#17(0, 30, 5, 1);call #Ultimate.allocInit(4, 31);call write~init~int#18(32, 31, 0, 1);call write~init~int#18(37, 31, 1, 1);call write~init~int#18(105, 31, 2, 1);call write~init~int#18(0, 31, 3, 1);call #Ultimate.allocInit(4, 32);call write~init~int#19(32, 32, 0, 1);call write~init~int#19(37, 32, 1, 1);call write~init~int#19(105, 32, 2, 1);call write~init~int#19(0, 32, 3, 1);call #Ultimate.allocInit(4, 33);call write~init~int#1(32, 33, 0, 1);call write~init~int#1(37, 33, 1, 1);call write~init~int#1(105, 33, 2, 1);call write~init~int#1(0, 33, 3, 1);call #Ultimate.allocInit(4, 34);call write~init~int#2(32, 34, 0, 1);call write~init~int#2(37, 34, 1, 1);call write~init~int#2(105, 34, 2, 1);call write~init~int#2(0, 34, 3, 1);call #Ultimate.allocInit(4, 35);call write~init~int#3(32, 35, 0, 1);call write~init~int#3(37, 35, 1, 1);call write~init~int#3(105, 35, 2, 1);call write~init~int#3(0, 35, 3, 1);call #Ultimate.allocInit(2, 36);call write~init~int#4(10, 36, 0, 1);call write~init~int#4(0, 36, 1, 1);~head~0.base, ~head~0.offset := 0, 0;~weight~0 := 0;~maximumWeight~0 := 100;~executiveFloor~0 := 4;~prevDir~0 := 0;~calls_0~0 := 0;~calls_1~0 := 0;~calls_2~0 := 0;~calls_3~0 := 0;~calls_4~0 := 0;~personOnFloor_0_0~0 := 0;~personOnFloor_0_1~0 := 0;~personOnFloor_0_2~0 := 0;~personOnFloor_0_3~0 := 0;~personOnFloor_0_4~0 := 0;~personOnFloor_1_0~0 := 0;~personOnFloor_1_1~0 := 0;~personOnFloor_1_2~0 := 0;~personOnFloor_1_3~0 := 0;~personOnFloor_1_4~0 := 0;~personOnFloor_2_0~0 := 0;~personOnFloor_2_1~0 := 0;~personOnFloor_2_2~0 := 0;~personOnFloor_2_3~0 := 0;~personOnFloor_2_4~0 := 0;~personOnFloor_3_0~0 := 0;~personOnFloor_3_1~0 := 0;~personOnFloor_3_2~0 := 0;~personOnFloor_3_3~0 := 0;~personOnFloor_3_4~0 := 0;~personOnFloor_4_0~0 := 0;~personOnFloor_4_1~0 := 0;~personOnFloor_4_2~0 := 0;~personOnFloor_4_3~0 := 0;~personOnFloor_4_4~0 := 0;~personOnFloor_5_0~0 := 0;~personOnFloor_5_1~0 := 0;~personOnFloor_5_2~0 := 0;~personOnFloor_5_3~0 := 0;~personOnFloor_5_4~0 := 0;~cleanupTimeShifts~0 := 12;~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;" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret47#1, main_~retValue_acc~10#1, main_~tmp~12#1;havoc main_~retValue_acc~10#1;havoc main_~tmp~12#1;assume { :begin_inline_select_helpers } true;" "assume { :end_inline_select_helpers } true;assume { :begin_inline_select_features } true;" "assume { :end_inline_select_features } true;assume { :begin_inline_valid_product } true;havoc valid_product_#res#1;havoc valid_product_~retValue_acc~12#1;havoc valid_product_~retValue_acc~12#1;valid_product_~retValue_acc~12#1 := 1;valid_product_#res#1 := valid_product_~retValue_acc~12#1;" "main_#t~ret47#1 := valid_product_#res#1;havoc valid_product_~retValue_acc~12#1;assume { :end_inline_valid_product } true;main_~tmp~12#1 := main_#t~ret47#1;havoc main_#t~ret47#1;" "assume 0 != main_~tmp~12#1;assume { :begin_inline_setup } true;" "assume { :end_inline_setup } true;assume { :begin_inline_runTest } true;assume { :begin_inline_test } true;assume { :begin_inline_aliceCall } true;havoc aliceCall_#t~ret36#1, aliceCall_~tmp~5#1;havoc aliceCall_~tmp~5#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 1;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~4#1;" "assume !(0 == getOrigin_~person#1);" "assume 1 == getOrigin_~person#1;getOrigin_~retValue_acc~4#1 := 3;getOrigin_#res#1 := getOrigin_~retValue_acc~4#1;" "aliceCall_#t~ret36#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;aliceCall_~tmp~5#1 := aliceCall_#t~ret36#1;havoc aliceCall_#t~ret36#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 1, aliceCall_~tmp~5#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1;" "assume !(0 == initPersonOnFloor_~floor#1);" "assume !(1 == initPersonOnFloor_~floor#1);" "assume !(2 == initPersonOnFloor_~floor#1);" "assume 3 == initPersonOnFloor_~floor#1;" "assume !(0 == initPersonOnFloor_~person#1);" "assume 1 == initPersonOnFloor_~person#1;~personOnFloor_1_3~0 := 1;" "assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1;" "assume !(0 == callOnFloor_~floorID#1);" "assume !(1 == callOnFloor_~floorID#1);" "assume !(2 == callOnFloor_~floorID#1);" "assume 3 == callOnFloor_~floorID#1;~calls_3~0 := 1;" "havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true;" "havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true;" "havoc aliceCall_#t~ret36#1, aliceCall_~tmp~5#1;assume { :end_inline_aliceCall } true;assume { :begin_inline_angelinaCall } true;havoc angelinaCall_#t~ret37#1, angelinaCall_~tmp~6#1;havoc angelinaCall_~tmp~6#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 2;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~4#1;" "assume !(0 == getOrigin_~person#1);" "assume !(1 == getOrigin_~person#1);" "assume 2 == getOrigin_~person#1;getOrigin_~retValue_acc~4#1 := 2;getOrigin_#res#1 := getOrigin_~retValue_acc~4#1;" "angelinaCall_#t~ret37#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;angelinaCall_~tmp~6#1 := angelinaCall_#t~ret37#1;havoc angelinaCall_#t~ret37#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 2, angelinaCall_~tmp~6#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1;" "assume !(0 == initPersonOnFloor_~floor#1);" "assume !(1 == initPersonOnFloor_~floor#1);" "assume 2 == initPersonOnFloor_~floor#1;" "assume !(0 == initPersonOnFloor_~person#1);" "assume !(1 == initPersonOnFloor_~person#1);" "assume 2 == initPersonOnFloor_~person#1;~personOnFloor_2_2~0 := 1;" "assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1;" "assume !(0 == callOnFloor_~floorID#1);" "assume !(1 == callOnFloor_~floorID#1);" "assume 2 == callOnFloor_~floorID#1;~calls_2~0 := 1;" "havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true;" "havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true;" "havoc angelinaCall_#t~ret37#1, angelinaCall_~tmp~6#1;assume { :end_inline_angelinaCall } true;assume { :begin_inline_threeTS } true;assume { :begin_inline_timeShift } true;havoc timeShift_#t~ret98#1, timeShift_#t~ret99#1, timeShift_#t~ret100#1, timeShift_#t~ret101#1, timeShift_#t~ret102#1, timeShift_#t~ret103#1, timeShift_#t~ret104#1, timeShift_#t~ret105#1, timeShift_#t~ret106#1, timeShift_#t~ret107#1, timeShift_#t~ret108#1, timeShift_~tmp~26#1, timeShift_~tmp___0~10#1, timeShift_~tmp___1~5#1, timeShift_~tmp___2~5#1, timeShift_~tmp___3~4#1, timeShift_~tmp___4~3#1, timeShift_~tmp___5~2#1, timeShift_~tmp___6~2#1, timeShift_~tmp___7~2#1, timeShift_~tmp___8~2#1, timeShift_~tmp___9~2#1;havoc timeShift_~tmp~26#1;havoc timeShift_~tmp___0~10#1;havoc timeShift_~tmp___1~5#1;havoc timeShift_~tmp___2~5#1;havoc timeShift_~tmp___3~4#1;havoc timeShift_~tmp___4~3#1;havoc timeShift_~tmp___5~2#1;havoc timeShift_~tmp___6~2#1;havoc timeShift_~tmp___7~2#1;havoc timeShift_~tmp___8~2#1;havoc timeShift_~tmp___9~2#1;assume { :begin_inline___utac_acc__Specification13_spec__1 } true;havoc __utac_acc__Specification13_spec__1_#t~ret27#1;assume { :begin_inline_getCurrentHeading } true;havoc getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~17#1;havoc getCurrentHeading_~retValue_acc~17#1;getCurrentHeading_~retValue_acc~17#1 := ~currentHeading~0;getCurrentHeading_#res#1 := getCurrentHeading_~retValue_acc~17#1;" "__utac_acc__Specification13_spec__1_#t~ret27#1 := getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~17#1;assume { :end_inline_getCurrentHeading } true;~prevDir~0 := __utac_acc__Specification13_spec__1_#t~ret27#1;havoc __utac_acc__Specification13_spec__1_#t~ret27#1;" "havoc __utac_acc__Specification13_spec__1_#t~ret27#1;assume { :end_inline___utac_acc__Specification13_spec__1 } true;assume { :begin_inline_stopRequestedAtCurrentFloor } true;havoc stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1, stopRequestedAtCurrentFloor_#t~ret83#1, stopRequestedAtCurrentFloor_#t~ret84#1, stopRequestedAtCurrentFloor_#t~ret85#1, stopRequestedAtCurrentFloor_~retValue_acc~27#1, stopRequestedAtCurrentFloor_~tmp~24#1, stopRequestedAtCurrentFloor_~tmp___0~8#1;havoc stopRequestedAtCurrentFloor_~retValue_acc~27#1;havoc stopRequestedAtCurrentFloor_~tmp~24#1;havoc stopRequestedAtCurrentFloor_~tmp___0~8#1;assume { :begin_inline_isExecutiveFloorCalling } true;havoc isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;havoc isExecutiveFloorCalling_~retValue_acc~30#1;assume { :begin_inline_isFloorCalling } true;isFloorCalling_#in~floorID#1 := ~executiveFloor~0;havoc isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;isFloorCalling_~floorID#1 := isFloorCalling_#in~floorID#1;havoc isFloorCalling_~retValue_acc~6#1;" "assume !(0 == isFloorCalling_~floorID#1);" "assume !(1 == isFloorCalling_~floorID#1);" "assume !(2 == isFloorCalling_~floorID#1);" "assume !(3 == isFloorCalling_~floorID#1);" "assume 4 == isFloorCalling_~floorID#1;isFloorCalling_~retValue_acc~6#1 := ~calls_4~0;isFloorCalling_#res#1 := isFloorCalling_~retValue_acc~6#1;" "isExecutiveFloorCalling_#t~ret135#1 := isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;havoc isFloorCalling_#in~floorID#1;assume { :end_inline_isFloorCalling } true;isExecutiveFloorCalling_~retValue_acc~30#1 := isExecutiveFloorCalling_#t~ret135#1;havoc isExecutiveFloorCalling_#t~ret135#1;isExecutiveFloorCalling_#res#1 := isExecutiveFloorCalling_~retValue_acc~30#1;" "stopRequestedAtCurrentFloor_#t~ret82#1 := isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;assume { :end_inline_isExecutiveFloorCalling } true;stopRequestedAtCurrentFloor_~tmp~24#1 := stopRequestedAtCurrentFloor_#t~ret82#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1;" "assume !(0 != stopRequestedAtCurrentFloor_~tmp~24#1);assume { :begin_inline_stopRequestedAtCurrentFloor__wrappee__twothirdsfull } true;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#res#1;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret79#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret80#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret81#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~retValue_acc~26#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp~23#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp___0~7#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp4~3#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp5~4#1;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~retValue_acc~26#1;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp~23#1;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp___0~7#1;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp4~3#1;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp5~4#1;stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp4~3#1 := 2 * ~maximumWeight~0;stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp5~4#1 := (if stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp4~3#1 < 0 && 0 != stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp4~3#1 % 3 then 1 + stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp4~3#1 / 3 else stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp4~3#1 / 3);" "assume ~weight~0 > stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp5~4#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;havoc getCurrentFloorID_~retValue_acc~14#1;getCurrentFloorID_~retValue_acc~14#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~14#1;" "stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret79#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp~23#1 := stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret79#1;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret79#1;assume { :begin_inline_buttonForFloorIsPressed } true;buttonForFloorIsPressed_#in~floorID#1 := stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp~23#1;havoc buttonForFloorIsPressed_#res#1;havoc buttonForFloorIsPressed_~floorID#1, buttonForFloorIsPressed_~retValue_acc~16#1;buttonForFloorIsPressed_~floorID#1 := buttonForFloorIsPressed_#in~floorID#1;havoc buttonForFloorIsPressed_~retValue_acc~16#1;" "assume 0 == buttonForFloorIsPressed_~floorID#1;buttonForFloorIsPressed_~retValue_acc~16#1 := ~floorButtons_0~0;buttonForFloorIsPressed_#res#1 := buttonForFloorIsPressed_~retValue_acc~16#1;" "stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret80#1 := buttonForFloorIsPressed_#res#1;havoc buttonForFloorIsPressed_~floorID#1, buttonForFloorIsPressed_~retValue_acc~16#1;havoc buttonForFloorIsPressed_#in~floorID#1;assume { :end_inline_buttonForFloorIsPressed } true;stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp___0~7#1 := stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret80#1;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret80#1;stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~retValue_acc~26#1 := (if 1 == stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp___0~7#1 then 1 else 0);stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#res#1 := stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~retValue_acc~26#1;" "stopRequestedAtCurrentFloor_#t~ret85#1 := stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#res#1;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret79#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret80#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret81#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~retValue_acc~26#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp~23#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp___0~7#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp4~3#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp5~4#1;assume { :end_inline_stopRequestedAtCurrentFloor__wrappee__twothirdsfull } true;stopRequestedAtCurrentFloor_~retValue_acc~27#1 := stopRequestedAtCurrentFloor_#t~ret85#1;havoc stopRequestedAtCurrentFloor_#t~ret85#1;stopRequestedAtCurrentFloor_#res#1 := stopRequestedAtCurrentFloor_~retValue_acc~27#1;" "timeShift_#t~ret98#1 := stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1, stopRequestedAtCurrentFloor_#t~ret83#1, stopRequestedAtCurrentFloor_#t~ret84#1, stopRequestedAtCurrentFloor_#t~ret85#1, stopRequestedAtCurrentFloor_~retValue_acc~27#1, stopRequestedAtCurrentFloor_~tmp~24#1, stopRequestedAtCurrentFloor_~tmp___0~8#1;assume { :end_inline_stopRequestedAtCurrentFloor } true;timeShift_~tmp___9~2#1 := timeShift_#t~ret98#1;havoc timeShift_#t~ret98#1;" "assume !(0 != timeShift_~tmp___9~2#1);" "assume 1 == ~doorState~0;~doorState~0 := 0;" "assume { :begin_inline_stopRequestedInDirection } true;stopRequestedInDirection_#in~dir#1, stopRequestedInDirection_#in~respectFloorCalls#1, stopRequestedInDirection_#in~respectInLiftCalls#1 := ~currentHeading~0, 1, 1;havoc stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret73#1, stopRequestedInDirection_#t~ret74#1, stopRequestedInDirection_#t~ret75#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~23#1, stopRequestedInDirection_~tmp~20#1, stopRequestedInDirection_~tmp___0~5#1, stopRequestedInDirection_~__cil_tmp7~6#1, stopRequestedInDirection_~__cil_tmp8~7#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~23#1;havoc stopRequestedInDirection_~tmp~20#1;havoc stopRequestedInDirection_~tmp___0~5#1;havoc stopRequestedInDirection_~__cil_tmp7~6#1;havoc stopRequestedInDirection_~__cil_tmp8~7#1;assume { :begin_inline_isExecutiveFloorCalling } true;havoc isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;havoc isExecutiveFloorCalling_~retValue_acc~30#1;assume { :begin_inline_isFloorCalling } true;isFloorCalling_#in~floorID#1 := ~executiveFloor~0;havoc isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;isFloorCalling_~floorID#1 := isFloorCalling_#in~floorID#1;havoc isFloorCalling_~retValue_acc~6#1;" "assume !(0 == isFloorCalling_~floorID#1);" "assume !(1 == isFloorCalling_~floorID#1);" "assume !(2 == isFloorCalling_~floorID#1);" "assume !(3 == isFloorCalling_~floorID#1);" "assume 4 == isFloorCalling_~floorID#1;isFloorCalling_~retValue_acc~6#1 := ~calls_4~0;isFloorCalling_#res#1 := isFloorCalling_~retValue_acc~6#1;" "isExecutiveFloorCalling_#t~ret135#1 := isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;havoc isFloorCalling_#in~floorID#1;assume { :end_inline_isFloorCalling } true;isExecutiveFloorCalling_~retValue_acc~30#1 := isExecutiveFloorCalling_#t~ret135#1;havoc isExecutiveFloorCalling_#t~ret135#1;isExecutiveFloorCalling_#res#1 := isExecutiveFloorCalling_~retValue_acc~30#1;" "stopRequestedInDirection_#t~ret73#1 := isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;assume { :end_inline_isExecutiveFloorCalling } true;stopRequestedInDirection_~tmp___0~5#1 := stopRequestedInDirection_#t~ret73#1;havoc stopRequestedInDirection_#t~ret73#1;" "assume !(0 != stopRequestedInDirection_~tmp___0~5#1);assume { :begin_inline_stopRequestedInDirection__wrappee__twothirdsfull } true;stopRequestedInDirection__wrappee__twothirdsfull_#in~dir#1, stopRequestedInDirection__wrappee__twothirdsfull_#in~respectFloorCalls#1, stopRequestedInDirection__wrappee__twothirdsfull_#in~respectInLiftCalls#1 := stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_#res#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_#t~ret69#1, stopRequestedInDirection__wrappee__twothirdsfull_#t~ret70#1, stopRequestedInDirection__wrappee__twothirdsfull_#t~ret71#1, stopRequestedInDirection__wrappee__twothirdsfull_#t~ret72#1, stopRequestedInDirection__wrappee__twothirdsfull_~dir#1, stopRequestedInDirection__wrappee__twothirdsfull_~respectFloorCalls#1, stopRequestedInDirection__wrappee__twothirdsfull_~respectInLiftCalls#1, stopRequestedInDirection__wrappee__twothirdsfull_~retValue_acc~22#1, stopRequestedInDirection__wrappee__twothirdsfull_~overload~0#1, stopRequestedInDirection__wrappee__twothirdsfull_~buttonPressed~0#1, stopRequestedInDirection__wrappee__twothirdsfull_~tmp~19#1, stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp8~6#1, stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp9~5#1;stopRequestedInDirection__wrappee__twothirdsfull_~dir#1 := stopRequestedInDirection__wrappee__twothirdsfull_#in~dir#1;stopRequestedInDirection__wrappee__twothirdsfull_~respectFloorCalls#1 := stopRequestedInDirection__wrappee__twothirdsfull_#in~respectFloorCalls#1;stopRequestedInDirection__wrappee__twothirdsfull_~respectInLiftCalls#1 := stopRequestedInDirection__wrappee__twothirdsfull_#in~respectInLiftCalls#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_~retValue_acc~22#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_~overload~0#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_~buttonPressed~0#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_~tmp~19#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp8~6#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp9~5#1;stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp8~6#1 := 2 * ~maximumWeight~0;stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp9~5#1 := (if stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp8~6#1 < 0 && 0 != stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp8~6#1 % 3 then 1 + stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp8~6#1 / 3 else stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp8~6#1 / 3);stopRequestedInDirection__wrappee__twothirdsfull_~overload~0#1 := (if ~weight~0 > stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp9~5#1 then 1 else 0);assume { :begin_inline_isAnyLiftButtonPressed } true;havoc isAnyLiftButtonPressed_#res#1;havoc isAnyLiftButtonPressed_~retValue_acc~24#1;havoc isAnyLiftButtonPressed_~retValue_acc~24#1;" "assume !(0 != ~floorButtons_0~0);" "assume !(0 != ~floorButtons_1~0);" "assume 0 != ~floorButtons_2~0;isAnyLiftButtonPressed_~retValue_acc~24#1 := 1;isAnyLiftButtonPressed_#res#1 := isAnyLiftButtonPressed_~retValue_acc~24#1;" "stopRequestedInDirection__wrappee__twothirdsfull_#t~ret69#1 := isAnyLiftButtonPressed_#res#1;havoc isAnyLiftButtonPressed_~retValue_acc~24#1;assume { :end_inline_isAnyLiftButtonPressed } true;stopRequestedInDirection__wrappee__twothirdsfull_~tmp~19#1 := stopRequestedInDirection__wrappee__twothirdsfull_#t~ret69#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_#t~ret69#1;stopRequestedInDirection__wrappee__twothirdsfull_~buttonPressed~0#1 := stopRequestedInDirection__wrappee__twothirdsfull_~tmp~19#1;" "assume !(0 != stopRequestedInDirection__wrappee__twothirdsfull_~overload~0#1);assume { :begin_inline_stopRequestedInDirection__wrappee__empty } true;stopRequestedInDirection__wrappee__empty_#in~dir#1, stopRequestedInDirection__wrappee__empty_#in~respectFloorCalls#1, stopRequestedInDirection__wrappee__empty_#in~respectInLiftCalls#1 := stopRequestedInDirection__wrappee__twothirdsfull_~dir#1, stopRequestedInDirection__wrappee__twothirdsfull_~respectFloorCalls#1, stopRequestedInDirection__wrappee__twothirdsfull_~respectInLiftCalls#1;havoc stopRequestedInDirection__wrappee__empty_#res#1;havoc stopRequestedInDirection__wrappee__empty_#t~ret58#1, stopRequestedInDirection__wrappee__empty_#t~ret59#1, stopRequestedInDirection__wrappee__empty_#t~ret60#1, stopRequestedInDirection__wrappee__empty_#t~ret61#1, stopRequestedInDirection__wrappee__empty_#t~ret62#1, stopRequestedInDirection__wrappee__empty_#t~ret63#1, stopRequestedInDirection__wrappee__empty_#t~ret64#1, stopRequestedInDirection__wrappee__empty_#t~ret65#1, stopRequestedInDirection__wrappee__empty_#t~ret66#1, stopRequestedInDirection__wrappee__empty_#t~ret67#1, stopRequestedInDirection__wrappee__empty_#t~ret68#1, stopRequestedInDirection__wrappee__empty_~dir#1, stopRequestedInDirection__wrappee__empty_~respectFloorCalls#1, stopRequestedInDirection__wrappee__empty_~respectInLiftCalls#1, stopRequestedInDirection__wrappee__empty_~retValue_acc~21#1, stopRequestedInDirection__wrappee__empty_~tmp~18#1, stopRequestedInDirection__wrappee__empty_~tmp___0~4#1, stopRequestedInDirection__wrappee__empty_~tmp___1~3#1, stopRequestedInDirection__wrappee__empty_~tmp___2~3#1, stopRequestedInDirection__wrappee__empty_~tmp___3~2#1, stopRequestedInDirection__wrappee__empty_~tmp___4~1#1, stopRequestedInDirection__wrappee__empty_~tmp___5~0#1, stopRequestedInDirection__wrappee__empty_~tmp___6~0#1, stopRequestedInDirection__wrappee__empty_~tmp___7~0#1, stopRequestedInDirection__wrappee__empty_~tmp___8~0#1, stopRequestedInDirection__wrappee__empty_~tmp___9~0#1;stopRequestedInDirection__wrappee__empty_~dir#1 := stopRequestedInDirection__wrappee__empty_#in~dir#1;stopRequestedInDirection__wrappee__empty_~respectFloorCalls#1 := stopRequestedInDirection__wrappee__empty_#in~respectFloorCalls#1;stopRequestedInDirection__wrappee__empty_~respectInLiftCalls#1 := stopRequestedInDirection__wrappee__empty_#in~respectInLiftCalls#1;havoc stopRequestedInDirection__wrappee__empty_~retValue_acc~21#1;havoc stopRequestedInDirection__wrappee__empty_~tmp~18#1;havoc stopRequestedInDirection__wrappee__empty_~tmp___0~4#1;havoc stopRequestedInDirection__wrappee__empty_~tmp___1~3#1;havoc stopRequestedInDirection__wrappee__empty_~tmp___2~3#1;havoc stopRequestedInDirection__wrappee__empty_~tmp___3~2#1;havoc stopRequestedInDirection__wrappee__empty_~tmp___4~1#1;havoc stopRequestedInDirection__wrappee__empty_~tmp___5~0#1;havoc stopRequestedInDirection__wrappee__empty_~tmp___6~0#1;havoc stopRequestedInDirection__wrappee__empty_~tmp___7~0#1;havoc stopRequestedInDirection__wrappee__empty_~tmp___8~0#1;havoc stopRequestedInDirection__wrappee__empty_~tmp___9~0#1;" "assume !(1 == stopRequestedInDirection__wrappee__empty_~dir#1);" "assume 0 == ~currentFloorID~0;stopRequestedInDirection__wrappee__empty_~retValue_acc~21#1 := 0;stopRequestedInDirection__wrappee__empty_#res#1 := stopRequestedInDirection__wrappee__empty_~retValue_acc~21#1;" "stopRequestedInDirection__wrappee__twothirdsfull_#t~ret72#1 := stopRequestedInDirection__wrappee__empty_#res#1;havoc stopRequestedInDirection__wrappee__empty_#t~ret58#1, stopRequestedInDirection__wrappee__empty_#t~ret59#1, stopRequestedInDirection__wrappee__empty_#t~ret60#1, stopRequestedInDirection__wrappee__empty_#t~ret61#1, stopRequestedInDirection__wrappee__empty_#t~ret62#1, stopRequestedInDirection__wrappee__empty_#t~ret63#1, stopRequestedInDirection__wrappee__empty_#t~ret64#1, stopRequestedInDirection__wrappee__empty_#t~ret65#1, stopRequestedInDirection__wrappee__empty_#t~ret66#1, stopRequestedInDirection__wrappee__empty_#t~ret67#1, stopRequestedInDirection__wrappee__empty_#t~ret68#1, stopRequestedInDirection__wrappee__empty_~dir#1, stopRequestedInDirection__wrappee__empty_~respectFloorCalls#1, stopRequestedInDirection__wrappee__empty_~respectInLiftCalls#1, stopRequestedInDirection__wrappee__empty_~retValue_acc~21#1, stopRequestedInDirection__wrappee__empty_~tmp~18#1, stopRequestedInDirection__wrappee__empty_~tmp___0~4#1, stopRequestedInDirection__wrappee__empty_~tmp___1~3#1, stopRequestedInDirection__wrappee__empty_~tmp___2~3#1, stopRequestedInDirection__wrappee__empty_~tmp___3~2#1, stopRequestedInDirection__wrappee__empty_~tmp___4~1#1, stopRequestedInDirection__wrappee__empty_~tmp___5~0#1, stopRequestedInDirection__wrappee__empty_~tmp___6~0#1, stopRequestedInDirection__wrappee__empty_~tmp___7~0#1, stopRequestedInDirection__wrappee__empty_~tmp___8~0#1, stopRequestedInDirection__wrappee__empty_~tmp___9~0#1;havoc stopRequestedInDirection__wrappee__empty_#in~dir#1, stopRequestedInDirection__wrappee__empty_#in~respectFloorCalls#1, stopRequestedInDirection__wrappee__empty_#in~respectInLiftCalls#1;assume { :end_inline_stopRequestedInDirection__wrappee__empty } true;stopRequestedInDirection__wrappee__twothirdsfull_~retValue_acc~22#1 := stopRequestedInDirection__wrappee__twothirdsfull_#t~ret72#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_#t~ret72#1;stopRequestedInDirection__wrappee__twothirdsfull_#res#1 := stopRequestedInDirection__wrappee__twothirdsfull_~retValue_acc~22#1;" "stopRequestedInDirection_#t~ret75#1 := stopRequestedInDirection__wrappee__twothirdsfull_#res#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_#t~ret69#1, stopRequestedInDirection__wrappee__twothirdsfull_#t~ret70#1, stopRequestedInDirection__wrappee__twothirdsfull_#t~ret71#1, stopRequestedInDirection__wrappee__twothirdsfull_#t~ret72#1, stopRequestedInDirection__wrappee__twothirdsfull_~dir#1, stopRequestedInDirection__wrappee__twothirdsfull_~respectFloorCalls#1, stopRequestedInDirection__wrappee__twothirdsfull_~respectInLiftCalls#1, stopRequestedInDirection__wrappee__twothirdsfull_~retValue_acc~22#1, stopRequestedInDirection__wrappee__twothirdsfull_~overload~0#1, stopRequestedInDirection__wrappee__twothirdsfull_~buttonPressed~0#1, stopRequestedInDirection__wrappee__twothirdsfull_~tmp~19#1, stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp8~6#1, stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp9~5#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_#in~dir#1, stopRequestedInDirection__wrappee__twothirdsfull_#in~respectFloorCalls#1, stopRequestedInDirection__wrappee__twothirdsfull_#in~respectInLiftCalls#1;assume { :end_inline_stopRequestedInDirection__wrappee__twothirdsfull } true;stopRequestedInDirection_~retValue_acc~23#1 := stopRequestedInDirection_#t~ret75#1;havoc stopRequestedInDirection_#t~ret75#1;stopRequestedInDirection_#res#1 := stopRequestedInDirection_~retValue_acc~23#1;" "timeShift_#t~ret105#1 := stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret73#1, stopRequestedInDirection_#t~ret74#1, stopRequestedInDirection_#t~ret75#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~23#1, stopRequestedInDirection_~tmp~20#1, stopRequestedInDirection_~tmp___0~5#1, stopRequestedInDirection_~__cil_tmp7~6#1, stopRequestedInDirection_~__cil_tmp8~7#1;havoc stopRequestedInDirection_#in~dir#1, stopRequestedInDirection_#in~respectFloorCalls#1, stopRequestedInDirection_#in~respectInLiftCalls#1;assume { :end_inline_stopRequestedInDirection } true;timeShift_~tmp___8~2#1 := timeShift_#t~ret105#1;havoc timeShift_#t~ret105#1;" "assume 0 != timeShift_~tmp___8~2#1;assume { :begin_inline_continueInDirection } true;continueInDirection_#in~dir#1 := ~currentHeading~0;havoc continueInDirection_#t~ret76#1, continueInDirection_~dir#1, continueInDirection_~tmp~21#1;continueInDirection_~dir#1 := continueInDirection_#in~dir#1;havoc continueInDirection_~tmp~21#1;~currentHeading~0 := continueInDirection_~dir#1;" "assume !(1 == ~currentHeading~0);" "assume !(0 == ~currentFloorID~0);" "assume !(1 == ~currentHeading~0);~currentFloorID~0 := ~currentFloorID~0 - 1;" "havoc continueInDirection_#t~ret76#1, continueInDirection_~dir#1, continueInDirection_~tmp~21#1;havoc continueInDirection_#in~dir#1;assume { :end_inline_continueInDirection } true;" "assume { :begin_inline___utac_acc__Specification13_spec__2 } true;havoc __utac_acc__Specification13_spec__2_#t~ret28#1, __utac_acc__Specification13_spec__2_#t~ret29#1, __utac_acc__Specification13_spec__2_#t~ret30#1, __utac_acc__Specification13_spec__2_#t~ret31#1, __utac_acc__Specification13_spec__2_#t~ret32#1, __utac_acc__Specification13_spec__2_#t~ret33#1, __utac_acc__Specification13_spec__2_~tmp~3#1, __utac_acc__Specification13_spec__2_~tmp___0~0#1, __utac_acc__Specification13_spec__2_~tmp___1~0#1, __utac_acc__Specification13_spec__2_~tmp___2~0#1, __utac_acc__Specification13_spec__2_~tmp___3~0#1, __utac_acc__Specification13_spec__2_~tmp___4~0#1, __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1, __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1;havoc __utac_acc__Specification13_spec__2_~tmp~3#1;havoc __utac_acc__Specification13_spec__2_~tmp___0~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___1~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___2~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___3~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___4~0#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1;__utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 := 2 * ~maximumWeight~0;__utac_acc__Specification13_spec__2_~__cil_tmp8~5#1 := (if __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 < 0 && 0 != __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 % 3 then 1 + __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 / 3 else __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 / 3);" "assume ~weight~0 > __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1;" "assume 1 == ~prevDir~0;assume { :begin_inline_existInLiftCallsInDirection } true;existInLiftCallsInDirection_#in~d#1 := 0;havoc existInLiftCallsInDirection_#res#1;havoc existInLiftCallsInDirection_~d#1, existInLiftCallsInDirection_~retValue_acc~29#1, existInLiftCallsInDirection_~i~1#1, existInLiftCallsInDirection_~i___0~0#1;existInLiftCallsInDirection_~d#1 := existInLiftCallsInDirection_#in~d#1;havoc existInLiftCallsInDirection_~retValue_acc~29#1;havoc existInLiftCallsInDirection_~i~1#1;havoc existInLiftCallsInDirection_~i___0~0#1;" "assume !(1 == existInLiftCallsInDirection_~d#1);" "assume 0 == existInLiftCallsInDirection_~d#1;existInLiftCallsInDirection_~i___0~0#1 := 0;existInLiftCallsInDirection_~i___0~0#1 := ~currentFloorID~0 - 1;" [2025-01-10 07:36:35,405 INFO L754 eck$LassoCheckResult]: Loop: "assume existInLiftCallsInDirection_~i___0~0#1 >= 0;" "existInLiftCallsInDirection_~i___0~0#1 := 1 + ~currentFloorID~0;" "assume !(existInLiftCallsInDirection_~i___0~0#1 < 5);" "existInLiftCallsInDirection_~i___0~0#1 := existInLiftCallsInDirection_~i___0~0#1 - 1;" [2025-01-10 07:36:35,405 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:36:35,405 INFO L85 PathProgramCache]: Analyzing trace with hash 967017378, now seen corresponding path program 1 times [2025-01-10 07:36:35,405 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:36:35,405 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [961051281] [2025-01-10 07:36:35,405 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-10 07:36:35,406 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:36:35,425 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 88 statements into 1 equivalence classes. [2025-01-10 07:36:35,430 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 88 of 88 statements. [2025-01-10 07:36:35,430 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:36:35,430 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:36:35,464 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-01-10 07:36:35,465 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-10 07:36:35,465 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [961051281] [2025-01-10 07:36:35,465 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [961051281] provided 1 perfect and 0 imperfect interpolant sequences [2025-01-10 07:36:35,465 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-01-10 07:36:35,465 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2025-01-10 07:36:35,465 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1111451406] [2025-01-10 07:36:35,465 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-01-10 07:36:35,465 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-01-10 07:36:35,465 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:36:35,465 INFO L85 PathProgramCache]: Analyzing trace with hash 274166626, now seen corresponding path program 17 times [2025-01-10 07:36:35,465 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:36:35,466 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2081999093] [2025-01-10 07:36:35,466 INFO L95 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2025-01-10 07:36:35,466 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:36:35,477 INFO L108 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 partitioned 4 statements into 1 equivalence classes. [2025-01-10 07:36:35,478 INFO L111 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 1 check-sat command(s) and asserted 4 of 4 statements. [2025-01-10 07:36:35,479 INFO L114 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2025-01-10 07:36:35,479 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:36:35,479 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-01-10 07:36:35,479 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 4 statements into 1 equivalence classes. [2025-01-10 07:36:35,480 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 4 of 4 statements. [2025-01-10 07:36:35,480 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:36:35,480 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:36:35,484 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-01-10 07:36:35,502 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-10 07:36:35,503 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2025-01-10 07:36:35,503 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2025-01-10 07:36:35,503 INFO L87 Difference]: Start difference. First operand 49338 states and 89499 transitions. cyclomatic complexity: 40331 Second operand has 3 states, 3 states have (on average 29.333333333333332) internal successors, (88), 2 states have internal predecessors, (88), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-10 07:36:36,298 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-01-10 07:36:36,298 INFO L93 Difference]: Finished difference Result 97098 states and 175639 transitions. [2025-01-10 07:36:36,298 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 97098 states and 175639 transitions. [2025-01-10 07:36:36,654 INFO L131 ngComponentsAnalysis]: Automaton has 322 accepting balls. 34130 [2025-01-10 07:36:36,928 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 97098 states to 97098 states and 175639 transitions. [2025-01-10 07:36:36,928 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 96840 [2025-01-10 07:36:37,007 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 96840 [2025-01-10 07:36:37,007 INFO L73 IsDeterministic]: Start isDeterministic. Operand 97098 states and 175639 transitions. [2025-01-10 07:36:37,071 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-01-10 07:36:37,071 INFO L218 hiAutomatonCegarLoop]: Abstraction has 97098 states and 175639 transitions. [2025-01-10 07:36:37,143 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 97098 states and 175639 transitions. [2025-01-10 07:36:38,412 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 97098 to 97090. [2025-01-10 07:36:38,505 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 97090 states, 97090 states have (on average 1.8089504583376248) internal successors, (175631), 97089 states have internal predecessors, (175631), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-10 07:36:38,649 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 97090 states to 97090 states and 175631 transitions. [2025-01-10 07:36:38,649 INFO L240 hiAutomatonCegarLoop]: Abstraction has 97090 states and 175631 transitions. [2025-01-10 07:36:38,653 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2025-01-10 07:36:38,654 INFO L432 stractBuchiCegarLoop]: Abstraction has 97090 states and 175631 transitions. [2025-01-10 07:36:38,654 INFO L338 stractBuchiCegarLoop]: ======== Iteration 20 ============ [2025-01-10 07:36:38,654 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 97090 states and 175631 transitions. [2025-01-10 07:36:38,888 INFO L131 ngComponentsAnalysis]: Automaton has 322 accepting balls. 34130 [2025-01-10 07:36:38,888 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-01-10 07:36:38,888 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-01-10 07:36:38,889 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-01-10 07:36:38,889 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1] [2025-01-10 07:36:38,889 INFO L752 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int#0(48, 1, 0, 1);call write~init~int#0(0, 1, 1, 1);call #Ultimate.allocInit(32, 2);call #Ultimate.allocInit(12, 3);call #Ultimate.allocInit(30, 4);call #Ultimate.allocInit(9, 5);call #Ultimate.allocInit(21, 6);call #Ultimate.allocInit(30, 7);call #Ultimate.allocInit(9, 8);call #Ultimate.allocInit(21, 9);call #Ultimate.allocInit(30, 10);call #Ultimate.allocInit(9, 11);call #Ultimate.allocInit(25, 12);call #Ultimate.allocInit(30, 13);call #Ultimate.allocInit(9, 14);call #Ultimate.allocInit(25, 15);call #Ultimate.allocInit(10, 16);call #Ultimate.allocInit(4, 17);call write~init~int#5(91, 17, 0, 1);call write~init~int#5(95, 17, 1, 1);call write~init~int#5(93, 17, 2, 1);call write~init~int#5(0, 17, 3, 1);call #Ultimate.allocInit(4, 18);call write~init~int#6(91, 18, 0, 1);call write~init~int#6(93, 18, 1, 1);call write~init~int#6(32, 18, 2, 1);call write~init~int#6(0, 18, 3, 1);call #Ultimate.allocInit(5, 19);call write~init~int#7(32, 19, 0, 1);call write~init~int#7(97, 19, 1, 1);call write~init~int#7(116, 19, 2, 1);call write~init~int#7(32, 19, 3, 1);call write~init~int#7(0, 19, 4, 1);call #Ultimate.allocInit(3, 20);call write~init~int#8(37, 20, 0, 1);call write~init~int#8(105, 20, 1, 1);call write~init~int#8(0, 20, 2, 1);call #Ultimate.allocInit(10, 21);call #Ultimate.allocInit(3, 22);call write~init~int#9(117, 22, 0, 1);call write~init~int#9(112, 22, 1, 1);call write~init~int#9(0, 22, 2, 1);call #Ultimate.allocInit(5, 23);call write~init~int#10(100, 23, 0, 1);call write~init~int#10(111, 23, 1, 1);call write~init~int#10(119, 23, 2, 1);call write~init~int#10(110, 23, 3, 1);call write~init~int#10(0, 23, 4, 1);call #Ultimate.allocInit(7, 24);call write~init~int#11(32, 24, 0, 1);call write~init~int#11(73, 24, 1, 1);call write~init~int#11(76, 24, 2, 1);call write~init~int#11(95, 24, 3, 1);call write~init~int#11(112, 24, 4, 1);call write~init~int#11(58, 24, 5, 1);call write~init~int#11(0, 24, 6, 1);call #Ultimate.allocInit(4, 25);call write~init~int#12(32, 25, 0, 1);call write~init~int#12(37, 25, 1, 1);call write~init~int#12(105, 25, 2, 1);call write~init~int#12(0, 25, 3, 1);call #Ultimate.allocInit(4, 26);call write~init~int#13(32, 26, 0, 1);call write~init~int#13(37, 26, 1, 1);call write~init~int#13(105, 26, 2, 1);call write~init~int#13(0, 26, 3, 1);call #Ultimate.allocInit(4, 27);call write~init~int#14(32, 27, 0, 1);call write~init~int#14(37, 27, 1, 1);call write~init~int#14(105, 27, 2, 1);call write~init~int#14(0, 27, 3, 1);call #Ultimate.allocInit(4, 28);call write~init~int#15(32, 28, 0, 1);call write~init~int#15(37, 28, 1, 1);call write~init~int#15(105, 28, 2, 1);call write~init~int#15(0, 28, 3, 1);call #Ultimate.allocInit(4, 29);call write~init~int#16(32, 29, 0, 1);call write~init~int#16(37, 29, 1, 1);call write~init~int#16(105, 29, 2, 1);call write~init~int#16(0, 29, 3, 1);call #Ultimate.allocInit(6, 30);call write~init~int#17(32, 30, 0, 1);call write~init~int#17(70, 30, 1, 1);call write~init~int#17(95, 30, 2, 1);call write~init~int#17(112, 30, 3, 1);call write~init~int#17(58, 30, 4, 1);call write~init~int#17(0, 30, 5, 1);call #Ultimate.allocInit(4, 31);call write~init~int#18(32, 31, 0, 1);call write~init~int#18(37, 31, 1, 1);call write~init~int#18(105, 31, 2, 1);call write~init~int#18(0, 31, 3, 1);call #Ultimate.allocInit(4, 32);call write~init~int#19(32, 32, 0, 1);call write~init~int#19(37, 32, 1, 1);call write~init~int#19(105, 32, 2, 1);call write~init~int#19(0, 32, 3, 1);call #Ultimate.allocInit(4, 33);call write~init~int#1(32, 33, 0, 1);call write~init~int#1(37, 33, 1, 1);call write~init~int#1(105, 33, 2, 1);call write~init~int#1(0, 33, 3, 1);call #Ultimate.allocInit(4, 34);call write~init~int#2(32, 34, 0, 1);call write~init~int#2(37, 34, 1, 1);call write~init~int#2(105, 34, 2, 1);call write~init~int#2(0, 34, 3, 1);call #Ultimate.allocInit(4, 35);call write~init~int#3(32, 35, 0, 1);call write~init~int#3(37, 35, 1, 1);call write~init~int#3(105, 35, 2, 1);call write~init~int#3(0, 35, 3, 1);call #Ultimate.allocInit(2, 36);call write~init~int#4(10, 36, 0, 1);call write~init~int#4(0, 36, 1, 1);~head~0.base, ~head~0.offset := 0, 0;~weight~0 := 0;~maximumWeight~0 := 100;~executiveFloor~0 := 4;~prevDir~0 := 0;~calls_0~0 := 0;~calls_1~0 := 0;~calls_2~0 := 0;~calls_3~0 := 0;~calls_4~0 := 0;~personOnFloor_0_0~0 := 0;~personOnFloor_0_1~0 := 0;~personOnFloor_0_2~0 := 0;~personOnFloor_0_3~0 := 0;~personOnFloor_0_4~0 := 0;~personOnFloor_1_0~0 := 0;~personOnFloor_1_1~0 := 0;~personOnFloor_1_2~0 := 0;~personOnFloor_1_3~0 := 0;~personOnFloor_1_4~0 := 0;~personOnFloor_2_0~0 := 0;~personOnFloor_2_1~0 := 0;~personOnFloor_2_2~0 := 0;~personOnFloor_2_3~0 := 0;~personOnFloor_2_4~0 := 0;~personOnFloor_3_0~0 := 0;~personOnFloor_3_1~0 := 0;~personOnFloor_3_2~0 := 0;~personOnFloor_3_3~0 := 0;~personOnFloor_3_4~0 := 0;~personOnFloor_4_0~0 := 0;~personOnFloor_4_1~0 := 0;~personOnFloor_4_2~0 := 0;~personOnFloor_4_3~0 := 0;~personOnFloor_4_4~0 := 0;~personOnFloor_5_0~0 := 0;~personOnFloor_5_1~0 := 0;~personOnFloor_5_2~0 := 0;~personOnFloor_5_3~0 := 0;~personOnFloor_5_4~0 := 0;~cleanupTimeShifts~0 := 12;~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;" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret47#1, main_~retValue_acc~10#1, main_~tmp~12#1;havoc main_~retValue_acc~10#1;havoc main_~tmp~12#1;assume { :begin_inline_select_helpers } true;" "assume { :end_inline_select_helpers } true;assume { :begin_inline_select_features } true;" "assume { :end_inline_select_features } true;assume { :begin_inline_valid_product } true;havoc valid_product_#res#1;havoc valid_product_~retValue_acc~12#1;havoc valid_product_~retValue_acc~12#1;valid_product_~retValue_acc~12#1 := 1;valid_product_#res#1 := valid_product_~retValue_acc~12#1;" "main_#t~ret47#1 := valid_product_#res#1;havoc valid_product_~retValue_acc~12#1;assume { :end_inline_valid_product } true;main_~tmp~12#1 := main_#t~ret47#1;havoc main_#t~ret47#1;" "assume 0 != main_~tmp~12#1;assume { :begin_inline_setup } true;" "assume { :end_inline_setup } true;assume { :begin_inline_runTest } true;assume { :begin_inline_test } true;assume { :begin_inline_aliceCall } true;havoc aliceCall_#t~ret36#1, aliceCall_~tmp~5#1;havoc aliceCall_~tmp~5#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 1;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~4#1;" "assume !(0 == getOrigin_~person#1);" "assume 1 == getOrigin_~person#1;getOrigin_~retValue_acc~4#1 := 3;getOrigin_#res#1 := getOrigin_~retValue_acc~4#1;" "aliceCall_#t~ret36#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;aliceCall_~tmp~5#1 := aliceCall_#t~ret36#1;havoc aliceCall_#t~ret36#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 1, aliceCall_~tmp~5#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1;" "assume !(0 == initPersonOnFloor_~floor#1);" "assume !(1 == initPersonOnFloor_~floor#1);" "assume !(2 == initPersonOnFloor_~floor#1);" "assume 3 == initPersonOnFloor_~floor#1;" "assume !(0 == initPersonOnFloor_~person#1);" "assume 1 == initPersonOnFloor_~person#1;~personOnFloor_1_3~0 := 1;" "assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1;" "assume !(0 == callOnFloor_~floorID#1);" "assume !(1 == callOnFloor_~floorID#1);" "assume !(2 == callOnFloor_~floorID#1);" "assume 3 == callOnFloor_~floorID#1;~calls_3~0 := 1;" "havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true;" "havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true;" "havoc aliceCall_#t~ret36#1, aliceCall_~tmp~5#1;assume { :end_inline_aliceCall } true;assume { :begin_inline_angelinaCall } true;havoc angelinaCall_#t~ret37#1, angelinaCall_~tmp~6#1;havoc angelinaCall_~tmp~6#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 2;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~4#1;" "assume !(0 == getOrigin_~person#1);" "assume !(1 == getOrigin_~person#1);" "assume 2 == getOrigin_~person#1;getOrigin_~retValue_acc~4#1 := 2;getOrigin_#res#1 := getOrigin_~retValue_acc~4#1;" "angelinaCall_#t~ret37#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;angelinaCall_~tmp~6#1 := angelinaCall_#t~ret37#1;havoc angelinaCall_#t~ret37#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 2, angelinaCall_~tmp~6#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1;" "assume !(0 == initPersonOnFloor_~floor#1);" "assume !(1 == initPersonOnFloor_~floor#1);" "assume 2 == initPersonOnFloor_~floor#1;" "assume !(0 == initPersonOnFloor_~person#1);" "assume !(1 == initPersonOnFloor_~person#1);" "assume 2 == initPersonOnFloor_~person#1;~personOnFloor_2_2~0 := 1;" "assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1;" "assume !(0 == callOnFloor_~floorID#1);" "assume !(1 == callOnFloor_~floorID#1);" "assume 2 == callOnFloor_~floorID#1;~calls_2~0 := 1;" "havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true;" "havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true;" "havoc angelinaCall_#t~ret37#1, angelinaCall_~tmp~6#1;assume { :end_inline_angelinaCall } true;assume { :begin_inline_threeTS } true;assume { :begin_inline_timeShift } true;havoc timeShift_#t~ret98#1, timeShift_#t~ret99#1, timeShift_#t~ret100#1, timeShift_#t~ret101#1, timeShift_#t~ret102#1, timeShift_#t~ret103#1, timeShift_#t~ret104#1, timeShift_#t~ret105#1, timeShift_#t~ret106#1, timeShift_#t~ret107#1, timeShift_#t~ret108#1, timeShift_~tmp~26#1, timeShift_~tmp___0~10#1, timeShift_~tmp___1~5#1, timeShift_~tmp___2~5#1, timeShift_~tmp___3~4#1, timeShift_~tmp___4~3#1, timeShift_~tmp___5~2#1, timeShift_~tmp___6~2#1, timeShift_~tmp___7~2#1, timeShift_~tmp___8~2#1, timeShift_~tmp___9~2#1;havoc timeShift_~tmp~26#1;havoc timeShift_~tmp___0~10#1;havoc timeShift_~tmp___1~5#1;havoc timeShift_~tmp___2~5#1;havoc timeShift_~tmp___3~4#1;havoc timeShift_~tmp___4~3#1;havoc timeShift_~tmp___5~2#1;havoc timeShift_~tmp___6~2#1;havoc timeShift_~tmp___7~2#1;havoc timeShift_~tmp___8~2#1;havoc timeShift_~tmp___9~2#1;assume { :begin_inline___utac_acc__Specification13_spec__1 } true;havoc __utac_acc__Specification13_spec__1_#t~ret27#1;assume { :begin_inline_getCurrentHeading } true;havoc getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~17#1;havoc getCurrentHeading_~retValue_acc~17#1;getCurrentHeading_~retValue_acc~17#1 := ~currentHeading~0;getCurrentHeading_#res#1 := getCurrentHeading_~retValue_acc~17#1;" "__utac_acc__Specification13_spec__1_#t~ret27#1 := getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~17#1;assume { :end_inline_getCurrentHeading } true;~prevDir~0 := __utac_acc__Specification13_spec__1_#t~ret27#1;havoc __utac_acc__Specification13_spec__1_#t~ret27#1;" "havoc __utac_acc__Specification13_spec__1_#t~ret27#1;assume { :end_inline___utac_acc__Specification13_spec__1 } true;assume { :begin_inline_stopRequestedAtCurrentFloor } true;havoc stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1, stopRequestedAtCurrentFloor_#t~ret83#1, stopRequestedAtCurrentFloor_#t~ret84#1, stopRequestedAtCurrentFloor_#t~ret85#1, stopRequestedAtCurrentFloor_~retValue_acc~27#1, stopRequestedAtCurrentFloor_~tmp~24#1, stopRequestedAtCurrentFloor_~tmp___0~8#1;havoc stopRequestedAtCurrentFloor_~retValue_acc~27#1;havoc stopRequestedAtCurrentFloor_~tmp~24#1;havoc stopRequestedAtCurrentFloor_~tmp___0~8#1;assume { :begin_inline_isExecutiveFloorCalling } true;havoc isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;havoc isExecutiveFloorCalling_~retValue_acc~30#1;assume { :begin_inline_isFloorCalling } true;isFloorCalling_#in~floorID#1 := ~executiveFloor~0;havoc isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;isFloorCalling_~floorID#1 := isFloorCalling_#in~floorID#1;havoc isFloorCalling_~retValue_acc~6#1;" "assume !(0 == isFloorCalling_~floorID#1);" "assume !(1 == isFloorCalling_~floorID#1);" "assume !(2 == isFloorCalling_~floorID#1);" "assume !(3 == isFloorCalling_~floorID#1);" "assume 4 == isFloorCalling_~floorID#1;isFloorCalling_~retValue_acc~6#1 := ~calls_4~0;isFloorCalling_#res#1 := isFloorCalling_~retValue_acc~6#1;" "isExecutiveFloorCalling_#t~ret135#1 := isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;havoc isFloorCalling_#in~floorID#1;assume { :end_inline_isFloorCalling } true;isExecutiveFloorCalling_~retValue_acc~30#1 := isExecutiveFloorCalling_#t~ret135#1;havoc isExecutiveFloorCalling_#t~ret135#1;isExecutiveFloorCalling_#res#1 := isExecutiveFloorCalling_~retValue_acc~30#1;" "stopRequestedAtCurrentFloor_#t~ret82#1 := isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;assume { :end_inline_isExecutiveFloorCalling } true;stopRequestedAtCurrentFloor_~tmp~24#1 := stopRequestedAtCurrentFloor_#t~ret82#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1;" "assume !(0 != stopRequestedAtCurrentFloor_~tmp~24#1);assume { :begin_inline_stopRequestedAtCurrentFloor__wrappee__twothirdsfull } true;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#res#1;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret79#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret80#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret81#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~retValue_acc~26#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp~23#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp___0~7#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp4~3#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp5~4#1;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~retValue_acc~26#1;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp~23#1;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp___0~7#1;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp4~3#1;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp5~4#1;stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp4~3#1 := 2 * ~maximumWeight~0;stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp5~4#1 := (if stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp4~3#1 < 0 && 0 != stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp4~3#1 % 3 then 1 + stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp4~3#1 / 3 else stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp4~3#1 / 3);" "assume ~weight~0 > stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp5~4#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;havoc getCurrentFloorID_~retValue_acc~14#1;getCurrentFloorID_~retValue_acc~14#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~14#1;" "stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret79#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp~23#1 := stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret79#1;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret79#1;assume { :begin_inline_buttonForFloorIsPressed } true;buttonForFloorIsPressed_#in~floorID#1 := stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp~23#1;havoc buttonForFloorIsPressed_#res#1;havoc buttonForFloorIsPressed_~floorID#1, buttonForFloorIsPressed_~retValue_acc~16#1;buttonForFloorIsPressed_~floorID#1 := buttonForFloorIsPressed_#in~floorID#1;havoc buttonForFloorIsPressed_~retValue_acc~16#1;" "assume 0 == buttonForFloorIsPressed_~floorID#1;buttonForFloorIsPressed_~retValue_acc~16#1 := ~floorButtons_0~0;buttonForFloorIsPressed_#res#1 := buttonForFloorIsPressed_~retValue_acc~16#1;" "stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret80#1 := buttonForFloorIsPressed_#res#1;havoc buttonForFloorIsPressed_~floorID#1, buttonForFloorIsPressed_~retValue_acc~16#1;havoc buttonForFloorIsPressed_#in~floorID#1;assume { :end_inline_buttonForFloorIsPressed } true;stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp___0~7#1 := stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret80#1;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret80#1;stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~retValue_acc~26#1 := (if 1 == stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp___0~7#1 then 1 else 0);stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#res#1 := stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~retValue_acc~26#1;" "stopRequestedAtCurrentFloor_#t~ret85#1 := stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#res#1;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret79#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret80#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret81#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~retValue_acc~26#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp~23#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp___0~7#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp4~3#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp5~4#1;assume { :end_inline_stopRequestedAtCurrentFloor__wrappee__twothirdsfull } true;stopRequestedAtCurrentFloor_~retValue_acc~27#1 := stopRequestedAtCurrentFloor_#t~ret85#1;havoc stopRequestedAtCurrentFloor_#t~ret85#1;stopRequestedAtCurrentFloor_#res#1 := stopRequestedAtCurrentFloor_~retValue_acc~27#1;" "timeShift_#t~ret98#1 := stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1, stopRequestedAtCurrentFloor_#t~ret83#1, stopRequestedAtCurrentFloor_#t~ret84#1, stopRequestedAtCurrentFloor_#t~ret85#1, stopRequestedAtCurrentFloor_~retValue_acc~27#1, stopRequestedAtCurrentFloor_~tmp~24#1, stopRequestedAtCurrentFloor_~tmp___0~8#1;assume { :end_inline_stopRequestedAtCurrentFloor } true;timeShift_~tmp___9~2#1 := timeShift_#t~ret98#1;havoc timeShift_#t~ret98#1;" "assume !(0 != timeShift_~tmp___9~2#1);" "assume 1 == ~doorState~0;~doorState~0 := 0;" "assume { :begin_inline_stopRequestedInDirection } true;stopRequestedInDirection_#in~dir#1, stopRequestedInDirection_#in~respectFloorCalls#1, stopRequestedInDirection_#in~respectInLiftCalls#1 := ~currentHeading~0, 1, 1;havoc stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret73#1, stopRequestedInDirection_#t~ret74#1, stopRequestedInDirection_#t~ret75#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~23#1, stopRequestedInDirection_~tmp~20#1, stopRequestedInDirection_~tmp___0~5#1, stopRequestedInDirection_~__cil_tmp7~6#1, stopRequestedInDirection_~__cil_tmp8~7#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~23#1;havoc stopRequestedInDirection_~tmp~20#1;havoc stopRequestedInDirection_~tmp___0~5#1;havoc stopRequestedInDirection_~__cil_tmp7~6#1;havoc stopRequestedInDirection_~__cil_tmp8~7#1;assume { :begin_inline_isExecutiveFloorCalling } true;havoc isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;havoc isExecutiveFloorCalling_~retValue_acc~30#1;assume { :begin_inline_isFloorCalling } true;isFloorCalling_#in~floorID#1 := ~executiveFloor~0;havoc isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;isFloorCalling_~floorID#1 := isFloorCalling_#in~floorID#1;havoc isFloorCalling_~retValue_acc~6#1;" "assume !(0 == isFloorCalling_~floorID#1);" "assume !(1 == isFloorCalling_~floorID#1);" "assume !(2 == isFloorCalling_~floorID#1);" "assume !(3 == isFloorCalling_~floorID#1);" "assume 4 == isFloorCalling_~floorID#1;isFloorCalling_~retValue_acc~6#1 := ~calls_4~0;isFloorCalling_#res#1 := isFloorCalling_~retValue_acc~6#1;" "isExecutiveFloorCalling_#t~ret135#1 := isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;havoc isFloorCalling_#in~floorID#1;assume { :end_inline_isFloorCalling } true;isExecutiveFloorCalling_~retValue_acc~30#1 := isExecutiveFloorCalling_#t~ret135#1;havoc isExecutiveFloorCalling_#t~ret135#1;isExecutiveFloorCalling_#res#1 := isExecutiveFloorCalling_~retValue_acc~30#1;" "stopRequestedInDirection_#t~ret73#1 := isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;assume { :end_inline_isExecutiveFloorCalling } true;stopRequestedInDirection_~tmp___0~5#1 := stopRequestedInDirection_#t~ret73#1;havoc stopRequestedInDirection_#t~ret73#1;" "assume !(0 != stopRequestedInDirection_~tmp___0~5#1);assume { :begin_inline_stopRequestedInDirection__wrappee__twothirdsfull } true;stopRequestedInDirection__wrappee__twothirdsfull_#in~dir#1, stopRequestedInDirection__wrappee__twothirdsfull_#in~respectFloorCalls#1, stopRequestedInDirection__wrappee__twothirdsfull_#in~respectInLiftCalls#1 := stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_#res#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_#t~ret69#1, stopRequestedInDirection__wrappee__twothirdsfull_#t~ret70#1, stopRequestedInDirection__wrappee__twothirdsfull_#t~ret71#1, stopRequestedInDirection__wrappee__twothirdsfull_#t~ret72#1, stopRequestedInDirection__wrappee__twothirdsfull_~dir#1, stopRequestedInDirection__wrappee__twothirdsfull_~respectFloorCalls#1, stopRequestedInDirection__wrappee__twothirdsfull_~respectInLiftCalls#1, stopRequestedInDirection__wrappee__twothirdsfull_~retValue_acc~22#1, stopRequestedInDirection__wrappee__twothirdsfull_~overload~0#1, stopRequestedInDirection__wrappee__twothirdsfull_~buttonPressed~0#1, stopRequestedInDirection__wrappee__twothirdsfull_~tmp~19#1, stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp8~6#1, stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp9~5#1;stopRequestedInDirection__wrappee__twothirdsfull_~dir#1 := stopRequestedInDirection__wrappee__twothirdsfull_#in~dir#1;stopRequestedInDirection__wrappee__twothirdsfull_~respectFloorCalls#1 := stopRequestedInDirection__wrappee__twothirdsfull_#in~respectFloorCalls#1;stopRequestedInDirection__wrappee__twothirdsfull_~respectInLiftCalls#1 := stopRequestedInDirection__wrappee__twothirdsfull_#in~respectInLiftCalls#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_~retValue_acc~22#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_~overload~0#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_~buttonPressed~0#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_~tmp~19#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp8~6#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp9~5#1;stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp8~6#1 := 2 * ~maximumWeight~0;stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp9~5#1 := (if stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp8~6#1 < 0 && 0 != stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp8~6#1 % 3 then 1 + stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp8~6#1 / 3 else stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp8~6#1 / 3);stopRequestedInDirection__wrappee__twothirdsfull_~overload~0#1 := (if ~weight~0 > stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp9~5#1 then 1 else 0);assume { :begin_inline_isAnyLiftButtonPressed } true;havoc isAnyLiftButtonPressed_#res#1;havoc isAnyLiftButtonPressed_~retValue_acc~24#1;havoc isAnyLiftButtonPressed_~retValue_acc~24#1;" "assume !(0 != ~floorButtons_0~0);" "assume !(0 != ~floorButtons_1~0);" "assume !(0 != ~floorButtons_2~0);" "assume 0 != ~floorButtons_3~0;isAnyLiftButtonPressed_~retValue_acc~24#1 := 1;isAnyLiftButtonPressed_#res#1 := isAnyLiftButtonPressed_~retValue_acc~24#1;" "stopRequestedInDirection__wrappee__twothirdsfull_#t~ret69#1 := isAnyLiftButtonPressed_#res#1;havoc isAnyLiftButtonPressed_~retValue_acc~24#1;assume { :end_inline_isAnyLiftButtonPressed } true;stopRequestedInDirection__wrappee__twothirdsfull_~tmp~19#1 := stopRequestedInDirection__wrappee__twothirdsfull_#t~ret69#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_#t~ret69#1;stopRequestedInDirection__wrappee__twothirdsfull_~buttonPressed~0#1 := stopRequestedInDirection__wrappee__twothirdsfull_~tmp~19#1;" "assume !(0 != stopRequestedInDirection__wrappee__twothirdsfull_~overload~0#1);assume { :begin_inline_stopRequestedInDirection__wrappee__empty } true;stopRequestedInDirection__wrappee__empty_#in~dir#1, stopRequestedInDirection__wrappee__empty_#in~respectFloorCalls#1, stopRequestedInDirection__wrappee__empty_#in~respectInLiftCalls#1 := stopRequestedInDirection__wrappee__twothirdsfull_~dir#1, stopRequestedInDirection__wrappee__twothirdsfull_~respectFloorCalls#1, stopRequestedInDirection__wrappee__twothirdsfull_~respectInLiftCalls#1;havoc stopRequestedInDirection__wrappee__empty_#res#1;havoc stopRequestedInDirection__wrappee__empty_#t~ret58#1, stopRequestedInDirection__wrappee__empty_#t~ret59#1, stopRequestedInDirection__wrappee__empty_#t~ret60#1, stopRequestedInDirection__wrappee__empty_#t~ret61#1, stopRequestedInDirection__wrappee__empty_#t~ret62#1, stopRequestedInDirection__wrappee__empty_#t~ret63#1, stopRequestedInDirection__wrappee__empty_#t~ret64#1, stopRequestedInDirection__wrappee__empty_#t~ret65#1, stopRequestedInDirection__wrappee__empty_#t~ret66#1, stopRequestedInDirection__wrappee__empty_#t~ret67#1, stopRequestedInDirection__wrappee__empty_#t~ret68#1, stopRequestedInDirection__wrappee__empty_~dir#1, stopRequestedInDirection__wrappee__empty_~respectFloorCalls#1, stopRequestedInDirection__wrappee__empty_~respectInLiftCalls#1, stopRequestedInDirection__wrappee__empty_~retValue_acc~21#1, stopRequestedInDirection__wrappee__empty_~tmp~18#1, stopRequestedInDirection__wrappee__empty_~tmp___0~4#1, stopRequestedInDirection__wrappee__empty_~tmp___1~3#1, stopRequestedInDirection__wrappee__empty_~tmp___2~3#1, stopRequestedInDirection__wrappee__empty_~tmp___3~2#1, stopRequestedInDirection__wrappee__empty_~tmp___4~1#1, stopRequestedInDirection__wrappee__empty_~tmp___5~0#1, stopRequestedInDirection__wrappee__empty_~tmp___6~0#1, stopRequestedInDirection__wrappee__empty_~tmp___7~0#1, stopRequestedInDirection__wrappee__empty_~tmp___8~0#1, stopRequestedInDirection__wrappee__empty_~tmp___9~0#1;stopRequestedInDirection__wrappee__empty_~dir#1 := stopRequestedInDirection__wrappee__empty_#in~dir#1;stopRequestedInDirection__wrappee__empty_~respectFloorCalls#1 := stopRequestedInDirection__wrappee__empty_#in~respectFloorCalls#1;stopRequestedInDirection__wrappee__empty_~respectInLiftCalls#1 := stopRequestedInDirection__wrappee__empty_#in~respectInLiftCalls#1;havoc stopRequestedInDirection__wrappee__empty_~retValue_acc~21#1;havoc stopRequestedInDirection__wrappee__empty_~tmp~18#1;havoc stopRequestedInDirection__wrappee__empty_~tmp___0~4#1;havoc stopRequestedInDirection__wrappee__empty_~tmp___1~3#1;havoc stopRequestedInDirection__wrappee__empty_~tmp___2~3#1;havoc stopRequestedInDirection__wrappee__empty_~tmp___3~2#1;havoc stopRequestedInDirection__wrappee__empty_~tmp___4~1#1;havoc stopRequestedInDirection__wrappee__empty_~tmp___5~0#1;havoc stopRequestedInDirection__wrappee__empty_~tmp___6~0#1;havoc stopRequestedInDirection__wrappee__empty_~tmp___7~0#1;havoc stopRequestedInDirection__wrappee__empty_~tmp___8~0#1;havoc stopRequestedInDirection__wrappee__empty_~tmp___9~0#1;" "assume !(1 == stopRequestedInDirection__wrappee__empty_~dir#1);" "assume 0 == ~currentFloorID~0;stopRequestedInDirection__wrappee__empty_~retValue_acc~21#1 := 0;stopRequestedInDirection__wrappee__empty_#res#1 := stopRequestedInDirection__wrappee__empty_~retValue_acc~21#1;" "stopRequestedInDirection__wrappee__twothirdsfull_#t~ret72#1 := stopRequestedInDirection__wrappee__empty_#res#1;havoc stopRequestedInDirection__wrappee__empty_#t~ret58#1, stopRequestedInDirection__wrappee__empty_#t~ret59#1, stopRequestedInDirection__wrappee__empty_#t~ret60#1, stopRequestedInDirection__wrappee__empty_#t~ret61#1, stopRequestedInDirection__wrappee__empty_#t~ret62#1, stopRequestedInDirection__wrappee__empty_#t~ret63#1, stopRequestedInDirection__wrappee__empty_#t~ret64#1, stopRequestedInDirection__wrappee__empty_#t~ret65#1, stopRequestedInDirection__wrappee__empty_#t~ret66#1, stopRequestedInDirection__wrappee__empty_#t~ret67#1, stopRequestedInDirection__wrappee__empty_#t~ret68#1, stopRequestedInDirection__wrappee__empty_~dir#1, stopRequestedInDirection__wrappee__empty_~respectFloorCalls#1, stopRequestedInDirection__wrappee__empty_~respectInLiftCalls#1, stopRequestedInDirection__wrappee__empty_~retValue_acc~21#1, stopRequestedInDirection__wrappee__empty_~tmp~18#1, stopRequestedInDirection__wrappee__empty_~tmp___0~4#1, stopRequestedInDirection__wrappee__empty_~tmp___1~3#1, stopRequestedInDirection__wrappee__empty_~tmp___2~3#1, stopRequestedInDirection__wrappee__empty_~tmp___3~2#1, stopRequestedInDirection__wrappee__empty_~tmp___4~1#1, stopRequestedInDirection__wrappee__empty_~tmp___5~0#1, stopRequestedInDirection__wrappee__empty_~tmp___6~0#1, stopRequestedInDirection__wrappee__empty_~tmp___7~0#1, stopRequestedInDirection__wrappee__empty_~tmp___8~0#1, stopRequestedInDirection__wrappee__empty_~tmp___9~0#1;havoc stopRequestedInDirection__wrappee__empty_#in~dir#1, stopRequestedInDirection__wrappee__empty_#in~respectFloorCalls#1, stopRequestedInDirection__wrappee__empty_#in~respectInLiftCalls#1;assume { :end_inline_stopRequestedInDirection__wrappee__empty } true;stopRequestedInDirection__wrappee__twothirdsfull_~retValue_acc~22#1 := stopRequestedInDirection__wrappee__twothirdsfull_#t~ret72#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_#t~ret72#1;stopRequestedInDirection__wrappee__twothirdsfull_#res#1 := stopRequestedInDirection__wrappee__twothirdsfull_~retValue_acc~22#1;" "stopRequestedInDirection_#t~ret75#1 := stopRequestedInDirection__wrappee__twothirdsfull_#res#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_#t~ret69#1, stopRequestedInDirection__wrappee__twothirdsfull_#t~ret70#1, stopRequestedInDirection__wrappee__twothirdsfull_#t~ret71#1, stopRequestedInDirection__wrappee__twothirdsfull_#t~ret72#1, stopRequestedInDirection__wrappee__twothirdsfull_~dir#1, stopRequestedInDirection__wrappee__twothirdsfull_~respectFloorCalls#1, stopRequestedInDirection__wrappee__twothirdsfull_~respectInLiftCalls#1, stopRequestedInDirection__wrappee__twothirdsfull_~retValue_acc~22#1, stopRequestedInDirection__wrappee__twothirdsfull_~overload~0#1, stopRequestedInDirection__wrappee__twothirdsfull_~buttonPressed~0#1, stopRequestedInDirection__wrappee__twothirdsfull_~tmp~19#1, stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp8~6#1, stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp9~5#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_#in~dir#1, stopRequestedInDirection__wrappee__twothirdsfull_#in~respectFloorCalls#1, stopRequestedInDirection__wrappee__twothirdsfull_#in~respectInLiftCalls#1;assume { :end_inline_stopRequestedInDirection__wrappee__twothirdsfull } true;stopRequestedInDirection_~retValue_acc~23#1 := stopRequestedInDirection_#t~ret75#1;havoc stopRequestedInDirection_#t~ret75#1;stopRequestedInDirection_#res#1 := stopRequestedInDirection_~retValue_acc~23#1;" "timeShift_#t~ret105#1 := stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret73#1, stopRequestedInDirection_#t~ret74#1, stopRequestedInDirection_#t~ret75#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~23#1, stopRequestedInDirection_~tmp~20#1, stopRequestedInDirection_~tmp___0~5#1, stopRequestedInDirection_~__cil_tmp7~6#1, stopRequestedInDirection_~__cil_tmp8~7#1;havoc stopRequestedInDirection_#in~dir#1, stopRequestedInDirection_#in~respectFloorCalls#1, stopRequestedInDirection_#in~respectInLiftCalls#1;assume { :end_inline_stopRequestedInDirection } true;timeShift_~tmp___8~2#1 := timeShift_#t~ret105#1;havoc timeShift_#t~ret105#1;" "assume 0 != timeShift_~tmp___8~2#1;assume { :begin_inline_continueInDirection } true;continueInDirection_#in~dir#1 := ~currentHeading~0;havoc continueInDirection_#t~ret76#1, continueInDirection_~dir#1, continueInDirection_~tmp~21#1;continueInDirection_~dir#1 := continueInDirection_#in~dir#1;havoc continueInDirection_~tmp~21#1;~currentHeading~0 := continueInDirection_~dir#1;" "assume !(1 == ~currentHeading~0);" "assume !(0 == ~currentFloorID~0);" "assume !(1 == ~currentHeading~0);~currentFloorID~0 := ~currentFloorID~0 - 1;" "havoc continueInDirection_#t~ret76#1, continueInDirection_~dir#1, continueInDirection_~tmp~21#1;havoc continueInDirection_#in~dir#1;assume { :end_inline_continueInDirection } true;" "assume { :begin_inline___utac_acc__Specification13_spec__2 } true;havoc __utac_acc__Specification13_spec__2_#t~ret28#1, __utac_acc__Specification13_spec__2_#t~ret29#1, __utac_acc__Specification13_spec__2_#t~ret30#1, __utac_acc__Specification13_spec__2_#t~ret31#1, __utac_acc__Specification13_spec__2_#t~ret32#1, __utac_acc__Specification13_spec__2_#t~ret33#1, __utac_acc__Specification13_spec__2_~tmp~3#1, __utac_acc__Specification13_spec__2_~tmp___0~0#1, __utac_acc__Specification13_spec__2_~tmp___1~0#1, __utac_acc__Specification13_spec__2_~tmp___2~0#1, __utac_acc__Specification13_spec__2_~tmp___3~0#1, __utac_acc__Specification13_spec__2_~tmp___4~0#1, __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1, __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1;havoc __utac_acc__Specification13_spec__2_~tmp~3#1;havoc __utac_acc__Specification13_spec__2_~tmp___0~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___1~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___2~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___3~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___4~0#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1;__utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 := 2 * ~maximumWeight~0;__utac_acc__Specification13_spec__2_~__cil_tmp8~5#1 := (if __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 < 0 && 0 != __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 % 3 then 1 + __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 / 3 else __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 / 3);" "assume ~weight~0 > __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1;" "assume 1 == ~prevDir~0;assume { :begin_inline_existInLiftCallsInDirection } true;existInLiftCallsInDirection_#in~d#1 := 0;havoc existInLiftCallsInDirection_#res#1;havoc existInLiftCallsInDirection_~d#1, existInLiftCallsInDirection_~retValue_acc~29#1, existInLiftCallsInDirection_~i~1#1, existInLiftCallsInDirection_~i___0~0#1;existInLiftCallsInDirection_~d#1 := existInLiftCallsInDirection_#in~d#1;havoc existInLiftCallsInDirection_~retValue_acc~29#1;havoc existInLiftCallsInDirection_~i~1#1;havoc existInLiftCallsInDirection_~i___0~0#1;" "assume !(1 == existInLiftCallsInDirection_~d#1);" "assume 0 == existInLiftCallsInDirection_~d#1;existInLiftCallsInDirection_~i___0~0#1 := 0;existInLiftCallsInDirection_~i___0~0#1 := ~currentFloorID~0 - 1;" [2025-01-10 07:36:38,890 INFO L754 eck$LassoCheckResult]: Loop: "assume existInLiftCallsInDirection_~i___0~0#1 >= 0;" "existInLiftCallsInDirection_~i___0~0#1 := 1 + ~currentFloorID~0;" "assume !(existInLiftCallsInDirection_~i___0~0#1 < 5);" "existInLiftCallsInDirection_~i___0~0#1 := existInLiftCallsInDirection_~i___0~0#1 - 1;" [2025-01-10 07:36:38,890 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:36:38,890 INFO L85 PathProgramCache]: Analyzing trace with hash 909591415, now seen corresponding path program 1 times [2025-01-10 07:36:38,890 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:36:38,890 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [901003483] [2025-01-10 07:36:38,890 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-10 07:36:38,890 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:36:38,905 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 89 statements into 1 equivalence classes. [2025-01-10 07:36:38,909 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 89 of 89 statements. [2025-01-10 07:36:38,909 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:36:38,909 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:36:38,931 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-01-10 07:36:38,931 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-10 07:36:38,931 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [901003483] [2025-01-10 07:36:38,931 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [901003483] provided 1 perfect and 0 imperfect interpolant sequences [2025-01-10 07:36:38,931 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-01-10 07:36:38,931 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2025-01-10 07:36:38,932 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1577202877] [2025-01-10 07:36:38,932 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-01-10 07:36:38,932 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-01-10 07:36:38,932 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:36:38,932 INFO L85 PathProgramCache]: Analyzing trace with hash 274166626, now seen corresponding path program 18 times [2025-01-10 07:36:38,932 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:36:38,932 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [278971165] [2025-01-10 07:36:38,932 INFO L95 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2025-01-10 07:36:38,932 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:36:38,938 INFO L108 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE partitioned 4 statements into 1 equivalence classes. [2025-01-10 07:36:38,939 INFO L111 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 1 check-sat command(s) and asserted 4 of 4 statements. [2025-01-10 07:36:38,939 INFO L114 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 1 check-sat command(s) [2025-01-10 07:36:38,939 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:36:38,939 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-01-10 07:36:38,940 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 4 statements into 1 equivalence classes. [2025-01-10 07:36:38,940 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 4 of 4 statements. [2025-01-10 07:36:38,940 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:36:38,940 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:36:38,944 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-01-10 07:36:38,956 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-10 07:36:38,956 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2025-01-10 07:36:38,956 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2025-01-10 07:36:38,957 INFO L87 Difference]: Start difference. First operand 97090 states and 175631 transitions. cyclomatic complexity: 78879 Second operand has 3 states, 3 states have (on average 29.666666666666668) internal successors, (89), 2 states have internal predecessors, (89), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-10 07:36:40,371 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-01-10 07:36:40,372 INFO L93 Difference]: Finished difference Result 192190 states and 346623 transitions. [2025-01-10 07:36:40,372 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 192190 states and 346623 transitions. [2025-01-10 07:36:41,568 INFO L131 ngComponentsAnalysis]: Automaton has 642 accepting balls. 67918 [2025-01-10 07:36:41,987 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (9)] Forceful destruction successful, exit code 0 [2025-01-10 07:36:42,404 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 192190 states to 192190 states and 346623 transitions. [2025-01-10 07:36:42,409 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 191692 [2025-01-10 07:36:42,558 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 191692 [2025-01-10 07:36:42,558 INFO L73 IsDeterministic]: Start isDeterministic. Operand 192190 states and 346623 transitions. [2025-01-10 07:36:42,559 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-01-10 07:36:42,559 INFO L218 hiAutomatonCegarLoop]: Abstraction has 192190 states and 346623 transitions. [2025-01-10 07:36:42,676 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 192190 states and 346623 transitions. [2025-01-10 07:36:44,251 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 192190 to 192174. [2025-01-10 07:36:44,399 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 192174 states, 192174 states have (on average 1.8036102698596064) internal successors, (346607), 192173 states have internal predecessors, (346607), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-10 07:36:44,967 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 192174 states to 192174 states and 346607 transitions. [2025-01-10 07:36:44,968 INFO L240 hiAutomatonCegarLoop]: Abstraction has 192174 states and 346607 transitions. [2025-01-10 07:36:44,968 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2025-01-10 07:36:44,968 INFO L432 stractBuchiCegarLoop]: Abstraction has 192174 states and 346607 transitions. [2025-01-10 07:36:44,969 INFO L338 stractBuchiCegarLoop]: ======== Iteration 21 ============ [2025-01-10 07:36:44,969 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 192174 states and 346607 transitions. [2025-01-10 07:36:45,716 INFO L131 ngComponentsAnalysis]: Automaton has 642 accepting balls. 67918 [2025-01-10 07:36:45,716 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-01-10 07:36:45,716 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-01-10 07:36:45,717 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-01-10 07:36:45,717 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1] [2025-01-10 07:36:45,717 INFO L752 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int#0(48, 1, 0, 1);call write~init~int#0(0, 1, 1, 1);call #Ultimate.allocInit(32, 2);call #Ultimate.allocInit(12, 3);call #Ultimate.allocInit(30, 4);call #Ultimate.allocInit(9, 5);call #Ultimate.allocInit(21, 6);call #Ultimate.allocInit(30, 7);call #Ultimate.allocInit(9, 8);call #Ultimate.allocInit(21, 9);call #Ultimate.allocInit(30, 10);call #Ultimate.allocInit(9, 11);call #Ultimate.allocInit(25, 12);call #Ultimate.allocInit(30, 13);call #Ultimate.allocInit(9, 14);call #Ultimate.allocInit(25, 15);call #Ultimate.allocInit(10, 16);call #Ultimate.allocInit(4, 17);call write~init~int#5(91, 17, 0, 1);call write~init~int#5(95, 17, 1, 1);call write~init~int#5(93, 17, 2, 1);call write~init~int#5(0, 17, 3, 1);call #Ultimate.allocInit(4, 18);call write~init~int#6(91, 18, 0, 1);call write~init~int#6(93, 18, 1, 1);call write~init~int#6(32, 18, 2, 1);call write~init~int#6(0, 18, 3, 1);call #Ultimate.allocInit(5, 19);call write~init~int#7(32, 19, 0, 1);call write~init~int#7(97, 19, 1, 1);call write~init~int#7(116, 19, 2, 1);call write~init~int#7(32, 19, 3, 1);call write~init~int#7(0, 19, 4, 1);call #Ultimate.allocInit(3, 20);call write~init~int#8(37, 20, 0, 1);call write~init~int#8(105, 20, 1, 1);call write~init~int#8(0, 20, 2, 1);call #Ultimate.allocInit(10, 21);call #Ultimate.allocInit(3, 22);call write~init~int#9(117, 22, 0, 1);call write~init~int#9(112, 22, 1, 1);call write~init~int#9(0, 22, 2, 1);call #Ultimate.allocInit(5, 23);call write~init~int#10(100, 23, 0, 1);call write~init~int#10(111, 23, 1, 1);call write~init~int#10(119, 23, 2, 1);call write~init~int#10(110, 23, 3, 1);call write~init~int#10(0, 23, 4, 1);call #Ultimate.allocInit(7, 24);call write~init~int#11(32, 24, 0, 1);call write~init~int#11(73, 24, 1, 1);call write~init~int#11(76, 24, 2, 1);call write~init~int#11(95, 24, 3, 1);call write~init~int#11(112, 24, 4, 1);call write~init~int#11(58, 24, 5, 1);call write~init~int#11(0, 24, 6, 1);call #Ultimate.allocInit(4, 25);call write~init~int#12(32, 25, 0, 1);call write~init~int#12(37, 25, 1, 1);call write~init~int#12(105, 25, 2, 1);call write~init~int#12(0, 25, 3, 1);call #Ultimate.allocInit(4, 26);call write~init~int#13(32, 26, 0, 1);call write~init~int#13(37, 26, 1, 1);call write~init~int#13(105, 26, 2, 1);call write~init~int#13(0, 26, 3, 1);call #Ultimate.allocInit(4, 27);call write~init~int#14(32, 27, 0, 1);call write~init~int#14(37, 27, 1, 1);call write~init~int#14(105, 27, 2, 1);call write~init~int#14(0, 27, 3, 1);call #Ultimate.allocInit(4, 28);call write~init~int#15(32, 28, 0, 1);call write~init~int#15(37, 28, 1, 1);call write~init~int#15(105, 28, 2, 1);call write~init~int#15(0, 28, 3, 1);call #Ultimate.allocInit(4, 29);call write~init~int#16(32, 29, 0, 1);call write~init~int#16(37, 29, 1, 1);call write~init~int#16(105, 29, 2, 1);call write~init~int#16(0, 29, 3, 1);call #Ultimate.allocInit(6, 30);call write~init~int#17(32, 30, 0, 1);call write~init~int#17(70, 30, 1, 1);call write~init~int#17(95, 30, 2, 1);call write~init~int#17(112, 30, 3, 1);call write~init~int#17(58, 30, 4, 1);call write~init~int#17(0, 30, 5, 1);call #Ultimate.allocInit(4, 31);call write~init~int#18(32, 31, 0, 1);call write~init~int#18(37, 31, 1, 1);call write~init~int#18(105, 31, 2, 1);call write~init~int#18(0, 31, 3, 1);call #Ultimate.allocInit(4, 32);call write~init~int#19(32, 32, 0, 1);call write~init~int#19(37, 32, 1, 1);call write~init~int#19(105, 32, 2, 1);call write~init~int#19(0, 32, 3, 1);call #Ultimate.allocInit(4, 33);call write~init~int#1(32, 33, 0, 1);call write~init~int#1(37, 33, 1, 1);call write~init~int#1(105, 33, 2, 1);call write~init~int#1(0, 33, 3, 1);call #Ultimate.allocInit(4, 34);call write~init~int#2(32, 34, 0, 1);call write~init~int#2(37, 34, 1, 1);call write~init~int#2(105, 34, 2, 1);call write~init~int#2(0, 34, 3, 1);call #Ultimate.allocInit(4, 35);call write~init~int#3(32, 35, 0, 1);call write~init~int#3(37, 35, 1, 1);call write~init~int#3(105, 35, 2, 1);call write~init~int#3(0, 35, 3, 1);call #Ultimate.allocInit(2, 36);call write~init~int#4(10, 36, 0, 1);call write~init~int#4(0, 36, 1, 1);~head~0.base, ~head~0.offset := 0, 0;~weight~0 := 0;~maximumWeight~0 := 100;~executiveFloor~0 := 4;~prevDir~0 := 0;~calls_0~0 := 0;~calls_1~0 := 0;~calls_2~0 := 0;~calls_3~0 := 0;~calls_4~0 := 0;~personOnFloor_0_0~0 := 0;~personOnFloor_0_1~0 := 0;~personOnFloor_0_2~0 := 0;~personOnFloor_0_3~0 := 0;~personOnFloor_0_4~0 := 0;~personOnFloor_1_0~0 := 0;~personOnFloor_1_1~0 := 0;~personOnFloor_1_2~0 := 0;~personOnFloor_1_3~0 := 0;~personOnFloor_1_4~0 := 0;~personOnFloor_2_0~0 := 0;~personOnFloor_2_1~0 := 0;~personOnFloor_2_2~0 := 0;~personOnFloor_2_3~0 := 0;~personOnFloor_2_4~0 := 0;~personOnFloor_3_0~0 := 0;~personOnFloor_3_1~0 := 0;~personOnFloor_3_2~0 := 0;~personOnFloor_3_3~0 := 0;~personOnFloor_3_4~0 := 0;~personOnFloor_4_0~0 := 0;~personOnFloor_4_1~0 := 0;~personOnFloor_4_2~0 := 0;~personOnFloor_4_3~0 := 0;~personOnFloor_4_4~0 := 0;~personOnFloor_5_0~0 := 0;~personOnFloor_5_1~0 := 0;~personOnFloor_5_2~0 := 0;~personOnFloor_5_3~0 := 0;~personOnFloor_5_4~0 := 0;~cleanupTimeShifts~0 := 12;~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;" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret47#1, main_~retValue_acc~10#1, main_~tmp~12#1;havoc main_~retValue_acc~10#1;havoc main_~tmp~12#1;assume { :begin_inline_select_helpers } true;" "assume { :end_inline_select_helpers } true;assume { :begin_inline_select_features } true;" "assume { :end_inline_select_features } true;assume { :begin_inline_valid_product } true;havoc valid_product_#res#1;havoc valid_product_~retValue_acc~12#1;havoc valid_product_~retValue_acc~12#1;valid_product_~retValue_acc~12#1 := 1;valid_product_#res#1 := valid_product_~retValue_acc~12#1;" "main_#t~ret47#1 := valid_product_#res#1;havoc valid_product_~retValue_acc~12#1;assume { :end_inline_valid_product } true;main_~tmp~12#1 := main_#t~ret47#1;havoc main_#t~ret47#1;" "assume 0 != main_~tmp~12#1;assume { :begin_inline_setup } true;" "assume { :end_inline_setup } true;assume { :begin_inline_runTest } true;assume { :begin_inline_test } true;assume { :begin_inline_aliceCall } true;havoc aliceCall_#t~ret36#1, aliceCall_~tmp~5#1;havoc aliceCall_~tmp~5#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 1;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~4#1;" "assume !(0 == getOrigin_~person#1);" "assume 1 == getOrigin_~person#1;getOrigin_~retValue_acc~4#1 := 3;getOrigin_#res#1 := getOrigin_~retValue_acc~4#1;" "aliceCall_#t~ret36#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;aliceCall_~tmp~5#1 := aliceCall_#t~ret36#1;havoc aliceCall_#t~ret36#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 1, aliceCall_~tmp~5#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1;" "assume !(0 == initPersonOnFloor_~floor#1);" "assume !(1 == initPersonOnFloor_~floor#1);" "assume !(2 == initPersonOnFloor_~floor#1);" "assume 3 == initPersonOnFloor_~floor#1;" "assume !(0 == initPersonOnFloor_~person#1);" "assume 1 == initPersonOnFloor_~person#1;~personOnFloor_1_3~0 := 1;" "assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1;" "assume !(0 == callOnFloor_~floorID#1);" "assume !(1 == callOnFloor_~floorID#1);" "assume !(2 == callOnFloor_~floorID#1);" "assume 3 == callOnFloor_~floorID#1;~calls_3~0 := 1;" "havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true;" "havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true;" "havoc aliceCall_#t~ret36#1, aliceCall_~tmp~5#1;assume { :end_inline_aliceCall } true;assume { :begin_inline_angelinaCall } true;havoc angelinaCall_#t~ret37#1, angelinaCall_~tmp~6#1;havoc angelinaCall_~tmp~6#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 2;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~4#1;" "assume !(0 == getOrigin_~person#1);" "assume !(1 == getOrigin_~person#1);" "assume 2 == getOrigin_~person#1;getOrigin_~retValue_acc~4#1 := 2;getOrigin_#res#1 := getOrigin_~retValue_acc~4#1;" "angelinaCall_#t~ret37#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;angelinaCall_~tmp~6#1 := angelinaCall_#t~ret37#1;havoc angelinaCall_#t~ret37#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 2, angelinaCall_~tmp~6#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1;" "assume !(0 == initPersonOnFloor_~floor#1);" "assume !(1 == initPersonOnFloor_~floor#1);" "assume 2 == initPersonOnFloor_~floor#1;" "assume !(0 == initPersonOnFloor_~person#1);" "assume !(1 == initPersonOnFloor_~person#1);" "assume 2 == initPersonOnFloor_~person#1;~personOnFloor_2_2~0 := 1;" "assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1;" "assume !(0 == callOnFloor_~floorID#1);" "assume !(1 == callOnFloor_~floorID#1);" "assume 2 == callOnFloor_~floorID#1;~calls_2~0 := 1;" "havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true;" "havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true;" "havoc angelinaCall_#t~ret37#1, angelinaCall_~tmp~6#1;assume { :end_inline_angelinaCall } true;assume { :begin_inline_threeTS } true;assume { :begin_inline_timeShift } true;havoc timeShift_#t~ret98#1, timeShift_#t~ret99#1, timeShift_#t~ret100#1, timeShift_#t~ret101#1, timeShift_#t~ret102#1, timeShift_#t~ret103#1, timeShift_#t~ret104#1, timeShift_#t~ret105#1, timeShift_#t~ret106#1, timeShift_#t~ret107#1, timeShift_#t~ret108#1, timeShift_~tmp~26#1, timeShift_~tmp___0~10#1, timeShift_~tmp___1~5#1, timeShift_~tmp___2~5#1, timeShift_~tmp___3~4#1, timeShift_~tmp___4~3#1, timeShift_~tmp___5~2#1, timeShift_~tmp___6~2#1, timeShift_~tmp___7~2#1, timeShift_~tmp___8~2#1, timeShift_~tmp___9~2#1;havoc timeShift_~tmp~26#1;havoc timeShift_~tmp___0~10#1;havoc timeShift_~tmp___1~5#1;havoc timeShift_~tmp___2~5#1;havoc timeShift_~tmp___3~4#1;havoc timeShift_~tmp___4~3#1;havoc timeShift_~tmp___5~2#1;havoc timeShift_~tmp___6~2#1;havoc timeShift_~tmp___7~2#1;havoc timeShift_~tmp___8~2#1;havoc timeShift_~tmp___9~2#1;assume { :begin_inline___utac_acc__Specification13_spec__1 } true;havoc __utac_acc__Specification13_spec__1_#t~ret27#1;assume { :begin_inline_getCurrentHeading } true;havoc getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~17#1;havoc getCurrentHeading_~retValue_acc~17#1;getCurrentHeading_~retValue_acc~17#1 := ~currentHeading~0;getCurrentHeading_#res#1 := getCurrentHeading_~retValue_acc~17#1;" "__utac_acc__Specification13_spec__1_#t~ret27#1 := getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~17#1;assume { :end_inline_getCurrentHeading } true;~prevDir~0 := __utac_acc__Specification13_spec__1_#t~ret27#1;havoc __utac_acc__Specification13_spec__1_#t~ret27#1;" "havoc __utac_acc__Specification13_spec__1_#t~ret27#1;assume { :end_inline___utac_acc__Specification13_spec__1 } true;assume { :begin_inline_stopRequestedAtCurrentFloor } true;havoc stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1, stopRequestedAtCurrentFloor_#t~ret83#1, stopRequestedAtCurrentFloor_#t~ret84#1, stopRequestedAtCurrentFloor_#t~ret85#1, stopRequestedAtCurrentFloor_~retValue_acc~27#1, stopRequestedAtCurrentFloor_~tmp~24#1, stopRequestedAtCurrentFloor_~tmp___0~8#1;havoc stopRequestedAtCurrentFloor_~retValue_acc~27#1;havoc stopRequestedAtCurrentFloor_~tmp~24#1;havoc stopRequestedAtCurrentFloor_~tmp___0~8#1;assume { :begin_inline_isExecutiveFloorCalling } true;havoc isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;havoc isExecutiveFloorCalling_~retValue_acc~30#1;assume { :begin_inline_isFloorCalling } true;isFloorCalling_#in~floorID#1 := ~executiveFloor~0;havoc isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;isFloorCalling_~floorID#1 := isFloorCalling_#in~floorID#1;havoc isFloorCalling_~retValue_acc~6#1;" "assume !(0 == isFloorCalling_~floorID#1);" "assume !(1 == isFloorCalling_~floorID#1);" "assume !(2 == isFloorCalling_~floorID#1);" "assume !(3 == isFloorCalling_~floorID#1);" "assume 4 == isFloorCalling_~floorID#1;isFloorCalling_~retValue_acc~6#1 := ~calls_4~0;isFloorCalling_#res#1 := isFloorCalling_~retValue_acc~6#1;" "isExecutiveFloorCalling_#t~ret135#1 := isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;havoc isFloorCalling_#in~floorID#1;assume { :end_inline_isFloorCalling } true;isExecutiveFloorCalling_~retValue_acc~30#1 := isExecutiveFloorCalling_#t~ret135#1;havoc isExecutiveFloorCalling_#t~ret135#1;isExecutiveFloorCalling_#res#1 := isExecutiveFloorCalling_~retValue_acc~30#1;" "stopRequestedAtCurrentFloor_#t~ret82#1 := isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;assume { :end_inline_isExecutiveFloorCalling } true;stopRequestedAtCurrentFloor_~tmp~24#1 := stopRequestedAtCurrentFloor_#t~ret82#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1;" "assume !(0 != stopRequestedAtCurrentFloor_~tmp~24#1);assume { :begin_inline_stopRequestedAtCurrentFloor__wrappee__twothirdsfull } true;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#res#1;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret79#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret80#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret81#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~retValue_acc~26#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp~23#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp___0~7#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp4~3#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp5~4#1;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~retValue_acc~26#1;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp~23#1;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp___0~7#1;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp4~3#1;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp5~4#1;stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp4~3#1 := 2 * ~maximumWeight~0;stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp5~4#1 := (if stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp4~3#1 < 0 && 0 != stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp4~3#1 % 3 then 1 + stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp4~3#1 / 3 else stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp4~3#1 / 3);" "assume ~weight~0 > stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp5~4#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;havoc getCurrentFloorID_~retValue_acc~14#1;getCurrentFloorID_~retValue_acc~14#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~14#1;" "stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret79#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp~23#1 := stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret79#1;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret79#1;assume { :begin_inline_buttonForFloorIsPressed } true;buttonForFloorIsPressed_#in~floorID#1 := stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp~23#1;havoc buttonForFloorIsPressed_#res#1;havoc buttonForFloorIsPressed_~floorID#1, buttonForFloorIsPressed_~retValue_acc~16#1;buttonForFloorIsPressed_~floorID#1 := buttonForFloorIsPressed_#in~floorID#1;havoc buttonForFloorIsPressed_~retValue_acc~16#1;" "assume 0 == buttonForFloorIsPressed_~floorID#1;buttonForFloorIsPressed_~retValue_acc~16#1 := ~floorButtons_0~0;buttonForFloorIsPressed_#res#1 := buttonForFloorIsPressed_~retValue_acc~16#1;" "stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret80#1 := buttonForFloorIsPressed_#res#1;havoc buttonForFloorIsPressed_~floorID#1, buttonForFloorIsPressed_~retValue_acc~16#1;havoc buttonForFloorIsPressed_#in~floorID#1;assume { :end_inline_buttonForFloorIsPressed } true;stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp___0~7#1 := stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret80#1;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret80#1;stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~retValue_acc~26#1 := (if 1 == stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp___0~7#1 then 1 else 0);stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#res#1 := stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~retValue_acc~26#1;" "stopRequestedAtCurrentFloor_#t~ret85#1 := stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#res#1;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret79#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret80#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret81#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~retValue_acc~26#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp~23#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp___0~7#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp4~3#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp5~4#1;assume { :end_inline_stopRequestedAtCurrentFloor__wrappee__twothirdsfull } true;stopRequestedAtCurrentFloor_~retValue_acc~27#1 := stopRequestedAtCurrentFloor_#t~ret85#1;havoc stopRequestedAtCurrentFloor_#t~ret85#1;stopRequestedAtCurrentFloor_#res#1 := stopRequestedAtCurrentFloor_~retValue_acc~27#1;" "timeShift_#t~ret98#1 := stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1, stopRequestedAtCurrentFloor_#t~ret83#1, stopRequestedAtCurrentFloor_#t~ret84#1, stopRequestedAtCurrentFloor_#t~ret85#1, stopRequestedAtCurrentFloor_~retValue_acc~27#1, stopRequestedAtCurrentFloor_~tmp~24#1, stopRequestedAtCurrentFloor_~tmp___0~8#1;assume { :end_inline_stopRequestedAtCurrentFloor } true;timeShift_~tmp___9~2#1 := timeShift_#t~ret98#1;havoc timeShift_#t~ret98#1;" "assume !(0 != timeShift_~tmp___9~2#1);" "assume 1 == ~doorState~0;~doorState~0 := 0;" "assume { :begin_inline_stopRequestedInDirection } true;stopRequestedInDirection_#in~dir#1, stopRequestedInDirection_#in~respectFloorCalls#1, stopRequestedInDirection_#in~respectInLiftCalls#1 := ~currentHeading~0, 1, 1;havoc stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret73#1, stopRequestedInDirection_#t~ret74#1, stopRequestedInDirection_#t~ret75#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~23#1, stopRequestedInDirection_~tmp~20#1, stopRequestedInDirection_~tmp___0~5#1, stopRequestedInDirection_~__cil_tmp7~6#1, stopRequestedInDirection_~__cil_tmp8~7#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~23#1;havoc stopRequestedInDirection_~tmp~20#1;havoc stopRequestedInDirection_~tmp___0~5#1;havoc stopRequestedInDirection_~__cil_tmp7~6#1;havoc stopRequestedInDirection_~__cil_tmp8~7#1;assume { :begin_inline_isExecutiveFloorCalling } true;havoc isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;havoc isExecutiveFloorCalling_~retValue_acc~30#1;assume { :begin_inline_isFloorCalling } true;isFloorCalling_#in~floorID#1 := ~executiveFloor~0;havoc isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;isFloorCalling_~floorID#1 := isFloorCalling_#in~floorID#1;havoc isFloorCalling_~retValue_acc~6#1;" "assume !(0 == isFloorCalling_~floorID#1);" "assume !(1 == isFloorCalling_~floorID#1);" "assume !(2 == isFloorCalling_~floorID#1);" "assume !(3 == isFloorCalling_~floorID#1);" "assume 4 == isFloorCalling_~floorID#1;isFloorCalling_~retValue_acc~6#1 := ~calls_4~0;isFloorCalling_#res#1 := isFloorCalling_~retValue_acc~6#1;" "isExecutiveFloorCalling_#t~ret135#1 := isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;havoc isFloorCalling_#in~floorID#1;assume { :end_inline_isFloorCalling } true;isExecutiveFloorCalling_~retValue_acc~30#1 := isExecutiveFloorCalling_#t~ret135#1;havoc isExecutiveFloorCalling_#t~ret135#1;isExecutiveFloorCalling_#res#1 := isExecutiveFloorCalling_~retValue_acc~30#1;" "stopRequestedInDirection_#t~ret73#1 := isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;assume { :end_inline_isExecutiveFloorCalling } true;stopRequestedInDirection_~tmp___0~5#1 := stopRequestedInDirection_#t~ret73#1;havoc stopRequestedInDirection_#t~ret73#1;" "assume !(0 != stopRequestedInDirection_~tmp___0~5#1);assume { :begin_inline_stopRequestedInDirection__wrappee__twothirdsfull } true;stopRequestedInDirection__wrappee__twothirdsfull_#in~dir#1, stopRequestedInDirection__wrappee__twothirdsfull_#in~respectFloorCalls#1, stopRequestedInDirection__wrappee__twothirdsfull_#in~respectInLiftCalls#1 := stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_#res#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_#t~ret69#1, stopRequestedInDirection__wrappee__twothirdsfull_#t~ret70#1, stopRequestedInDirection__wrappee__twothirdsfull_#t~ret71#1, stopRequestedInDirection__wrappee__twothirdsfull_#t~ret72#1, stopRequestedInDirection__wrappee__twothirdsfull_~dir#1, stopRequestedInDirection__wrappee__twothirdsfull_~respectFloorCalls#1, stopRequestedInDirection__wrappee__twothirdsfull_~respectInLiftCalls#1, stopRequestedInDirection__wrappee__twothirdsfull_~retValue_acc~22#1, stopRequestedInDirection__wrappee__twothirdsfull_~overload~0#1, stopRequestedInDirection__wrappee__twothirdsfull_~buttonPressed~0#1, stopRequestedInDirection__wrappee__twothirdsfull_~tmp~19#1, stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp8~6#1, stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp9~5#1;stopRequestedInDirection__wrappee__twothirdsfull_~dir#1 := stopRequestedInDirection__wrappee__twothirdsfull_#in~dir#1;stopRequestedInDirection__wrappee__twothirdsfull_~respectFloorCalls#1 := stopRequestedInDirection__wrappee__twothirdsfull_#in~respectFloorCalls#1;stopRequestedInDirection__wrappee__twothirdsfull_~respectInLiftCalls#1 := stopRequestedInDirection__wrappee__twothirdsfull_#in~respectInLiftCalls#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_~retValue_acc~22#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_~overload~0#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_~buttonPressed~0#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_~tmp~19#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp8~6#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp9~5#1;stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp8~6#1 := 2 * ~maximumWeight~0;stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp9~5#1 := (if stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp8~6#1 < 0 && 0 != stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp8~6#1 % 3 then 1 + stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp8~6#1 / 3 else stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp8~6#1 / 3);stopRequestedInDirection__wrappee__twothirdsfull_~overload~0#1 := (if ~weight~0 > stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp9~5#1 then 1 else 0);assume { :begin_inline_isAnyLiftButtonPressed } true;havoc isAnyLiftButtonPressed_#res#1;havoc isAnyLiftButtonPressed_~retValue_acc~24#1;havoc isAnyLiftButtonPressed_~retValue_acc~24#1;" "assume !(0 != ~floorButtons_0~0);" "assume !(0 != ~floorButtons_1~0);" "assume !(0 != ~floorButtons_2~0);" "assume !(0 != ~floorButtons_3~0);" "assume 0 != ~floorButtons_4~0;isAnyLiftButtonPressed_~retValue_acc~24#1 := 1;isAnyLiftButtonPressed_#res#1 := isAnyLiftButtonPressed_~retValue_acc~24#1;" "stopRequestedInDirection__wrappee__twothirdsfull_#t~ret69#1 := isAnyLiftButtonPressed_#res#1;havoc isAnyLiftButtonPressed_~retValue_acc~24#1;assume { :end_inline_isAnyLiftButtonPressed } true;stopRequestedInDirection__wrappee__twothirdsfull_~tmp~19#1 := stopRequestedInDirection__wrappee__twothirdsfull_#t~ret69#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_#t~ret69#1;stopRequestedInDirection__wrappee__twothirdsfull_~buttonPressed~0#1 := stopRequestedInDirection__wrappee__twothirdsfull_~tmp~19#1;" "assume !(0 != stopRequestedInDirection__wrappee__twothirdsfull_~overload~0#1);assume { :begin_inline_stopRequestedInDirection__wrappee__empty } true;stopRequestedInDirection__wrappee__empty_#in~dir#1, stopRequestedInDirection__wrappee__empty_#in~respectFloorCalls#1, stopRequestedInDirection__wrappee__empty_#in~respectInLiftCalls#1 := stopRequestedInDirection__wrappee__twothirdsfull_~dir#1, stopRequestedInDirection__wrappee__twothirdsfull_~respectFloorCalls#1, stopRequestedInDirection__wrappee__twothirdsfull_~respectInLiftCalls#1;havoc stopRequestedInDirection__wrappee__empty_#res#1;havoc stopRequestedInDirection__wrappee__empty_#t~ret58#1, stopRequestedInDirection__wrappee__empty_#t~ret59#1, stopRequestedInDirection__wrappee__empty_#t~ret60#1, stopRequestedInDirection__wrappee__empty_#t~ret61#1, stopRequestedInDirection__wrappee__empty_#t~ret62#1, stopRequestedInDirection__wrappee__empty_#t~ret63#1, stopRequestedInDirection__wrappee__empty_#t~ret64#1, stopRequestedInDirection__wrappee__empty_#t~ret65#1, stopRequestedInDirection__wrappee__empty_#t~ret66#1, stopRequestedInDirection__wrappee__empty_#t~ret67#1, stopRequestedInDirection__wrappee__empty_#t~ret68#1, stopRequestedInDirection__wrappee__empty_~dir#1, stopRequestedInDirection__wrappee__empty_~respectFloorCalls#1, stopRequestedInDirection__wrappee__empty_~respectInLiftCalls#1, stopRequestedInDirection__wrappee__empty_~retValue_acc~21#1, stopRequestedInDirection__wrappee__empty_~tmp~18#1, stopRequestedInDirection__wrappee__empty_~tmp___0~4#1, stopRequestedInDirection__wrappee__empty_~tmp___1~3#1, stopRequestedInDirection__wrappee__empty_~tmp___2~3#1, stopRequestedInDirection__wrappee__empty_~tmp___3~2#1, stopRequestedInDirection__wrappee__empty_~tmp___4~1#1, stopRequestedInDirection__wrappee__empty_~tmp___5~0#1, stopRequestedInDirection__wrappee__empty_~tmp___6~0#1, stopRequestedInDirection__wrappee__empty_~tmp___7~0#1, stopRequestedInDirection__wrappee__empty_~tmp___8~0#1, stopRequestedInDirection__wrappee__empty_~tmp___9~0#1;stopRequestedInDirection__wrappee__empty_~dir#1 := stopRequestedInDirection__wrappee__empty_#in~dir#1;stopRequestedInDirection__wrappee__empty_~respectFloorCalls#1 := stopRequestedInDirection__wrappee__empty_#in~respectFloorCalls#1;stopRequestedInDirection__wrappee__empty_~respectInLiftCalls#1 := stopRequestedInDirection__wrappee__empty_#in~respectInLiftCalls#1;havoc stopRequestedInDirection__wrappee__empty_~retValue_acc~21#1;havoc stopRequestedInDirection__wrappee__empty_~tmp~18#1;havoc stopRequestedInDirection__wrappee__empty_~tmp___0~4#1;havoc stopRequestedInDirection__wrappee__empty_~tmp___1~3#1;havoc stopRequestedInDirection__wrappee__empty_~tmp___2~3#1;havoc stopRequestedInDirection__wrappee__empty_~tmp___3~2#1;havoc stopRequestedInDirection__wrappee__empty_~tmp___4~1#1;havoc stopRequestedInDirection__wrappee__empty_~tmp___5~0#1;havoc stopRequestedInDirection__wrappee__empty_~tmp___6~0#1;havoc stopRequestedInDirection__wrappee__empty_~tmp___7~0#1;havoc stopRequestedInDirection__wrappee__empty_~tmp___8~0#1;havoc stopRequestedInDirection__wrappee__empty_~tmp___9~0#1;" "assume !(1 == stopRequestedInDirection__wrappee__empty_~dir#1);" "assume 0 == ~currentFloorID~0;stopRequestedInDirection__wrappee__empty_~retValue_acc~21#1 := 0;stopRequestedInDirection__wrappee__empty_#res#1 := stopRequestedInDirection__wrappee__empty_~retValue_acc~21#1;" "stopRequestedInDirection__wrappee__twothirdsfull_#t~ret72#1 := stopRequestedInDirection__wrappee__empty_#res#1;havoc stopRequestedInDirection__wrappee__empty_#t~ret58#1, stopRequestedInDirection__wrappee__empty_#t~ret59#1, stopRequestedInDirection__wrappee__empty_#t~ret60#1, stopRequestedInDirection__wrappee__empty_#t~ret61#1, stopRequestedInDirection__wrappee__empty_#t~ret62#1, stopRequestedInDirection__wrappee__empty_#t~ret63#1, stopRequestedInDirection__wrappee__empty_#t~ret64#1, stopRequestedInDirection__wrappee__empty_#t~ret65#1, stopRequestedInDirection__wrappee__empty_#t~ret66#1, stopRequestedInDirection__wrappee__empty_#t~ret67#1, stopRequestedInDirection__wrappee__empty_#t~ret68#1, stopRequestedInDirection__wrappee__empty_~dir#1, stopRequestedInDirection__wrappee__empty_~respectFloorCalls#1, stopRequestedInDirection__wrappee__empty_~respectInLiftCalls#1, stopRequestedInDirection__wrappee__empty_~retValue_acc~21#1, stopRequestedInDirection__wrappee__empty_~tmp~18#1, stopRequestedInDirection__wrappee__empty_~tmp___0~4#1, stopRequestedInDirection__wrappee__empty_~tmp___1~3#1, stopRequestedInDirection__wrappee__empty_~tmp___2~3#1, stopRequestedInDirection__wrappee__empty_~tmp___3~2#1, stopRequestedInDirection__wrappee__empty_~tmp___4~1#1, stopRequestedInDirection__wrappee__empty_~tmp___5~0#1, stopRequestedInDirection__wrappee__empty_~tmp___6~0#1, stopRequestedInDirection__wrappee__empty_~tmp___7~0#1, stopRequestedInDirection__wrappee__empty_~tmp___8~0#1, stopRequestedInDirection__wrappee__empty_~tmp___9~0#1;havoc stopRequestedInDirection__wrappee__empty_#in~dir#1, stopRequestedInDirection__wrappee__empty_#in~respectFloorCalls#1, stopRequestedInDirection__wrappee__empty_#in~respectInLiftCalls#1;assume { :end_inline_stopRequestedInDirection__wrappee__empty } true;stopRequestedInDirection__wrappee__twothirdsfull_~retValue_acc~22#1 := stopRequestedInDirection__wrappee__twothirdsfull_#t~ret72#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_#t~ret72#1;stopRequestedInDirection__wrappee__twothirdsfull_#res#1 := stopRequestedInDirection__wrappee__twothirdsfull_~retValue_acc~22#1;" "stopRequestedInDirection_#t~ret75#1 := stopRequestedInDirection__wrappee__twothirdsfull_#res#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_#t~ret69#1, stopRequestedInDirection__wrappee__twothirdsfull_#t~ret70#1, stopRequestedInDirection__wrappee__twothirdsfull_#t~ret71#1, stopRequestedInDirection__wrappee__twothirdsfull_#t~ret72#1, stopRequestedInDirection__wrappee__twothirdsfull_~dir#1, stopRequestedInDirection__wrappee__twothirdsfull_~respectFloorCalls#1, stopRequestedInDirection__wrappee__twothirdsfull_~respectInLiftCalls#1, stopRequestedInDirection__wrappee__twothirdsfull_~retValue_acc~22#1, stopRequestedInDirection__wrappee__twothirdsfull_~overload~0#1, stopRequestedInDirection__wrappee__twothirdsfull_~buttonPressed~0#1, stopRequestedInDirection__wrappee__twothirdsfull_~tmp~19#1, stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp8~6#1, stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp9~5#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_#in~dir#1, stopRequestedInDirection__wrappee__twothirdsfull_#in~respectFloorCalls#1, stopRequestedInDirection__wrappee__twothirdsfull_#in~respectInLiftCalls#1;assume { :end_inline_stopRequestedInDirection__wrappee__twothirdsfull } true;stopRequestedInDirection_~retValue_acc~23#1 := stopRequestedInDirection_#t~ret75#1;havoc stopRequestedInDirection_#t~ret75#1;stopRequestedInDirection_#res#1 := stopRequestedInDirection_~retValue_acc~23#1;" "timeShift_#t~ret105#1 := stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret73#1, stopRequestedInDirection_#t~ret74#1, stopRequestedInDirection_#t~ret75#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~23#1, stopRequestedInDirection_~tmp~20#1, stopRequestedInDirection_~tmp___0~5#1, stopRequestedInDirection_~__cil_tmp7~6#1, stopRequestedInDirection_~__cil_tmp8~7#1;havoc stopRequestedInDirection_#in~dir#1, stopRequestedInDirection_#in~respectFloorCalls#1, stopRequestedInDirection_#in~respectInLiftCalls#1;assume { :end_inline_stopRequestedInDirection } true;timeShift_~tmp___8~2#1 := timeShift_#t~ret105#1;havoc timeShift_#t~ret105#1;" "assume 0 != timeShift_~tmp___8~2#1;assume { :begin_inline_continueInDirection } true;continueInDirection_#in~dir#1 := ~currentHeading~0;havoc continueInDirection_#t~ret76#1, continueInDirection_~dir#1, continueInDirection_~tmp~21#1;continueInDirection_~dir#1 := continueInDirection_#in~dir#1;havoc continueInDirection_~tmp~21#1;~currentHeading~0 := continueInDirection_~dir#1;" "assume !(1 == ~currentHeading~0);" "assume !(0 == ~currentFloorID~0);" "assume !(1 == ~currentHeading~0);~currentFloorID~0 := ~currentFloorID~0 - 1;" "havoc continueInDirection_#t~ret76#1, continueInDirection_~dir#1, continueInDirection_~tmp~21#1;havoc continueInDirection_#in~dir#1;assume { :end_inline_continueInDirection } true;" "assume { :begin_inline___utac_acc__Specification13_spec__2 } true;havoc __utac_acc__Specification13_spec__2_#t~ret28#1, __utac_acc__Specification13_spec__2_#t~ret29#1, __utac_acc__Specification13_spec__2_#t~ret30#1, __utac_acc__Specification13_spec__2_#t~ret31#1, __utac_acc__Specification13_spec__2_#t~ret32#1, __utac_acc__Specification13_spec__2_#t~ret33#1, __utac_acc__Specification13_spec__2_~tmp~3#1, __utac_acc__Specification13_spec__2_~tmp___0~0#1, __utac_acc__Specification13_spec__2_~tmp___1~0#1, __utac_acc__Specification13_spec__2_~tmp___2~0#1, __utac_acc__Specification13_spec__2_~tmp___3~0#1, __utac_acc__Specification13_spec__2_~tmp___4~0#1, __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1, __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1;havoc __utac_acc__Specification13_spec__2_~tmp~3#1;havoc __utac_acc__Specification13_spec__2_~tmp___0~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___1~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___2~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___3~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___4~0#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1;__utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 := 2 * ~maximumWeight~0;__utac_acc__Specification13_spec__2_~__cil_tmp8~5#1 := (if __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 < 0 && 0 != __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 % 3 then 1 + __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 / 3 else __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 / 3);" "assume ~weight~0 > __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1;" "assume 1 == ~prevDir~0;assume { :begin_inline_existInLiftCallsInDirection } true;existInLiftCallsInDirection_#in~d#1 := 0;havoc existInLiftCallsInDirection_#res#1;havoc existInLiftCallsInDirection_~d#1, existInLiftCallsInDirection_~retValue_acc~29#1, existInLiftCallsInDirection_~i~1#1, existInLiftCallsInDirection_~i___0~0#1;existInLiftCallsInDirection_~d#1 := existInLiftCallsInDirection_#in~d#1;havoc existInLiftCallsInDirection_~retValue_acc~29#1;havoc existInLiftCallsInDirection_~i~1#1;havoc existInLiftCallsInDirection_~i___0~0#1;" "assume !(1 == existInLiftCallsInDirection_~d#1);" "assume 0 == existInLiftCallsInDirection_~d#1;existInLiftCallsInDirection_~i___0~0#1 := 0;existInLiftCallsInDirection_~i___0~0#1 := ~currentFloorID~0 - 1;" [2025-01-10 07:36:45,717 INFO L754 eck$LassoCheckResult]: Loop: "assume existInLiftCallsInDirection_~i___0~0#1 >= 0;" "existInLiftCallsInDirection_~i___0~0#1 := 1 + ~currentFloorID~0;" "assume !(existInLiftCallsInDirection_~i___0~0#1 < 5);" "existInLiftCallsInDirection_~i___0~0#1 := existInLiftCallsInDirection_~i___0~0#1 - 1;" [2025-01-10 07:36:45,718 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:36:45,718 INFO L85 PathProgramCache]: Analyzing trace with hash -1561007907, now seen corresponding path program 1 times [2025-01-10 07:36:45,718 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:36:45,718 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1772542165] [2025-01-10 07:36:45,718 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-10 07:36:45,718 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:36:45,733 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 90 statements into 1 equivalence classes. [2025-01-10 07:36:45,738 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 90 of 90 statements. [2025-01-10 07:36:45,738 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:36:45,738 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:36:45,759 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-01-10 07:36:45,760 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-10 07:36:45,760 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1772542165] [2025-01-10 07:36:45,760 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1772542165] provided 1 perfect and 0 imperfect interpolant sequences [2025-01-10 07:36:45,760 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-01-10 07:36:45,760 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2025-01-10 07:36:45,760 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [687739337] [2025-01-10 07:36:45,760 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-01-10 07:36:45,760 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-01-10 07:36:45,760 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:36:45,761 INFO L85 PathProgramCache]: Analyzing trace with hash 274166626, now seen corresponding path program 19 times [2025-01-10 07:36:45,761 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:36:45,761 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1490247351] [2025-01-10 07:36:45,761 INFO L95 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2025-01-10 07:36:45,761 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:36:45,767 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 4 statements into 1 equivalence classes. [2025-01-10 07:36:45,768 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 4 of 4 statements. [2025-01-10 07:36:45,768 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:36:45,768 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:36:45,768 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-01-10 07:36:45,769 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 4 statements into 1 equivalence classes. [2025-01-10 07:36:45,769 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 4 of 4 statements. [2025-01-10 07:36:45,769 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:36:45,769 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:36:45,773 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-01-10 07:36:45,787 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-10 07:36:45,787 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2025-01-10 07:36:45,788 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2025-01-10 07:36:45,788 INFO L87 Difference]: Start difference. First operand 192174 states and 346607 transitions. cyclomatic complexity: 155107 Second operand has 3 states, 3 states have (on average 30.0) internal successors, (90), 2 states have internal predecessors, (90), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-10 07:36:47,989 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-01-10 07:36:47,990 INFO L93 Difference]: Finished difference Result 381502 states and 685935 transitions. [2025-01-10 07:36:47,990 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 381502 states and 685935 transitions. [2025-01-10 07:36:49,700 INFO L131 ngComponentsAnalysis]: Automaton has 1280 accepting balls. 135130 [2025-01-10 07:36:51,201 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 381502 states to 381502 states and 685935 transitions. [2025-01-10 07:36:51,201 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 380542 [2025-01-10 07:36:51,368 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 380542 [2025-01-10 07:36:51,369 INFO L73 IsDeterministic]: Start isDeterministic. Operand 381502 states and 685935 transitions. [2025-01-10 07:36:51,373 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-01-10 07:36:51,373 INFO L218 hiAutomatonCegarLoop]: Abstraction has 381502 states and 685935 transitions. [2025-01-10 07:36:51,580 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 381502 states and 685935 transitions. [2025-01-10 07:36:54,580 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 381502 to 381470. [2025-01-10 07:36:54,856 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 381470 states, 381470 states have (on average 1.7980522714761318) internal successors, (685903), 381469 states have internal predecessors, (685903), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-10 07:36:55,962 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 381470 states to 381470 states and 685903 transitions. [2025-01-10 07:36:55,962 INFO L240 hiAutomatonCegarLoop]: Abstraction has 381470 states and 685903 transitions. [2025-01-10 07:36:55,963 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2025-01-10 07:36:55,963 INFO L432 stractBuchiCegarLoop]: Abstraction has 381470 states and 685903 transitions. [2025-01-10 07:36:55,963 INFO L338 stractBuchiCegarLoop]: ======== Iteration 22 ============ [2025-01-10 07:36:55,963 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 381470 states and 685903 transitions. [2025-01-10 07:36:57,076 INFO L131 ngComponentsAnalysis]: Automaton has 1280 accepting balls. 135130 [2025-01-10 07:36:57,077 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-01-10 07:36:57,077 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-01-10 07:36:57,078 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-01-10 07:36:57,078 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1] [2025-01-10 07:36:57,078 INFO L752 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int#0(48, 1, 0, 1);call write~init~int#0(0, 1, 1, 1);call #Ultimate.allocInit(32, 2);call #Ultimate.allocInit(12, 3);call #Ultimate.allocInit(30, 4);call #Ultimate.allocInit(9, 5);call #Ultimate.allocInit(21, 6);call #Ultimate.allocInit(30, 7);call #Ultimate.allocInit(9, 8);call #Ultimate.allocInit(21, 9);call #Ultimate.allocInit(30, 10);call #Ultimate.allocInit(9, 11);call #Ultimate.allocInit(25, 12);call #Ultimate.allocInit(30, 13);call #Ultimate.allocInit(9, 14);call #Ultimate.allocInit(25, 15);call #Ultimate.allocInit(10, 16);call #Ultimate.allocInit(4, 17);call write~init~int#5(91, 17, 0, 1);call write~init~int#5(95, 17, 1, 1);call write~init~int#5(93, 17, 2, 1);call write~init~int#5(0, 17, 3, 1);call #Ultimate.allocInit(4, 18);call write~init~int#6(91, 18, 0, 1);call write~init~int#6(93, 18, 1, 1);call write~init~int#6(32, 18, 2, 1);call write~init~int#6(0, 18, 3, 1);call #Ultimate.allocInit(5, 19);call write~init~int#7(32, 19, 0, 1);call write~init~int#7(97, 19, 1, 1);call write~init~int#7(116, 19, 2, 1);call write~init~int#7(32, 19, 3, 1);call write~init~int#7(0, 19, 4, 1);call #Ultimate.allocInit(3, 20);call write~init~int#8(37, 20, 0, 1);call write~init~int#8(105, 20, 1, 1);call write~init~int#8(0, 20, 2, 1);call #Ultimate.allocInit(10, 21);call #Ultimate.allocInit(3, 22);call write~init~int#9(117, 22, 0, 1);call write~init~int#9(112, 22, 1, 1);call write~init~int#9(0, 22, 2, 1);call #Ultimate.allocInit(5, 23);call write~init~int#10(100, 23, 0, 1);call write~init~int#10(111, 23, 1, 1);call write~init~int#10(119, 23, 2, 1);call write~init~int#10(110, 23, 3, 1);call write~init~int#10(0, 23, 4, 1);call #Ultimate.allocInit(7, 24);call write~init~int#11(32, 24, 0, 1);call write~init~int#11(73, 24, 1, 1);call write~init~int#11(76, 24, 2, 1);call write~init~int#11(95, 24, 3, 1);call write~init~int#11(112, 24, 4, 1);call write~init~int#11(58, 24, 5, 1);call write~init~int#11(0, 24, 6, 1);call #Ultimate.allocInit(4, 25);call write~init~int#12(32, 25, 0, 1);call write~init~int#12(37, 25, 1, 1);call write~init~int#12(105, 25, 2, 1);call write~init~int#12(0, 25, 3, 1);call #Ultimate.allocInit(4, 26);call write~init~int#13(32, 26, 0, 1);call write~init~int#13(37, 26, 1, 1);call write~init~int#13(105, 26, 2, 1);call write~init~int#13(0, 26, 3, 1);call #Ultimate.allocInit(4, 27);call write~init~int#14(32, 27, 0, 1);call write~init~int#14(37, 27, 1, 1);call write~init~int#14(105, 27, 2, 1);call write~init~int#14(0, 27, 3, 1);call #Ultimate.allocInit(4, 28);call write~init~int#15(32, 28, 0, 1);call write~init~int#15(37, 28, 1, 1);call write~init~int#15(105, 28, 2, 1);call write~init~int#15(0, 28, 3, 1);call #Ultimate.allocInit(4, 29);call write~init~int#16(32, 29, 0, 1);call write~init~int#16(37, 29, 1, 1);call write~init~int#16(105, 29, 2, 1);call write~init~int#16(0, 29, 3, 1);call #Ultimate.allocInit(6, 30);call write~init~int#17(32, 30, 0, 1);call write~init~int#17(70, 30, 1, 1);call write~init~int#17(95, 30, 2, 1);call write~init~int#17(112, 30, 3, 1);call write~init~int#17(58, 30, 4, 1);call write~init~int#17(0, 30, 5, 1);call #Ultimate.allocInit(4, 31);call write~init~int#18(32, 31, 0, 1);call write~init~int#18(37, 31, 1, 1);call write~init~int#18(105, 31, 2, 1);call write~init~int#18(0, 31, 3, 1);call #Ultimate.allocInit(4, 32);call write~init~int#19(32, 32, 0, 1);call write~init~int#19(37, 32, 1, 1);call write~init~int#19(105, 32, 2, 1);call write~init~int#19(0, 32, 3, 1);call #Ultimate.allocInit(4, 33);call write~init~int#1(32, 33, 0, 1);call write~init~int#1(37, 33, 1, 1);call write~init~int#1(105, 33, 2, 1);call write~init~int#1(0, 33, 3, 1);call #Ultimate.allocInit(4, 34);call write~init~int#2(32, 34, 0, 1);call write~init~int#2(37, 34, 1, 1);call write~init~int#2(105, 34, 2, 1);call write~init~int#2(0, 34, 3, 1);call #Ultimate.allocInit(4, 35);call write~init~int#3(32, 35, 0, 1);call write~init~int#3(37, 35, 1, 1);call write~init~int#3(105, 35, 2, 1);call write~init~int#3(0, 35, 3, 1);call #Ultimate.allocInit(2, 36);call write~init~int#4(10, 36, 0, 1);call write~init~int#4(0, 36, 1, 1);~head~0.base, ~head~0.offset := 0, 0;~weight~0 := 0;~maximumWeight~0 := 100;~executiveFloor~0 := 4;~prevDir~0 := 0;~calls_0~0 := 0;~calls_1~0 := 0;~calls_2~0 := 0;~calls_3~0 := 0;~calls_4~0 := 0;~personOnFloor_0_0~0 := 0;~personOnFloor_0_1~0 := 0;~personOnFloor_0_2~0 := 0;~personOnFloor_0_3~0 := 0;~personOnFloor_0_4~0 := 0;~personOnFloor_1_0~0 := 0;~personOnFloor_1_1~0 := 0;~personOnFloor_1_2~0 := 0;~personOnFloor_1_3~0 := 0;~personOnFloor_1_4~0 := 0;~personOnFloor_2_0~0 := 0;~personOnFloor_2_1~0 := 0;~personOnFloor_2_2~0 := 0;~personOnFloor_2_3~0 := 0;~personOnFloor_2_4~0 := 0;~personOnFloor_3_0~0 := 0;~personOnFloor_3_1~0 := 0;~personOnFloor_3_2~0 := 0;~personOnFloor_3_3~0 := 0;~personOnFloor_3_4~0 := 0;~personOnFloor_4_0~0 := 0;~personOnFloor_4_1~0 := 0;~personOnFloor_4_2~0 := 0;~personOnFloor_4_3~0 := 0;~personOnFloor_4_4~0 := 0;~personOnFloor_5_0~0 := 0;~personOnFloor_5_1~0 := 0;~personOnFloor_5_2~0 := 0;~personOnFloor_5_3~0 := 0;~personOnFloor_5_4~0 := 0;~cleanupTimeShifts~0 := 12;~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;" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret47#1, main_~retValue_acc~10#1, main_~tmp~12#1;havoc main_~retValue_acc~10#1;havoc main_~tmp~12#1;assume { :begin_inline_select_helpers } true;" "assume { :end_inline_select_helpers } true;assume { :begin_inline_select_features } true;" "assume { :end_inline_select_features } true;assume { :begin_inline_valid_product } true;havoc valid_product_#res#1;havoc valid_product_~retValue_acc~12#1;havoc valid_product_~retValue_acc~12#1;valid_product_~retValue_acc~12#1 := 1;valid_product_#res#1 := valid_product_~retValue_acc~12#1;" "main_#t~ret47#1 := valid_product_#res#1;havoc valid_product_~retValue_acc~12#1;assume { :end_inline_valid_product } true;main_~tmp~12#1 := main_#t~ret47#1;havoc main_#t~ret47#1;" "assume 0 != main_~tmp~12#1;assume { :begin_inline_setup } true;" "assume { :end_inline_setup } true;assume { :begin_inline_runTest } true;assume { :begin_inline_test } true;assume { :begin_inline_aliceCall } true;havoc aliceCall_#t~ret36#1, aliceCall_~tmp~5#1;havoc aliceCall_~tmp~5#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 1;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~4#1;" "assume !(0 == getOrigin_~person#1);" "assume 1 == getOrigin_~person#1;getOrigin_~retValue_acc~4#1 := 3;getOrigin_#res#1 := getOrigin_~retValue_acc~4#1;" "aliceCall_#t~ret36#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;aliceCall_~tmp~5#1 := aliceCall_#t~ret36#1;havoc aliceCall_#t~ret36#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 1, aliceCall_~tmp~5#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1;" "assume !(0 == initPersonOnFloor_~floor#1);" "assume !(1 == initPersonOnFloor_~floor#1);" "assume !(2 == initPersonOnFloor_~floor#1);" "assume 3 == initPersonOnFloor_~floor#1;" "assume !(0 == initPersonOnFloor_~person#1);" "assume 1 == initPersonOnFloor_~person#1;~personOnFloor_1_3~0 := 1;" "assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1;" "assume !(0 == callOnFloor_~floorID#1);" "assume !(1 == callOnFloor_~floorID#1);" "assume !(2 == callOnFloor_~floorID#1);" "assume 3 == callOnFloor_~floorID#1;~calls_3~0 := 1;" "havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true;" "havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true;" "havoc aliceCall_#t~ret36#1, aliceCall_~tmp~5#1;assume { :end_inline_aliceCall } true;assume { :begin_inline_angelinaCall } true;havoc angelinaCall_#t~ret37#1, angelinaCall_~tmp~6#1;havoc angelinaCall_~tmp~6#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 2;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~4#1;" "assume !(0 == getOrigin_~person#1);" "assume !(1 == getOrigin_~person#1);" "assume 2 == getOrigin_~person#1;getOrigin_~retValue_acc~4#1 := 2;getOrigin_#res#1 := getOrigin_~retValue_acc~4#1;" "angelinaCall_#t~ret37#1 := getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~4#1;havoc getOrigin_#in~person#1;assume { :end_inline_getOrigin } true;angelinaCall_~tmp~6#1 := angelinaCall_#t~ret37#1;havoc angelinaCall_#t~ret37#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 2, angelinaCall_~tmp~6#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1;" "assume !(0 == initPersonOnFloor_~floor#1);" "assume !(1 == initPersonOnFloor_~floor#1);" "assume 2 == initPersonOnFloor_~floor#1;" "assume !(0 == initPersonOnFloor_~person#1);" "assume !(1 == initPersonOnFloor_~person#1);" "assume 2 == initPersonOnFloor_~person#1;~personOnFloor_2_2~0 := 1;" "assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1;" "assume !(0 == callOnFloor_~floorID#1);" "assume !(1 == callOnFloor_~floorID#1);" "assume 2 == callOnFloor_~floorID#1;~calls_2~0 := 1;" "havoc callOnFloor_~floorID#1;havoc callOnFloor_#in~floorID#1;assume { :end_inline_callOnFloor } true;" "havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;havoc initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1;assume { :end_inline_initPersonOnFloor } true;" "havoc angelinaCall_#t~ret37#1, angelinaCall_~tmp~6#1;assume { :end_inline_angelinaCall } true;assume { :begin_inline_threeTS } true;assume { :begin_inline_timeShift } true;havoc timeShift_#t~ret98#1, timeShift_#t~ret99#1, timeShift_#t~ret100#1, timeShift_#t~ret101#1, timeShift_#t~ret102#1, timeShift_#t~ret103#1, timeShift_#t~ret104#1, timeShift_#t~ret105#1, timeShift_#t~ret106#1, timeShift_#t~ret107#1, timeShift_#t~ret108#1, timeShift_~tmp~26#1, timeShift_~tmp___0~10#1, timeShift_~tmp___1~5#1, timeShift_~tmp___2~5#1, timeShift_~tmp___3~4#1, timeShift_~tmp___4~3#1, timeShift_~tmp___5~2#1, timeShift_~tmp___6~2#1, timeShift_~tmp___7~2#1, timeShift_~tmp___8~2#1, timeShift_~tmp___9~2#1;havoc timeShift_~tmp~26#1;havoc timeShift_~tmp___0~10#1;havoc timeShift_~tmp___1~5#1;havoc timeShift_~tmp___2~5#1;havoc timeShift_~tmp___3~4#1;havoc timeShift_~tmp___4~3#1;havoc timeShift_~tmp___5~2#1;havoc timeShift_~tmp___6~2#1;havoc timeShift_~tmp___7~2#1;havoc timeShift_~tmp___8~2#1;havoc timeShift_~tmp___9~2#1;assume { :begin_inline___utac_acc__Specification13_spec__1 } true;havoc __utac_acc__Specification13_spec__1_#t~ret27#1;assume { :begin_inline_getCurrentHeading } true;havoc getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~17#1;havoc getCurrentHeading_~retValue_acc~17#1;getCurrentHeading_~retValue_acc~17#1 := ~currentHeading~0;getCurrentHeading_#res#1 := getCurrentHeading_~retValue_acc~17#1;" "__utac_acc__Specification13_spec__1_#t~ret27#1 := getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~17#1;assume { :end_inline_getCurrentHeading } true;~prevDir~0 := __utac_acc__Specification13_spec__1_#t~ret27#1;havoc __utac_acc__Specification13_spec__1_#t~ret27#1;" "havoc __utac_acc__Specification13_spec__1_#t~ret27#1;assume { :end_inline___utac_acc__Specification13_spec__1 } true;assume { :begin_inline_stopRequestedAtCurrentFloor } true;havoc stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1, stopRequestedAtCurrentFloor_#t~ret83#1, stopRequestedAtCurrentFloor_#t~ret84#1, stopRequestedAtCurrentFloor_#t~ret85#1, stopRequestedAtCurrentFloor_~retValue_acc~27#1, stopRequestedAtCurrentFloor_~tmp~24#1, stopRequestedAtCurrentFloor_~tmp___0~8#1;havoc stopRequestedAtCurrentFloor_~retValue_acc~27#1;havoc stopRequestedAtCurrentFloor_~tmp~24#1;havoc stopRequestedAtCurrentFloor_~tmp___0~8#1;assume { :begin_inline_isExecutiveFloorCalling } true;havoc isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;havoc isExecutiveFloorCalling_~retValue_acc~30#1;assume { :begin_inline_isFloorCalling } true;isFloorCalling_#in~floorID#1 := ~executiveFloor~0;havoc isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;isFloorCalling_~floorID#1 := isFloorCalling_#in~floorID#1;havoc isFloorCalling_~retValue_acc~6#1;" "assume !(0 == isFloorCalling_~floorID#1);" "assume !(1 == isFloorCalling_~floorID#1);" "assume !(2 == isFloorCalling_~floorID#1);" "assume !(3 == isFloorCalling_~floorID#1);" "assume 4 == isFloorCalling_~floorID#1;isFloorCalling_~retValue_acc~6#1 := ~calls_4~0;isFloorCalling_#res#1 := isFloorCalling_~retValue_acc~6#1;" "isExecutiveFloorCalling_#t~ret135#1 := isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;havoc isFloorCalling_#in~floorID#1;assume { :end_inline_isFloorCalling } true;isExecutiveFloorCalling_~retValue_acc~30#1 := isExecutiveFloorCalling_#t~ret135#1;havoc isExecutiveFloorCalling_#t~ret135#1;isExecutiveFloorCalling_#res#1 := isExecutiveFloorCalling_~retValue_acc~30#1;" "stopRequestedAtCurrentFloor_#t~ret82#1 := isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;assume { :end_inline_isExecutiveFloorCalling } true;stopRequestedAtCurrentFloor_~tmp~24#1 := stopRequestedAtCurrentFloor_#t~ret82#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1;" "assume !(0 != stopRequestedAtCurrentFloor_~tmp~24#1);assume { :begin_inline_stopRequestedAtCurrentFloor__wrappee__twothirdsfull } true;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#res#1;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret79#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret80#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret81#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~retValue_acc~26#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp~23#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp___0~7#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp4~3#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp5~4#1;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~retValue_acc~26#1;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp~23#1;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp___0~7#1;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp4~3#1;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp5~4#1;stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp4~3#1 := 2 * ~maximumWeight~0;stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp5~4#1 := (if stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp4~3#1 < 0 && 0 != stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp4~3#1 % 3 then 1 + stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp4~3#1 / 3 else stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp4~3#1 / 3);" "assume ~weight~0 > stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp5~4#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;havoc getCurrentFloorID_~retValue_acc~14#1;getCurrentFloorID_~retValue_acc~14#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~14#1;" "stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret79#1 := getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~14#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp~23#1 := stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret79#1;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret79#1;assume { :begin_inline_buttonForFloorIsPressed } true;buttonForFloorIsPressed_#in~floorID#1 := stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp~23#1;havoc buttonForFloorIsPressed_#res#1;havoc buttonForFloorIsPressed_~floorID#1, buttonForFloorIsPressed_~retValue_acc~16#1;buttonForFloorIsPressed_~floorID#1 := buttonForFloorIsPressed_#in~floorID#1;havoc buttonForFloorIsPressed_~retValue_acc~16#1;" "assume 0 == buttonForFloorIsPressed_~floorID#1;buttonForFloorIsPressed_~retValue_acc~16#1 := ~floorButtons_0~0;buttonForFloorIsPressed_#res#1 := buttonForFloorIsPressed_~retValue_acc~16#1;" "stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret80#1 := buttonForFloorIsPressed_#res#1;havoc buttonForFloorIsPressed_~floorID#1, buttonForFloorIsPressed_~retValue_acc~16#1;havoc buttonForFloorIsPressed_#in~floorID#1;assume { :end_inline_buttonForFloorIsPressed } true;stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp___0~7#1 := stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret80#1;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret80#1;stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~retValue_acc~26#1 := (if 1 == stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp___0~7#1 then 1 else 0);stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#res#1 := stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~retValue_acc~26#1;" "stopRequestedAtCurrentFloor_#t~ret85#1 := stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#res#1;havoc stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret79#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret80#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_#t~ret81#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~retValue_acc~26#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp~23#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~tmp___0~7#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp4~3#1, stopRequestedAtCurrentFloor__wrappee__twothirdsfull_~__cil_tmp5~4#1;assume { :end_inline_stopRequestedAtCurrentFloor__wrappee__twothirdsfull } true;stopRequestedAtCurrentFloor_~retValue_acc~27#1 := stopRequestedAtCurrentFloor_#t~ret85#1;havoc stopRequestedAtCurrentFloor_#t~ret85#1;stopRequestedAtCurrentFloor_#res#1 := stopRequestedAtCurrentFloor_~retValue_acc~27#1;" "timeShift_#t~ret98#1 := stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret82#1, stopRequestedAtCurrentFloor_#t~ret83#1, stopRequestedAtCurrentFloor_#t~ret84#1, stopRequestedAtCurrentFloor_#t~ret85#1, stopRequestedAtCurrentFloor_~retValue_acc~27#1, stopRequestedAtCurrentFloor_~tmp~24#1, stopRequestedAtCurrentFloor_~tmp___0~8#1;assume { :end_inline_stopRequestedAtCurrentFloor } true;timeShift_~tmp___9~2#1 := timeShift_#t~ret98#1;havoc timeShift_#t~ret98#1;" "assume !(0 != timeShift_~tmp___9~2#1);" "assume 1 == ~doorState~0;~doorState~0 := 0;" "assume { :begin_inline_stopRequestedInDirection } true;stopRequestedInDirection_#in~dir#1, stopRequestedInDirection_#in~respectFloorCalls#1, stopRequestedInDirection_#in~respectInLiftCalls#1 := ~currentHeading~0, 1, 1;havoc stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret73#1, stopRequestedInDirection_#t~ret74#1, stopRequestedInDirection_#t~ret75#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~23#1, stopRequestedInDirection_~tmp~20#1, stopRequestedInDirection_~tmp___0~5#1, stopRequestedInDirection_~__cil_tmp7~6#1, stopRequestedInDirection_~__cil_tmp8~7#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~23#1;havoc stopRequestedInDirection_~tmp~20#1;havoc stopRequestedInDirection_~tmp___0~5#1;havoc stopRequestedInDirection_~__cil_tmp7~6#1;havoc stopRequestedInDirection_~__cil_tmp8~7#1;assume { :begin_inline_isExecutiveFloorCalling } true;havoc isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;havoc isExecutiveFloorCalling_~retValue_acc~30#1;assume { :begin_inline_isFloorCalling } true;isFloorCalling_#in~floorID#1 := ~executiveFloor~0;havoc isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;isFloorCalling_~floorID#1 := isFloorCalling_#in~floorID#1;havoc isFloorCalling_~retValue_acc~6#1;" "assume !(0 == isFloorCalling_~floorID#1);" "assume !(1 == isFloorCalling_~floorID#1);" "assume !(2 == isFloorCalling_~floorID#1);" "assume !(3 == isFloorCalling_~floorID#1);" "assume 4 == isFloorCalling_~floorID#1;isFloorCalling_~retValue_acc~6#1 := ~calls_4~0;isFloorCalling_#res#1 := isFloorCalling_~retValue_acc~6#1;" "isExecutiveFloorCalling_#t~ret135#1 := isFloorCalling_#res#1;havoc isFloorCalling_~floorID#1, isFloorCalling_~retValue_acc~6#1;havoc isFloorCalling_#in~floorID#1;assume { :end_inline_isFloorCalling } true;isExecutiveFloorCalling_~retValue_acc~30#1 := isExecutiveFloorCalling_#t~ret135#1;havoc isExecutiveFloorCalling_#t~ret135#1;isExecutiveFloorCalling_#res#1 := isExecutiveFloorCalling_~retValue_acc~30#1;" "stopRequestedInDirection_#t~ret73#1 := isExecutiveFloorCalling_#res#1;havoc isExecutiveFloorCalling_#t~ret135#1, isExecutiveFloorCalling_~retValue_acc~30#1;assume { :end_inline_isExecutiveFloorCalling } true;stopRequestedInDirection_~tmp___0~5#1 := stopRequestedInDirection_#t~ret73#1;havoc stopRequestedInDirection_#t~ret73#1;" "assume !(0 != stopRequestedInDirection_~tmp___0~5#1);assume { :begin_inline_stopRequestedInDirection__wrappee__twothirdsfull } true;stopRequestedInDirection__wrappee__twothirdsfull_#in~dir#1, stopRequestedInDirection__wrappee__twothirdsfull_#in~respectFloorCalls#1, stopRequestedInDirection__wrappee__twothirdsfull_#in~respectInLiftCalls#1 := stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_#res#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_#t~ret69#1, stopRequestedInDirection__wrappee__twothirdsfull_#t~ret70#1, stopRequestedInDirection__wrappee__twothirdsfull_#t~ret71#1, stopRequestedInDirection__wrappee__twothirdsfull_#t~ret72#1, stopRequestedInDirection__wrappee__twothirdsfull_~dir#1, stopRequestedInDirection__wrappee__twothirdsfull_~respectFloorCalls#1, stopRequestedInDirection__wrappee__twothirdsfull_~respectInLiftCalls#1, stopRequestedInDirection__wrappee__twothirdsfull_~retValue_acc~22#1, stopRequestedInDirection__wrappee__twothirdsfull_~overload~0#1, stopRequestedInDirection__wrappee__twothirdsfull_~buttonPressed~0#1, stopRequestedInDirection__wrappee__twothirdsfull_~tmp~19#1, stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp8~6#1, stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp9~5#1;stopRequestedInDirection__wrappee__twothirdsfull_~dir#1 := stopRequestedInDirection__wrappee__twothirdsfull_#in~dir#1;stopRequestedInDirection__wrappee__twothirdsfull_~respectFloorCalls#1 := stopRequestedInDirection__wrappee__twothirdsfull_#in~respectFloorCalls#1;stopRequestedInDirection__wrappee__twothirdsfull_~respectInLiftCalls#1 := stopRequestedInDirection__wrappee__twothirdsfull_#in~respectInLiftCalls#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_~retValue_acc~22#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_~overload~0#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_~buttonPressed~0#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_~tmp~19#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp8~6#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp9~5#1;stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp8~6#1 := 2 * ~maximumWeight~0;stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp9~5#1 := (if stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp8~6#1 < 0 && 0 != stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp8~6#1 % 3 then 1 + stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp8~6#1 / 3 else stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp8~6#1 / 3);stopRequestedInDirection__wrappee__twothirdsfull_~overload~0#1 := (if ~weight~0 > stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp9~5#1 then 1 else 0);assume { :begin_inline_isAnyLiftButtonPressed } true;havoc isAnyLiftButtonPressed_#res#1;havoc isAnyLiftButtonPressed_~retValue_acc~24#1;havoc isAnyLiftButtonPressed_~retValue_acc~24#1;" "assume !(0 != ~floorButtons_0~0);" "assume !(0 != ~floorButtons_1~0);" "assume !(0 != ~floorButtons_2~0);" "assume !(0 != ~floorButtons_3~0);" "assume !(0 != ~floorButtons_4~0);isAnyLiftButtonPressed_~retValue_acc~24#1 := 0;isAnyLiftButtonPressed_#res#1 := isAnyLiftButtonPressed_~retValue_acc~24#1;" "stopRequestedInDirection__wrappee__twothirdsfull_#t~ret69#1 := isAnyLiftButtonPressed_#res#1;havoc isAnyLiftButtonPressed_~retValue_acc~24#1;assume { :end_inline_isAnyLiftButtonPressed } true;stopRequestedInDirection__wrappee__twothirdsfull_~tmp~19#1 := stopRequestedInDirection__wrappee__twothirdsfull_#t~ret69#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_#t~ret69#1;stopRequestedInDirection__wrappee__twothirdsfull_~buttonPressed~0#1 := stopRequestedInDirection__wrappee__twothirdsfull_~tmp~19#1;" "assume !(0 != stopRequestedInDirection__wrappee__twothirdsfull_~overload~0#1);assume { :begin_inline_stopRequestedInDirection__wrappee__empty } true;stopRequestedInDirection__wrappee__empty_#in~dir#1, stopRequestedInDirection__wrappee__empty_#in~respectFloorCalls#1, stopRequestedInDirection__wrappee__empty_#in~respectInLiftCalls#1 := stopRequestedInDirection__wrappee__twothirdsfull_~dir#1, stopRequestedInDirection__wrappee__twothirdsfull_~respectFloorCalls#1, stopRequestedInDirection__wrappee__twothirdsfull_~respectInLiftCalls#1;havoc stopRequestedInDirection__wrappee__empty_#res#1;havoc stopRequestedInDirection__wrappee__empty_#t~ret58#1, stopRequestedInDirection__wrappee__empty_#t~ret59#1, stopRequestedInDirection__wrappee__empty_#t~ret60#1, stopRequestedInDirection__wrappee__empty_#t~ret61#1, stopRequestedInDirection__wrappee__empty_#t~ret62#1, stopRequestedInDirection__wrappee__empty_#t~ret63#1, stopRequestedInDirection__wrappee__empty_#t~ret64#1, stopRequestedInDirection__wrappee__empty_#t~ret65#1, stopRequestedInDirection__wrappee__empty_#t~ret66#1, stopRequestedInDirection__wrappee__empty_#t~ret67#1, stopRequestedInDirection__wrappee__empty_#t~ret68#1, stopRequestedInDirection__wrappee__empty_~dir#1, stopRequestedInDirection__wrappee__empty_~respectFloorCalls#1, stopRequestedInDirection__wrappee__empty_~respectInLiftCalls#1, stopRequestedInDirection__wrappee__empty_~retValue_acc~21#1, stopRequestedInDirection__wrappee__empty_~tmp~18#1, stopRequestedInDirection__wrappee__empty_~tmp___0~4#1, stopRequestedInDirection__wrappee__empty_~tmp___1~3#1, stopRequestedInDirection__wrappee__empty_~tmp___2~3#1, stopRequestedInDirection__wrappee__empty_~tmp___3~2#1, stopRequestedInDirection__wrappee__empty_~tmp___4~1#1, stopRequestedInDirection__wrappee__empty_~tmp___5~0#1, stopRequestedInDirection__wrappee__empty_~tmp___6~0#1, stopRequestedInDirection__wrappee__empty_~tmp___7~0#1, stopRequestedInDirection__wrappee__empty_~tmp___8~0#1, stopRequestedInDirection__wrappee__empty_~tmp___9~0#1;stopRequestedInDirection__wrappee__empty_~dir#1 := stopRequestedInDirection__wrappee__empty_#in~dir#1;stopRequestedInDirection__wrappee__empty_~respectFloorCalls#1 := stopRequestedInDirection__wrappee__empty_#in~respectFloorCalls#1;stopRequestedInDirection__wrappee__empty_~respectInLiftCalls#1 := stopRequestedInDirection__wrappee__empty_#in~respectInLiftCalls#1;havoc stopRequestedInDirection__wrappee__empty_~retValue_acc~21#1;havoc stopRequestedInDirection__wrappee__empty_~tmp~18#1;havoc stopRequestedInDirection__wrappee__empty_~tmp___0~4#1;havoc stopRequestedInDirection__wrappee__empty_~tmp___1~3#1;havoc stopRequestedInDirection__wrappee__empty_~tmp___2~3#1;havoc stopRequestedInDirection__wrappee__empty_~tmp___3~2#1;havoc stopRequestedInDirection__wrappee__empty_~tmp___4~1#1;havoc stopRequestedInDirection__wrappee__empty_~tmp___5~0#1;havoc stopRequestedInDirection__wrappee__empty_~tmp___6~0#1;havoc stopRequestedInDirection__wrappee__empty_~tmp___7~0#1;havoc stopRequestedInDirection__wrappee__empty_~tmp___8~0#1;havoc stopRequestedInDirection__wrappee__empty_~tmp___9~0#1;" "assume !(1 == stopRequestedInDirection__wrappee__empty_~dir#1);" "assume 0 == ~currentFloorID~0;stopRequestedInDirection__wrappee__empty_~retValue_acc~21#1 := 0;stopRequestedInDirection__wrappee__empty_#res#1 := stopRequestedInDirection__wrappee__empty_~retValue_acc~21#1;" "stopRequestedInDirection__wrappee__twothirdsfull_#t~ret72#1 := stopRequestedInDirection__wrappee__empty_#res#1;havoc stopRequestedInDirection__wrappee__empty_#t~ret58#1, stopRequestedInDirection__wrappee__empty_#t~ret59#1, stopRequestedInDirection__wrappee__empty_#t~ret60#1, stopRequestedInDirection__wrappee__empty_#t~ret61#1, stopRequestedInDirection__wrappee__empty_#t~ret62#1, stopRequestedInDirection__wrappee__empty_#t~ret63#1, stopRequestedInDirection__wrappee__empty_#t~ret64#1, stopRequestedInDirection__wrappee__empty_#t~ret65#1, stopRequestedInDirection__wrappee__empty_#t~ret66#1, stopRequestedInDirection__wrappee__empty_#t~ret67#1, stopRequestedInDirection__wrappee__empty_#t~ret68#1, stopRequestedInDirection__wrappee__empty_~dir#1, stopRequestedInDirection__wrappee__empty_~respectFloorCalls#1, stopRequestedInDirection__wrappee__empty_~respectInLiftCalls#1, stopRequestedInDirection__wrappee__empty_~retValue_acc~21#1, stopRequestedInDirection__wrappee__empty_~tmp~18#1, stopRequestedInDirection__wrappee__empty_~tmp___0~4#1, stopRequestedInDirection__wrappee__empty_~tmp___1~3#1, stopRequestedInDirection__wrappee__empty_~tmp___2~3#1, stopRequestedInDirection__wrappee__empty_~tmp___3~2#1, stopRequestedInDirection__wrappee__empty_~tmp___4~1#1, stopRequestedInDirection__wrappee__empty_~tmp___5~0#1, stopRequestedInDirection__wrappee__empty_~tmp___6~0#1, stopRequestedInDirection__wrappee__empty_~tmp___7~0#1, stopRequestedInDirection__wrappee__empty_~tmp___8~0#1, stopRequestedInDirection__wrappee__empty_~tmp___9~0#1;havoc stopRequestedInDirection__wrappee__empty_#in~dir#1, stopRequestedInDirection__wrappee__empty_#in~respectFloorCalls#1, stopRequestedInDirection__wrappee__empty_#in~respectInLiftCalls#1;assume { :end_inline_stopRequestedInDirection__wrappee__empty } true;stopRequestedInDirection__wrappee__twothirdsfull_~retValue_acc~22#1 := stopRequestedInDirection__wrappee__twothirdsfull_#t~ret72#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_#t~ret72#1;stopRequestedInDirection__wrappee__twothirdsfull_#res#1 := stopRequestedInDirection__wrappee__twothirdsfull_~retValue_acc~22#1;" "stopRequestedInDirection_#t~ret75#1 := stopRequestedInDirection__wrappee__twothirdsfull_#res#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_#t~ret69#1, stopRequestedInDirection__wrappee__twothirdsfull_#t~ret70#1, stopRequestedInDirection__wrappee__twothirdsfull_#t~ret71#1, stopRequestedInDirection__wrappee__twothirdsfull_#t~ret72#1, stopRequestedInDirection__wrappee__twothirdsfull_~dir#1, stopRequestedInDirection__wrappee__twothirdsfull_~respectFloorCalls#1, stopRequestedInDirection__wrappee__twothirdsfull_~respectInLiftCalls#1, stopRequestedInDirection__wrappee__twothirdsfull_~retValue_acc~22#1, stopRequestedInDirection__wrappee__twothirdsfull_~overload~0#1, stopRequestedInDirection__wrappee__twothirdsfull_~buttonPressed~0#1, stopRequestedInDirection__wrappee__twothirdsfull_~tmp~19#1, stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp8~6#1, stopRequestedInDirection__wrappee__twothirdsfull_~__cil_tmp9~5#1;havoc stopRequestedInDirection__wrappee__twothirdsfull_#in~dir#1, stopRequestedInDirection__wrappee__twothirdsfull_#in~respectFloorCalls#1, stopRequestedInDirection__wrappee__twothirdsfull_#in~respectInLiftCalls#1;assume { :end_inline_stopRequestedInDirection__wrappee__twothirdsfull } true;stopRequestedInDirection_~retValue_acc~23#1 := stopRequestedInDirection_#t~ret75#1;havoc stopRequestedInDirection_#t~ret75#1;stopRequestedInDirection_#res#1 := stopRequestedInDirection_~retValue_acc~23#1;" "timeShift_#t~ret105#1 := stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret73#1, stopRequestedInDirection_#t~ret74#1, stopRequestedInDirection_#t~ret75#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~23#1, stopRequestedInDirection_~tmp~20#1, stopRequestedInDirection_~tmp___0~5#1, stopRequestedInDirection_~__cil_tmp7~6#1, stopRequestedInDirection_~__cil_tmp8~7#1;havoc stopRequestedInDirection_#in~dir#1, stopRequestedInDirection_#in~respectFloorCalls#1, stopRequestedInDirection_#in~respectInLiftCalls#1;assume { :end_inline_stopRequestedInDirection } true;timeShift_~tmp___8~2#1 := timeShift_#t~ret105#1;havoc timeShift_#t~ret105#1;" "assume 0 != timeShift_~tmp___8~2#1;assume { :begin_inline_continueInDirection } true;continueInDirection_#in~dir#1 := ~currentHeading~0;havoc continueInDirection_#t~ret76#1, continueInDirection_~dir#1, continueInDirection_~tmp~21#1;continueInDirection_~dir#1 := continueInDirection_#in~dir#1;havoc continueInDirection_~tmp~21#1;~currentHeading~0 := continueInDirection_~dir#1;" "assume !(1 == ~currentHeading~0);" "assume !(0 == ~currentFloorID~0);" "assume !(1 == ~currentHeading~0);~currentFloorID~0 := ~currentFloorID~0 - 1;" "havoc continueInDirection_#t~ret76#1, continueInDirection_~dir#1, continueInDirection_~tmp~21#1;havoc continueInDirection_#in~dir#1;assume { :end_inline_continueInDirection } true;" "assume { :begin_inline___utac_acc__Specification13_spec__2 } true;havoc __utac_acc__Specification13_spec__2_#t~ret28#1, __utac_acc__Specification13_spec__2_#t~ret29#1, __utac_acc__Specification13_spec__2_#t~ret30#1, __utac_acc__Specification13_spec__2_#t~ret31#1, __utac_acc__Specification13_spec__2_#t~ret32#1, __utac_acc__Specification13_spec__2_#t~ret33#1, __utac_acc__Specification13_spec__2_~tmp~3#1, __utac_acc__Specification13_spec__2_~tmp___0~0#1, __utac_acc__Specification13_spec__2_~tmp___1~0#1, __utac_acc__Specification13_spec__2_~tmp___2~0#1, __utac_acc__Specification13_spec__2_~tmp___3~0#1, __utac_acc__Specification13_spec__2_~tmp___4~0#1, __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1, __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1;havoc __utac_acc__Specification13_spec__2_~tmp~3#1;havoc __utac_acc__Specification13_spec__2_~tmp___0~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___1~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___2~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___3~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___4~0#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1;__utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 := 2 * ~maximumWeight~0;__utac_acc__Specification13_spec__2_~__cil_tmp8~5#1 := (if __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 < 0 && 0 != __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 % 3 then 1 + __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 / 3 else __utac_acc__Specification13_spec__2_~__cil_tmp7~5#1 / 3);" "assume ~weight~0 > __utac_acc__Specification13_spec__2_~__cil_tmp8~5#1;" "assume 1 == ~prevDir~0;assume { :begin_inline_existInLiftCallsInDirection } true;existInLiftCallsInDirection_#in~d#1 := 0;havoc existInLiftCallsInDirection_#res#1;havoc existInLiftCallsInDirection_~d#1, existInLiftCallsInDirection_~retValue_acc~29#1, existInLiftCallsInDirection_~i~1#1, existInLiftCallsInDirection_~i___0~0#1;existInLiftCallsInDirection_~d#1 := existInLiftCallsInDirection_#in~d#1;havoc existInLiftCallsInDirection_~retValue_acc~29#1;havoc existInLiftCallsInDirection_~i~1#1;havoc existInLiftCallsInDirection_~i___0~0#1;" "assume !(1 == existInLiftCallsInDirection_~d#1);" "assume 0 == existInLiftCallsInDirection_~d#1;existInLiftCallsInDirection_~i___0~0#1 := 0;existInLiftCallsInDirection_~i___0~0#1 := ~currentFloorID~0 - 1;" [2025-01-10 07:36:57,078 INFO L754 eck$LassoCheckResult]: Loop: "assume existInLiftCallsInDirection_~i___0~0#1 >= 0;" "existInLiftCallsInDirection_~i___0~0#1 := 1 + ~currentFloorID~0;" "assume !(existInLiftCallsInDirection_~i___0~0#1 < 5);" "existInLiftCallsInDirection_~i___0~0#1 := existInLiftCallsInDirection_~i___0~0#1 - 1;" [2025-01-10 07:36:57,079 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:36:57,079 INFO L85 PathProgramCache]: Analyzing trace with hash 739814683, now seen corresponding path program 1 times [2025-01-10 07:36:57,079 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:36:57,079 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1300315882] [2025-01-10 07:36:57,079 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-10 07:36:57,079 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:36:57,104 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 90 statements into 1 equivalence classes. [2025-01-10 07:36:57,109 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 90 of 90 statements. [2025-01-10 07:36:57,110 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:36:57,110 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:36:57,237 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-01-10 07:36:57,237 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-10 07:36:57,237 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1300315882] [2025-01-10 07:36:57,237 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1300315882] provided 1 perfect and 0 imperfect interpolant sequences [2025-01-10 07:36:57,237 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-01-10 07:36:57,237 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2025-01-10 07:36:57,237 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [683791485] [2025-01-10 07:36:57,237 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-01-10 07:36:57,238 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-01-10 07:36:57,238 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:36:57,238 INFO L85 PathProgramCache]: Analyzing trace with hash 274166626, now seen corresponding path program 20 times [2025-01-10 07:36:57,238 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:36:57,239 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [262916676] [2025-01-10 07:36:57,239 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-01-10 07:36:57,239 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:36:57,251 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 4 statements into 1 equivalence classes. [2025-01-10 07:36:57,252 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) and asserted 4 of 4 statements. [2025-01-10 07:36:57,252 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2025-01-10 07:36:57,252 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:36:57,252 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-01-10 07:36:57,253 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 4 statements into 1 equivalence classes. [2025-01-10 07:36:57,254 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 4 of 4 statements. [2025-01-10 07:36:57,254 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:36:57,254 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:36:57,259 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-01-10 07:36:57,279 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-10 07:36:57,279 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2025-01-10 07:36:57,279 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2025-01-10 07:36:57,280 INFO L87 Difference]: Start difference. First operand 381470 states and 685903 transitions. cyclomatic complexity: 305777 Second operand has 6 states, 6 states have (on average 15.0) internal successors, (90), 5 states have internal predecessors, (90), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-10 07:37:00,564 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-01-10 07:37:00,565 INFO L93 Difference]: Finished difference Result 665831 states and 1195718 transitions. [2025-01-10 07:37:00,565 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 665831 states and 1195718 transitions. [2025-01-10 07:37:03,883 INFO L131 ngComponentsAnalysis]: Automaton has 2312 accepting balls. 255078 [2025-01-10 07:37:06,177 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 665831 states to 665831 states and 1195718 transitions. [2025-01-10 07:37:06,177 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 664867 [2025-01-10 07:37:06,860 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 664867 [2025-01-10 07:37:06,860 INFO L73 IsDeterministic]: Start isDeterministic. Operand 665831 states and 1195718 transitions. [2025-01-10 07:37:07,092 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-01-10 07:37:07,092 INFO L218 hiAutomatonCegarLoop]: Abstraction has 665831 states and 1195718 transitions.