./Ultimate.py --spec ../sv-benchmarks/c/properties/termination.prp --file ../sv-benchmarks/c/product-lines/elevator_spec13_product30.cil.c --full-output --architecture 32bit -------------------------------------------------------------------------------- Checking for termination Using default analysis Version 791161d1 Calling Ultimate with: /usr/bin/java -Dosgi.configuration.area=/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/config -Xmx15G -Xms4m -jar /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data -tc /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/AutomizerTermination.xml -i ../sv-benchmarks/c/product-lines/elevator_spec13_product30.cil.c -s /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Termination-32bit-Automizer_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux --witnessprinter.witness.filename witness.graphml --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 d84130cab59568fb669543ac086f4847eedfc87145b3c30d32e19c1d0d03b42f --- Real Ultimate output --- This is Ultimate 0.2.2-?-791161d [2022-07-23 15:09:50,771 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-07-23 15:09:50,773 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-07-23 15:09:50,792 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-07-23 15:09:50,793 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-07-23 15:09:50,794 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-07-23 15:09:50,795 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-07-23 15:09:50,796 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-07-23 15:09:50,797 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-07-23 15:09:50,798 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-07-23 15:09:50,799 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-07-23 15:09:50,799 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-07-23 15:09:50,800 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-07-23 15:09:50,800 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-07-23 15:09:50,801 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-07-23 15:09:50,802 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-07-23 15:09:50,802 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-07-23 15:09:50,803 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-07-23 15:09:50,804 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-07-23 15:09:50,805 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-07-23 15:09:50,806 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-07-23 15:09:50,807 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-07-23 15:09:50,808 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-07-23 15:09:50,809 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-07-23 15:09:50,810 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-07-23 15:09:50,812 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-07-23 15:09:50,812 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-07-23 15:09:50,812 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-07-23 15:09:50,813 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-07-23 15:09:50,813 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-07-23 15:09:50,814 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-07-23 15:09:50,814 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-07-23 15:09:50,815 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-07-23 15:09:50,815 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-07-23 15:09:50,816 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-07-23 15:09:50,816 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-07-23 15:09:50,817 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-07-23 15:09:50,817 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-07-23 15:09:50,817 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-07-23 15:09:50,817 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-07-23 15:09:50,818 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-07-23 15:09:50,819 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-07-23 15:09:50,819 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Termination-32bit-Automizer_Default.epf [2022-07-23 15:09:50,835 INFO L113 SettingsManager]: Loading preferences was successful [2022-07-23 15:09:50,835 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-07-23 15:09:50,836 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-07-23 15:09:50,836 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-07-23 15:09:50,836 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-07-23 15:09:50,837 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-07-23 15:09:50,837 INFO L138 SettingsManager]: * Use SBE=true [2022-07-23 15:09:50,837 INFO L136 SettingsManager]: Preferences of BuchiAutomizer differ from their defaults: [2022-07-23 15:09:50,837 INFO L138 SettingsManager]: * NCSB implementation=INTSET_LAZY3 [2022-07-23 15:09:50,837 INFO L138 SettingsManager]: * Use old map elimination=false [2022-07-23 15:09:50,837 INFO L138 SettingsManager]: * Use external solver (rank synthesis)=false [2022-07-23 15:09:50,838 INFO L138 SettingsManager]: * Use only trivial implications for array writes=true [2022-07-23 15:09:50,838 INFO L138 SettingsManager]: * Rank analysis=LINEAR_WITH_GUESSES [2022-07-23 15:09:50,838 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-07-23 15:09:50,838 INFO L138 SettingsManager]: * sizeof long=4 [2022-07-23 15:09:50,838 INFO L138 SettingsManager]: * Check unreachability of error function in SV-COMP mode=false [2022-07-23 15:09:50,838 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-07-23 15:09:50,838 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-07-23 15:09:50,839 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-07-23 15:09:50,839 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=ASSUME [2022-07-23 15:09:50,839 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=ASSUME [2022-07-23 15:09:50,839 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=ASSUME [2022-07-23 15:09:50,839 INFO L138 SettingsManager]: * sizeof long double=12 [2022-07-23 15:09:50,839 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-07-23 15:09:50,840 INFO L138 SettingsManager]: * Assume nondeterminstic values are in range=false [2022-07-23 15:09:50,840 INFO L138 SettingsManager]: * Use constant arrays=true [2022-07-23 15:09:50,840 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=ASSUME [2022-07-23 15:09:50,840 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-07-23 15:09:50,840 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-07-23 15:09:50,840 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-07-23 15:09:50,841 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-07-23 15:09:50,841 INFO L136 SettingsManager]: Preferences of IcfgTransformer differ from their defaults: [2022-07-23 15:09:50,841 INFO L138 SettingsManager]: * TransformationType=MODULO_NEIGHBOR WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: Entry function -> main Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness directory -> /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness filename -> witness.graphml 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 -> d84130cab59568fb669543ac086f4847eedfc87145b3c30d32e19c1d0d03b42f [2022-07-23 15:09:51,044 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-07-23 15:09:51,061 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-07-23 15:09:51,063 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-07-23 15:09:51,064 INFO L271 PluginConnector]: Initializing CDTParser... [2022-07-23 15:09:51,064 INFO L275 PluginConnector]: CDTParser initialized [2022-07-23 15:09:51,065 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/product-lines/elevator_spec13_product30.cil.c [2022-07-23 15:09:51,111 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/47f581026/3fdafbc1d8174e8f8de8f4533ee53b03/FLAG23b927740 [2022-07-23 15:09:51,676 INFO L306 CDTParser]: Found 1 translation units. [2022-07-23 15:09:51,676 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/product-lines/elevator_spec13_product30.cil.c [2022-07-23 15:09:51,694 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/47f581026/3fdafbc1d8174e8f8de8f4533ee53b03/FLAG23b927740 [2022-07-23 15:09:52,138 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/47f581026/3fdafbc1d8174e8f8de8f4533ee53b03 [2022-07-23 15:09:52,141 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-07-23 15:09:52,142 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2022-07-23 15:09:52,144 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-07-23 15:09:52,145 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-07-23 15:09:52,148 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-07-23 15:09:52,152 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.07 03:09:52" (1/1) ... [2022-07-23 15:09:52,153 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@7a0741e7 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.07 03:09:52, skipping insertion in model container [2022-07-23 15:09:52,153 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.07 03:09:52" (1/1) ... [2022-07-23 15:09:52,157 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-07-23 15:09:52,211 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-07-23 15:09:52,539 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/product-lines/elevator_spec13_product30.cil.c[61393,61406] [2022-07-23 15:09:52,579 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-07-23 15:09:52,586 INFO L203 MainTranslator]: Completed pre-run [2022-07-23 15:09:52,649 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/product-lines/elevator_spec13_product30.cil.c[61393,61406] [2022-07-23 15:09:52,663 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-07-23 15:09:52,681 INFO L208 MainTranslator]: Completed translation [2022-07-23 15:09:52,682 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.07 03:09:52 WrapperNode [2022-07-23 15:09:52,682 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-07-23 15:09:52,683 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2022-07-23 15:09:52,683 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2022-07-23 15:09:52,683 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2022-07-23 15:09:52,688 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.07 03:09:52" (1/1) ... [2022-07-23 15:09:52,709 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.07 03:09:52" (1/1) ... [2022-07-23 15:09:53,428 INFO L137 Inliner]: procedures = 93, calls = 346, calls flagged for inlining = 198, calls inlined = 1875, statements flattened = 66503 [2022-07-23 15:09:53,429 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2022-07-23 15:09:53,429 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-07-23 15:09:53,429 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-07-23 15:09:53,429 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-07-23 15:09:53,438 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.07 03:09:52" (1/1) ... [2022-07-23 15:09:53,438 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.07 03:09:52" (1/1) ... [2022-07-23 15:09:53,564 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.07 03:09:52" (1/1) ... [2022-07-23 15:09:53,565 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.07 03:09:52" (1/1) ... [2022-07-23 15:09:53,914 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.07 03:09:52" (1/1) ... [2022-07-23 15:09:54,389 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.07 03:09:52" (1/1) ... [2022-07-23 15:09:54,489 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.07 03:09:52" (1/1) ... [2022-07-23 15:09:54,766 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-07-23 15:09:54,767 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-07-23 15:09:54,767 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-07-23 15:09:54,767 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-07-23 15:09:54,768 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.07 03:09:52" (1/1) ... [2022-07-23 15:09:54,784 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-23 15:09:54,792 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 15:09:54,815 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-23 15:09:54,860 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-07-23 15:09:54,860 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-07-23 15:09:54,860 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-07-23 15:09:54,860 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-07-23 15:09:54,847 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (1)] Waiting until timeout for monitored process [2022-07-23 15:09:55,059 INFO L234 CfgBuilder]: Building ICFG [2022-07-23 15:09:55,060 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-07-23 15:10:09,521 INFO L275 CfgBuilder]: Performing block encoding [2022-07-23 15:10:09,597 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-07-23 15:10:09,597 INFO L299 CfgBuilder]: Removed 61 assume(true) statements. [2022-07-23 15:10:09,614 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.07 03:10:09 BoogieIcfgContainer [2022-07-23 15:10:09,615 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-07-23 15:10:09,616 INFO L113 PluginConnector]: ------------------------BuchiAutomizer---------------------------- [2022-07-23 15:10:09,616 INFO L271 PluginConnector]: Initializing BuchiAutomizer... [2022-07-23 15:10:09,619 INFO L275 PluginConnector]: BuchiAutomizer initialized [2022-07-23 15:10:09,621 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2022-07-23 15:10:09,621 INFO L185 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "CDTParser AST 23.07 03:09:52" (1/3) ... [2022-07-23 15:10:09,621 INFO L205 PluginConnector]: Invalid model from BuchiAutomizer for observer de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver@596d5a41 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer AST 23.07 03:10:09, skipping insertion in model container [2022-07-23 15:10:09,622 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2022-07-23 15:10:09,624 INFO L185 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.07 03:09:52" (2/3) ... [2022-07-23 15:10:09,625 INFO L205 PluginConnector]: Invalid model from BuchiAutomizer for observer de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver@596d5a41 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer AST 23.07 03:10:09, skipping insertion in model container [2022-07-23 15:10:09,625 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2022-07-23 15:10:09,625 INFO L185 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.07 03:10:09" (3/3) ... [2022-07-23 15:10:09,626 INFO L354 chiAutomizerObserver]: Analyzing ICFG elevator_spec13_product30.cil.c [2022-07-23 15:10:09,839 INFO L255 stractBuchiCegarLoop]: Interprodecural is true [2022-07-23 15:10:09,839 INFO L256 stractBuchiCegarLoop]: Hoare is false [2022-07-23 15:10:09,839 INFO L257 stractBuchiCegarLoop]: Compute interpolants for ForwardPredicates [2022-07-23 15:10:09,839 INFO L258 stractBuchiCegarLoop]: Backedges is STRAIGHT_LINE [2022-07-23 15:10:09,839 INFO L259 stractBuchiCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2022-07-23 15:10:09,839 INFO L260 stractBuchiCegarLoop]: Difference is false [2022-07-23 15:10:09,840 INFO L261 stractBuchiCegarLoop]: Minimize is MINIMIZE_SEVPA [2022-07-23 15:10:09,840 INFO L265 stractBuchiCegarLoop]: ======== Iteration 0 == of CEGAR loop == BuchiAutomatonCegarLoop ======== [2022-07-23 15:10:09,886 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand has 17932 states, 17931 states have (on average 1.8808209246556244) internal successors, (33725), 17931 states have internal predecessors, (33725), 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) [2022-07-23 15:10:10,144 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 4072 [2022-07-23 15:10:10,144 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-23 15:10:10,144 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-23 15:10:10,158 INFO L179 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] [2022-07-23 15:10:10,158 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1, 1, 1] [2022-07-23 15:10:10,158 INFO L287 stractBuchiCegarLoop]: ======== Iteration 1 ============ [2022-07-23 15:10:10,196 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand has 17932 states, 17931 states have (on average 1.8808209246556244) internal successors, (33725), 17931 states have internal predecessors, (33725), 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) [2022-07-23 15:10:10,353 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 4072 [2022-07-23 15:10:10,353 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-23 15:10:10,354 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-23 15:10:10,356 INFO L179 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] [2022-07-23 15:10:10,356 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1, 1, 1] [2022-07-23 15:10:10,365 INFO L752 eck$LassoCheckResult]: Stem: 7194#ULTIMATE.startENTRYtrue assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(32, 2);call #Ultimate.allocInit(12, 3);call #Ultimate.allocInit(10, 4);call #Ultimate.allocInit(4, 5);call write~init~int(91, 5, 0, 1);call write~init~int(95, 5, 1, 1);call write~init~int(93, 5, 2, 1);call write~init~int(0, 5, 3, 1);call #Ultimate.allocInit(4, 6);call write~init~int(91, 6, 0, 1);call write~init~int(93, 6, 1, 1);call write~init~int(32, 6, 2, 1);call write~init~int(0, 6, 3, 1);call #Ultimate.allocInit(5, 7);call write~init~int(32, 7, 0, 1);call write~init~int(97, 7, 1, 1);call write~init~int(116, 7, 2, 1);call write~init~int(32, 7, 3, 1);call write~init~int(0, 7, 4, 1);call #Ultimate.allocInit(3, 8);call write~init~int(37, 8, 0, 1);call write~init~int(105, 8, 1, 1);call write~init~int(0, 8, 2, 1);call #Ultimate.allocInit(10, 9);call #Ultimate.allocInit(3, 10);call write~init~int(117, 10, 0, 1);call write~init~int(112, 10, 1, 1);call write~init~int(0, 10, 2, 1);call #Ultimate.allocInit(5, 11);call write~init~int(100, 11, 0, 1);call write~init~int(111, 11, 1, 1);call write~init~int(119, 11, 2, 1);call write~init~int(110, 11, 3, 1);call write~init~int(0, 11, 4, 1);call #Ultimate.allocInit(7, 12);call write~init~int(32, 12, 0, 1);call write~init~int(73, 12, 1, 1);call write~init~int(76, 12, 2, 1);call write~init~int(95, 12, 3, 1);call write~init~int(112, 12, 4, 1);call write~init~int(58, 12, 5, 1);call write~init~int(0, 12, 6, 1);call #Ultimate.allocInit(4, 13);call write~init~int(32, 13, 0, 1);call write~init~int(37, 13, 1, 1);call write~init~int(105, 13, 2, 1);call write~init~int(0, 13, 3, 1);call #Ultimate.allocInit(4, 14);call write~init~int(32, 14, 0, 1);call write~init~int(37, 14, 1, 1);call write~init~int(105, 14, 2, 1);call write~init~int(0, 14, 3, 1);call #Ultimate.allocInit(4, 15);call write~init~int(32, 15, 0, 1);call write~init~int(37, 15, 1, 1);call write~init~int(105, 15, 2, 1);call write~init~int(0, 15, 3, 1);call #Ultimate.allocInit(4, 16);call write~init~int(32, 16, 0, 1);call write~init~int(37, 16, 1, 1);call write~init~int(105, 16, 2, 1);call write~init~int(0, 16, 3, 1);call #Ultimate.allocInit(4, 17);call write~init~int(32, 17, 0, 1);call write~init~int(37, 17, 1, 1);call write~init~int(105, 17, 2, 1);call write~init~int(0, 17, 3, 1);call #Ultimate.allocInit(6, 18);call write~init~int(32, 18, 0, 1);call write~init~int(70, 18, 1, 1);call write~init~int(95, 18, 2, 1);call write~init~int(112, 18, 3, 1);call write~init~int(58, 18, 4, 1);call write~init~int(0, 18, 5, 1);call #Ultimate.allocInit(4, 19);call write~init~int(32, 19, 0, 1);call write~init~int(37, 19, 1, 1);call write~init~int(105, 19, 2, 1);call write~init~int(0, 19, 3, 1);call #Ultimate.allocInit(4, 20);call write~init~int(32, 20, 0, 1);call write~init~int(37, 20, 1, 1);call write~init~int(105, 20, 2, 1);call write~init~int(0, 20, 3, 1);call #Ultimate.allocInit(4, 21);call write~init~int(32, 21, 0, 1);call write~init~int(37, 21, 1, 1);call write~init~int(105, 21, 2, 1);call write~init~int(0, 21, 3, 1);call #Ultimate.allocInit(4, 22);call write~init~int(32, 22, 0, 1);call write~init~int(37, 22, 1, 1);call write~init~int(105, 22, 2, 1);call write~init~int(0, 22, 3, 1);call #Ultimate.allocInit(4, 23);call write~init~int(32, 23, 0, 1);call write~init~int(37, 23, 1, 1);call write~init~int(105, 23, 2, 1);call write~init~int(0, 23, 3, 1);call #Ultimate.allocInit(2, 24);call write~init~int(10, 24, 0, 1);call write~init~int(0, 24, 1, 1);call #Ultimate.allocInit(9, 25);call #Ultimate.allocInit(30, 26);call #Ultimate.allocInit(9, 27);call #Ultimate.allocInit(21, 28);call #Ultimate.allocInit(30, 29);call #Ultimate.allocInit(9, 30);call #Ultimate.allocInit(21, 31);call #Ultimate.allocInit(30, 32);call #Ultimate.allocInit(9, 33);call #Ultimate.allocInit(25, 34);call #Ultimate.allocInit(30, 35);call #Ultimate.allocInit(9, 36);call #Ultimate.allocInit(25, 37);~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;~weight~0 := 0;~maximumWeight~0 := 100;~blocked~0 := 0;~prevDir~0 := 0;~cleanupTimeShifts~0 := 12;~currentHeading~0 := 1;~currentFloorID~0 := 0;~persons_0~0 := 0;~persons_1~0 := 0;~persons_2~0 := 0;~persons_3~0 := 0;~persons_4~0 := 0;~persons_5~0 := 0;~doorState~0 := 1;~floorButtons_0~0 := 0;~floorButtons_1~0 := 0;~floorButtons_2~0 := 0;~floorButtons_3~0 := 0;~floorButtons_4~0 := 0;~head~0.base, ~head~0.offset := 0, 0; 4316#L-1true assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret24#1, main_~retValue_acc~7#1, main_~tmp~9#1;havoc main_~retValue_acc~7#1;havoc main_~tmp~9#1;assume { :begin_inline_select_helpers } true; 3926#L2983true assume { :end_inline_select_helpers } true;assume { :begin_inline_select_features } true; 16723#L2976true assume { :end_inline_select_features } true;assume { :begin_inline_valid_product } true;havoc valid_product_#res#1;havoc valid_product_~retValue_acc~24#1;havoc valid_product_~retValue_acc~24#1;valid_product_~retValue_acc~24#1 := 1;valid_product_#res#1 := valid_product_~retValue_acc~24#1; 9521#L2991true main_#t~ret24#1 := valid_product_#res#1;assume { :end_inline_valid_product } true;main_~tmp~9#1 := main_#t~ret24#1;havoc main_#t~ret24#1; 8970#L1277true assume 0 != main_~tmp~9#1;assume { :begin_inline_setup } true; 6933#L1250true assume { :end_inline_setup } true;assume { :begin_inline_runTest } true;assume { :begin_inline_test } true;assume { :begin_inline_aliceCall } true;havoc aliceCall_#t~ret13#1, aliceCall_~tmp~2#1;havoc aliceCall_~tmp~2#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 1;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~1#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~1#1; 2413#L95true assume 0 == getOrigin_~person#1;getOrigin_~retValue_acc~1#1 := 4;getOrigin_#res#1 := getOrigin_~retValue_acc~1#1; 11132#L120true aliceCall_#t~ret13#1 := getOrigin_#res#1;assume { :end_inline_getOrigin } true;aliceCall_~tmp~2#1 := aliceCall_#t~ret13#1;havoc aliceCall_#t~ret13#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 1, aliceCall_~tmp~2#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 17131#L530true assume 0 == initPersonOnFloor_~floor#1; 11832#L531true assume 0 == initPersonOnFloor_~person#1;~personOnFloor_0_0~0 := 1; 14350#L638-1true assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 13119#L322true assume 0 == callOnFloor_~floorID#1;~calls_0~0 := 1; 12583#L334-2true assume { :end_inline_callOnFloor } true; 17701#L674true assume { :end_inline_initPersonOnFloor } true; 13049#L1006true assume { :end_inline_aliceCall } true;assume { :begin_inline_angelinaCall } true;havoc angelinaCall_#t~ret14#1, angelinaCall_~tmp~3#1;havoc angelinaCall_~tmp~3#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 2;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~1#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~1#1; 80#L95-1true assume 0 == getOrigin_~person#1;getOrigin_~retValue_acc~1#1 := 4;getOrigin_#res#1 := getOrigin_~retValue_acc~1#1; 14351#L120-1true angelinaCall_#t~ret14#1 := getOrigin_#res#1;assume { :end_inline_getOrigin } true;angelinaCall_~tmp~3#1 := angelinaCall_#t~ret14#1;havoc angelinaCall_#t~ret14#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 2, angelinaCall_~tmp~3#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 6971#L530-1true assume 0 == initPersonOnFloor_~floor#1; 13025#L531-2true assume 0 == initPersonOnFloor_~person#1;~personOnFloor_0_0~0 := 1; 10085#L638-3true assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 2908#L322-2true assume 0 == callOnFloor_~floorID#1;~calls_0~0 := 1; 4320#L334-5true assume { :end_inline_callOnFloor } true; 9339#L674-1true assume { :end_inline_initPersonOnFloor } true; 5354#L1017true assume { :end_inline_angelinaCall } true;assume { :begin_inline_threeTS } true;assume { :begin_inline_timeShift } true;havoc timeShift_#t~ret84#1, timeShift_~tmp~24#1;havoc timeShift_~tmp~24#1;assume { :begin_inline___utac_acc__Specification13_spec__1 } true;havoc __utac_acc__Specification13_spec__1_#t~ret4#1;assume { :begin_inline_getCurrentHeading } true;havoc getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~12#1;havoc getCurrentHeading_~retValue_acc~12#1;getCurrentHeading_~retValue_acc~12#1 := ~currentHeading~0;getCurrentHeading_#res#1 := getCurrentHeading_~retValue_acc~12#1; 4548#L1680true __utac_acc__Specification13_spec__1_#t~ret4#1 := getCurrentHeading_#res#1;assume { :end_inline_getCurrentHeading } true;~prevDir~0 := __utac_acc__Specification13_spec__1_#t~ret4#1;havoc __utac_acc__Specification13_spec__1_#t~ret4#1; 17891#L851true assume { :end_inline___utac_acc__Specification13_spec__1 } true;assume { :begin_inline_areDoorsOpen } true;havoc areDoorsOpen_#res#1;havoc areDoorsOpen_~retValue_acc~10#1;havoc areDoorsOpen_~retValue_acc~10#1;areDoorsOpen_~retValue_acc~10#1 := ~doorState~0;areDoorsOpen_#res#1 := areDoorsOpen_~retValue_acc~10#1; 17122#L1637true timeShift_#t~ret84#1 := areDoorsOpen_#res#1;assume { :end_inline_areDoorsOpen } true;timeShift_~tmp~24#1 := timeShift_#t~ret84#1;havoc timeShift_#t~ret84#1; 2411#L2587true assume 0 != timeShift_~tmp~24#1; 5433#L2588true assume ~weight~0 > ~maximumWeight~0;~blocked~0 := 1; 17485#L2587-1true assume { :begin_inline___utac_acc__Specification13_spec__2 } true;havoc __utac_acc__Specification13_spec__2_#t~ret5#1, __utac_acc__Specification13_spec__2_#t~ret6#1, __utac_acc__Specification13_spec__2_#t~ret7#1, __utac_acc__Specification13_spec__2_#t~ret8#1, __utac_acc__Specification13_spec__2_#t~ret9#1, __utac_acc__Specification13_spec__2_#t~ret10#1, __utac_acc__Specification13_spec__2_~tmp~0#1, __utac_acc__Specification13_spec__2_~tmp___0~0#1, __utac_acc__Specification13_spec__2_~tmp___1~0#1, __utac_acc__Specification13_spec__2_~tmp___2~0#1, __utac_acc__Specification13_spec__2_~tmp___3~0#1, __utac_acc__Specification13_spec__2_~tmp___4~0#1, __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1, __utac_acc__Specification13_spec__2_~__cil_tmp8~0#1;havoc __utac_acc__Specification13_spec__2_~tmp~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___0~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___1~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___2~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___3~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___4~0#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp8~0#1;__utac_acc__Specification13_spec__2_~__cil_tmp7~0#1 := 2 * ~maximumWeight~0;__utac_acc__Specification13_spec__2_~__cil_tmp8~0#1 := (if __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1 < 0 && 0 != __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1 % 3 then 1 + __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1 / 3 else __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1 / 3); 5072#L869true assume ~weight~0 > __utac_acc__Specification13_spec__2_~__cil_tmp8~0#1; 3637#L870true 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~22#1, existInLiftCallsInDirection_~i~3#1, existInLiftCallsInDirection_~i___0~0#1;existInLiftCallsInDirection_~d#1 := existInLiftCallsInDirection_#in~d#1;havoc existInLiftCallsInDirection_~retValue_acc~22#1;havoc existInLiftCallsInDirection_~i~3#1;havoc existInLiftCallsInDirection_~i___0~0#1; 12370#L2807true assume 1 == existInLiftCallsInDirection_~d#1;existInLiftCallsInDirection_~i~3#1 := 0;existInLiftCallsInDirection_~i~3#1 := 1 + ~currentFloorID~0; 6306#L2811-2true [2022-07-23 15:10:10,365 INFO L754 eck$LassoCheckResult]: Loop: 6306#L2811-2true assume !false; 4903#L2812true assume existInLiftCallsInDirection_~i~3#1 < 5; 507#L2813true assume !(0 == existInLiftCallsInDirection_~i~3#1); 7016#L2826true assume !(1 == existInLiftCallsInDirection_~i~3#1); 7240#L2835true assume !(2 == existInLiftCallsInDirection_~i~3#1); 3716#L2844true assume !(3 == existInLiftCallsInDirection_~i~3#1); 9525#L2853true assume !(4 == existInLiftCallsInDirection_~i~3#1); 975#L2854-1true existInLiftCallsInDirection_~i~3#1 := 1 + existInLiftCallsInDirection_~i~3#1; 6306#L2811-2true [2022-07-23 15:10:10,371 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 15:10:10,372 INFO L85 PathProgramCache]: Analyzing trace with hash -1529622645, now seen corresponding path program 1 times [2022-07-23 15:10:10,378 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 15:10:10,379 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1704386191] [2022-07-23 15:10:10,380 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 15:10:10,381 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 15:10:10,528 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-23 15:10:10,627 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-07-23 15:10:10,627 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-23 15:10:10,628 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1704386191] [2022-07-23 15:10:10,628 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1704386191] provided 1 perfect and 0 imperfect interpolant sequences [2022-07-23 15:10:10,628 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-07-23 15:10:10,629 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-07-23 15:10:10,630 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1546018420] [2022-07-23 15:10:10,630 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-07-23 15:10:10,633 INFO L757 eck$LassoCheckResult]: stem already infeasible [2022-07-23 15:10:10,634 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 15:10:10,634 INFO L85 PathProgramCache]: Analyzing trace with hash -1374005635, now seen corresponding path program 1 times [2022-07-23 15:10:10,634 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 15:10:10,635 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [646593603] [2022-07-23 15:10:10,635 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 15:10:10,635 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 15:10:10,640 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 15:10:10,640 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-23 15:10:10,642 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 15:10:10,655 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-23 15:10:10,694 INFO L210 LassoAnalysis]: Preferences: [2022-07-23 15:10:10,695 INFO L126 ssoRankerPreferences]: Compute integeral hull: false [2022-07-23 15:10:10,695 INFO L127 ssoRankerPreferences]: Enable LassoPartitioneer: true [2022-07-23 15:10:10,695 INFO L128 ssoRankerPreferences]: Term annotations enabled: false [2022-07-23 15:10:10,695 INFO L129 ssoRankerPreferences]: Use exernal solver: true [2022-07-23 15:10:10,695 INFO L130 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-23 15:10:10,695 INFO L131 ssoRankerPreferences]: Dump SMT script to file: false [2022-07-23 15:10:10,695 INFO L132 ssoRankerPreferences]: Path of dumped script: [2022-07-23 15:10:10,696 INFO L133 ssoRankerPreferences]: Filename of dumped script: elevator_spec13_product30.cil.c_Iteration1_Loop [2022-07-23 15:10:10,696 INFO L134 ssoRankerPreferences]: MapElimAlgo: Frank [2022-07-23 15:10:10,696 INFO L276 LassoAnalysis]: Starting lasso preprocessing... [2022-07-23 15:10:10,709 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-23 15:10:10,754 INFO L294 LassoAnalysis]: Preprocessing complete. [2022-07-23 15:10:10,755 INFO L404 LassoAnalysis]: Checking for nontermination... [2022-07-23 15:10:10,756 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-23 15:10:10,756 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 15:10:10,758 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-23 15:10:10,805 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (2)] Waiting until timeout for monitored process [2022-07-23 15:10:10,806 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2022-07-23 15:10:10,806 INFO L160 nArgumentSynthesizer]: Using integer mode. [2022-07-23 15:10:10,855 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (2)] Forceful destruction successful, exit code 0 [2022-07-23 15:10:10,856 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-23 15:10:10,856 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 15:10:10,858 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-23 15:10:10,860 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (3)] Waiting until timeout for monitored process [2022-07-23 15:10:10,861 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 3 Nilpotent components: true [2022-07-23 15:10:10,861 INFO L160 nArgumentSynthesizer]: Using integer mode. [2022-07-23 15:10:10,895 INFO L444 LassoAnalysis]: Proving nontermination failed: No geometric nontermination argument exists. [2022-07-23 15:10:10,898 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (3)] Forceful destruction successful, exit code 0 [2022-07-23 15:10:10,898 INFO L210 LassoAnalysis]: Preferences: [2022-07-23 15:10:10,899 INFO L126 ssoRankerPreferences]: Compute integeral hull: false [2022-07-23 15:10:10,899 INFO L127 ssoRankerPreferences]: Enable LassoPartitioneer: true [2022-07-23 15:10:10,899 INFO L128 ssoRankerPreferences]: Term annotations enabled: false [2022-07-23 15:10:10,899 INFO L129 ssoRankerPreferences]: Use exernal solver: false [2022-07-23 15:10:10,899 INFO L130 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-23 15:10:10,899 INFO L131 ssoRankerPreferences]: Dump SMT script to file: false [2022-07-23 15:10:10,899 INFO L132 ssoRankerPreferences]: Path of dumped script: [2022-07-23 15:10:10,899 INFO L133 ssoRankerPreferences]: Filename of dumped script: elevator_spec13_product30.cil.c_Iteration1_Loop [2022-07-23 15:10:10,899 INFO L134 ssoRankerPreferences]: MapElimAlgo: Frank [2022-07-23 15:10:10,899 INFO L276 LassoAnalysis]: Starting lasso preprocessing... [2022-07-23 15:10:10,900 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-23 15:10:10,956 INFO L294 LassoAnalysis]: Preprocessing complete. [2022-07-23 15:10:10,959 INFO L490 LassoAnalysis]: Using template 'affine'. [2022-07-23 15:10:10,960 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-23 15:10:10,960 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 15:10:10,975 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-23 15:10:10,976 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (4)] Waiting until timeout for monitored process [2022-07-23 15:10:10,978 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 [2022-07-23 15:10:10,984 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-23 15:10:10,984 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-23 15:10:10,985 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-23 15:10:10,985 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-23 15:10:10,985 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-23 15:10:10,986 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-23 15:10:10,986 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-23 15:10:11,002 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2022-07-23 15:10:11,007 INFO L443 ModelExtractionUtils]: Simplification made 3 calls to the SMT solver. [2022-07-23 15:10:11,007 INFO L444 ModelExtractionUtils]: 0 out of 3 variables were initially zero. Simplification set additionally 1 variables to zero. [2022-07-23 15:10:11,008 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-23 15:10:11,008 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-23 15:10:11,027 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-23 15:10:11,030 INFO L435 nArgumentSynthesizer]: Simplifying supporting invariants... [2022-07-23 15:10:11,030 INFO L438 nArgumentSynthesizer]: Removed 0 redundant supporting invariants from a total of 0. [2022-07-23 15:10:11,031 INFO L513 LassoAnalysis]: Proved termination. [2022-07-23 15:10:11,031 INFO L515 LassoAnalysis]: Termination argument consisting of: Ranking function f(ULTIMATE.start_existInLiftCallsInDirection_~i~3#1) = -1*ULTIMATE.start_existInLiftCallsInDirection_~i~3#1 Supporting invariants [] [2022-07-23 15:10:11,046 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (5)] Waiting until timeout for monitored process [2022-07-23 15:10:11,050 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (4)] Forceful destruction successful, exit code 0 [2022-07-23 15:10:11,052 INFO L293 tatePredicateManager]: 0 out of 0 supporting invariants were superfluous and have been removed [2022-07-23 15:10:11,076 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 15:10:11,159 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-23 15:10:11,163 INFO L263 TraceCheckSpWp]: Trace formula consists of 543 conjuncts, 2 conjunts are in the unsatisfiable core [2022-07-23 15:10:11,165 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-23 15:10:11,218 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-23 15:10:11,219 WARN L261 TraceCheckSpWp]: Trace formula consists of 11 conjuncts, 9 conjunts are in the unsatisfiable core [2022-07-23 15:10:11,219 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-23 15:10:11,351 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-07-23 15:10:11,372 INFO L152 lantAutomatonBouncer]: Defining deterministic Buchi interpolant automaton with honda bouncer for stem and without honda bouncer for loop.1 stem predicates 7 loop predicates [2022-07-23 15:10:11,401 INFO L71 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand has 17932 states, 17931 states have (on average 1.8808209246556244) internal successors, (33725), 17931 states have internal predecessors, (33725), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand has 9 states, 9 states have (on average 4.666666666666667) internal successors, (42), 9 states have internal predecessors, (42), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-23 15:10:11,909 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (5)] Forceful destruction successful, exit code 0 [2022-07-23 15:10:18,497 INFO L75 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand has 17932 states, 17931 states have (on average 1.8808209246556244) internal successors, (33725), 17931 states have internal predecessors, (33725), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0). Second operand has 9 states, 9 states have (on average 4.666666666666667) internal successors, (42), 9 states have internal predecessors, (42), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Result 211046 states and 396793 transitions. Complement of second has 18 states. [2022-07-23 15:10:18,513 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 [2022-07-23 15:10:18,518 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 4.666666666666667) internal successors, (42), 9 states have internal predecessors, (42), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-23 15:10:19,029 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 215267 transitions. [2022-07-23 15:10:19,030 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 10 states and 215267 transitions. Stem has 34 letters. Loop has 8 letters. [2022-07-23 15:10:19,031 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2022-07-23 15:10:19,032 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 10 states and 215267 transitions. Stem has 42 letters. Loop has 8 letters. [2022-07-23 15:10:19,032 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2022-07-23 15:10:19,032 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 10 states and 215267 transitions. Stem has 34 letters. Loop has 16 letters. [2022-07-23 15:10:19,032 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2022-07-23 15:10:19,033 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 211046 states and 396793 transitions. [2022-07-23 15:10:20,497 INFO L131 ngComponentsAnalysis]: Automaton has 66 accepting balls. 28728 [2022-07-23 15:10:21,127 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 211046 states to 114375 states and 214990 transitions. [2022-07-23 15:10:21,128 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 114345 [2022-07-23 15:10:21,285 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 114346 [2022-07-23 15:10:21,285 INFO L73 IsDeterministic]: Start isDeterministic. Operand 114375 states and 214990 transitions. [2022-07-23 15:10:21,287 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-23 15:10:21,287 INFO L369 hiAutomatonCegarLoop]: Abstraction has 114375 states and 214990 transitions. [2022-07-23 15:10:21,421 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 114375 states and 214990 transitions. [2022-07-23 15:10:22,501 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 114375 to 32246. [2022-07-23 15:10:22,561 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 32246 states, 32246 states have (on average 1.8769769893940333) internal successors, (60525), 32245 states have internal predecessors, (60525), 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) [2022-07-23 15:10:22,627 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32246 states to 32246 states and 60525 transitions. [2022-07-23 15:10:22,628 INFO L392 hiAutomatonCegarLoop]: Abstraction has 32246 states and 60525 transitions. [2022-07-23 15:10:22,628 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-23 15:10:22,632 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-07-23 15:10:22,632 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-07-23 15:10:22,633 INFO L87 Difference]: Start difference. First operand 32246 states and 60525 transitions. Second operand has 5 states, 5 states have (on average 6.8) internal successors, (34), 5 states have internal predecessors, (34), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-23 15:10:23,488 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-23 15:10:23,489 INFO L93 Difference]: Finished difference Result 46585 states and 87289 transitions. [2022-07-23 15:10:23,489 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-07-23 15:10:23,490 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 46585 states and 87289 transitions. [2022-07-23 15:10:23,675 INFO L131 ngComponentsAnalysis]: Automaton has 78 accepting balls. 15466 [2022-07-23 15:10:23,826 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 46585 states to 46572 states and 87276 transitions. [2022-07-23 15:10:23,826 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 46553 [2022-07-23 15:10:23,869 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 46553 [2022-07-23 15:10:23,869 INFO L73 IsDeterministic]: Start isDeterministic. Operand 46572 states and 87276 transitions. [2022-07-23 15:10:23,937 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-23 15:10:23,937 INFO L369 hiAutomatonCegarLoop]: Abstraction has 46572 states and 87276 transitions. [2022-07-23 15:10:24,173 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 46572 states and 87276 transitions. [2022-07-23 15:10:24,506 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 46572 to 17929. [2022-07-23 15:10:24,531 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17929 states, 17929 states have (on average 1.874003011880194) internal successors, (33599), 17928 states have internal predecessors, (33599), 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) [2022-07-23 15:10:24,569 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17929 states to 17929 states and 33599 transitions. [2022-07-23 15:10:24,570 INFO L392 hiAutomatonCegarLoop]: Abstraction has 17929 states and 33599 transitions. [2022-07-23 15:10:24,570 INFO L374 stractBuchiCegarLoop]: Abstraction has 17929 states and 33599 transitions. [2022-07-23 15:10:24,570 INFO L287 stractBuchiCegarLoop]: ======== Iteration 2 ============ [2022-07-23 15:10:24,570 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 17929 states and 33599 transitions. [2022-07-23 15:10:24,622 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 4072 [2022-07-23 15:10:24,623 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-23 15:10:24,623 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-23 15:10:24,625 INFO L179 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] [2022-07-23 15:10:24,625 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1] [2022-07-23 15:10:24,625 INFO L752 eck$LassoCheckResult]: Stem: 320413#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(32, 2);call #Ultimate.allocInit(12, 3);call #Ultimate.allocInit(10, 4);call #Ultimate.allocInit(4, 5);call write~init~int(91, 5, 0, 1);call write~init~int(95, 5, 1, 1);call write~init~int(93, 5, 2, 1);call write~init~int(0, 5, 3, 1);call #Ultimate.allocInit(4, 6);call write~init~int(91, 6, 0, 1);call write~init~int(93, 6, 1, 1);call write~init~int(32, 6, 2, 1);call write~init~int(0, 6, 3, 1);call #Ultimate.allocInit(5, 7);call write~init~int(32, 7, 0, 1);call write~init~int(97, 7, 1, 1);call write~init~int(116, 7, 2, 1);call write~init~int(32, 7, 3, 1);call write~init~int(0, 7, 4, 1);call #Ultimate.allocInit(3, 8);call write~init~int(37, 8, 0, 1);call write~init~int(105, 8, 1, 1);call write~init~int(0, 8, 2, 1);call #Ultimate.allocInit(10, 9);call #Ultimate.allocInit(3, 10);call write~init~int(117, 10, 0, 1);call write~init~int(112, 10, 1, 1);call write~init~int(0, 10, 2, 1);call #Ultimate.allocInit(5, 11);call write~init~int(100, 11, 0, 1);call write~init~int(111, 11, 1, 1);call write~init~int(119, 11, 2, 1);call write~init~int(110, 11, 3, 1);call write~init~int(0, 11, 4, 1);call #Ultimate.allocInit(7, 12);call write~init~int(32, 12, 0, 1);call write~init~int(73, 12, 1, 1);call write~init~int(76, 12, 2, 1);call write~init~int(95, 12, 3, 1);call write~init~int(112, 12, 4, 1);call write~init~int(58, 12, 5, 1);call write~init~int(0, 12, 6, 1);call #Ultimate.allocInit(4, 13);call write~init~int(32, 13, 0, 1);call write~init~int(37, 13, 1, 1);call write~init~int(105, 13, 2, 1);call write~init~int(0, 13, 3, 1);call #Ultimate.allocInit(4, 14);call write~init~int(32, 14, 0, 1);call write~init~int(37, 14, 1, 1);call write~init~int(105, 14, 2, 1);call write~init~int(0, 14, 3, 1);call #Ultimate.allocInit(4, 15);call write~init~int(32, 15, 0, 1);call write~init~int(37, 15, 1, 1);call write~init~int(105, 15, 2, 1);call write~init~int(0, 15, 3, 1);call #Ultimate.allocInit(4, 16);call write~init~int(32, 16, 0, 1);call write~init~int(37, 16, 1, 1);call write~init~int(105, 16, 2, 1);call write~init~int(0, 16, 3, 1);call #Ultimate.allocInit(4, 17);call write~init~int(32, 17, 0, 1);call write~init~int(37, 17, 1, 1);call write~init~int(105, 17, 2, 1);call write~init~int(0, 17, 3, 1);call #Ultimate.allocInit(6, 18);call write~init~int(32, 18, 0, 1);call write~init~int(70, 18, 1, 1);call write~init~int(95, 18, 2, 1);call write~init~int(112, 18, 3, 1);call write~init~int(58, 18, 4, 1);call write~init~int(0, 18, 5, 1);call #Ultimate.allocInit(4, 19);call write~init~int(32, 19, 0, 1);call write~init~int(37, 19, 1, 1);call write~init~int(105, 19, 2, 1);call write~init~int(0, 19, 3, 1);call #Ultimate.allocInit(4, 20);call write~init~int(32, 20, 0, 1);call write~init~int(37, 20, 1, 1);call write~init~int(105, 20, 2, 1);call write~init~int(0, 20, 3, 1);call #Ultimate.allocInit(4, 21);call write~init~int(32, 21, 0, 1);call write~init~int(37, 21, 1, 1);call write~init~int(105, 21, 2, 1);call write~init~int(0, 21, 3, 1);call #Ultimate.allocInit(4, 22);call write~init~int(32, 22, 0, 1);call write~init~int(37, 22, 1, 1);call write~init~int(105, 22, 2, 1);call write~init~int(0, 22, 3, 1);call #Ultimate.allocInit(4, 23);call write~init~int(32, 23, 0, 1);call write~init~int(37, 23, 1, 1);call write~init~int(105, 23, 2, 1);call write~init~int(0, 23, 3, 1);call #Ultimate.allocInit(2, 24);call write~init~int(10, 24, 0, 1);call write~init~int(0, 24, 1, 1);call #Ultimate.allocInit(9, 25);call #Ultimate.allocInit(30, 26);call #Ultimate.allocInit(9, 27);call #Ultimate.allocInit(21, 28);call #Ultimate.allocInit(30, 29);call #Ultimate.allocInit(9, 30);call #Ultimate.allocInit(21, 31);call #Ultimate.allocInit(30, 32);call #Ultimate.allocInit(9, 33);call #Ultimate.allocInit(25, 34);call #Ultimate.allocInit(30, 35);call #Ultimate.allocInit(9, 36);call #Ultimate.allocInit(25, 37);~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;~weight~0 := 0;~maximumWeight~0 := 100;~blocked~0 := 0;~prevDir~0 := 0;~cleanupTimeShifts~0 := 12;~currentHeading~0 := 1;~currentFloorID~0 := 0;~persons_0~0 := 0;~persons_1~0 := 0;~persons_2~0 := 0;~persons_3~0 := 0;~persons_4~0 := 0;~persons_5~0 := 0;~doorState~0 := 1;~floorButtons_0~0 := 0;~floorButtons_1~0 := 0;~floorButtons_2~0 := 0;~floorButtons_3~0 := 0;~floorButtons_4~0 := 0;~head~0.base, ~head~0.offset := 0, 0; 316584#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret24#1, main_~retValue_acc~7#1, main_~tmp~9#1;havoc main_~retValue_acc~7#1;havoc main_~tmp~9#1;assume { :begin_inline_select_helpers } true; 315985#L2983 assume { :end_inline_select_helpers } true;assume { :begin_inline_select_features } true; 315986#L2976 assume { :end_inline_select_features } true;assume { :begin_inline_valid_product } true;havoc valid_product_#res#1;havoc valid_product_~retValue_acc~24#1;havoc valid_product_~retValue_acc~24#1;valid_product_~retValue_acc~24#1 := 1;valid_product_#res#1 := valid_product_~retValue_acc~24#1; 322607#L2991 main_#t~ret24#1 := valid_product_#res#1;assume { :end_inline_valid_product } true;main_~tmp~9#1 := main_#t~ret24#1;havoc main_#t~ret24#1; 322176#L1277 assume 0 != main_~tmp~9#1;assume { :begin_inline_setup } true; 320135#L1250 assume { :end_inline_setup } true;assume { :begin_inline_runTest } true;assume { :begin_inline_test } true;assume { :begin_inline_aliceCall } true;havoc aliceCall_#t~ret13#1, aliceCall_~tmp~2#1;havoc aliceCall_~tmp~2#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 1;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~1#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~1#1; 313400#L95 assume !(0 == getOrigin_~person#1); 309723#L99 assume 1 == getOrigin_~person#1;getOrigin_~retValue_acc~1#1 := 3;getOrigin_#res#1 := getOrigin_~retValue_acc~1#1; 309724#L120 aliceCall_#t~ret13#1 := getOrigin_#res#1;assume { :end_inline_getOrigin } true;aliceCall_~tmp~2#1 := aliceCall_#t~ret13#1;havoc aliceCall_#t~ret13#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 1, aliceCall_~tmp~2#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 323765#L530 assume 0 == initPersonOnFloor_~floor#1; 324233#L531 assume 0 == initPersonOnFloor_~person#1;~personOnFloor_0_0~0 := 1; 308129#L638-1 assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 324879#L322 assume 0 == callOnFloor_~floorID#1;~calls_0~0 := 1; 308359#L334-2 assume { :end_inline_callOnFloor } true; 324608#L674 assume { :end_inline_initPersonOnFloor } true; 324843#L1006 assume { :end_inline_aliceCall } true;assume { :begin_inline_angelinaCall } true;havoc angelinaCall_#t~ret14#1, angelinaCall_~tmp~3#1;havoc angelinaCall_~tmp~3#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 2;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~1#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~1#1; 308212#L95-1 assume !(0 == getOrigin_~person#1); 308213#L99-1 assume 1 == getOrigin_~person#1;getOrigin_~retValue_acc~1#1 := 3;getOrigin_#res#1 := getOrigin_~retValue_acc~1#1; 308963#L120-1 angelinaCall_#t~ret14#1 := getOrigin_#res#1;assume { :end_inline_getOrigin } true;angelinaCall_~tmp~3#1 := angelinaCall_#t~ret14#1;havoc angelinaCall_#t~ret14#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 2, angelinaCall_~tmp~3#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 320181#L530-1 assume 0 == initPersonOnFloor_~floor#1; 320182#L531-2 assume 0 == initPersonOnFloor_~person#1;~personOnFloor_0_0~0 := 1; 308492#L638-3 assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 314273#L322-2 assume 0 == callOnFloor_~floorID#1;~calls_0~0 := 1; 309037#L334-5 assume { :end_inline_callOnFloor } true; 316591#L674-1 assume { :end_inline_initPersonOnFloor } true; 318096#L1017 assume { :end_inline_angelinaCall } true;assume { :begin_inline_threeTS } true;assume { :begin_inline_timeShift } true;havoc timeShift_#t~ret84#1, timeShift_~tmp~24#1;havoc timeShift_~tmp~24#1;assume { :begin_inline___utac_acc__Specification13_spec__1 } true;havoc __utac_acc__Specification13_spec__1_#t~ret4#1;assume { :begin_inline_getCurrentHeading } true;havoc getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~12#1;havoc getCurrentHeading_~retValue_acc~12#1;getCurrentHeading_~retValue_acc~12#1 := ~currentHeading~0;getCurrentHeading_#res#1 := getCurrentHeading_~retValue_acc~12#1; 316925#L1680 __utac_acc__Specification13_spec__1_#t~ret4#1 := getCurrentHeading_#res#1;assume { :end_inline_getCurrentHeading } true;~prevDir~0 := __utac_acc__Specification13_spec__1_#t~ret4#1;havoc __utac_acc__Specification13_spec__1_#t~ret4#1; 316926#L851 assume { :end_inline___utac_acc__Specification13_spec__1 } true;assume { :begin_inline_areDoorsOpen } true;havoc areDoorsOpen_#res#1;havoc areDoorsOpen_~retValue_acc~10#1;havoc areDoorsOpen_~retValue_acc~10#1;areDoorsOpen_~retValue_acc~10#1 := ~doorState~0;areDoorsOpen_#res#1 := areDoorsOpen_~retValue_acc~10#1; 325877#L1637 timeShift_#t~ret84#1 := areDoorsOpen_#res#1;assume { :end_inline_areDoorsOpen } true;timeShift_~tmp~24#1 := timeShift_#t~ret84#1;havoc timeShift_#t~ret84#1; 313394#L2587 assume 0 != timeShift_~tmp~24#1; 313395#L2588 assume ~weight~0 > ~maximumWeight~0;~blocked~0 := 1; 314966#L2587-1 assume { :begin_inline___utac_acc__Specification13_spec__2 } true;havoc __utac_acc__Specification13_spec__2_#t~ret5#1, __utac_acc__Specification13_spec__2_#t~ret6#1, __utac_acc__Specification13_spec__2_#t~ret7#1, __utac_acc__Specification13_spec__2_#t~ret8#1, __utac_acc__Specification13_spec__2_#t~ret9#1, __utac_acc__Specification13_spec__2_#t~ret10#1, __utac_acc__Specification13_spec__2_~tmp~0#1, __utac_acc__Specification13_spec__2_~tmp___0~0#1, __utac_acc__Specification13_spec__2_~tmp___1~0#1, __utac_acc__Specification13_spec__2_~tmp___2~0#1, __utac_acc__Specification13_spec__2_~tmp___3~0#1, __utac_acc__Specification13_spec__2_~tmp___4~0#1, __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1, __utac_acc__Specification13_spec__2_~__cil_tmp8~0#1;havoc __utac_acc__Specification13_spec__2_~tmp~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___0~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___1~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___2~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___3~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___4~0#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp8~0#1;__utac_acc__Specification13_spec__2_~__cil_tmp7~0#1 := 2 * ~maximumWeight~0;__utac_acc__Specification13_spec__2_~__cil_tmp8~0#1 := (if __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1 < 0 && 0 != __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1 % 3 then 1 + __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1 / 3 else __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1 / 3); 317681#L869 assume ~weight~0 > __utac_acc__Specification13_spec__2_~__cil_tmp8~0#1; 315501#L870 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~22#1, existInLiftCallsInDirection_~i~3#1, existInLiftCallsInDirection_~i___0~0#1;existInLiftCallsInDirection_~d#1 := existInLiftCallsInDirection_#in~d#1;havoc existInLiftCallsInDirection_~retValue_acc~22#1;havoc existInLiftCallsInDirection_~i~3#1;havoc existInLiftCallsInDirection_~i___0~0#1; 315502#L2807 assume !(1 == existInLiftCallsInDirection_~d#1); 317726#L2873 assume 0 == existInLiftCallsInDirection_~d#1;existInLiftCallsInDirection_~i___0~0#1 := 0;existInLiftCallsInDirection_~i___0~0#1 := ~currentFloorID~0 - 1; 317727#L2877-2 [2022-07-23 15:10:24,625 INFO L754 eck$LassoCheckResult]: Loop: 317727#L2877-2 assume !false; 314226#L2878 assume existInLiftCallsInDirection_~i___0~0#1 >= 0; 314227#L2879 existInLiftCallsInDirection_~i___0~0#1 := 1 + ~currentFloorID~0; 312509#L2886-2 assume !false; 312510#L2887 assume !(existInLiftCallsInDirection_~i___0~0#1 < 5); 313476#L2945 existInLiftCallsInDirection_~i___0~0#1 := existInLiftCallsInDirection_~i___0~0#1 - 1; 317727#L2877-2 [2022-07-23 15:10:24,626 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 15:10:24,626 INFO L85 PathProgramCache]: Analyzing trace with hash 1898401259, now seen corresponding path program 1 times [2022-07-23 15:10:24,626 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 15:10:24,627 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1788700536] [2022-07-23 15:10:24,627 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 15:10:24,627 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 15:10:24,658 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-23 15:10:24,702 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-07-23 15:10:24,703 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-23 15:10:24,703 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1788700536] [2022-07-23 15:10:24,704 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1788700536] provided 1 perfect and 0 imperfect interpolant sequences [2022-07-23 15:10:24,704 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-07-23 15:10:24,704 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-07-23 15:10:24,704 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1456771621] [2022-07-23 15:10:24,704 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-07-23 15:10:24,705 INFO L757 eck$LassoCheckResult]: stem already infeasible [2022-07-23 15:10:24,705 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 15:10:24,705 INFO L85 PathProgramCache]: Analyzing trace with hash 2078933803, now seen corresponding path program 1 times [2022-07-23 15:10:24,705 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 15:10:24,705 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1599720912] [2022-07-23 15:10:24,706 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 15:10:24,706 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 15:10:24,712 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 15:10:24,712 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-23 15:10:24,715 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 15:10:24,719 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-23 15:10:24,759 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-23 15:10:24,759 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-07-23 15:10:24,759 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-07-23 15:10:24,760 INFO L87 Difference]: Start difference. First operand 17929 states and 33599 transitions. cyclomatic complexity: 15704 Second operand has 4 states, 4 states have (on average 9.25) internal successors, (37), 4 states have internal predecessors, (37), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-23 15:10:25,823 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-23 15:10:25,823 INFO L93 Difference]: Finished difference Result 53570 states and 100367 transitions. [2022-07-23 15:10:25,824 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-07-23 15:10:25,825 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 53570 states and 100367 transitions. [2022-07-23 15:10:26,076 INFO L131 ngComponentsAnalysis]: Automaton has 99 accepting balls. 12216 [2022-07-23 15:10:26,526 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 53570 states to 53570 states and 100367 transitions. [2022-07-23 15:10:26,527 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 53513 [2022-07-23 15:10:26,593 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 53513 [2022-07-23 15:10:26,593 INFO L73 IsDeterministic]: Start isDeterministic. Operand 53570 states and 100367 transitions. [2022-07-23 15:10:26,594 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-23 15:10:26,594 INFO L369 hiAutomatonCegarLoop]: Abstraction has 53570 states and 100367 transitions. [2022-07-23 15:10:26,634 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 53570 states and 100367 transitions. [2022-07-23 15:10:26,928 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 53570 to 17944. [2022-07-23 15:10:26,951 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17944 states, 17944 states have (on average 1.873272403031654) internal successors, (33614), 17943 states have internal predecessors, (33614), 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) [2022-07-23 15:10:26,988 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17944 states to 17944 states and 33614 transitions. [2022-07-23 15:10:26,989 INFO L392 hiAutomatonCegarLoop]: Abstraction has 17944 states and 33614 transitions. [2022-07-23 15:10:26,989 INFO L374 stractBuchiCegarLoop]: Abstraction has 17944 states and 33614 transitions. [2022-07-23 15:10:26,989 INFO L287 stractBuchiCegarLoop]: ======== Iteration 3 ============ [2022-07-23 15:10:26,989 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 17944 states and 33614 transitions. [2022-07-23 15:10:27,038 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 4072 [2022-07-23 15:10:27,042 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-23 15:10:27,042 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-23 15:10:27,045 INFO L179 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] [2022-07-23 15:10:27,045 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1] [2022-07-23 15:10:27,045 INFO L752 eck$LassoCheckResult]: Stem: 391919#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(32, 2);call #Ultimate.allocInit(12, 3);call #Ultimate.allocInit(10, 4);call #Ultimate.allocInit(4, 5);call write~init~int(91, 5, 0, 1);call write~init~int(95, 5, 1, 1);call write~init~int(93, 5, 2, 1);call write~init~int(0, 5, 3, 1);call #Ultimate.allocInit(4, 6);call write~init~int(91, 6, 0, 1);call write~init~int(93, 6, 1, 1);call write~init~int(32, 6, 2, 1);call write~init~int(0, 6, 3, 1);call #Ultimate.allocInit(5, 7);call write~init~int(32, 7, 0, 1);call write~init~int(97, 7, 1, 1);call write~init~int(116, 7, 2, 1);call write~init~int(32, 7, 3, 1);call write~init~int(0, 7, 4, 1);call #Ultimate.allocInit(3, 8);call write~init~int(37, 8, 0, 1);call write~init~int(105, 8, 1, 1);call write~init~int(0, 8, 2, 1);call #Ultimate.allocInit(10, 9);call #Ultimate.allocInit(3, 10);call write~init~int(117, 10, 0, 1);call write~init~int(112, 10, 1, 1);call write~init~int(0, 10, 2, 1);call #Ultimate.allocInit(5, 11);call write~init~int(100, 11, 0, 1);call write~init~int(111, 11, 1, 1);call write~init~int(119, 11, 2, 1);call write~init~int(110, 11, 3, 1);call write~init~int(0, 11, 4, 1);call #Ultimate.allocInit(7, 12);call write~init~int(32, 12, 0, 1);call write~init~int(73, 12, 1, 1);call write~init~int(76, 12, 2, 1);call write~init~int(95, 12, 3, 1);call write~init~int(112, 12, 4, 1);call write~init~int(58, 12, 5, 1);call write~init~int(0, 12, 6, 1);call #Ultimate.allocInit(4, 13);call write~init~int(32, 13, 0, 1);call write~init~int(37, 13, 1, 1);call write~init~int(105, 13, 2, 1);call write~init~int(0, 13, 3, 1);call #Ultimate.allocInit(4, 14);call write~init~int(32, 14, 0, 1);call write~init~int(37, 14, 1, 1);call write~init~int(105, 14, 2, 1);call write~init~int(0, 14, 3, 1);call #Ultimate.allocInit(4, 15);call write~init~int(32, 15, 0, 1);call write~init~int(37, 15, 1, 1);call write~init~int(105, 15, 2, 1);call write~init~int(0, 15, 3, 1);call #Ultimate.allocInit(4, 16);call write~init~int(32, 16, 0, 1);call write~init~int(37, 16, 1, 1);call write~init~int(105, 16, 2, 1);call write~init~int(0, 16, 3, 1);call #Ultimate.allocInit(4, 17);call write~init~int(32, 17, 0, 1);call write~init~int(37, 17, 1, 1);call write~init~int(105, 17, 2, 1);call write~init~int(0, 17, 3, 1);call #Ultimate.allocInit(6, 18);call write~init~int(32, 18, 0, 1);call write~init~int(70, 18, 1, 1);call write~init~int(95, 18, 2, 1);call write~init~int(112, 18, 3, 1);call write~init~int(58, 18, 4, 1);call write~init~int(0, 18, 5, 1);call #Ultimate.allocInit(4, 19);call write~init~int(32, 19, 0, 1);call write~init~int(37, 19, 1, 1);call write~init~int(105, 19, 2, 1);call write~init~int(0, 19, 3, 1);call #Ultimate.allocInit(4, 20);call write~init~int(32, 20, 0, 1);call write~init~int(37, 20, 1, 1);call write~init~int(105, 20, 2, 1);call write~init~int(0, 20, 3, 1);call #Ultimate.allocInit(4, 21);call write~init~int(32, 21, 0, 1);call write~init~int(37, 21, 1, 1);call write~init~int(105, 21, 2, 1);call write~init~int(0, 21, 3, 1);call #Ultimate.allocInit(4, 22);call write~init~int(32, 22, 0, 1);call write~init~int(37, 22, 1, 1);call write~init~int(105, 22, 2, 1);call write~init~int(0, 22, 3, 1);call #Ultimate.allocInit(4, 23);call write~init~int(32, 23, 0, 1);call write~init~int(37, 23, 1, 1);call write~init~int(105, 23, 2, 1);call write~init~int(0, 23, 3, 1);call #Ultimate.allocInit(2, 24);call write~init~int(10, 24, 0, 1);call write~init~int(0, 24, 1, 1);call #Ultimate.allocInit(9, 25);call #Ultimate.allocInit(30, 26);call #Ultimate.allocInit(9, 27);call #Ultimate.allocInit(21, 28);call #Ultimate.allocInit(30, 29);call #Ultimate.allocInit(9, 30);call #Ultimate.allocInit(21, 31);call #Ultimate.allocInit(30, 32);call #Ultimate.allocInit(9, 33);call #Ultimate.allocInit(25, 34);call #Ultimate.allocInit(30, 35);call #Ultimate.allocInit(9, 36);call #Ultimate.allocInit(25, 37);~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;~weight~0 := 0;~maximumWeight~0 := 100;~blocked~0 := 0;~prevDir~0 := 0;~cleanupTimeShifts~0 := 12;~currentHeading~0 := 1;~currentFloorID~0 := 0;~persons_0~0 := 0;~persons_1~0 := 0;~persons_2~0 := 0;~persons_3~0 := 0;~persons_4~0 := 0;~persons_5~0 := 0;~doorState~0 := 1;~floorButtons_0~0 := 0;~floorButtons_1~0 := 0;~floorButtons_2~0 := 0;~floorButtons_3~0 := 0;~floorButtons_4~0 := 0;~head~0.base, ~head~0.offset := 0, 0; 388091#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret24#1, main_~retValue_acc~7#1, main_~tmp~9#1;havoc main_~retValue_acc~7#1;havoc main_~tmp~9#1;assume { :begin_inline_select_helpers } true; 387492#L2983 assume { :end_inline_select_helpers } true;assume { :begin_inline_select_features } true; 387493#L2976 assume { :end_inline_select_features } true;assume { :begin_inline_valid_product } true;havoc valid_product_#res#1;havoc valid_product_~retValue_acc~24#1;havoc valid_product_~retValue_acc~24#1;valid_product_~retValue_acc~24#1 := 1;valid_product_#res#1 := valid_product_~retValue_acc~24#1; 394112#L2991 main_#t~ret24#1 := valid_product_#res#1;assume { :end_inline_valid_product } true;main_~tmp~9#1 := main_#t~ret24#1;havoc main_#t~ret24#1; 393683#L1277 assume 0 != main_~tmp~9#1;assume { :begin_inline_setup } true; 391642#L1250 assume { :end_inline_setup } true;assume { :begin_inline_runTest } true;assume { :begin_inline_test } true;assume { :begin_inline_aliceCall } true;havoc aliceCall_#t~ret13#1, aliceCall_~tmp~2#1;havoc aliceCall_~tmp~2#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 1;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~1#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~1#1; 384907#L95 assume !(0 == getOrigin_~person#1); 381225#L99 assume !(1 == getOrigin_~person#1); 381227#L103 assume 2 == getOrigin_~person#1;getOrigin_~retValue_acc~1#1 := 2;getOrigin_#res#1 := getOrigin_~retValue_acc~1#1; 384582#L120 aliceCall_#t~ret13#1 := getOrigin_#res#1;assume { :end_inline_getOrigin } true;aliceCall_~tmp~2#1 := aliceCall_#t~ret13#1;havoc aliceCall_#t~ret13#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 1, aliceCall_~tmp~2#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 395272#L530 assume 0 == initPersonOnFloor_~floor#1; 395739#L531 assume 0 == initPersonOnFloor_~person#1;~personOnFloor_0_0~0 := 1; 379637#L638-1 assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 396388#L322 assume 0 == callOnFloor_~floorID#1;~calls_0~0 := 1; 379867#L334-2 assume { :end_inline_callOnFloor } true; 396115#L674 assume { :end_inline_initPersonOnFloor } true; 396352#L1006 assume { :end_inline_aliceCall } true;assume { :begin_inline_angelinaCall } true;havoc angelinaCall_#t~ret14#1, angelinaCall_~tmp~3#1;havoc angelinaCall_~tmp~3#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 2;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~1#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~1#1; 379714#L95-1 assume !(0 == getOrigin_~person#1); 379715#L99-1 assume !(1 == getOrigin_~person#1); 391989#L103-1 assume 2 == getOrigin_~person#1;getOrigin_~retValue_acc~1#1 := 2;getOrigin_#res#1 := getOrigin_~retValue_acc~1#1; 380470#L120-1 angelinaCall_#t~ret14#1 := getOrigin_#res#1;assume { :end_inline_getOrigin } true;angelinaCall_~tmp~3#1 := angelinaCall_#t~ret14#1;havoc angelinaCall_#t~ret14#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 2, angelinaCall_~tmp~3#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 396845#L530-1 assume 0 == initPersonOnFloor_~floor#1; 396344#L531-2 assume 0 == initPersonOnFloor_~person#1;~personOnFloor_0_0~0 := 1; 380000#L638-3 assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 385780#L322-2 assume 0 == callOnFloor_~floorID#1;~calls_0~0 := 1; 380544#L334-5 assume { :end_inline_callOnFloor } true; 388098#L674-1 assume { :end_inline_initPersonOnFloor } true; 389603#L1017 assume { :end_inline_angelinaCall } true;assume { :begin_inline_threeTS } true;assume { :begin_inline_timeShift } true;havoc timeShift_#t~ret84#1, timeShift_~tmp~24#1;havoc timeShift_~tmp~24#1;assume { :begin_inline___utac_acc__Specification13_spec__1 } true;havoc __utac_acc__Specification13_spec__1_#t~ret4#1;assume { :begin_inline_getCurrentHeading } true;havoc getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~12#1;havoc getCurrentHeading_~retValue_acc~12#1;getCurrentHeading_~retValue_acc~12#1 := ~currentHeading~0;getCurrentHeading_#res#1 := getCurrentHeading_~retValue_acc~12#1; 388432#L1680 __utac_acc__Specification13_spec__1_#t~ret4#1 := getCurrentHeading_#res#1;assume { :end_inline_getCurrentHeading } true;~prevDir~0 := __utac_acc__Specification13_spec__1_#t~ret4#1;havoc __utac_acc__Specification13_spec__1_#t~ret4#1; 388433#L851 assume { :end_inline___utac_acc__Specification13_spec__1 } true;assume { :begin_inline_areDoorsOpen } true;havoc areDoorsOpen_#res#1;havoc areDoorsOpen_~retValue_acc~10#1;havoc areDoorsOpen_~retValue_acc~10#1;areDoorsOpen_~retValue_acc~10#1 := ~doorState~0;areDoorsOpen_#res#1 := areDoorsOpen_~retValue_acc~10#1; 397389#L1637 timeShift_#t~ret84#1 := areDoorsOpen_#res#1;assume { :end_inline_areDoorsOpen } true;timeShift_~tmp~24#1 := timeShift_#t~ret84#1;havoc timeShift_#t~ret84#1; 384901#L2587 assume 0 != timeShift_~tmp~24#1; 384902#L2588 assume ~weight~0 > ~maximumWeight~0;~blocked~0 := 1; 386474#L2587-1 assume { :begin_inline___utac_acc__Specification13_spec__2 } true;havoc __utac_acc__Specification13_spec__2_#t~ret5#1, __utac_acc__Specification13_spec__2_#t~ret6#1, __utac_acc__Specification13_spec__2_#t~ret7#1, __utac_acc__Specification13_spec__2_#t~ret8#1, __utac_acc__Specification13_spec__2_#t~ret9#1, __utac_acc__Specification13_spec__2_#t~ret10#1, __utac_acc__Specification13_spec__2_~tmp~0#1, __utac_acc__Specification13_spec__2_~tmp___0~0#1, __utac_acc__Specification13_spec__2_~tmp___1~0#1, __utac_acc__Specification13_spec__2_~tmp___2~0#1, __utac_acc__Specification13_spec__2_~tmp___3~0#1, __utac_acc__Specification13_spec__2_~tmp___4~0#1, __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1, __utac_acc__Specification13_spec__2_~__cil_tmp8~0#1;havoc __utac_acc__Specification13_spec__2_~tmp~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___0~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___1~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___2~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___3~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___4~0#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp8~0#1;__utac_acc__Specification13_spec__2_~__cil_tmp7~0#1 := 2 * ~maximumWeight~0;__utac_acc__Specification13_spec__2_~__cil_tmp8~0#1 := (if __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1 < 0 && 0 != __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1 % 3 then 1 + __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1 / 3 else __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1 / 3); 389188#L869 assume ~weight~0 > __utac_acc__Specification13_spec__2_~__cil_tmp8~0#1; 387007#L870 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~22#1, existInLiftCallsInDirection_~i~3#1, existInLiftCallsInDirection_~i___0~0#1;existInLiftCallsInDirection_~d#1 := existInLiftCallsInDirection_#in~d#1;havoc existInLiftCallsInDirection_~retValue_acc~22#1;havoc existInLiftCallsInDirection_~i~3#1;havoc existInLiftCallsInDirection_~i___0~0#1; 387008#L2807 assume !(1 == existInLiftCallsInDirection_~d#1); 389231#L2873 assume 0 == existInLiftCallsInDirection_~d#1;existInLiftCallsInDirection_~i___0~0#1 := 0;existInLiftCallsInDirection_~i___0~0#1 := ~currentFloorID~0 - 1; 389232#L2877-2 [2022-07-23 15:10:27,046 INFO L754 eck$LassoCheckResult]: Loop: 389232#L2877-2 assume !false; 385731#L2878 assume existInLiftCallsInDirection_~i___0~0#1 >= 0; 385732#L2879 existInLiftCallsInDirection_~i___0~0#1 := 1 + ~currentFloorID~0; 384015#L2886-2 assume !false; 384016#L2887 assume !(existInLiftCallsInDirection_~i___0~0#1 < 5); 384981#L2945 existInLiftCallsInDirection_~i___0~0#1 := existInLiftCallsInDirection_~i___0~0#1 - 1; 389232#L2877-2 [2022-07-23 15:10:27,046 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 15:10:27,046 INFO L85 PathProgramCache]: Analyzing trace with hash 1378400671, now seen corresponding path program 1 times [2022-07-23 15:10:27,046 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 15:10:27,046 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1678768585] [2022-07-23 15:10:27,047 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 15:10:27,047 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 15:10:27,072 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-23 15:10:27,099 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-07-23 15:10:27,100 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-23 15:10:27,100 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1678768585] [2022-07-23 15:10:27,100 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1678768585] provided 1 perfect and 0 imperfect interpolant sequences [2022-07-23 15:10:27,100 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-07-23 15:10:27,101 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-07-23 15:10:27,101 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1326881723] [2022-07-23 15:10:27,101 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-07-23 15:10:27,102 INFO L757 eck$LassoCheckResult]: stem already infeasible [2022-07-23 15:10:27,102 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 15:10:27,102 INFO L85 PathProgramCache]: Analyzing trace with hash 2078933803, now seen corresponding path program 2 times [2022-07-23 15:10:27,102 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 15:10:27,102 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1115401112] [2022-07-23 15:10:27,102 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 15:10:27,103 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 15:10:27,109 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 15:10:27,109 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-23 15:10:27,114 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 15:10:27,121 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-23 15:10:27,136 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-23 15:10:27,138 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-07-23 15:10:27,138 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-07-23 15:10:27,139 INFO L87 Difference]: Start difference. First operand 17944 states and 33614 transitions. cyclomatic complexity: 15704 Second operand has 3 states, 3 states have (on average 13.0) internal successors, (39), 3 states have internal predecessors, (39), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-23 15:10:27,669 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-23 15:10:27,670 INFO L93 Difference]: Finished difference Result 35709 states and 66901 transitions. [2022-07-23 15:10:27,670 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-07-23 15:10:27,671 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 35709 states and 66901 transitions. [2022-07-23 15:10:27,799 INFO L131 ngComponentsAnalysis]: Automaton has 66 accepting balls. 8144 [2022-07-23 15:10:27,916 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 35709 states to 35709 states and 66901 transitions. [2022-07-23 15:10:27,916 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 35671 [2022-07-23 15:10:27,941 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 35671 [2022-07-23 15:10:27,941 INFO L73 IsDeterministic]: Start isDeterministic. Operand 35709 states and 66901 transitions. [2022-07-23 15:10:27,942 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-23 15:10:27,942 INFO L369 hiAutomatonCegarLoop]: Abstraction has 35709 states and 66901 transitions. [2022-07-23 15:10:27,971 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 35709 states and 66901 transitions. [2022-07-23 15:10:28,189 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 35709 to 17910. [2022-07-23 15:10:28,212 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17910 states, 17910 states have (on average 1.8730318257956449) internal successors, (33546), 17909 states have internal predecessors, (33546), 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) [2022-07-23 15:10:28,248 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17910 states to 17910 states and 33546 transitions. [2022-07-23 15:10:28,249 INFO L392 hiAutomatonCegarLoop]: Abstraction has 17910 states and 33546 transitions. [2022-07-23 15:10:28,249 INFO L374 stractBuchiCegarLoop]: Abstraction has 17910 states and 33546 transitions. [2022-07-23 15:10:28,249 INFO L287 stractBuchiCegarLoop]: ======== Iteration 4 ============ [2022-07-23 15:10:28,249 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 17910 states and 33546 transitions. [2022-07-23 15:10:28,298 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 4072 [2022-07-23 15:10:28,298 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-23 15:10:28,298 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-23 15:10:28,299 INFO L179 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] [2022-07-23 15:10:28,299 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1] [2022-07-23 15:10:28,299 INFO L752 eck$LassoCheckResult]: Stem: 445560#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(32, 2);call #Ultimate.allocInit(12, 3);call #Ultimate.allocInit(10, 4);call #Ultimate.allocInit(4, 5);call write~init~int(91, 5, 0, 1);call write~init~int(95, 5, 1, 1);call write~init~int(93, 5, 2, 1);call write~init~int(0, 5, 3, 1);call #Ultimate.allocInit(4, 6);call write~init~int(91, 6, 0, 1);call write~init~int(93, 6, 1, 1);call write~init~int(32, 6, 2, 1);call write~init~int(0, 6, 3, 1);call #Ultimate.allocInit(5, 7);call write~init~int(32, 7, 0, 1);call write~init~int(97, 7, 1, 1);call write~init~int(116, 7, 2, 1);call write~init~int(32, 7, 3, 1);call write~init~int(0, 7, 4, 1);call #Ultimate.allocInit(3, 8);call write~init~int(37, 8, 0, 1);call write~init~int(105, 8, 1, 1);call write~init~int(0, 8, 2, 1);call #Ultimate.allocInit(10, 9);call #Ultimate.allocInit(3, 10);call write~init~int(117, 10, 0, 1);call write~init~int(112, 10, 1, 1);call write~init~int(0, 10, 2, 1);call #Ultimate.allocInit(5, 11);call write~init~int(100, 11, 0, 1);call write~init~int(111, 11, 1, 1);call write~init~int(119, 11, 2, 1);call write~init~int(110, 11, 3, 1);call write~init~int(0, 11, 4, 1);call #Ultimate.allocInit(7, 12);call write~init~int(32, 12, 0, 1);call write~init~int(73, 12, 1, 1);call write~init~int(76, 12, 2, 1);call write~init~int(95, 12, 3, 1);call write~init~int(112, 12, 4, 1);call write~init~int(58, 12, 5, 1);call write~init~int(0, 12, 6, 1);call #Ultimate.allocInit(4, 13);call write~init~int(32, 13, 0, 1);call write~init~int(37, 13, 1, 1);call write~init~int(105, 13, 2, 1);call write~init~int(0, 13, 3, 1);call #Ultimate.allocInit(4, 14);call write~init~int(32, 14, 0, 1);call write~init~int(37, 14, 1, 1);call write~init~int(105, 14, 2, 1);call write~init~int(0, 14, 3, 1);call #Ultimate.allocInit(4, 15);call write~init~int(32, 15, 0, 1);call write~init~int(37, 15, 1, 1);call write~init~int(105, 15, 2, 1);call write~init~int(0, 15, 3, 1);call #Ultimate.allocInit(4, 16);call write~init~int(32, 16, 0, 1);call write~init~int(37, 16, 1, 1);call write~init~int(105, 16, 2, 1);call write~init~int(0, 16, 3, 1);call #Ultimate.allocInit(4, 17);call write~init~int(32, 17, 0, 1);call write~init~int(37, 17, 1, 1);call write~init~int(105, 17, 2, 1);call write~init~int(0, 17, 3, 1);call #Ultimate.allocInit(6, 18);call write~init~int(32, 18, 0, 1);call write~init~int(70, 18, 1, 1);call write~init~int(95, 18, 2, 1);call write~init~int(112, 18, 3, 1);call write~init~int(58, 18, 4, 1);call write~init~int(0, 18, 5, 1);call #Ultimate.allocInit(4, 19);call write~init~int(32, 19, 0, 1);call write~init~int(37, 19, 1, 1);call write~init~int(105, 19, 2, 1);call write~init~int(0, 19, 3, 1);call #Ultimate.allocInit(4, 20);call write~init~int(32, 20, 0, 1);call write~init~int(37, 20, 1, 1);call write~init~int(105, 20, 2, 1);call write~init~int(0, 20, 3, 1);call #Ultimate.allocInit(4, 21);call write~init~int(32, 21, 0, 1);call write~init~int(37, 21, 1, 1);call write~init~int(105, 21, 2, 1);call write~init~int(0, 21, 3, 1);call #Ultimate.allocInit(4, 22);call write~init~int(32, 22, 0, 1);call write~init~int(37, 22, 1, 1);call write~init~int(105, 22, 2, 1);call write~init~int(0, 22, 3, 1);call #Ultimate.allocInit(4, 23);call write~init~int(32, 23, 0, 1);call write~init~int(37, 23, 1, 1);call write~init~int(105, 23, 2, 1);call write~init~int(0, 23, 3, 1);call #Ultimate.allocInit(2, 24);call write~init~int(10, 24, 0, 1);call write~init~int(0, 24, 1, 1);call #Ultimate.allocInit(9, 25);call #Ultimate.allocInit(30, 26);call #Ultimate.allocInit(9, 27);call #Ultimate.allocInit(21, 28);call #Ultimate.allocInit(30, 29);call #Ultimate.allocInit(9, 30);call #Ultimate.allocInit(21, 31);call #Ultimate.allocInit(30, 32);call #Ultimate.allocInit(9, 33);call #Ultimate.allocInit(25, 34);call #Ultimate.allocInit(30, 35);call #Ultimate.allocInit(9, 36);call #Ultimate.allocInit(25, 37);~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;~weight~0 := 0;~maximumWeight~0 := 100;~blocked~0 := 0;~prevDir~0 := 0;~cleanupTimeShifts~0 := 12;~currentHeading~0 := 1;~currentFloorID~0 := 0;~persons_0~0 := 0;~persons_1~0 := 0;~persons_2~0 := 0;~persons_3~0 := 0;~persons_4~0 := 0;~persons_5~0 := 0;~doorState~0 := 1;~floorButtons_0~0 := 0;~floorButtons_1~0 := 0;~floorButtons_2~0 := 0;~floorButtons_3~0 := 0;~floorButtons_4~0 := 0;~head~0.base, ~head~0.offset := 0, 0; 441736#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret24#1, main_~retValue_acc~7#1, main_~tmp~9#1;havoc main_~retValue_acc~7#1;havoc main_~tmp~9#1;assume { :begin_inline_select_helpers } true; 441137#L2983 assume { :end_inline_select_helpers } true;assume { :begin_inline_select_features } true; 441138#L2976 assume { :end_inline_select_features } true;assume { :begin_inline_valid_product } true;havoc valid_product_#res#1;havoc valid_product_~retValue_acc~24#1;havoc valid_product_~retValue_acc~24#1;valid_product_~retValue_acc~24#1 := 1;valid_product_#res#1 := valid_product_~retValue_acc~24#1; 447753#L2991 main_#t~ret24#1 := valid_product_#res#1;assume { :end_inline_valid_product } true;main_~tmp~9#1 := main_#t~ret24#1;havoc main_#t~ret24#1; 447324#L1277 assume 0 != main_~tmp~9#1;assume { :begin_inline_setup } true; 445283#L1250 assume { :end_inline_setup } true;assume { :begin_inline_runTest } true;assume { :begin_inline_test } true;assume { :begin_inline_aliceCall } true;havoc aliceCall_#t~ret13#1, aliceCall_~tmp~2#1;havoc aliceCall_~tmp~2#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 1;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~1#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~1#1; 438558#L95 assume !(0 == getOrigin_~person#1); 434882#L99 assume 1 == getOrigin_~person#1;getOrigin_~retValue_acc~1#1 := 3;getOrigin_#res#1 := getOrigin_~retValue_acc~1#1; 434883#L120 aliceCall_#t~ret13#1 := getOrigin_#res#1;assume { :end_inline_getOrigin } true;aliceCall_~tmp~2#1 := aliceCall_#t~ret13#1;havoc aliceCall_#t~ret13#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 1, aliceCall_~tmp~2#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 448910#L530 assume !(0 == initPersonOnFloor_~floor#1); 449658#L557 assume !(1 == initPersonOnFloor_~floor#1); 436861#L584 assume !(2 == initPersonOnFloor_~floor#1); 436862#L611 assume 3 == initPersonOnFloor_~floor#1; 448376#L612 assume 0 == initPersonOnFloor_~person#1;~personOnFloor_0_3~0 := 1; 433296#L638-1 assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 450018#L322 assume 0 == callOnFloor_~floorID#1;~calls_0~0 := 1; 433526#L334-2 assume { :end_inline_callOnFloor } true; 449749#L674 assume { :end_inline_initPersonOnFloor } true; 449982#L1006 assume { :end_inline_aliceCall } true;assume { :begin_inline_angelinaCall } true;havoc angelinaCall_#t~ret14#1, angelinaCall_~tmp~3#1;havoc angelinaCall_~tmp~3#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 2;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~1#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~1#1; 433373#L95-1 assume !(0 == getOrigin_~person#1); 433374#L99-1 assume !(1 == getOrigin_~person#1); 445630#L103-1 assume 2 == getOrigin_~person#1;getOrigin_~retValue_acc~1#1 := 2;getOrigin_#res#1 := getOrigin_~retValue_acc~1#1; 434127#L120-1 angelinaCall_#t~ret14#1 := getOrigin_#res#1;assume { :end_inline_getOrigin } true;angelinaCall_~tmp~3#1 := angelinaCall_#t~ret14#1;havoc angelinaCall_#t~ret14#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 2, angelinaCall_~tmp~3#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 451056#L530-1 assume 0 == initPersonOnFloor_~floor#1; 449976#L531-2 assume 0 == initPersonOnFloor_~person#1;~personOnFloor_0_0~0 := 1; 433659#L638-3 assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 439429#L322-2 assume 0 == callOnFloor_~floorID#1;~calls_0~0 := 1; 434201#L334-5 assume { :end_inline_callOnFloor } true; 441743#L674-1 assume { :end_inline_initPersonOnFloor } true; 443246#L1017 assume { :end_inline_angelinaCall } true;assume { :begin_inline_threeTS } true;assume { :begin_inline_timeShift } true;havoc timeShift_#t~ret84#1, timeShift_~tmp~24#1;havoc timeShift_~tmp~24#1;assume { :begin_inline___utac_acc__Specification13_spec__1 } true;havoc __utac_acc__Specification13_spec__1_#t~ret4#1;assume { :begin_inline_getCurrentHeading } true;havoc getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~12#1;havoc getCurrentHeading_~retValue_acc~12#1;getCurrentHeading_~retValue_acc~12#1 := ~currentHeading~0;getCurrentHeading_#res#1 := getCurrentHeading_~retValue_acc~12#1; 442077#L1680 __utac_acc__Specification13_spec__1_#t~ret4#1 := getCurrentHeading_#res#1;assume { :end_inline_getCurrentHeading } true;~prevDir~0 := __utac_acc__Specification13_spec__1_#t~ret4#1;havoc __utac_acc__Specification13_spec__1_#t~ret4#1; 442078#L851 assume { :end_inline___utac_acc__Specification13_spec__1 } true;assume { :begin_inline_areDoorsOpen } true;havoc areDoorsOpen_#res#1;havoc areDoorsOpen_~retValue_acc~10#1;havoc areDoorsOpen_~retValue_acc~10#1;areDoorsOpen_~retValue_acc~10#1 := ~doorState~0;areDoorsOpen_#res#1 := areDoorsOpen_~retValue_acc~10#1; 451017#L1637 timeShift_#t~ret84#1 := areDoorsOpen_#res#1;assume { :end_inline_areDoorsOpen } true;timeShift_~tmp~24#1 := timeShift_#t~ret84#1;havoc timeShift_#t~ret84#1; 438552#L2587 assume 0 != timeShift_~tmp~24#1; 438553#L2588 assume ~weight~0 > ~maximumWeight~0;~blocked~0 := 1; 440121#L2587-1 assume { :begin_inline___utac_acc__Specification13_spec__2 } true;havoc __utac_acc__Specification13_spec__2_#t~ret5#1, __utac_acc__Specification13_spec__2_#t~ret6#1, __utac_acc__Specification13_spec__2_#t~ret7#1, __utac_acc__Specification13_spec__2_#t~ret8#1, __utac_acc__Specification13_spec__2_#t~ret9#1, __utac_acc__Specification13_spec__2_#t~ret10#1, __utac_acc__Specification13_spec__2_~tmp~0#1, __utac_acc__Specification13_spec__2_~tmp___0~0#1, __utac_acc__Specification13_spec__2_~tmp___1~0#1, __utac_acc__Specification13_spec__2_~tmp___2~0#1, __utac_acc__Specification13_spec__2_~tmp___3~0#1, __utac_acc__Specification13_spec__2_~tmp___4~0#1, __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1, __utac_acc__Specification13_spec__2_~__cil_tmp8~0#1;havoc __utac_acc__Specification13_spec__2_~tmp~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___0~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___1~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___2~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___3~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___4~0#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp8~0#1;__utac_acc__Specification13_spec__2_~__cil_tmp7~0#1 := 2 * ~maximumWeight~0;__utac_acc__Specification13_spec__2_~__cil_tmp8~0#1 := (if __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1 < 0 && 0 != __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1 % 3 then 1 + __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1 / 3 else __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1 / 3); 442831#L869 assume ~weight~0 > __utac_acc__Specification13_spec__2_~__cil_tmp8~0#1; 440654#L870 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~22#1, existInLiftCallsInDirection_~i~3#1, existInLiftCallsInDirection_~i___0~0#1;existInLiftCallsInDirection_~d#1 := existInLiftCallsInDirection_#in~d#1;havoc existInLiftCallsInDirection_~retValue_acc~22#1;havoc existInLiftCallsInDirection_~i~3#1;havoc existInLiftCallsInDirection_~i___0~0#1; 440655#L2807 assume !(1 == existInLiftCallsInDirection_~d#1); 442874#L2873 assume 0 == existInLiftCallsInDirection_~d#1;existInLiftCallsInDirection_~i___0~0#1 := 0;existInLiftCallsInDirection_~i___0~0#1 := ~currentFloorID~0 - 1; 442875#L2877-2 [2022-07-23 15:10:28,300 INFO L754 eck$LassoCheckResult]: Loop: 442875#L2877-2 assume !false; 439380#L2878 assume existInLiftCallsInDirection_~i___0~0#1 >= 0; 439381#L2879 existInLiftCallsInDirection_~i___0~0#1 := 1 + ~currentFloorID~0; 437669#L2886-2 assume !false; 437670#L2887 assume !(existInLiftCallsInDirection_~i___0~0#1 < 5); 438632#L2945 existInLiftCallsInDirection_~i___0~0#1 := existInLiftCallsInDirection_~i___0~0#1 - 1; 442875#L2877-2 [2022-07-23 15:10:28,300 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 15:10:28,300 INFO L85 PathProgramCache]: Analyzing trace with hash 368657234, now seen corresponding path program 1 times [2022-07-23 15:10:28,300 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 15:10:28,300 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [588661290] [2022-07-23 15:10:28,300 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 15:10:28,301 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 15:10:28,310 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-23 15:10:28,333 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-07-23 15:10:28,334 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-23 15:10:28,334 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [588661290] [2022-07-23 15:10:28,334 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [588661290] provided 1 perfect and 0 imperfect interpolant sequences [2022-07-23 15:10:28,334 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-07-23 15:10:28,334 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-07-23 15:10:28,334 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1507470004] [2022-07-23 15:10:28,334 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-07-23 15:10:28,335 INFO L757 eck$LassoCheckResult]: stem already infeasible [2022-07-23 15:10:28,335 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 15:10:28,335 INFO L85 PathProgramCache]: Analyzing trace with hash 2078933803, now seen corresponding path program 3 times [2022-07-23 15:10:28,335 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 15:10:28,336 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1311432497] [2022-07-23 15:10:28,336 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 15:10:28,336 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 15:10:28,339 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 15:10:28,339 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-23 15:10:28,340 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 15:10:28,342 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-23 15:10:28,358 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-23 15:10:28,358 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-07-23 15:10:28,359 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-07-23 15:10:28,359 INFO L87 Difference]: Start difference. First operand 17910 states and 33546 transitions. cyclomatic complexity: 15670 Second operand has 5 states, 5 states have (on average 8.2) internal successors, (41), 5 states have internal predecessors, (41), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-23 15:10:28,905 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-23 15:10:28,906 INFO L93 Difference]: Finished difference Result 25046 states and 46910 transitions. [2022-07-23 15:10:28,906 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-07-23 15:10:28,907 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 25046 states and 46910 transitions. [2022-07-23 15:10:29,010 INFO L131 ngComponentsAnalysis]: Automaton has 42 accepting balls. 7780 [2022-07-23 15:10:29,093 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 25046 states to 25046 states and 46910 transitions. [2022-07-23 15:10:29,094 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 25027 [2022-07-23 15:10:29,114 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 25027 [2022-07-23 15:10:29,115 INFO L73 IsDeterministic]: Start isDeterministic. Operand 25046 states and 46910 transitions. [2022-07-23 15:10:29,134 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-23 15:10:29,134 INFO L369 hiAutomatonCegarLoop]: Abstraction has 25046 states and 46910 transitions. [2022-07-23 15:10:29,162 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 25046 states and 46910 transitions. [2022-07-23 15:10:29,351 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 25046 to 17910. [2022-07-23 15:10:29,374 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17910 states, 17910 states have (on average 1.8726968174204355) internal successors, (33540), 17909 states have internal predecessors, (33540), 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) [2022-07-23 15:10:29,410 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17910 states to 17910 states and 33540 transitions. [2022-07-23 15:10:29,410 INFO L392 hiAutomatonCegarLoop]: Abstraction has 17910 states and 33540 transitions. [2022-07-23 15:10:29,410 INFO L374 stractBuchiCegarLoop]: Abstraction has 17910 states and 33540 transitions. [2022-07-23 15:10:29,411 INFO L287 stractBuchiCegarLoop]: ======== Iteration 5 ============ [2022-07-23 15:10:29,411 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 17910 states and 33540 transitions. [2022-07-23 15:10:29,460 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 4072 [2022-07-23 15:10:29,460 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-23 15:10:29,460 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-23 15:10:29,461 INFO L179 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] [2022-07-23 15:10:29,461 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1] [2022-07-23 15:10:29,461 INFO L752 eck$LassoCheckResult]: Stem: 488528#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(32, 2);call #Ultimate.allocInit(12, 3);call #Ultimate.allocInit(10, 4);call #Ultimate.allocInit(4, 5);call write~init~int(91, 5, 0, 1);call write~init~int(95, 5, 1, 1);call write~init~int(93, 5, 2, 1);call write~init~int(0, 5, 3, 1);call #Ultimate.allocInit(4, 6);call write~init~int(91, 6, 0, 1);call write~init~int(93, 6, 1, 1);call write~init~int(32, 6, 2, 1);call write~init~int(0, 6, 3, 1);call #Ultimate.allocInit(5, 7);call write~init~int(32, 7, 0, 1);call write~init~int(97, 7, 1, 1);call write~init~int(116, 7, 2, 1);call write~init~int(32, 7, 3, 1);call write~init~int(0, 7, 4, 1);call #Ultimate.allocInit(3, 8);call write~init~int(37, 8, 0, 1);call write~init~int(105, 8, 1, 1);call write~init~int(0, 8, 2, 1);call #Ultimate.allocInit(10, 9);call #Ultimate.allocInit(3, 10);call write~init~int(117, 10, 0, 1);call write~init~int(112, 10, 1, 1);call write~init~int(0, 10, 2, 1);call #Ultimate.allocInit(5, 11);call write~init~int(100, 11, 0, 1);call write~init~int(111, 11, 1, 1);call write~init~int(119, 11, 2, 1);call write~init~int(110, 11, 3, 1);call write~init~int(0, 11, 4, 1);call #Ultimate.allocInit(7, 12);call write~init~int(32, 12, 0, 1);call write~init~int(73, 12, 1, 1);call write~init~int(76, 12, 2, 1);call write~init~int(95, 12, 3, 1);call write~init~int(112, 12, 4, 1);call write~init~int(58, 12, 5, 1);call write~init~int(0, 12, 6, 1);call #Ultimate.allocInit(4, 13);call write~init~int(32, 13, 0, 1);call write~init~int(37, 13, 1, 1);call write~init~int(105, 13, 2, 1);call write~init~int(0, 13, 3, 1);call #Ultimate.allocInit(4, 14);call write~init~int(32, 14, 0, 1);call write~init~int(37, 14, 1, 1);call write~init~int(105, 14, 2, 1);call write~init~int(0, 14, 3, 1);call #Ultimate.allocInit(4, 15);call write~init~int(32, 15, 0, 1);call write~init~int(37, 15, 1, 1);call write~init~int(105, 15, 2, 1);call write~init~int(0, 15, 3, 1);call #Ultimate.allocInit(4, 16);call write~init~int(32, 16, 0, 1);call write~init~int(37, 16, 1, 1);call write~init~int(105, 16, 2, 1);call write~init~int(0, 16, 3, 1);call #Ultimate.allocInit(4, 17);call write~init~int(32, 17, 0, 1);call write~init~int(37, 17, 1, 1);call write~init~int(105, 17, 2, 1);call write~init~int(0, 17, 3, 1);call #Ultimate.allocInit(6, 18);call write~init~int(32, 18, 0, 1);call write~init~int(70, 18, 1, 1);call write~init~int(95, 18, 2, 1);call write~init~int(112, 18, 3, 1);call write~init~int(58, 18, 4, 1);call write~init~int(0, 18, 5, 1);call #Ultimate.allocInit(4, 19);call write~init~int(32, 19, 0, 1);call write~init~int(37, 19, 1, 1);call write~init~int(105, 19, 2, 1);call write~init~int(0, 19, 3, 1);call #Ultimate.allocInit(4, 20);call write~init~int(32, 20, 0, 1);call write~init~int(37, 20, 1, 1);call write~init~int(105, 20, 2, 1);call write~init~int(0, 20, 3, 1);call #Ultimate.allocInit(4, 21);call write~init~int(32, 21, 0, 1);call write~init~int(37, 21, 1, 1);call write~init~int(105, 21, 2, 1);call write~init~int(0, 21, 3, 1);call #Ultimate.allocInit(4, 22);call write~init~int(32, 22, 0, 1);call write~init~int(37, 22, 1, 1);call write~init~int(105, 22, 2, 1);call write~init~int(0, 22, 3, 1);call #Ultimate.allocInit(4, 23);call write~init~int(32, 23, 0, 1);call write~init~int(37, 23, 1, 1);call write~init~int(105, 23, 2, 1);call write~init~int(0, 23, 3, 1);call #Ultimate.allocInit(2, 24);call write~init~int(10, 24, 0, 1);call write~init~int(0, 24, 1, 1);call #Ultimate.allocInit(9, 25);call #Ultimate.allocInit(30, 26);call #Ultimate.allocInit(9, 27);call #Ultimate.allocInit(21, 28);call #Ultimate.allocInit(30, 29);call #Ultimate.allocInit(9, 30);call #Ultimate.allocInit(21, 31);call #Ultimate.allocInit(30, 32);call #Ultimate.allocInit(9, 33);call #Ultimate.allocInit(25, 34);call #Ultimate.allocInit(30, 35);call #Ultimate.allocInit(9, 36);call #Ultimate.allocInit(25, 37);~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;~weight~0 := 0;~maximumWeight~0 := 100;~blocked~0 := 0;~prevDir~0 := 0;~cleanupTimeShifts~0 := 12;~currentHeading~0 := 1;~currentFloorID~0 := 0;~persons_0~0 := 0;~persons_1~0 := 0;~persons_2~0 := 0;~persons_3~0 := 0;~persons_4~0 := 0;~persons_5~0 := 0;~doorState~0 := 1;~floorButtons_0~0 := 0;~floorButtons_1~0 := 0;~floorButtons_2~0 := 0;~floorButtons_3~0 := 0;~floorButtons_4~0 := 0;~head~0.base, ~head~0.offset := 0, 0; 484704#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret24#1, main_~retValue_acc~7#1, main_~tmp~9#1;havoc main_~retValue_acc~7#1;havoc main_~tmp~9#1;assume { :begin_inline_select_helpers } true; 484105#L2983 assume { :end_inline_select_helpers } true;assume { :begin_inline_select_features } true; 484106#L2976 assume { :end_inline_select_features } true;assume { :begin_inline_valid_product } true;havoc valid_product_#res#1;havoc valid_product_~retValue_acc~24#1;havoc valid_product_~retValue_acc~24#1;valid_product_~retValue_acc~24#1 := 1;valid_product_#res#1 := valid_product_~retValue_acc~24#1; 490722#L2991 main_#t~ret24#1 := valid_product_#res#1;assume { :end_inline_valid_product } true;main_~tmp~9#1 := main_#t~ret24#1;havoc main_#t~ret24#1; 490292#L1277 assume 0 != main_~tmp~9#1;assume { :begin_inline_setup } true; 488251#L1250 assume { :end_inline_setup } true;assume { :begin_inline_runTest } true;assume { :begin_inline_test } true;assume { :begin_inline_aliceCall } true;havoc aliceCall_#t~ret13#1, aliceCall_~tmp~2#1;havoc aliceCall_~tmp~2#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 1;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~1#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~1#1; 481527#L95 assume !(0 == getOrigin_~person#1); 477854#L99 assume 1 == getOrigin_~person#1;getOrigin_~retValue_acc~1#1 := 3;getOrigin_#res#1 := getOrigin_~retValue_acc~1#1; 477855#L120 aliceCall_#t~ret13#1 := getOrigin_#res#1;assume { :end_inline_getOrigin } true;aliceCall_~tmp~2#1 := aliceCall_#t~ret13#1;havoc aliceCall_#t~ret13#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 1, aliceCall_~tmp~2#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 491879#L530 assume !(0 == initPersonOnFloor_~floor#1); 492627#L557 assume !(1 == initPersonOnFloor_~floor#1); 479830#L584 assume !(2 == initPersonOnFloor_~floor#1); 479831#L611 assume 3 == initPersonOnFloor_~floor#1; 491345#L612 assume !(0 == initPersonOnFloor_~person#1); 491346#L615 assume 1 == initPersonOnFloor_~person#1;~personOnFloor_1_3~0 := 1; 476265#L638-1 assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 492987#L322 assume 0 == callOnFloor_~floorID#1;~calls_0~0 := 1; 476495#L334-2 assume { :end_inline_callOnFloor } true; 492718#L674 assume { :end_inline_initPersonOnFloor } true; 492951#L1006 assume { :end_inline_aliceCall } true;assume { :begin_inline_angelinaCall } true;havoc angelinaCall_#t~ret14#1, angelinaCall_~tmp~3#1;havoc angelinaCall_~tmp~3#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 2;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~1#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~1#1; 476342#L95-1 assume !(0 == getOrigin_~person#1); 476343#L99-1 assume !(1 == getOrigin_~person#1); 488598#L103-1 assume 2 == getOrigin_~person#1;getOrigin_~retValue_acc~1#1 := 2;getOrigin_#res#1 := getOrigin_~retValue_acc~1#1; 477096#L120-1 angelinaCall_#t~ret14#1 := getOrigin_#res#1;assume { :end_inline_getOrigin } true;angelinaCall_~tmp~3#1 := angelinaCall_#t~ret14#1;havoc angelinaCall_#t~ret14#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 2, angelinaCall_~tmp~3#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 494026#L530-1 assume 0 == initPersonOnFloor_~floor#1; 492945#L531-2 assume !(0 == initPersonOnFloor_~person#1); 492780#L534-2 assume 1 == initPersonOnFloor_~person#1;~personOnFloor_1_0~0 := 1; 476628#L638-3 assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 482398#L322-2 assume 0 == callOnFloor_~floorID#1;~calls_0~0 := 1; 477170#L334-5 assume { :end_inline_callOnFloor } true; 484711#L674-1 assume { :end_inline_initPersonOnFloor } true; 486214#L1017 assume { :end_inline_angelinaCall } true;assume { :begin_inline_threeTS } true;assume { :begin_inline_timeShift } true;havoc timeShift_#t~ret84#1, timeShift_~tmp~24#1;havoc timeShift_~tmp~24#1;assume { :begin_inline___utac_acc__Specification13_spec__1 } true;havoc __utac_acc__Specification13_spec__1_#t~ret4#1;assume { :begin_inline_getCurrentHeading } true;havoc getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~12#1;havoc getCurrentHeading_~retValue_acc~12#1;getCurrentHeading_~retValue_acc~12#1 := ~currentHeading~0;getCurrentHeading_#res#1 := getCurrentHeading_~retValue_acc~12#1; 485045#L1680 __utac_acc__Specification13_spec__1_#t~ret4#1 := getCurrentHeading_#res#1;assume { :end_inline_getCurrentHeading } true;~prevDir~0 := __utac_acc__Specification13_spec__1_#t~ret4#1;havoc __utac_acc__Specification13_spec__1_#t~ret4#1; 485046#L851 assume { :end_inline___utac_acc__Specification13_spec__1 } true;assume { :begin_inline_areDoorsOpen } true;havoc areDoorsOpen_#res#1;havoc areDoorsOpen_~retValue_acc~10#1;havoc areDoorsOpen_~retValue_acc~10#1;areDoorsOpen_~retValue_acc~10#1 := ~doorState~0;areDoorsOpen_#res#1 := areDoorsOpen_~retValue_acc~10#1; 493987#L1637 timeShift_#t~ret84#1 := areDoorsOpen_#res#1;assume { :end_inline_areDoorsOpen } true;timeShift_~tmp~24#1 := timeShift_#t~ret84#1;havoc timeShift_#t~ret84#1; 481521#L2587 assume 0 != timeShift_~tmp~24#1; 481522#L2588 assume ~weight~0 > ~maximumWeight~0;~blocked~0 := 1; 483089#L2587-1 assume { :begin_inline___utac_acc__Specification13_spec__2 } true;havoc __utac_acc__Specification13_spec__2_#t~ret5#1, __utac_acc__Specification13_spec__2_#t~ret6#1, __utac_acc__Specification13_spec__2_#t~ret7#1, __utac_acc__Specification13_spec__2_#t~ret8#1, __utac_acc__Specification13_spec__2_#t~ret9#1, __utac_acc__Specification13_spec__2_#t~ret10#1, __utac_acc__Specification13_spec__2_~tmp~0#1, __utac_acc__Specification13_spec__2_~tmp___0~0#1, __utac_acc__Specification13_spec__2_~tmp___1~0#1, __utac_acc__Specification13_spec__2_~tmp___2~0#1, __utac_acc__Specification13_spec__2_~tmp___3~0#1, __utac_acc__Specification13_spec__2_~tmp___4~0#1, __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1, __utac_acc__Specification13_spec__2_~__cil_tmp8~0#1;havoc __utac_acc__Specification13_spec__2_~tmp~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___0~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___1~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___2~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___3~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___4~0#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp8~0#1;__utac_acc__Specification13_spec__2_~__cil_tmp7~0#1 := 2 * ~maximumWeight~0;__utac_acc__Specification13_spec__2_~__cil_tmp8~0#1 := (if __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1 < 0 && 0 != __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1 % 3 then 1 + __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1 / 3 else __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1 / 3); 485799#L869 assume ~weight~0 > __utac_acc__Specification13_spec__2_~__cil_tmp8~0#1; 483624#L870 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~22#1, existInLiftCallsInDirection_~i~3#1, existInLiftCallsInDirection_~i___0~0#1;existInLiftCallsInDirection_~d#1 := existInLiftCallsInDirection_#in~d#1;havoc existInLiftCallsInDirection_~retValue_acc~22#1;havoc existInLiftCallsInDirection_~i~3#1;havoc existInLiftCallsInDirection_~i___0~0#1; 483625#L2807 assume !(1 == existInLiftCallsInDirection_~d#1); 485842#L2873 assume 0 == existInLiftCallsInDirection_~d#1;existInLiftCallsInDirection_~i___0~0#1 := 0;existInLiftCallsInDirection_~i___0~0#1 := ~currentFloorID~0 - 1; 485843#L2877-2 [2022-07-23 15:10:29,461 INFO L754 eck$LassoCheckResult]: Loop: 485843#L2877-2 assume !false; 482351#L2878 assume existInLiftCallsInDirection_~i___0~0#1 >= 0; 482352#L2879 existInLiftCallsInDirection_~i___0~0#1 := 1 + ~currentFloorID~0; 480638#L2886-2 assume !false; 480639#L2887 assume !(existInLiftCallsInDirection_~i___0~0#1 < 5); 481603#L2945 existInLiftCallsInDirection_~i___0~0#1 := existInLiftCallsInDirection_~i___0~0#1 - 1; 485843#L2877-2 [2022-07-23 15:10:29,462 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 15:10:29,462 INFO L85 PathProgramCache]: Analyzing trace with hash 590101782, now seen corresponding path program 1 times [2022-07-23 15:10:29,463 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 15:10:29,463 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1663217441] [2022-07-23 15:10:29,463 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 15:10:29,463 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 15:10:29,473 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-23 15:10:29,490 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-07-23 15:10:29,491 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-23 15:10:29,491 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1663217441] [2022-07-23 15:10:29,491 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1663217441] provided 1 perfect and 0 imperfect interpolant sequences [2022-07-23 15:10:29,491 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-07-23 15:10:29,491 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-07-23 15:10:29,491 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [914313916] [2022-07-23 15:10:29,491 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-07-23 15:10:29,492 INFO L757 eck$LassoCheckResult]: stem already infeasible [2022-07-23 15:10:29,492 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 15:10:29,492 INFO L85 PathProgramCache]: Analyzing trace with hash 2078933803, now seen corresponding path program 4 times [2022-07-23 15:10:29,492 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 15:10:29,492 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1263001514] [2022-07-23 15:10:29,492 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 15:10:29,493 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 15:10:29,496 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 15:10:29,496 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-23 15:10:29,497 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 15:10:29,499 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-23 15:10:29,512 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-23 15:10:29,513 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-07-23 15:10:29,513 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-07-23 15:10:29,513 INFO L87 Difference]: Start difference. First operand 17910 states and 33540 transitions. cyclomatic complexity: 15664 Second operand has 4 states, 4 states have (on average 10.75) internal successors, (43), 4 states have internal predecessors, (43), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-23 15:10:30,489 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-23 15:10:30,490 INFO L93 Difference]: Finished difference Result 53529 states and 100281 transitions. [2022-07-23 15:10:30,490 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-07-23 15:10:30,491 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 53529 states and 100281 transitions. [2022-07-23 15:10:30,924 INFO L131 ngComponentsAnalysis]: Automaton has 99 accepting balls. 12216 [2022-07-23 15:10:31,089 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 53529 states to 53529 states and 100281 transitions. [2022-07-23 15:10:31,090 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 53472 [2022-07-23 15:10:31,163 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 53472 [2022-07-23 15:10:31,171 INFO L73 IsDeterministic]: Start isDeterministic. Operand 53529 states and 100281 transitions. [2022-07-23 15:10:31,191 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-23 15:10:31,191 INFO L369 hiAutomatonCegarLoop]: Abstraction has 53529 states and 100281 transitions. [2022-07-23 15:10:31,233 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 53529 states and 100281 transitions. [2022-07-23 15:10:31,505 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 53529 to 17914. [2022-07-23 15:10:31,526 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17914 states, 17914 states have (on average 1.8724461315172491) internal successors, (33543), 17913 states have internal predecessors, (33543), 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) [2022-07-23 15:10:31,562 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17914 states to 17914 states and 33543 transitions. [2022-07-23 15:10:31,563 INFO L392 hiAutomatonCegarLoop]: Abstraction has 17914 states and 33543 transitions. [2022-07-23 15:10:31,563 INFO L374 stractBuchiCegarLoop]: Abstraction has 17914 states and 33543 transitions. [2022-07-23 15:10:31,563 INFO L287 stractBuchiCegarLoop]: ======== Iteration 6 ============ [2022-07-23 15:10:31,563 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 17914 states and 33543 transitions. [2022-07-23 15:10:31,612 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 4072 [2022-07-23 15:10:31,613 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-23 15:10:31,613 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-23 15:10:31,613 INFO L179 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] [2022-07-23 15:10:31,613 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1] [2022-07-23 15:10:31,614 INFO L752 eck$LassoCheckResult]: Stem: 559979#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(32, 2);call #Ultimate.allocInit(12, 3);call #Ultimate.allocInit(10, 4);call #Ultimate.allocInit(4, 5);call write~init~int(91, 5, 0, 1);call write~init~int(95, 5, 1, 1);call write~init~int(93, 5, 2, 1);call write~init~int(0, 5, 3, 1);call #Ultimate.allocInit(4, 6);call write~init~int(91, 6, 0, 1);call write~init~int(93, 6, 1, 1);call write~init~int(32, 6, 2, 1);call write~init~int(0, 6, 3, 1);call #Ultimate.allocInit(5, 7);call write~init~int(32, 7, 0, 1);call write~init~int(97, 7, 1, 1);call write~init~int(116, 7, 2, 1);call write~init~int(32, 7, 3, 1);call write~init~int(0, 7, 4, 1);call #Ultimate.allocInit(3, 8);call write~init~int(37, 8, 0, 1);call write~init~int(105, 8, 1, 1);call write~init~int(0, 8, 2, 1);call #Ultimate.allocInit(10, 9);call #Ultimate.allocInit(3, 10);call write~init~int(117, 10, 0, 1);call write~init~int(112, 10, 1, 1);call write~init~int(0, 10, 2, 1);call #Ultimate.allocInit(5, 11);call write~init~int(100, 11, 0, 1);call write~init~int(111, 11, 1, 1);call write~init~int(119, 11, 2, 1);call write~init~int(110, 11, 3, 1);call write~init~int(0, 11, 4, 1);call #Ultimate.allocInit(7, 12);call write~init~int(32, 12, 0, 1);call write~init~int(73, 12, 1, 1);call write~init~int(76, 12, 2, 1);call write~init~int(95, 12, 3, 1);call write~init~int(112, 12, 4, 1);call write~init~int(58, 12, 5, 1);call write~init~int(0, 12, 6, 1);call #Ultimate.allocInit(4, 13);call write~init~int(32, 13, 0, 1);call write~init~int(37, 13, 1, 1);call write~init~int(105, 13, 2, 1);call write~init~int(0, 13, 3, 1);call #Ultimate.allocInit(4, 14);call write~init~int(32, 14, 0, 1);call write~init~int(37, 14, 1, 1);call write~init~int(105, 14, 2, 1);call write~init~int(0, 14, 3, 1);call #Ultimate.allocInit(4, 15);call write~init~int(32, 15, 0, 1);call write~init~int(37, 15, 1, 1);call write~init~int(105, 15, 2, 1);call write~init~int(0, 15, 3, 1);call #Ultimate.allocInit(4, 16);call write~init~int(32, 16, 0, 1);call write~init~int(37, 16, 1, 1);call write~init~int(105, 16, 2, 1);call write~init~int(0, 16, 3, 1);call #Ultimate.allocInit(4, 17);call write~init~int(32, 17, 0, 1);call write~init~int(37, 17, 1, 1);call write~init~int(105, 17, 2, 1);call write~init~int(0, 17, 3, 1);call #Ultimate.allocInit(6, 18);call write~init~int(32, 18, 0, 1);call write~init~int(70, 18, 1, 1);call write~init~int(95, 18, 2, 1);call write~init~int(112, 18, 3, 1);call write~init~int(58, 18, 4, 1);call write~init~int(0, 18, 5, 1);call #Ultimate.allocInit(4, 19);call write~init~int(32, 19, 0, 1);call write~init~int(37, 19, 1, 1);call write~init~int(105, 19, 2, 1);call write~init~int(0, 19, 3, 1);call #Ultimate.allocInit(4, 20);call write~init~int(32, 20, 0, 1);call write~init~int(37, 20, 1, 1);call write~init~int(105, 20, 2, 1);call write~init~int(0, 20, 3, 1);call #Ultimate.allocInit(4, 21);call write~init~int(32, 21, 0, 1);call write~init~int(37, 21, 1, 1);call write~init~int(105, 21, 2, 1);call write~init~int(0, 21, 3, 1);call #Ultimate.allocInit(4, 22);call write~init~int(32, 22, 0, 1);call write~init~int(37, 22, 1, 1);call write~init~int(105, 22, 2, 1);call write~init~int(0, 22, 3, 1);call #Ultimate.allocInit(4, 23);call write~init~int(32, 23, 0, 1);call write~init~int(37, 23, 1, 1);call write~init~int(105, 23, 2, 1);call write~init~int(0, 23, 3, 1);call #Ultimate.allocInit(2, 24);call write~init~int(10, 24, 0, 1);call write~init~int(0, 24, 1, 1);call #Ultimate.allocInit(9, 25);call #Ultimate.allocInit(30, 26);call #Ultimate.allocInit(9, 27);call #Ultimate.allocInit(21, 28);call #Ultimate.allocInit(30, 29);call #Ultimate.allocInit(9, 30);call #Ultimate.allocInit(21, 31);call #Ultimate.allocInit(30, 32);call #Ultimate.allocInit(9, 33);call #Ultimate.allocInit(25, 34);call #Ultimate.allocInit(30, 35);call #Ultimate.allocInit(9, 36);call #Ultimate.allocInit(25, 37);~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;~weight~0 := 0;~maximumWeight~0 := 100;~blocked~0 := 0;~prevDir~0 := 0;~cleanupTimeShifts~0 := 12;~currentHeading~0 := 1;~currentFloorID~0 := 0;~persons_0~0 := 0;~persons_1~0 := 0;~persons_2~0 := 0;~persons_3~0 := 0;~persons_4~0 := 0;~persons_5~0 := 0;~doorState~0 := 1;~floorButtons_0~0 := 0;~floorButtons_1~0 := 0;~floorButtons_2~0 := 0;~floorButtons_3~0 := 0;~floorButtons_4~0 := 0;~head~0.base, ~head~0.offset := 0, 0; 556155#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret24#1, main_~retValue_acc~7#1, main_~tmp~9#1;havoc main_~retValue_acc~7#1;havoc main_~tmp~9#1;assume { :begin_inline_select_helpers } true; 555556#L2983 assume { :end_inline_select_helpers } true;assume { :begin_inline_select_features } true; 555557#L2976 assume { :end_inline_select_features } true;assume { :begin_inline_valid_product } true;havoc valid_product_#res#1;havoc valid_product_~retValue_acc~24#1;havoc valid_product_~retValue_acc~24#1;valid_product_~retValue_acc~24#1 := 1;valid_product_#res#1 := valid_product_~retValue_acc~24#1; 562173#L2991 main_#t~ret24#1 := valid_product_#res#1;assume { :end_inline_valid_product } true;main_~tmp~9#1 := main_#t~ret24#1;havoc main_#t~ret24#1; 561743#L1277 assume 0 != main_~tmp~9#1;assume { :begin_inline_setup } true; 559702#L1250 assume { :end_inline_setup } true;assume { :begin_inline_runTest } true;assume { :begin_inline_test } true;assume { :begin_inline_aliceCall } true;havoc aliceCall_#t~ret13#1, aliceCall_~tmp~2#1;havoc aliceCall_~tmp~2#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 1;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~1#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~1#1; 552975#L95 assume !(0 == getOrigin_~person#1); 549302#L99 assume 1 == getOrigin_~person#1;getOrigin_~retValue_acc~1#1 := 3;getOrigin_#res#1 := getOrigin_~retValue_acc~1#1; 549303#L120 aliceCall_#t~ret13#1 := getOrigin_#res#1;assume { :end_inline_getOrigin } true;aliceCall_~tmp~2#1 := aliceCall_#t~ret13#1;havoc aliceCall_#t~ret13#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 1, aliceCall_~tmp~2#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 563330#L530 assume !(0 == initPersonOnFloor_~floor#1); 564078#L557 assume !(1 == initPersonOnFloor_~floor#1); 551278#L584 assume !(2 == initPersonOnFloor_~floor#1); 551279#L611 assume 3 == initPersonOnFloor_~floor#1; 562796#L612 assume !(0 == initPersonOnFloor_~person#1); 562797#L615 assume 1 == initPersonOnFloor_~person#1;~personOnFloor_1_3~0 := 1; 547713#L638-1 assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 564438#L322 assume !(0 == callOnFloor_~floorID#1); 548119#L325 assume 1 == callOnFloor_~floorID#1;~calls_1~0 := 1; 547943#L334-2 assume { :end_inline_callOnFloor } true; 564169#L674 assume { :end_inline_initPersonOnFloor } true; 564402#L1006 assume { :end_inline_aliceCall } true;assume { :begin_inline_angelinaCall } true;havoc angelinaCall_#t~ret14#1, angelinaCall_~tmp~3#1;havoc angelinaCall_~tmp~3#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 2;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~1#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~1#1; 547790#L95-1 assume !(0 == getOrigin_~person#1); 547791#L99-1 assume !(1 == getOrigin_~person#1); 560049#L103-1 assume 2 == getOrigin_~person#1;getOrigin_~retValue_acc~1#1 := 2;getOrigin_#res#1 := getOrigin_~retValue_acc~1#1; 548544#L120-1 angelinaCall_#t~ret14#1 := getOrigin_#res#1;assume { :end_inline_getOrigin } true;angelinaCall_~tmp~3#1 := angelinaCall_#t~ret14#1;havoc angelinaCall_#t~ret14#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 2, angelinaCall_~tmp~3#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 564895#L530-1 assume 0 == initPersonOnFloor_~floor#1; 564396#L531-2 assume !(0 == initPersonOnFloor_~person#1); 564231#L534-2 assume 1 == initPersonOnFloor_~person#1;~personOnFloor_1_0~0 := 1; 553868#L638-3 assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 562597#L322-2 assume 0 == callOnFloor_~floorID#1;~calls_0~0 := 1; 548618#L334-5 assume { :end_inline_callOnFloor } true; 556162#L674-1 assume { :end_inline_initPersonOnFloor } true; 557665#L1017 assume { :end_inline_angelinaCall } true;assume { :begin_inline_threeTS } true;assume { :begin_inline_timeShift } true;havoc timeShift_#t~ret84#1, timeShift_~tmp~24#1;havoc timeShift_~tmp~24#1;assume { :begin_inline___utac_acc__Specification13_spec__1 } true;havoc __utac_acc__Specification13_spec__1_#t~ret4#1;assume { :begin_inline_getCurrentHeading } true;havoc getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~12#1;havoc getCurrentHeading_~retValue_acc~12#1;getCurrentHeading_~retValue_acc~12#1 := ~currentHeading~0;getCurrentHeading_#res#1 := getCurrentHeading_~retValue_acc~12#1; 556496#L1680 __utac_acc__Specification13_spec__1_#t~ret4#1 := getCurrentHeading_#res#1;assume { :end_inline_getCurrentHeading } true;~prevDir~0 := __utac_acc__Specification13_spec__1_#t~ret4#1;havoc __utac_acc__Specification13_spec__1_#t~ret4#1; 556497#L851 assume { :end_inline___utac_acc__Specification13_spec__1 } true;assume { :begin_inline_areDoorsOpen } true;havoc areDoorsOpen_#res#1;havoc areDoorsOpen_~retValue_acc~10#1;havoc areDoorsOpen_~retValue_acc~10#1;areDoorsOpen_~retValue_acc~10#1 := ~doorState~0;areDoorsOpen_#res#1 := areDoorsOpen_~retValue_acc~10#1; 565438#L1637 timeShift_#t~ret84#1 := areDoorsOpen_#res#1;assume { :end_inline_areDoorsOpen } true;timeShift_~tmp~24#1 := timeShift_#t~ret84#1;havoc timeShift_#t~ret84#1; 552969#L2587 assume 0 != timeShift_~tmp~24#1; 552970#L2588 assume ~weight~0 > ~maximumWeight~0;~blocked~0 := 1; 554539#L2587-1 assume { :begin_inline___utac_acc__Specification13_spec__2 } true;havoc __utac_acc__Specification13_spec__2_#t~ret5#1, __utac_acc__Specification13_spec__2_#t~ret6#1, __utac_acc__Specification13_spec__2_#t~ret7#1, __utac_acc__Specification13_spec__2_#t~ret8#1, __utac_acc__Specification13_spec__2_#t~ret9#1, __utac_acc__Specification13_spec__2_#t~ret10#1, __utac_acc__Specification13_spec__2_~tmp~0#1, __utac_acc__Specification13_spec__2_~tmp___0~0#1, __utac_acc__Specification13_spec__2_~tmp___1~0#1, __utac_acc__Specification13_spec__2_~tmp___2~0#1, __utac_acc__Specification13_spec__2_~tmp___3~0#1, __utac_acc__Specification13_spec__2_~tmp___4~0#1, __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1, __utac_acc__Specification13_spec__2_~__cil_tmp8~0#1;havoc __utac_acc__Specification13_spec__2_~tmp~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___0~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___1~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___2~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___3~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___4~0#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp8~0#1;__utac_acc__Specification13_spec__2_~__cil_tmp7~0#1 := 2 * ~maximumWeight~0;__utac_acc__Specification13_spec__2_~__cil_tmp8~0#1 := (if __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1 < 0 && 0 != __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1 % 3 then 1 + __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1 / 3 else __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1 / 3); 557250#L869 assume ~weight~0 > __utac_acc__Specification13_spec__2_~__cil_tmp8~0#1; 555074#L870 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~22#1, existInLiftCallsInDirection_~i~3#1, existInLiftCallsInDirection_~i___0~0#1;existInLiftCallsInDirection_~d#1 := existInLiftCallsInDirection_#in~d#1;havoc existInLiftCallsInDirection_~retValue_acc~22#1;havoc existInLiftCallsInDirection_~i~3#1;havoc existInLiftCallsInDirection_~i___0~0#1; 555075#L2807 assume !(1 == existInLiftCallsInDirection_~d#1); 557293#L2873 assume 0 == existInLiftCallsInDirection_~d#1;existInLiftCallsInDirection_~i___0~0#1 := 0;existInLiftCallsInDirection_~i___0~0#1 := ~currentFloorID~0 - 1; 557294#L2877-2 [2022-07-23 15:10:31,614 INFO L754 eck$LassoCheckResult]: Loop: 557294#L2877-2 assume !false; 553797#L2878 assume existInLiftCallsInDirection_~i___0~0#1 >= 0; 553798#L2879 existInLiftCallsInDirection_~i___0~0#1 := 1 + ~currentFloorID~0; 552086#L2886-2 assume !false; 552087#L2887 assume !(existInLiftCallsInDirection_~i___0~0#1 < 5); 553051#L2945 existInLiftCallsInDirection_~i___0~0#1 := existInLiftCallsInDirection_~i___0~0#1 - 1; 557294#L2877-2 [2022-07-23 15:10:31,614 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 15:10:31,614 INFO L85 PathProgramCache]: Analyzing trace with hash -1215423119, now seen corresponding path program 1 times [2022-07-23 15:10:31,615 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 15:10:31,615 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1422400470] [2022-07-23 15:10:31,615 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 15:10:31,615 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 15:10:31,624 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-23 15:10:31,641 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-07-23 15:10:31,642 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-23 15:10:31,642 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1422400470] [2022-07-23 15:10:31,642 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1422400470] provided 1 perfect and 0 imperfect interpolant sequences [2022-07-23 15:10:31,642 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-07-23 15:10:31,642 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-07-23 15:10:31,642 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2068540303] [2022-07-23 15:10:31,642 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-07-23 15:10:31,643 INFO L757 eck$LassoCheckResult]: stem already infeasible [2022-07-23 15:10:31,643 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 15:10:31,643 INFO L85 PathProgramCache]: Analyzing trace with hash 2078933803, now seen corresponding path program 5 times [2022-07-23 15:10:31,643 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 15:10:31,643 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [80700162] [2022-07-23 15:10:31,644 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 15:10:31,644 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 15:10:31,646 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 15:10:31,647 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-23 15:10:31,648 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 15:10:31,649 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-23 15:10:31,662 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-23 15:10:31,663 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-07-23 15:10:31,663 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-07-23 15:10:31,663 INFO L87 Difference]: Start difference. First operand 17914 states and 33543 transitions. cyclomatic complexity: 15663 Second operand has 4 states, 4 states have (on average 11.0) internal successors, (44), 4 states have internal predecessors, (44), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-23 15:10:32,514 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-23 15:10:32,514 INFO L93 Difference]: Finished difference Result 53534 states and 100283 transitions. [2022-07-23 15:10:32,514 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-07-23 15:10:32,515 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 53534 states and 100283 transitions. [2022-07-23 15:10:32,743 INFO L131 ngComponentsAnalysis]: Automaton has 99 accepting balls. 12216 [2022-07-23 15:10:33,161 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 53534 states to 53534 states and 100283 transitions. [2022-07-23 15:10:33,161 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 53477 [2022-07-23 15:10:33,183 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 53477 [2022-07-23 15:10:33,184 INFO L73 IsDeterministic]: Start isDeterministic. Operand 53534 states and 100283 transitions. [2022-07-23 15:10:33,184 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-23 15:10:33,184 INFO L369 hiAutomatonCegarLoop]: Abstraction has 53534 states and 100283 transitions. [2022-07-23 15:10:33,218 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 53534 states and 100283 transitions. [2022-07-23 15:10:33,451 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 53534 to 17920. [2022-07-23 15:10:33,473 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17920 states, 17920 states have (on average 1.8720982142857143) internal successors, (33548), 17919 states have internal predecessors, (33548), 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) [2022-07-23 15:10:33,508 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17920 states to 17920 states and 33548 transitions. [2022-07-23 15:10:33,508 INFO L392 hiAutomatonCegarLoop]: Abstraction has 17920 states and 33548 transitions. [2022-07-23 15:10:33,508 INFO L374 stractBuchiCegarLoop]: Abstraction has 17920 states and 33548 transitions. [2022-07-23 15:10:33,509 INFO L287 stractBuchiCegarLoop]: ======== Iteration 7 ============ [2022-07-23 15:10:33,509 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 17920 states and 33548 transitions. [2022-07-23 15:10:33,555 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 4072 [2022-07-23 15:10:33,556 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-23 15:10:33,556 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-23 15:10:33,556 INFO L179 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] [2022-07-23 15:10:33,556 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1] [2022-07-23 15:10:33,557 INFO L752 eck$LassoCheckResult]: Stem: 631439#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(32, 2);call #Ultimate.allocInit(12, 3);call #Ultimate.allocInit(10, 4);call #Ultimate.allocInit(4, 5);call write~init~int(91, 5, 0, 1);call write~init~int(95, 5, 1, 1);call write~init~int(93, 5, 2, 1);call write~init~int(0, 5, 3, 1);call #Ultimate.allocInit(4, 6);call write~init~int(91, 6, 0, 1);call write~init~int(93, 6, 1, 1);call write~init~int(32, 6, 2, 1);call write~init~int(0, 6, 3, 1);call #Ultimate.allocInit(5, 7);call write~init~int(32, 7, 0, 1);call write~init~int(97, 7, 1, 1);call write~init~int(116, 7, 2, 1);call write~init~int(32, 7, 3, 1);call write~init~int(0, 7, 4, 1);call #Ultimate.allocInit(3, 8);call write~init~int(37, 8, 0, 1);call write~init~int(105, 8, 1, 1);call write~init~int(0, 8, 2, 1);call #Ultimate.allocInit(10, 9);call #Ultimate.allocInit(3, 10);call write~init~int(117, 10, 0, 1);call write~init~int(112, 10, 1, 1);call write~init~int(0, 10, 2, 1);call #Ultimate.allocInit(5, 11);call write~init~int(100, 11, 0, 1);call write~init~int(111, 11, 1, 1);call write~init~int(119, 11, 2, 1);call write~init~int(110, 11, 3, 1);call write~init~int(0, 11, 4, 1);call #Ultimate.allocInit(7, 12);call write~init~int(32, 12, 0, 1);call write~init~int(73, 12, 1, 1);call write~init~int(76, 12, 2, 1);call write~init~int(95, 12, 3, 1);call write~init~int(112, 12, 4, 1);call write~init~int(58, 12, 5, 1);call write~init~int(0, 12, 6, 1);call #Ultimate.allocInit(4, 13);call write~init~int(32, 13, 0, 1);call write~init~int(37, 13, 1, 1);call write~init~int(105, 13, 2, 1);call write~init~int(0, 13, 3, 1);call #Ultimate.allocInit(4, 14);call write~init~int(32, 14, 0, 1);call write~init~int(37, 14, 1, 1);call write~init~int(105, 14, 2, 1);call write~init~int(0, 14, 3, 1);call #Ultimate.allocInit(4, 15);call write~init~int(32, 15, 0, 1);call write~init~int(37, 15, 1, 1);call write~init~int(105, 15, 2, 1);call write~init~int(0, 15, 3, 1);call #Ultimate.allocInit(4, 16);call write~init~int(32, 16, 0, 1);call write~init~int(37, 16, 1, 1);call write~init~int(105, 16, 2, 1);call write~init~int(0, 16, 3, 1);call #Ultimate.allocInit(4, 17);call write~init~int(32, 17, 0, 1);call write~init~int(37, 17, 1, 1);call write~init~int(105, 17, 2, 1);call write~init~int(0, 17, 3, 1);call #Ultimate.allocInit(6, 18);call write~init~int(32, 18, 0, 1);call write~init~int(70, 18, 1, 1);call write~init~int(95, 18, 2, 1);call write~init~int(112, 18, 3, 1);call write~init~int(58, 18, 4, 1);call write~init~int(0, 18, 5, 1);call #Ultimate.allocInit(4, 19);call write~init~int(32, 19, 0, 1);call write~init~int(37, 19, 1, 1);call write~init~int(105, 19, 2, 1);call write~init~int(0, 19, 3, 1);call #Ultimate.allocInit(4, 20);call write~init~int(32, 20, 0, 1);call write~init~int(37, 20, 1, 1);call write~init~int(105, 20, 2, 1);call write~init~int(0, 20, 3, 1);call #Ultimate.allocInit(4, 21);call write~init~int(32, 21, 0, 1);call write~init~int(37, 21, 1, 1);call write~init~int(105, 21, 2, 1);call write~init~int(0, 21, 3, 1);call #Ultimate.allocInit(4, 22);call write~init~int(32, 22, 0, 1);call write~init~int(37, 22, 1, 1);call write~init~int(105, 22, 2, 1);call write~init~int(0, 22, 3, 1);call #Ultimate.allocInit(4, 23);call write~init~int(32, 23, 0, 1);call write~init~int(37, 23, 1, 1);call write~init~int(105, 23, 2, 1);call write~init~int(0, 23, 3, 1);call #Ultimate.allocInit(2, 24);call write~init~int(10, 24, 0, 1);call write~init~int(0, 24, 1, 1);call #Ultimate.allocInit(9, 25);call #Ultimate.allocInit(30, 26);call #Ultimate.allocInit(9, 27);call #Ultimate.allocInit(21, 28);call #Ultimate.allocInit(30, 29);call #Ultimate.allocInit(9, 30);call #Ultimate.allocInit(21, 31);call #Ultimate.allocInit(30, 32);call #Ultimate.allocInit(9, 33);call #Ultimate.allocInit(25, 34);call #Ultimate.allocInit(30, 35);call #Ultimate.allocInit(9, 36);call #Ultimate.allocInit(25, 37);~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;~weight~0 := 0;~maximumWeight~0 := 100;~blocked~0 := 0;~prevDir~0 := 0;~cleanupTimeShifts~0 := 12;~currentHeading~0 := 1;~currentFloorID~0 := 0;~persons_0~0 := 0;~persons_1~0 := 0;~persons_2~0 := 0;~persons_3~0 := 0;~persons_4~0 := 0;~persons_5~0 := 0;~doorState~0 := 1;~floorButtons_0~0 := 0;~floorButtons_1~0 := 0;~floorButtons_2~0 := 0;~floorButtons_3~0 := 0;~floorButtons_4~0 := 0;~head~0.base, ~head~0.offset := 0, 0; 627614#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret24#1, main_~retValue_acc~7#1, main_~tmp~9#1;havoc main_~retValue_acc~7#1;havoc main_~tmp~9#1;assume { :begin_inline_select_helpers } true; 627015#L2983 assume { :end_inline_select_helpers } true;assume { :begin_inline_select_features } true; 627016#L2976 assume { :end_inline_select_features } true;assume { :begin_inline_valid_product } true;havoc valid_product_#res#1;havoc valid_product_~retValue_acc~24#1;havoc valid_product_~retValue_acc~24#1;valid_product_~retValue_acc~24#1 := 1;valid_product_#res#1 := valid_product_~retValue_acc~24#1; 633632#L2991 main_#t~ret24#1 := valid_product_#res#1;assume { :end_inline_valid_product } true;main_~tmp~9#1 := main_#t~ret24#1;havoc main_#t~ret24#1; 633203#L1277 assume 0 != main_~tmp~9#1;assume { :begin_inline_setup } true; 631162#L1250 assume { :end_inline_setup } true;assume { :begin_inline_runTest } true;assume { :begin_inline_test } true;assume { :begin_inline_aliceCall } true;havoc aliceCall_#t~ret13#1, aliceCall_~tmp~2#1;havoc aliceCall_~tmp~2#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 1;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~1#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~1#1; 624433#L95 assume !(0 == getOrigin_~person#1); 620755#L99 assume 1 == getOrigin_~person#1;getOrigin_~retValue_acc~1#1 := 3;getOrigin_#res#1 := getOrigin_~retValue_acc~1#1; 620756#L120 aliceCall_#t~ret13#1 := getOrigin_#res#1;assume { :end_inline_getOrigin } true;aliceCall_~tmp~2#1 := aliceCall_#t~ret13#1;havoc aliceCall_#t~ret13#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 1, aliceCall_~tmp~2#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 634789#L530 assume !(0 == initPersonOnFloor_~floor#1); 635537#L557 assume !(1 == initPersonOnFloor_~floor#1); 622734#L584 assume !(2 == initPersonOnFloor_~floor#1); 622735#L611 assume 3 == initPersonOnFloor_~floor#1; 634255#L612 assume !(0 == initPersonOnFloor_~person#1); 634256#L615 assume 1 == initPersonOnFloor_~person#1;~personOnFloor_1_3~0 := 1; 619170#L638-1 assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 635897#L322 assume !(0 == callOnFloor_~floorID#1); 619576#L325 assume !(1 == callOnFloor_~floorID#1); 619577#L328 assume 2 == callOnFloor_~floorID#1;~calls_2~0 := 1; 619400#L334-2 assume { :end_inline_callOnFloor } true; 635628#L674 assume { :end_inline_initPersonOnFloor } true; 635861#L1006 assume { :end_inline_aliceCall } true;assume { :begin_inline_angelinaCall } true;havoc angelinaCall_#t~ret14#1, angelinaCall_~tmp~3#1;havoc angelinaCall_~tmp~3#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 2;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~1#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~1#1; 619247#L95-1 assume !(0 == getOrigin_~person#1); 619248#L99-1 assume !(1 == getOrigin_~person#1); 631509#L103-1 assume 2 == getOrigin_~person#1;getOrigin_~retValue_acc~1#1 := 2;getOrigin_#res#1 := getOrigin_~retValue_acc~1#1; 620001#L120-1 angelinaCall_#t~ret14#1 := getOrigin_#res#1;assume { :end_inline_getOrigin } true;angelinaCall_~tmp~3#1 := angelinaCall_#t~ret14#1;havoc angelinaCall_#t~ret14#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 2, angelinaCall_~tmp~3#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 636354#L530-1 assume 0 == initPersonOnFloor_~floor#1; 635855#L531-2 assume !(0 == initPersonOnFloor_~person#1); 635690#L534-2 assume 1 == initPersonOnFloor_~person#1;~personOnFloor_1_0~0 := 1; 625327#L638-3 assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 636947#L322-2 assume 0 == callOnFloor_~floorID#1;~calls_0~0 := 1; 623560#L334-5 assume { :end_inline_callOnFloor } true; 627621#L674-1 assume { :end_inline_initPersonOnFloor } true; 629124#L1017 assume { :end_inline_angelinaCall } true;assume { :begin_inline_threeTS } true;assume { :begin_inline_timeShift } true;havoc timeShift_#t~ret84#1, timeShift_~tmp~24#1;havoc timeShift_~tmp~24#1;assume { :begin_inline___utac_acc__Specification13_spec__1 } true;havoc __utac_acc__Specification13_spec__1_#t~ret4#1;assume { :begin_inline_getCurrentHeading } true;havoc getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~12#1;havoc getCurrentHeading_~retValue_acc~12#1;getCurrentHeading_~retValue_acc~12#1 := ~currentHeading~0;getCurrentHeading_#res#1 := getCurrentHeading_~retValue_acc~12#1; 627955#L1680 __utac_acc__Specification13_spec__1_#t~ret4#1 := getCurrentHeading_#res#1;assume { :end_inline_getCurrentHeading } true;~prevDir~0 := __utac_acc__Specification13_spec__1_#t~ret4#1;havoc __utac_acc__Specification13_spec__1_#t~ret4#1; 627956#L851 assume { :end_inline___utac_acc__Specification13_spec__1 } true;assume { :begin_inline_areDoorsOpen } true;havoc areDoorsOpen_#res#1;havoc areDoorsOpen_~retValue_acc~10#1;havoc areDoorsOpen_~retValue_acc~10#1;areDoorsOpen_~retValue_acc~10#1 := ~doorState~0;areDoorsOpen_#res#1 := areDoorsOpen_~retValue_acc~10#1; 636898#L1637 timeShift_#t~ret84#1 := areDoorsOpen_#res#1;assume { :end_inline_areDoorsOpen } true;timeShift_~tmp~24#1 := timeShift_#t~ret84#1;havoc timeShift_#t~ret84#1; 624427#L2587 assume 0 != timeShift_~tmp~24#1; 624428#L2588 assume ~weight~0 > ~maximumWeight~0;~blocked~0 := 1; 625998#L2587-1 assume { :begin_inline___utac_acc__Specification13_spec__2 } true;havoc __utac_acc__Specification13_spec__2_#t~ret5#1, __utac_acc__Specification13_spec__2_#t~ret6#1, __utac_acc__Specification13_spec__2_#t~ret7#1, __utac_acc__Specification13_spec__2_#t~ret8#1, __utac_acc__Specification13_spec__2_#t~ret9#1, __utac_acc__Specification13_spec__2_#t~ret10#1, __utac_acc__Specification13_spec__2_~tmp~0#1, __utac_acc__Specification13_spec__2_~tmp___0~0#1, __utac_acc__Specification13_spec__2_~tmp___1~0#1, __utac_acc__Specification13_spec__2_~tmp___2~0#1, __utac_acc__Specification13_spec__2_~tmp___3~0#1, __utac_acc__Specification13_spec__2_~tmp___4~0#1, __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1, __utac_acc__Specification13_spec__2_~__cil_tmp8~0#1;havoc __utac_acc__Specification13_spec__2_~tmp~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___0~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___1~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___2~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___3~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___4~0#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp8~0#1;__utac_acc__Specification13_spec__2_~__cil_tmp7~0#1 := 2 * ~maximumWeight~0;__utac_acc__Specification13_spec__2_~__cil_tmp8~0#1 := (if __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1 < 0 && 0 != __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1 % 3 then 1 + __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1 / 3 else __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1 / 3); 628709#L869 assume ~weight~0 > __utac_acc__Specification13_spec__2_~__cil_tmp8~0#1; 626531#L870 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~22#1, existInLiftCallsInDirection_~i~3#1, existInLiftCallsInDirection_~i___0~0#1;existInLiftCallsInDirection_~d#1 := existInLiftCallsInDirection_#in~d#1;havoc existInLiftCallsInDirection_~retValue_acc~22#1;havoc existInLiftCallsInDirection_~i~3#1;havoc existInLiftCallsInDirection_~i___0~0#1; 626532#L2807 assume !(1 == existInLiftCallsInDirection_~d#1); 628752#L2873 assume 0 == existInLiftCallsInDirection_~d#1;existInLiftCallsInDirection_~i___0~0#1 := 0;existInLiftCallsInDirection_~i___0~0#1 := ~currentFloorID~0 - 1; 628753#L2877-2 [2022-07-23 15:10:33,557 INFO L754 eck$LassoCheckResult]: Loop: 628753#L2877-2 assume !false; 625255#L2878 assume existInLiftCallsInDirection_~i___0~0#1 >= 0; 625256#L2879 existInLiftCallsInDirection_~i___0~0#1 := 1 + ~currentFloorID~0; 623543#L2886-2 assume !false; 623544#L2887 assume !(existInLiftCallsInDirection_~i___0~0#1 < 5); 624507#L2945 existInLiftCallsInDirection_~i___0~0#1 := existInLiftCallsInDirection_~i___0~0#1 - 1; 628753#L2877-2 [2022-07-23 15:10:33,557 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 15:10:33,557 INFO L85 PathProgramCache]: Analyzing trace with hash -1197021167, now seen corresponding path program 1 times [2022-07-23 15:10:33,557 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 15:10:33,558 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [803066585] [2022-07-23 15:10:33,558 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 15:10:33,558 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 15:10:33,567 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-23 15:10:33,583 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-07-23 15:10:33,583 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-23 15:10:33,583 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [803066585] [2022-07-23 15:10:33,583 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [803066585] provided 1 perfect and 0 imperfect interpolant sequences [2022-07-23 15:10:33,583 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-07-23 15:10:33,583 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-07-23 15:10:33,584 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [7925965] [2022-07-23 15:10:33,584 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-07-23 15:10:33,584 INFO L757 eck$LassoCheckResult]: stem already infeasible [2022-07-23 15:10:33,584 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 15:10:33,584 INFO L85 PathProgramCache]: Analyzing trace with hash 2078933803, now seen corresponding path program 6 times [2022-07-23 15:10:33,585 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 15:10:33,585 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1202544201] [2022-07-23 15:10:33,585 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 15:10:33,585 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 15:10:33,588 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 15:10:33,588 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-23 15:10:33,589 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 15:10:33,590 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-23 15:10:33,603 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-23 15:10:33,604 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-07-23 15:10:33,604 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-07-23 15:10:33,604 INFO L87 Difference]: Start difference. First operand 17920 states and 33548 transitions. cyclomatic complexity: 15662 Second operand has 4 states, 4 states have (on average 11.25) internal successors, (45), 4 states have internal predecessors, (45), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-23 15:10:34,498 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-23 15:10:34,499 INFO L93 Difference]: Finished difference Result 53541 states and 100287 transitions. [2022-07-23 15:10:34,499 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-07-23 15:10:34,499 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 53541 states and 100287 transitions. [2022-07-23 15:10:34,730 INFO L131 ngComponentsAnalysis]: Automaton has 99 accepting balls. 12216 [2022-07-23 15:10:34,919 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 53541 states to 53541 states and 100287 transitions. [2022-07-23 15:10:34,920 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 53484 [2022-07-23 15:10:34,960 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 53484 [2022-07-23 15:10:34,961 INFO L73 IsDeterministic]: Start isDeterministic. Operand 53541 states and 100287 transitions. [2022-07-23 15:10:34,985 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-23 15:10:34,985 INFO L369 hiAutomatonCegarLoop]: Abstraction has 53541 states and 100287 transitions. [2022-07-23 15:10:35,029 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 53541 states and 100287 transitions. [2022-07-23 15:10:35,306 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 53541 to 17928. [2022-07-23 15:10:35,328 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17928 states, 17928 states have (on average 1.8716532797858099) internal successors, (33555), 17927 states have internal predecessors, (33555), 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) [2022-07-23 15:10:35,622 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17928 states to 17928 states and 33555 transitions. [2022-07-23 15:10:35,622 INFO L392 hiAutomatonCegarLoop]: Abstraction has 17928 states and 33555 transitions. [2022-07-23 15:10:35,622 INFO L374 stractBuchiCegarLoop]: Abstraction has 17928 states and 33555 transitions. [2022-07-23 15:10:35,622 INFO L287 stractBuchiCegarLoop]: ======== Iteration 8 ============ [2022-07-23 15:10:35,622 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 17928 states and 33555 transitions. [2022-07-23 15:10:35,675 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 4072 [2022-07-23 15:10:35,676 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-23 15:10:35,676 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-23 15:10:35,676 INFO L179 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] [2022-07-23 15:10:35,676 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1] [2022-07-23 15:10:35,677 INFO L752 eck$LassoCheckResult]: Stem: 702911#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(32, 2);call #Ultimate.allocInit(12, 3);call #Ultimate.allocInit(10, 4);call #Ultimate.allocInit(4, 5);call write~init~int(91, 5, 0, 1);call write~init~int(95, 5, 1, 1);call write~init~int(93, 5, 2, 1);call write~init~int(0, 5, 3, 1);call #Ultimate.allocInit(4, 6);call write~init~int(91, 6, 0, 1);call write~init~int(93, 6, 1, 1);call write~init~int(32, 6, 2, 1);call write~init~int(0, 6, 3, 1);call #Ultimate.allocInit(5, 7);call write~init~int(32, 7, 0, 1);call write~init~int(97, 7, 1, 1);call write~init~int(116, 7, 2, 1);call write~init~int(32, 7, 3, 1);call write~init~int(0, 7, 4, 1);call #Ultimate.allocInit(3, 8);call write~init~int(37, 8, 0, 1);call write~init~int(105, 8, 1, 1);call write~init~int(0, 8, 2, 1);call #Ultimate.allocInit(10, 9);call #Ultimate.allocInit(3, 10);call write~init~int(117, 10, 0, 1);call write~init~int(112, 10, 1, 1);call write~init~int(0, 10, 2, 1);call #Ultimate.allocInit(5, 11);call write~init~int(100, 11, 0, 1);call write~init~int(111, 11, 1, 1);call write~init~int(119, 11, 2, 1);call write~init~int(110, 11, 3, 1);call write~init~int(0, 11, 4, 1);call #Ultimate.allocInit(7, 12);call write~init~int(32, 12, 0, 1);call write~init~int(73, 12, 1, 1);call write~init~int(76, 12, 2, 1);call write~init~int(95, 12, 3, 1);call write~init~int(112, 12, 4, 1);call write~init~int(58, 12, 5, 1);call write~init~int(0, 12, 6, 1);call #Ultimate.allocInit(4, 13);call write~init~int(32, 13, 0, 1);call write~init~int(37, 13, 1, 1);call write~init~int(105, 13, 2, 1);call write~init~int(0, 13, 3, 1);call #Ultimate.allocInit(4, 14);call write~init~int(32, 14, 0, 1);call write~init~int(37, 14, 1, 1);call write~init~int(105, 14, 2, 1);call write~init~int(0, 14, 3, 1);call #Ultimate.allocInit(4, 15);call write~init~int(32, 15, 0, 1);call write~init~int(37, 15, 1, 1);call write~init~int(105, 15, 2, 1);call write~init~int(0, 15, 3, 1);call #Ultimate.allocInit(4, 16);call write~init~int(32, 16, 0, 1);call write~init~int(37, 16, 1, 1);call write~init~int(105, 16, 2, 1);call write~init~int(0, 16, 3, 1);call #Ultimate.allocInit(4, 17);call write~init~int(32, 17, 0, 1);call write~init~int(37, 17, 1, 1);call write~init~int(105, 17, 2, 1);call write~init~int(0, 17, 3, 1);call #Ultimate.allocInit(6, 18);call write~init~int(32, 18, 0, 1);call write~init~int(70, 18, 1, 1);call write~init~int(95, 18, 2, 1);call write~init~int(112, 18, 3, 1);call write~init~int(58, 18, 4, 1);call write~init~int(0, 18, 5, 1);call #Ultimate.allocInit(4, 19);call write~init~int(32, 19, 0, 1);call write~init~int(37, 19, 1, 1);call write~init~int(105, 19, 2, 1);call write~init~int(0, 19, 3, 1);call #Ultimate.allocInit(4, 20);call write~init~int(32, 20, 0, 1);call write~init~int(37, 20, 1, 1);call write~init~int(105, 20, 2, 1);call write~init~int(0, 20, 3, 1);call #Ultimate.allocInit(4, 21);call write~init~int(32, 21, 0, 1);call write~init~int(37, 21, 1, 1);call write~init~int(105, 21, 2, 1);call write~init~int(0, 21, 3, 1);call #Ultimate.allocInit(4, 22);call write~init~int(32, 22, 0, 1);call write~init~int(37, 22, 1, 1);call write~init~int(105, 22, 2, 1);call write~init~int(0, 22, 3, 1);call #Ultimate.allocInit(4, 23);call write~init~int(32, 23, 0, 1);call write~init~int(37, 23, 1, 1);call write~init~int(105, 23, 2, 1);call write~init~int(0, 23, 3, 1);call #Ultimate.allocInit(2, 24);call write~init~int(10, 24, 0, 1);call write~init~int(0, 24, 1, 1);call #Ultimate.allocInit(9, 25);call #Ultimate.allocInit(30, 26);call #Ultimate.allocInit(9, 27);call #Ultimate.allocInit(21, 28);call #Ultimate.allocInit(30, 29);call #Ultimate.allocInit(9, 30);call #Ultimate.allocInit(21, 31);call #Ultimate.allocInit(30, 32);call #Ultimate.allocInit(9, 33);call #Ultimate.allocInit(25, 34);call #Ultimate.allocInit(30, 35);call #Ultimate.allocInit(9, 36);call #Ultimate.allocInit(25, 37);~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;~weight~0 := 0;~maximumWeight~0 := 100;~blocked~0 := 0;~prevDir~0 := 0;~cleanupTimeShifts~0 := 12;~currentHeading~0 := 1;~currentFloorID~0 := 0;~persons_0~0 := 0;~persons_1~0 := 0;~persons_2~0 := 0;~persons_3~0 := 0;~persons_4~0 := 0;~persons_5~0 := 0;~doorState~0 := 1;~floorButtons_0~0 := 0;~floorButtons_1~0 := 0;~floorButtons_2~0 := 0;~floorButtons_3~0 := 0;~floorButtons_4~0 := 0;~head~0.base, ~head~0.offset := 0, 0; 699086#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret24#1, main_~retValue_acc~7#1, main_~tmp~9#1;havoc main_~retValue_acc~7#1;havoc main_~tmp~9#1;assume { :begin_inline_select_helpers } true; 698486#L2983 assume { :end_inline_select_helpers } true;assume { :begin_inline_select_features } true; 698487#L2976 assume { :end_inline_select_features } true;assume { :begin_inline_valid_product } true;havoc valid_product_#res#1;havoc valid_product_~retValue_acc~24#1;havoc valid_product_~retValue_acc~24#1;valid_product_~retValue_acc~24#1 := 1;valid_product_#res#1 := valid_product_~retValue_acc~24#1; 705105#L2991 main_#t~ret24#1 := valid_product_#res#1;assume { :end_inline_valid_product } true;main_~tmp~9#1 := main_#t~ret24#1;havoc main_#t~ret24#1; 704675#L1277 assume 0 != main_~tmp~9#1;assume { :begin_inline_setup } true; 702634#L1250 assume { :end_inline_setup } true;assume { :begin_inline_runTest } true;assume { :begin_inline_test } true;assume { :begin_inline_aliceCall } true;havoc aliceCall_#t~ret13#1, aliceCall_~tmp~2#1;havoc aliceCall_~tmp~2#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 1;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~1#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~1#1; 695905#L95 assume !(0 == getOrigin_~person#1); 692231#L99 assume 1 == getOrigin_~person#1;getOrigin_~retValue_acc~1#1 := 3;getOrigin_#res#1 := getOrigin_~retValue_acc~1#1; 692232#L120 aliceCall_#t~ret13#1 := getOrigin_#res#1;assume { :end_inline_getOrigin } true;aliceCall_~tmp~2#1 := aliceCall_#t~ret13#1;havoc aliceCall_#t~ret13#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 1, aliceCall_~tmp~2#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 706262#L530 assume !(0 == initPersonOnFloor_~floor#1); 707010#L557 assume !(1 == initPersonOnFloor_~floor#1); 694205#L584 assume !(2 == initPersonOnFloor_~floor#1); 694206#L611 assume 3 == initPersonOnFloor_~floor#1; 705728#L612 assume !(0 == initPersonOnFloor_~person#1); 705729#L615 assume 1 == initPersonOnFloor_~person#1;~personOnFloor_1_3~0 := 1; 690640#L638-1 assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 707370#L322 assume !(0 == callOnFloor_~floorID#1); 691046#L325 assume !(1 == callOnFloor_~floorID#1); 691047#L328 assume !(2 == callOnFloor_~floorID#1); 690869#L331 assume 3 == callOnFloor_~floorID#1;~calls_3~0 := 1; 690870#L334-2 assume { :end_inline_callOnFloor } true; 707101#L674 assume { :end_inline_initPersonOnFloor } true; 707334#L1006 assume { :end_inline_aliceCall } true;assume { :begin_inline_angelinaCall } true;havoc angelinaCall_#t~ret14#1, angelinaCall_~tmp~3#1;havoc angelinaCall_~tmp~3#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 2;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~1#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~1#1; 690723#L95-1 assume !(0 == getOrigin_~person#1); 690724#L99-1 assume !(1 == getOrigin_~person#1); 702981#L103-1 assume 2 == getOrigin_~person#1;getOrigin_~retValue_acc~1#1 := 2;getOrigin_#res#1 := getOrigin_~retValue_acc~1#1; 691471#L120-1 angelinaCall_#t~ret14#1 := getOrigin_#res#1;assume { :end_inline_getOrigin } true;angelinaCall_~tmp~3#1 := angelinaCall_#t~ret14#1;havoc angelinaCall_#t~ret14#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 2, angelinaCall_~tmp~3#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 707827#L530-1 assume 0 == initPersonOnFloor_~floor#1; 707328#L531-2 assume !(0 == initPersonOnFloor_~person#1); 707163#L534-2 assume 1 == initPersonOnFloor_~person#1;~personOnFloor_1_0~0 := 1; 696798#L638-3 assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 708420#L322-2 assume 0 == callOnFloor_~floorID#1;~calls_0~0 := 1; 698608#L334-5 assume { :end_inline_callOnFloor } true; 699093#L674-1 assume { :end_inline_initPersonOnFloor } true; 700596#L1017 assume { :end_inline_angelinaCall } true;assume { :begin_inline_threeTS } true;assume { :begin_inline_timeShift } true;havoc timeShift_#t~ret84#1, timeShift_~tmp~24#1;havoc timeShift_~tmp~24#1;assume { :begin_inline___utac_acc__Specification13_spec__1 } true;havoc __utac_acc__Specification13_spec__1_#t~ret4#1;assume { :begin_inline_getCurrentHeading } true;havoc getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~12#1;havoc getCurrentHeading_~retValue_acc~12#1;getCurrentHeading_~retValue_acc~12#1 := ~currentHeading~0;getCurrentHeading_#res#1 := getCurrentHeading_~retValue_acc~12#1; 699427#L1680 __utac_acc__Specification13_spec__1_#t~ret4#1 := getCurrentHeading_#res#1;assume { :end_inline_getCurrentHeading } true;~prevDir~0 := __utac_acc__Specification13_spec__1_#t~ret4#1;havoc __utac_acc__Specification13_spec__1_#t~ret4#1; 699428#L851 assume { :end_inline___utac_acc__Specification13_spec__1 } true;assume { :begin_inline_areDoorsOpen } true;havoc areDoorsOpen_#res#1;havoc areDoorsOpen_~retValue_acc~10#1;havoc areDoorsOpen_~retValue_acc~10#1;areDoorsOpen_~retValue_acc~10#1 := ~doorState~0;areDoorsOpen_#res#1 := areDoorsOpen_~retValue_acc~10#1; 708371#L1637 timeShift_#t~ret84#1 := areDoorsOpen_#res#1;assume { :end_inline_areDoorsOpen } true;timeShift_~tmp~24#1 := timeShift_#t~ret84#1;havoc timeShift_#t~ret84#1; 695899#L2587 assume 0 != timeShift_~tmp~24#1; 695900#L2588 assume ~weight~0 > ~maximumWeight~0;~blocked~0 := 1; 697469#L2587-1 assume { :begin_inline___utac_acc__Specification13_spec__2 } true;havoc __utac_acc__Specification13_spec__2_#t~ret5#1, __utac_acc__Specification13_spec__2_#t~ret6#1, __utac_acc__Specification13_spec__2_#t~ret7#1, __utac_acc__Specification13_spec__2_#t~ret8#1, __utac_acc__Specification13_spec__2_#t~ret9#1, __utac_acc__Specification13_spec__2_#t~ret10#1, __utac_acc__Specification13_spec__2_~tmp~0#1, __utac_acc__Specification13_spec__2_~tmp___0~0#1, __utac_acc__Specification13_spec__2_~tmp___1~0#1, __utac_acc__Specification13_spec__2_~tmp___2~0#1, __utac_acc__Specification13_spec__2_~tmp___3~0#1, __utac_acc__Specification13_spec__2_~tmp___4~0#1, __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1, __utac_acc__Specification13_spec__2_~__cil_tmp8~0#1;havoc __utac_acc__Specification13_spec__2_~tmp~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___0~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___1~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___2~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___3~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___4~0#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp8~0#1;__utac_acc__Specification13_spec__2_~__cil_tmp7~0#1 := 2 * ~maximumWeight~0;__utac_acc__Specification13_spec__2_~__cil_tmp8~0#1 := (if __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1 < 0 && 0 != __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1 % 3 then 1 + __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1 / 3 else __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1 / 3); 700181#L869 assume ~weight~0 > __utac_acc__Specification13_spec__2_~__cil_tmp8~0#1; 698004#L870 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~22#1, existInLiftCallsInDirection_~i~3#1, existInLiftCallsInDirection_~i___0~0#1;existInLiftCallsInDirection_~d#1 := existInLiftCallsInDirection_#in~d#1;havoc existInLiftCallsInDirection_~retValue_acc~22#1;havoc existInLiftCallsInDirection_~i~3#1;havoc existInLiftCallsInDirection_~i___0~0#1; 698005#L2807 assume !(1 == existInLiftCallsInDirection_~d#1); 700224#L2873 assume 0 == existInLiftCallsInDirection_~d#1;existInLiftCallsInDirection_~i___0~0#1 := 0;existInLiftCallsInDirection_~i___0~0#1 := ~currentFloorID~0 - 1; 700225#L2877-2 [2022-07-23 15:10:35,677 INFO L754 eck$LassoCheckResult]: Loop: 700225#L2877-2 assume !false; 696729#L2878 assume existInLiftCallsInDirection_~i___0~0#1 >= 0; 696730#L2879 existInLiftCallsInDirection_~i___0~0#1 := 1 + ~currentFloorID~0; 695015#L2886-2 assume !false; 695016#L2887 assume !(existInLiftCallsInDirection_~i___0~0#1 < 5); 695981#L2945 existInLiftCallsInDirection_~i___0~0#1 := existInLiftCallsInDirection_~i___0~0#1 - 1; 700225#L2877-2 [2022-07-23 15:10:35,677 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 15:10:35,677 INFO L85 PathProgramCache]: Analyzing trace with hash -471461620, now seen corresponding path program 1 times [2022-07-23 15:10:35,678 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 15:10:35,678 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1282477152] [2022-07-23 15:10:35,678 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 15:10:35,678 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 15:10:35,699 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-23 15:10:35,736 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-07-23 15:10:35,736 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-23 15:10:35,736 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1282477152] [2022-07-23 15:10:35,736 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1282477152] provided 1 perfect and 0 imperfect interpolant sequences [2022-07-23 15:10:35,736 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-07-23 15:10:35,736 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-07-23 15:10:35,736 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1870396158] [2022-07-23 15:10:35,736 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-07-23 15:10:35,737 INFO L757 eck$LassoCheckResult]: stem already infeasible [2022-07-23 15:10:35,737 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 15:10:35,737 INFO L85 PathProgramCache]: Analyzing trace with hash 2078933803, now seen corresponding path program 7 times [2022-07-23 15:10:35,737 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 15:10:35,737 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2084592519] [2022-07-23 15:10:35,737 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 15:10:35,737 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 15:10:35,740 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 15:10:35,740 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-23 15:10:35,741 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 15:10:35,743 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-23 15:10:35,755 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-23 15:10:35,756 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-07-23 15:10:35,756 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-07-23 15:10:35,756 INFO L87 Difference]: Start difference. First operand 17928 states and 33555 transitions. cyclomatic complexity: 15661 Second operand has 5 states, 5 states have (on average 9.2) internal successors, (46), 5 states have internal predecessors, (46), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-23 15:10:36,528 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-23 15:10:36,528 INFO L93 Difference]: Finished difference Result 39392 states and 73760 transitions. [2022-07-23 15:10:36,529 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-07-23 15:10:36,529 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 39392 states and 73760 transitions. [2022-07-23 15:10:36,901 INFO L131 ngComponentsAnalysis]: Automaton has 60 accepting balls. 15196 [2022-07-23 15:10:37,016 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 39392 states to 39392 states and 73760 transitions. [2022-07-23 15:10:37,016 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 39373 [2022-07-23 15:10:37,051 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 39373 [2022-07-23 15:10:37,051 INFO L73 IsDeterministic]: Start isDeterministic. Operand 39392 states and 73760 transitions. [2022-07-23 15:10:37,070 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-23 15:10:37,070 INFO L369 hiAutomatonCegarLoop]: Abstraction has 39392 states and 73760 transitions. [2022-07-23 15:10:37,104 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 39392 states and 73760 transitions. [2022-07-23 15:10:37,318 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 39392 to 17914. [2022-07-23 15:10:37,340 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17914 states, 17914 states have (on average 1.8716646198503963) internal successors, (33529), 17913 states have internal predecessors, (33529), 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) [2022-07-23 15:10:37,380 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17914 states to 17914 states and 33529 transitions. [2022-07-23 15:10:37,380 INFO L392 hiAutomatonCegarLoop]: Abstraction has 17914 states and 33529 transitions. [2022-07-23 15:10:37,380 INFO L374 stractBuchiCegarLoop]: Abstraction has 17914 states and 33529 transitions. [2022-07-23 15:10:37,381 INFO L287 stractBuchiCegarLoop]: ======== Iteration 9 ============ [2022-07-23 15:10:37,381 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 17914 states and 33529 transitions. [2022-07-23 15:10:37,432 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 4072 [2022-07-23 15:10:37,432 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-23 15:10:37,432 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-23 15:10:37,432 INFO L179 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] [2022-07-23 15:10:37,433 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1] [2022-07-23 15:10:37,433 INFO L752 eck$LassoCheckResult]: Stem: 760241#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(32, 2);call #Ultimate.allocInit(12, 3);call #Ultimate.allocInit(10, 4);call #Ultimate.allocInit(4, 5);call write~init~int(91, 5, 0, 1);call write~init~int(95, 5, 1, 1);call write~init~int(93, 5, 2, 1);call write~init~int(0, 5, 3, 1);call #Ultimate.allocInit(4, 6);call write~init~int(91, 6, 0, 1);call write~init~int(93, 6, 1, 1);call write~init~int(32, 6, 2, 1);call write~init~int(0, 6, 3, 1);call #Ultimate.allocInit(5, 7);call write~init~int(32, 7, 0, 1);call write~init~int(97, 7, 1, 1);call write~init~int(116, 7, 2, 1);call write~init~int(32, 7, 3, 1);call write~init~int(0, 7, 4, 1);call #Ultimate.allocInit(3, 8);call write~init~int(37, 8, 0, 1);call write~init~int(105, 8, 1, 1);call write~init~int(0, 8, 2, 1);call #Ultimate.allocInit(10, 9);call #Ultimate.allocInit(3, 10);call write~init~int(117, 10, 0, 1);call write~init~int(112, 10, 1, 1);call write~init~int(0, 10, 2, 1);call #Ultimate.allocInit(5, 11);call write~init~int(100, 11, 0, 1);call write~init~int(111, 11, 1, 1);call write~init~int(119, 11, 2, 1);call write~init~int(110, 11, 3, 1);call write~init~int(0, 11, 4, 1);call #Ultimate.allocInit(7, 12);call write~init~int(32, 12, 0, 1);call write~init~int(73, 12, 1, 1);call write~init~int(76, 12, 2, 1);call write~init~int(95, 12, 3, 1);call write~init~int(112, 12, 4, 1);call write~init~int(58, 12, 5, 1);call write~init~int(0, 12, 6, 1);call #Ultimate.allocInit(4, 13);call write~init~int(32, 13, 0, 1);call write~init~int(37, 13, 1, 1);call write~init~int(105, 13, 2, 1);call write~init~int(0, 13, 3, 1);call #Ultimate.allocInit(4, 14);call write~init~int(32, 14, 0, 1);call write~init~int(37, 14, 1, 1);call write~init~int(105, 14, 2, 1);call write~init~int(0, 14, 3, 1);call #Ultimate.allocInit(4, 15);call write~init~int(32, 15, 0, 1);call write~init~int(37, 15, 1, 1);call write~init~int(105, 15, 2, 1);call write~init~int(0, 15, 3, 1);call #Ultimate.allocInit(4, 16);call write~init~int(32, 16, 0, 1);call write~init~int(37, 16, 1, 1);call write~init~int(105, 16, 2, 1);call write~init~int(0, 16, 3, 1);call #Ultimate.allocInit(4, 17);call write~init~int(32, 17, 0, 1);call write~init~int(37, 17, 1, 1);call write~init~int(105, 17, 2, 1);call write~init~int(0, 17, 3, 1);call #Ultimate.allocInit(6, 18);call write~init~int(32, 18, 0, 1);call write~init~int(70, 18, 1, 1);call write~init~int(95, 18, 2, 1);call write~init~int(112, 18, 3, 1);call write~init~int(58, 18, 4, 1);call write~init~int(0, 18, 5, 1);call #Ultimate.allocInit(4, 19);call write~init~int(32, 19, 0, 1);call write~init~int(37, 19, 1, 1);call write~init~int(105, 19, 2, 1);call write~init~int(0, 19, 3, 1);call #Ultimate.allocInit(4, 20);call write~init~int(32, 20, 0, 1);call write~init~int(37, 20, 1, 1);call write~init~int(105, 20, 2, 1);call write~init~int(0, 20, 3, 1);call #Ultimate.allocInit(4, 21);call write~init~int(32, 21, 0, 1);call write~init~int(37, 21, 1, 1);call write~init~int(105, 21, 2, 1);call write~init~int(0, 21, 3, 1);call #Ultimate.allocInit(4, 22);call write~init~int(32, 22, 0, 1);call write~init~int(37, 22, 1, 1);call write~init~int(105, 22, 2, 1);call write~init~int(0, 22, 3, 1);call #Ultimate.allocInit(4, 23);call write~init~int(32, 23, 0, 1);call write~init~int(37, 23, 1, 1);call write~init~int(105, 23, 2, 1);call write~init~int(0, 23, 3, 1);call #Ultimate.allocInit(2, 24);call write~init~int(10, 24, 0, 1);call write~init~int(0, 24, 1, 1);call #Ultimate.allocInit(9, 25);call #Ultimate.allocInit(30, 26);call #Ultimate.allocInit(9, 27);call #Ultimate.allocInit(21, 28);call #Ultimate.allocInit(30, 29);call #Ultimate.allocInit(9, 30);call #Ultimate.allocInit(21, 31);call #Ultimate.allocInit(30, 32);call #Ultimate.allocInit(9, 33);call #Ultimate.allocInit(25, 34);call #Ultimate.allocInit(30, 35);call #Ultimate.allocInit(9, 36);call #Ultimate.allocInit(25, 37);~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;~weight~0 := 0;~maximumWeight~0 := 100;~blocked~0 := 0;~prevDir~0 := 0;~cleanupTimeShifts~0 := 12;~currentHeading~0 := 1;~currentFloorID~0 := 0;~persons_0~0 := 0;~persons_1~0 := 0;~persons_2~0 := 0;~persons_3~0 := 0;~persons_4~0 := 0;~persons_5~0 := 0;~doorState~0 := 1;~floorButtons_0~0 := 0;~floorButtons_1~0 := 0;~floorButtons_2~0 := 0;~floorButtons_3~0 := 0;~floorButtons_4~0 := 0;~head~0.base, ~head~0.offset := 0, 0; 756417#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret24#1, main_~retValue_acc~7#1, main_~tmp~9#1;havoc main_~retValue_acc~7#1;havoc main_~tmp~9#1;assume { :begin_inline_select_helpers } true; 755817#L2983 assume { :end_inline_select_helpers } true;assume { :begin_inline_select_features } true; 755818#L2976 assume { :end_inline_select_features } true;assume { :begin_inline_valid_product } true;havoc valid_product_#res#1;havoc valid_product_~retValue_acc~24#1;havoc valid_product_~retValue_acc~24#1;valid_product_~retValue_acc~24#1 := 1;valid_product_#res#1 := valid_product_~retValue_acc~24#1; 762436#L2991 main_#t~ret24#1 := valid_product_#res#1;assume { :end_inline_valid_product } true;main_~tmp~9#1 := main_#t~ret24#1;havoc main_#t~ret24#1; 762006#L1277 assume 0 != main_~tmp~9#1;assume { :begin_inline_setup } true; 759966#L1250 assume { :end_inline_setup } true;assume { :begin_inline_runTest } true;assume { :begin_inline_test } true;assume { :begin_inline_aliceCall } true;havoc aliceCall_#t~ret13#1, aliceCall_~tmp~2#1;havoc aliceCall_~tmp~2#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 1;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~1#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~1#1; 753237#L95 assume !(0 == getOrigin_~person#1); 749563#L99 assume 1 == getOrigin_~person#1;getOrigin_~retValue_acc~1#1 := 3;getOrigin_#res#1 := getOrigin_~retValue_acc~1#1; 749564#L120 aliceCall_#t~ret13#1 := getOrigin_#res#1;assume { :end_inline_getOrigin } true;aliceCall_~tmp~2#1 := aliceCall_#t~ret13#1;havoc aliceCall_#t~ret13#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 1, aliceCall_~tmp~2#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 763591#L530 assume !(0 == initPersonOnFloor_~floor#1); 764339#L557 assume !(1 == initPersonOnFloor_~floor#1); 751539#L584 assume !(2 == initPersonOnFloor_~floor#1); 751540#L611 assume 3 == initPersonOnFloor_~floor#1; 763057#L612 assume !(0 == initPersonOnFloor_~person#1); 763058#L615 assume 1 == initPersonOnFloor_~person#1;~personOnFloor_1_3~0 := 1; 747976#L638-1 assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 764696#L322 assume !(0 == callOnFloor_~floorID#1); 748382#L325 assume !(1 == callOnFloor_~floorID#1); 748383#L328 assume !(2 == callOnFloor_~floorID#1); 748205#L331 assume 3 == callOnFloor_~floorID#1;~calls_3~0 := 1; 748206#L334-2 assume { :end_inline_callOnFloor } true; 764430#L674 assume { :end_inline_initPersonOnFloor } true; 764660#L1006 assume { :end_inline_aliceCall } true;assume { :begin_inline_angelinaCall } true;havoc angelinaCall_#t~ret14#1, angelinaCall_~tmp~3#1;havoc angelinaCall_~tmp~3#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 2;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~1#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~1#1; 748053#L95-1 assume !(0 == getOrigin_~person#1); 748054#L99-1 assume !(1 == getOrigin_~person#1); 760310#L103-1 assume 2 == getOrigin_~person#1;getOrigin_~retValue_acc~1#1 := 2;getOrigin_#res#1 := getOrigin_~retValue_acc~1#1; 764967#L120-1 angelinaCall_#t~ret14#1 := getOrigin_#res#1;assume { :end_inline_getOrigin } true;angelinaCall_~tmp~3#1 := angelinaCall_#t~ret14#1;havoc angelinaCall_#t~ret14#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 2, angelinaCall_~tmp~3#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 760011#L530-1 assume !(0 == initPersonOnFloor_~floor#1); 760012#L557-1 assume 1 == initPersonOnFloor_~floor#1; 762924#L558-2 assume !(0 == initPersonOnFloor_~person#1); 761503#L561-2 assume 1 == initPersonOnFloor_~person#1;~personOnFloor_1_1~0 := 1; 752343#L638-3 assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 765733#L322-2 assume !(0 == callOnFloor_~floorID#1); 765731#L325-2 assume 1 == callOnFloor_~floorID#1;~calls_1~0 := 1; 755936#L334-5 assume { :end_inline_callOnFloor } true; 756424#L674-1 assume { :end_inline_initPersonOnFloor } true; 757927#L1017 assume { :end_inline_angelinaCall } true;assume { :begin_inline_threeTS } true;assume { :begin_inline_timeShift } true;havoc timeShift_#t~ret84#1, timeShift_~tmp~24#1;havoc timeShift_~tmp~24#1;assume { :begin_inline___utac_acc__Specification13_spec__1 } true;havoc __utac_acc__Specification13_spec__1_#t~ret4#1;assume { :begin_inline_getCurrentHeading } true;havoc getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~12#1;havoc getCurrentHeading_~retValue_acc~12#1;getCurrentHeading_~retValue_acc~12#1 := ~currentHeading~0;getCurrentHeading_#res#1 := getCurrentHeading_~retValue_acc~12#1; 756758#L1680 __utac_acc__Specification13_spec__1_#t~ret4#1 := getCurrentHeading_#res#1;assume { :end_inline_getCurrentHeading } true;~prevDir~0 := __utac_acc__Specification13_spec__1_#t~ret4#1;havoc __utac_acc__Specification13_spec__1_#t~ret4#1; 756759#L851 assume { :end_inline___utac_acc__Specification13_spec__1 } true;assume { :begin_inline_areDoorsOpen } true;havoc areDoorsOpen_#res#1;havoc areDoorsOpen_~retValue_acc~10#1;havoc areDoorsOpen_~retValue_acc~10#1;areDoorsOpen_~retValue_acc~10#1 := ~doorState~0;areDoorsOpen_#res#1 := areDoorsOpen_~retValue_acc~10#1; 765695#L1637 timeShift_#t~ret84#1 := areDoorsOpen_#res#1;assume { :end_inline_areDoorsOpen } true;timeShift_~tmp~24#1 := timeShift_#t~ret84#1;havoc timeShift_#t~ret84#1; 753231#L2587 assume 0 != timeShift_~tmp~24#1; 753232#L2588 assume ~weight~0 > ~maximumWeight~0;~blocked~0 := 1; 754799#L2587-1 assume { :begin_inline___utac_acc__Specification13_spec__2 } true;havoc __utac_acc__Specification13_spec__2_#t~ret5#1, __utac_acc__Specification13_spec__2_#t~ret6#1, __utac_acc__Specification13_spec__2_#t~ret7#1, __utac_acc__Specification13_spec__2_#t~ret8#1, __utac_acc__Specification13_spec__2_#t~ret9#1, __utac_acc__Specification13_spec__2_#t~ret10#1, __utac_acc__Specification13_spec__2_~tmp~0#1, __utac_acc__Specification13_spec__2_~tmp___0~0#1, __utac_acc__Specification13_spec__2_~tmp___1~0#1, __utac_acc__Specification13_spec__2_~tmp___2~0#1, __utac_acc__Specification13_spec__2_~tmp___3~0#1, __utac_acc__Specification13_spec__2_~tmp___4~0#1, __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1, __utac_acc__Specification13_spec__2_~__cil_tmp8~0#1;havoc __utac_acc__Specification13_spec__2_~tmp~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___0~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___1~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___2~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___3~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___4~0#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp8~0#1;__utac_acc__Specification13_spec__2_~__cil_tmp7~0#1 := 2 * ~maximumWeight~0;__utac_acc__Specification13_spec__2_~__cil_tmp8~0#1 := (if __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1 < 0 && 0 != __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1 % 3 then 1 + __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1 / 3 else __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1 / 3); 757512#L869 assume ~weight~0 > __utac_acc__Specification13_spec__2_~__cil_tmp8~0#1; 755334#L870 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~22#1, existInLiftCallsInDirection_~i~3#1, existInLiftCallsInDirection_~i___0~0#1;existInLiftCallsInDirection_~d#1 := existInLiftCallsInDirection_#in~d#1;havoc existInLiftCallsInDirection_~retValue_acc~22#1;havoc existInLiftCallsInDirection_~i~3#1;havoc existInLiftCallsInDirection_~i___0~0#1; 755335#L2807 assume !(1 == existInLiftCallsInDirection_~d#1); 757555#L2873 assume 0 == existInLiftCallsInDirection_~d#1;existInLiftCallsInDirection_~i___0~0#1 := 0;existInLiftCallsInDirection_~i___0~0#1 := ~currentFloorID~0 - 1; 757556#L2877-2 [2022-07-23 15:10:37,433 INFO L754 eck$LassoCheckResult]: Loop: 757556#L2877-2 assume !false; 754059#L2878 assume existInLiftCallsInDirection_~i___0~0#1 >= 0; 754060#L2879 existInLiftCallsInDirection_~i___0~0#1 := 1 + ~currentFloorID~0; 752348#L2886-2 assume !false; 752349#L2887 assume !(existInLiftCallsInDirection_~i___0~0#1 < 5); 753313#L2945 existInLiftCallsInDirection_~i___0~0#1 := existInLiftCallsInDirection_~i___0~0#1 - 1; 757556#L2877-2 [2022-07-23 15:10:37,433 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 15:10:37,434 INFO L85 PathProgramCache]: Analyzing trace with hash 1355773026, now seen corresponding path program 1 times [2022-07-23 15:10:37,434 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 15:10:37,434 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [729595561] [2022-07-23 15:10:37,434 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 15:10:37,434 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 15:10:37,456 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-23 15:10:37,496 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-07-23 15:10:37,497 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-23 15:10:37,497 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [729595561] [2022-07-23 15:10:37,497 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [729595561] provided 1 perfect and 0 imperfect interpolant sequences [2022-07-23 15:10:37,497 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-07-23 15:10:37,497 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-07-23 15:10:37,498 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1935101751] [2022-07-23 15:10:37,498 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-07-23 15:10:37,498 INFO L757 eck$LassoCheckResult]: stem already infeasible [2022-07-23 15:10:37,499 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 15:10:37,499 INFO L85 PathProgramCache]: Analyzing trace with hash 2078933803, now seen corresponding path program 8 times [2022-07-23 15:10:37,499 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 15:10:37,499 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [247451986] [2022-07-23 15:10:37,499 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 15:10:37,499 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 15:10:37,503 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 15:10:37,504 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-23 15:10:37,506 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 15:10:37,508 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-23 15:10:37,525 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-23 15:10:37,525 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-07-23 15:10:37,525 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-07-23 15:10:37,526 INFO L87 Difference]: Start difference. First operand 17914 states and 33529 transitions. cyclomatic complexity: 15649 Second operand has 5 states, 5 states have (on average 9.6) internal successors, (48), 5 states have internal predecessors, (48), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-23 15:10:38,373 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-23 15:10:38,373 INFO L93 Difference]: Finished difference Result 39366 states and 73711 transitions. [2022-07-23 15:10:38,374 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-07-23 15:10:38,374 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 39366 states and 73711 transitions. [2022-07-23 15:10:38,516 INFO L131 ngComponentsAnalysis]: Automaton has 60 accepting balls. 15196 [2022-07-23 15:10:38,626 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 39366 states to 39366 states and 73711 transitions. [2022-07-23 15:10:38,627 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 39347 [2022-07-23 15:10:38,656 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 39347 [2022-07-23 15:10:38,656 INFO L73 IsDeterministic]: Start isDeterministic. Operand 39366 states and 73711 transitions. [2022-07-23 15:10:38,669 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-23 15:10:38,670 INFO L369 hiAutomatonCegarLoop]: Abstraction has 39366 states and 73711 transitions. [2022-07-23 15:10:38,702 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 39366 states and 73711 transitions. [2022-07-23 15:10:38,917 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 39366 to 17908. [2022-07-23 15:10:38,938 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17908 states, 17908 states have (on average 1.8715657806566897) internal successors, (33516), 17907 states have internal predecessors, (33516), 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) [2022-07-23 15:10:38,972 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17908 states to 17908 states and 33516 transitions. [2022-07-23 15:10:38,973 INFO L392 hiAutomatonCegarLoop]: Abstraction has 17908 states and 33516 transitions. [2022-07-23 15:10:38,973 INFO L374 stractBuchiCegarLoop]: Abstraction has 17908 states and 33516 transitions. [2022-07-23 15:10:38,973 INFO L287 stractBuchiCegarLoop]: ======== Iteration 10 ============ [2022-07-23 15:10:38,973 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 17908 states and 33516 transitions. [2022-07-23 15:10:39,021 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 4072 [2022-07-23 15:10:39,021 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-23 15:10:39,021 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-23 15:10:39,022 INFO L179 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] [2022-07-23 15:10:39,022 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1] [2022-07-23 15:10:39,022 INFO L752 eck$LassoCheckResult]: Stem: 817528#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(32, 2);call #Ultimate.allocInit(12, 3);call #Ultimate.allocInit(10, 4);call #Ultimate.allocInit(4, 5);call write~init~int(91, 5, 0, 1);call write~init~int(95, 5, 1, 1);call write~init~int(93, 5, 2, 1);call write~init~int(0, 5, 3, 1);call #Ultimate.allocInit(4, 6);call write~init~int(91, 6, 0, 1);call write~init~int(93, 6, 1, 1);call write~init~int(32, 6, 2, 1);call write~init~int(0, 6, 3, 1);call #Ultimate.allocInit(5, 7);call write~init~int(32, 7, 0, 1);call write~init~int(97, 7, 1, 1);call write~init~int(116, 7, 2, 1);call write~init~int(32, 7, 3, 1);call write~init~int(0, 7, 4, 1);call #Ultimate.allocInit(3, 8);call write~init~int(37, 8, 0, 1);call write~init~int(105, 8, 1, 1);call write~init~int(0, 8, 2, 1);call #Ultimate.allocInit(10, 9);call #Ultimate.allocInit(3, 10);call write~init~int(117, 10, 0, 1);call write~init~int(112, 10, 1, 1);call write~init~int(0, 10, 2, 1);call #Ultimate.allocInit(5, 11);call write~init~int(100, 11, 0, 1);call write~init~int(111, 11, 1, 1);call write~init~int(119, 11, 2, 1);call write~init~int(110, 11, 3, 1);call write~init~int(0, 11, 4, 1);call #Ultimate.allocInit(7, 12);call write~init~int(32, 12, 0, 1);call write~init~int(73, 12, 1, 1);call write~init~int(76, 12, 2, 1);call write~init~int(95, 12, 3, 1);call write~init~int(112, 12, 4, 1);call write~init~int(58, 12, 5, 1);call write~init~int(0, 12, 6, 1);call #Ultimate.allocInit(4, 13);call write~init~int(32, 13, 0, 1);call write~init~int(37, 13, 1, 1);call write~init~int(105, 13, 2, 1);call write~init~int(0, 13, 3, 1);call #Ultimate.allocInit(4, 14);call write~init~int(32, 14, 0, 1);call write~init~int(37, 14, 1, 1);call write~init~int(105, 14, 2, 1);call write~init~int(0, 14, 3, 1);call #Ultimate.allocInit(4, 15);call write~init~int(32, 15, 0, 1);call write~init~int(37, 15, 1, 1);call write~init~int(105, 15, 2, 1);call write~init~int(0, 15, 3, 1);call #Ultimate.allocInit(4, 16);call write~init~int(32, 16, 0, 1);call write~init~int(37, 16, 1, 1);call write~init~int(105, 16, 2, 1);call write~init~int(0, 16, 3, 1);call #Ultimate.allocInit(4, 17);call write~init~int(32, 17, 0, 1);call write~init~int(37, 17, 1, 1);call write~init~int(105, 17, 2, 1);call write~init~int(0, 17, 3, 1);call #Ultimate.allocInit(6, 18);call write~init~int(32, 18, 0, 1);call write~init~int(70, 18, 1, 1);call write~init~int(95, 18, 2, 1);call write~init~int(112, 18, 3, 1);call write~init~int(58, 18, 4, 1);call write~init~int(0, 18, 5, 1);call #Ultimate.allocInit(4, 19);call write~init~int(32, 19, 0, 1);call write~init~int(37, 19, 1, 1);call write~init~int(105, 19, 2, 1);call write~init~int(0, 19, 3, 1);call #Ultimate.allocInit(4, 20);call write~init~int(32, 20, 0, 1);call write~init~int(37, 20, 1, 1);call write~init~int(105, 20, 2, 1);call write~init~int(0, 20, 3, 1);call #Ultimate.allocInit(4, 21);call write~init~int(32, 21, 0, 1);call write~init~int(37, 21, 1, 1);call write~init~int(105, 21, 2, 1);call write~init~int(0, 21, 3, 1);call #Ultimate.allocInit(4, 22);call write~init~int(32, 22, 0, 1);call write~init~int(37, 22, 1, 1);call write~init~int(105, 22, 2, 1);call write~init~int(0, 22, 3, 1);call #Ultimate.allocInit(4, 23);call write~init~int(32, 23, 0, 1);call write~init~int(37, 23, 1, 1);call write~init~int(105, 23, 2, 1);call write~init~int(0, 23, 3, 1);call #Ultimate.allocInit(2, 24);call write~init~int(10, 24, 0, 1);call write~init~int(0, 24, 1, 1);call #Ultimate.allocInit(9, 25);call #Ultimate.allocInit(30, 26);call #Ultimate.allocInit(9, 27);call #Ultimate.allocInit(21, 28);call #Ultimate.allocInit(30, 29);call #Ultimate.allocInit(9, 30);call #Ultimate.allocInit(21, 31);call #Ultimate.allocInit(30, 32);call #Ultimate.allocInit(9, 33);call #Ultimate.allocInit(25, 34);call #Ultimate.allocInit(30, 35);call #Ultimate.allocInit(9, 36);call #Ultimate.allocInit(25, 37);~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;~weight~0 := 0;~maximumWeight~0 := 100;~blocked~0 := 0;~prevDir~0 := 0;~cleanupTimeShifts~0 := 12;~currentHeading~0 := 1;~currentFloorID~0 := 0;~persons_0~0 := 0;~persons_1~0 := 0;~persons_2~0 := 0;~persons_3~0 := 0;~persons_4~0 := 0;~persons_5~0 := 0;~doorState~0 := 1;~floorButtons_0~0 := 0;~floorButtons_1~0 := 0;~floorButtons_2~0 := 0;~floorButtons_3~0 := 0;~floorButtons_4~0 := 0;~head~0.base, ~head~0.offset := 0, 0; 813707#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret24#1, main_~retValue_acc~7#1, main_~tmp~9#1;havoc main_~retValue_acc~7#1;havoc main_~tmp~9#1;assume { :begin_inline_select_helpers } true; 813107#L2983 assume { :end_inline_select_helpers } true;assume { :begin_inline_select_features } true; 813108#L2976 assume { :end_inline_select_features } true;assume { :begin_inline_valid_product } true;havoc valid_product_#res#1;havoc valid_product_~retValue_acc~24#1;havoc valid_product_~retValue_acc~24#1;valid_product_~retValue_acc~24#1 := 1;valid_product_#res#1 := valid_product_~retValue_acc~24#1; 819722#L2991 main_#t~ret24#1 := valid_product_#res#1;assume { :end_inline_valid_product } true;main_~tmp~9#1 := main_#t~ret24#1;havoc main_#t~ret24#1; 819292#L1277 assume 0 != main_~tmp~9#1;assume { :begin_inline_setup } true; 817254#L1250 assume { :end_inline_setup } true;assume { :begin_inline_runTest } true;assume { :begin_inline_test } true;assume { :begin_inline_aliceCall } true;havoc aliceCall_#t~ret13#1, aliceCall_~tmp~2#1;havoc aliceCall_~tmp~2#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 1;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~1#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~1#1; 810530#L95 assume !(0 == getOrigin_~person#1); 806856#L99 assume 1 == getOrigin_~person#1;getOrigin_~retValue_acc~1#1 := 3;getOrigin_#res#1 := getOrigin_~retValue_acc~1#1; 806857#L120 aliceCall_#t~ret13#1 := getOrigin_#res#1;assume { :end_inline_getOrigin } true;aliceCall_~tmp~2#1 := aliceCall_#t~ret13#1;havoc aliceCall_#t~ret13#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 1, aliceCall_~tmp~2#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 820879#L530 assume !(0 == initPersonOnFloor_~floor#1); 821627#L557 assume !(1 == initPersonOnFloor_~floor#1); 808835#L584 assume !(2 == initPersonOnFloor_~floor#1); 808836#L611 assume 3 == initPersonOnFloor_~floor#1; 820345#L612 assume !(0 == initPersonOnFloor_~person#1); 820346#L615 assume 1 == initPersonOnFloor_~person#1;~personOnFloor_1_3~0 := 1; 805272#L638-1 assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 821984#L322 assume !(0 == callOnFloor_~floorID#1); 805678#L325 assume !(1 == callOnFloor_~floorID#1); 805679#L328 assume !(2 == callOnFloor_~floorID#1); 805501#L331 assume 3 == callOnFloor_~floorID#1;~calls_3~0 := 1; 805502#L334-2 assume { :end_inline_callOnFloor } true; 821718#L674 assume { :end_inline_initPersonOnFloor } true; 821948#L1006 assume { :end_inline_aliceCall } true;assume { :begin_inline_angelinaCall } true;havoc angelinaCall_#t~ret14#1, angelinaCall_~tmp~3#1;havoc angelinaCall_~tmp~3#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 2;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~1#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~1#1; 805349#L95-1 assume !(0 == getOrigin_~person#1); 805350#L99-1 assume !(1 == getOrigin_~person#1); 817599#L103-1 assume 2 == getOrigin_~person#1;getOrigin_~retValue_acc~1#1 := 2;getOrigin_#res#1 := getOrigin_~retValue_acc~1#1; 822255#L120-1 angelinaCall_#t~ret14#1 := getOrigin_#res#1;assume { :end_inline_getOrigin } true;angelinaCall_~tmp~3#1 := angelinaCall_#t~ret14#1;havoc angelinaCall_#t~ret14#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 2, angelinaCall_~tmp~3#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 817299#L530-1 assume !(0 == initPersonOnFloor_~floor#1); 817300#L557-1 assume !(1 == initPersonOnFloor_~floor#1); 822525#L584-1 assume 2 == initPersonOnFloor_~floor#1; 819649#L585-2 assume !(0 == initPersonOnFloor_~person#1); 815073#L588-2 assume 1 == initPersonOnFloor_~person#1;~personOnFloor_1_2~0 := 1; 808854#L638-3 assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 823022#L322-2 assume !(0 == callOnFloor_~floorID#1); 823021#L325-2 assume !(1 == callOnFloor_~floorID#1); 823020#L328-2 assume 2 == callOnFloor_~floorID#1;~calls_2~0 := 1; 813223#L334-5 assume { :end_inline_callOnFloor } true; 813714#L674-1 assume { :end_inline_initPersonOnFloor } true; 815216#L1017 assume { :end_inline_angelinaCall } true;assume { :begin_inline_threeTS } true;assume { :begin_inline_timeShift } true;havoc timeShift_#t~ret84#1, timeShift_~tmp~24#1;havoc timeShift_~tmp~24#1;assume { :begin_inline___utac_acc__Specification13_spec__1 } true;havoc __utac_acc__Specification13_spec__1_#t~ret4#1;assume { :begin_inline_getCurrentHeading } true;havoc getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~12#1;havoc getCurrentHeading_~retValue_acc~12#1;getCurrentHeading_~retValue_acc~12#1 := ~currentHeading~0;getCurrentHeading_#res#1 := getCurrentHeading_~retValue_acc~12#1; 814048#L1680 __utac_acc__Specification13_spec__1_#t~ret4#1 := getCurrentHeading_#res#1;assume { :end_inline_getCurrentHeading } true;~prevDir~0 := __utac_acc__Specification13_spec__1_#t~ret4#1;havoc __utac_acc__Specification13_spec__1_#t~ret4#1; 814049#L851 assume { :end_inline___utac_acc__Specification13_spec__1 } true;assume { :begin_inline_areDoorsOpen } true;havoc areDoorsOpen_#res#1;havoc areDoorsOpen_~retValue_acc~10#1;havoc areDoorsOpen_~retValue_acc~10#1;areDoorsOpen_~retValue_acc~10#1 := ~doorState~0;areDoorsOpen_#res#1 := areDoorsOpen_~retValue_acc~10#1; 822984#L1637 timeShift_#t~ret84#1 := areDoorsOpen_#res#1;assume { :end_inline_areDoorsOpen } true;timeShift_~tmp~24#1 := timeShift_#t~ret84#1;havoc timeShift_#t~ret84#1; 810524#L2587 assume 0 != timeShift_~tmp~24#1; 810525#L2588 assume ~weight~0 > ~maximumWeight~0;~blocked~0 := 1; 812090#L2587-1 assume { :begin_inline___utac_acc__Specification13_spec__2 } true;havoc __utac_acc__Specification13_spec__2_#t~ret5#1, __utac_acc__Specification13_spec__2_#t~ret6#1, __utac_acc__Specification13_spec__2_#t~ret7#1, __utac_acc__Specification13_spec__2_#t~ret8#1, __utac_acc__Specification13_spec__2_#t~ret9#1, __utac_acc__Specification13_spec__2_#t~ret10#1, __utac_acc__Specification13_spec__2_~tmp~0#1, __utac_acc__Specification13_spec__2_~tmp___0~0#1, __utac_acc__Specification13_spec__2_~tmp___1~0#1, __utac_acc__Specification13_spec__2_~tmp___2~0#1, __utac_acc__Specification13_spec__2_~tmp___3~0#1, __utac_acc__Specification13_spec__2_~tmp___4~0#1, __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1, __utac_acc__Specification13_spec__2_~__cil_tmp8~0#1;havoc __utac_acc__Specification13_spec__2_~tmp~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___0~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___1~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___2~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___3~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___4~0#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp8~0#1;__utac_acc__Specification13_spec__2_~__cil_tmp7~0#1 := 2 * ~maximumWeight~0;__utac_acc__Specification13_spec__2_~__cil_tmp8~0#1 := (if __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1 < 0 && 0 != __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1 % 3 then 1 + __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1 / 3 else __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1 / 3); 814801#L869 assume ~weight~0 > __utac_acc__Specification13_spec__2_~__cil_tmp8~0#1; 812623#L870 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~22#1, existInLiftCallsInDirection_~i~3#1, existInLiftCallsInDirection_~i___0~0#1;existInLiftCallsInDirection_~d#1 := existInLiftCallsInDirection_#in~d#1;havoc existInLiftCallsInDirection_~retValue_acc~22#1;havoc existInLiftCallsInDirection_~i~3#1;havoc existInLiftCallsInDirection_~i___0~0#1; 812624#L2807 assume !(1 == existInLiftCallsInDirection_~d#1); 814844#L2873 assume 0 == existInLiftCallsInDirection_~d#1;existInLiftCallsInDirection_~i___0~0#1 := 0;existInLiftCallsInDirection_~i___0~0#1 := ~currentFloorID~0 - 1; 814845#L2877-2 [2022-07-23 15:10:39,023 INFO L754 eck$LassoCheckResult]: Loop: 814845#L2877-2 assume !false; 811352#L2878 assume existInLiftCallsInDirection_~i___0~0#1 >= 0; 811353#L2879 existInLiftCallsInDirection_~i___0~0#1 := 1 + ~currentFloorID~0; 809641#L2886-2 assume !false; 809642#L2887 assume !(existInLiftCallsInDirection_~i___0~0#1 < 5); 810606#L2945 existInLiftCallsInDirection_~i___0~0#1 := existInLiftCallsInDirection_~i___0~0#1 - 1; 814845#L2877-2 [2022-07-23 15:10:39,023 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 15:10:39,023 INFO L85 PathProgramCache]: Analyzing trace with hash 1516125827, now seen corresponding path program 1 times [2022-07-23 15:10:39,025 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 15:10:39,027 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1605976444] [2022-07-23 15:10:39,027 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 15:10:39,027 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 15:10:39,042 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-23 15:10:39,059 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-07-23 15:10:39,060 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-23 15:10:39,060 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1605976444] [2022-07-23 15:10:39,060 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1605976444] provided 1 perfect and 0 imperfect interpolant sequences [2022-07-23 15:10:39,060 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-07-23 15:10:39,060 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-07-23 15:10:39,060 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [391001969] [2022-07-23 15:10:39,061 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-07-23 15:10:39,061 INFO L757 eck$LassoCheckResult]: stem already infeasible [2022-07-23 15:10:39,061 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 15:10:39,061 INFO L85 PathProgramCache]: Analyzing trace with hash 2078933803, now seen corresponding path program 9 times [2022-07-23 15:10:39,061 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 15:10:39,062 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1846129012] [2022-07-23 15:10:39,062 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 15:10:39,062 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 15:10:39,065 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 15:10:39,065 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-23 15:10:39,066 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 15:10:39,067 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-23 15:10:39,080 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-23 15:10:39,080 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-07-23 15:10:39,081 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-07-23 15:10:39,081 INFO L87 Difference]: Start difference. First operand 17908 states and 33516 transitions. cyclomatic complexity: 15642 Second operand has 4 states, 4 states have (on average 12.5) internal successors, (50), 4 states have internal predecessors, (50), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-23 15:10:39,656 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-23 15:10:39,656 INFO L93 Difference]: Finished difference Result 25085 states and 46937 transitions. [2022-07-23 15:10:39,657 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-07-23 15:10:39,657 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 25085 states and 46937 transitions. [2022-07-23 15:10:39,765 INFO L131 ngComponentsAnalysis]: Automaton has 42 accepting balls. 7780 [2022-07-23 15:10:39,848 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 25085 states to 25085 states and 46937 transitions. [2022-07-23 15:10:39,848 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 25066 [2022-07-23 15:10:39,868 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 25066 [2022-07-23 15:10:39,869 INFO L73 IsDeterministic]: Start isDeterministic. Operand 25085 states and 46937 transitions. [2022-07-23 15:10:39,869 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-23 15:10:39,869 INFO L369 hiAutomatonCegarLoop]: Abstraction has 25085 states and 46937 transitions. [2022-07-23 15:10:39,895 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 25085 states and 46937 transitions. [2022-07-23 15:10:40,079 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 25085 to 17908. [2022-07-23 15:10:40,101 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17908 states, 17908 states have (on average 1.8711190529372348) internal successors, (33508), 17907 states have internal predecessors, (33508), 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) [2022-07-23 15:10:40,135 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17908 states to 17908 states and 33508 transitions. [2022-07-23 15:10:40,135 INFO L392 hiAutomatonCegarLoop]: Abstraction has 17908 states and 33508 transitions. [2022-07-23 15:10:40,136 INFO L374 stractBuchiCegarLoop]: Abstraction has 17908 states and 33508 transitions. [2022-07-23 15:10:40,136 INFO L287 stractBuchiCegarLoop]: ======== Iteration 11 ============ [2022-07-23 15:10:40,136 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 17908 states and 33508 transitions. [2022-07-23 15:10:40,182 INFO L131 ngComponentsAnalysis]: Automaton has 33 accepting balls. 4072 [2022-07-23 15:10:40,182 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-23 15:10:40,182 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-23 15:10:40,182 INFO L179 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] [2022-07-23 15:10:40,182 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1] [2022-07-23 15:10:40,183 INFO L752 eck$LassoCheckResult]: Stem: 860535#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(32, 2);call #Ultimate.allocInit(12, 3);call #Ultimate.allocInit(10, 4);call #Ultimate.allocInit(4, 5);call write~init~int(91, 5, 0, 1);call write~init~int(95, 5, 1, 1);call write~init~int(93, 5, 2, 1);call write~init~int(0, 5, 3, 1);call #Ultimate.allocInit(4, 6);call write~init~int(91, 6, 0, 1);call write~init~int(93, 6, 1, 1);call write~init~int(32, 6, 2, 1);call write~init~int(0, 6, 3, 1);call #Ultimate.allocInit(5, 7);call write~init~int(32, 7, 0, 1);call write~init~int(97, 7, 1, 1);call write~init~int(116, 7, 2, 1);call write~init~int(32, 7, 3, 1);call write~init~int(0, 7, 4, 1);call #Ultimate.allocInit(3, 8);call write~init~int(37, 8, 0, 1);call write~init~int(105, 8, 1, 1);call write~init~int(0, 8, 2, 1);call #Ultimate.allocInit(10, 9);call #Ultimate.allocInit(3, 10);call write~init~int(117, 10, 0, 1);call write~init~int(112, 10, 1, 1);call write~init~int(0, 10, 2, 1);call #Ultimate.allocInit(5, 11);call write~init~int(100, 11, 0, 1);call write~init~int(111, 11, 1, 1);call write~init~int(119, 11, 2, 1);call write~init~int(110, 11, 3, 1);call write~init~int(0, 11, 4, 1);call #Ultimate.allocInit(7, 12);call write~init~int(32, 12, 0, 1);call write~init~int(73, 12, 1, 1);call write~init~int(76, 12, 2, 1);call write~init~int(95, 12, 3, 1);call write~init~int(112, 12, 4, 1);call write~init~int(58, 12, 5, 1);call write~init~int(0, 12, 6, 1);call #Ultimate.allocInit(4, 13);call write~init~int(32, 13, 0, 1);call write~init~int(37, 13, 1, 1);call write~init~int(105, 13, 2, 1);call write~init~int(0, 13, 3, 1);call #Ultimate.allocInit(4, 14);call write~init~int(32, 14, 0, 1);call write~init~int(37, 14, 1, 1);call write~init~int(105, 14, 2, 1);call write~init~int(0, 14, 3, 1);call #Ultimate.allocInit(4, 15);call write~init~int(32, 15, 0, 1);call write~init~int(37, 15, 1, 1);call write~init~int(105, 15, 2, 1);call write~init~int(0, 15, 3, 1);call #Ultimate.allocInit(4, 16);call write~init~int(32, 16, 0, 1);call write~init~int(37, 16, 1, 1);call write~init~int(105, 16, 2, 1);call write~init~int(0, 16, 3, 1);call #Ultimate.allocInit(4, 17);call write~init~int(32, 17, 0, 1);call write~init~int(37, 17, 1, 1);call write~init~int(105, 17, 2, 1);call write~init~int(0, 17, 3, 1);call #Ultimate.allocInit(6, 18);call write~init~int(32, 18, 0, 1);call write~init~int(70, 18, 1, 1);call write~init~int(95, 18, 2, 1);call write~init~int(112, 18, 3, 1);call write~init~int(58, 18, 4, 1);call write~init~int(0, 18, 5, 1);call #Ultimate.allocInit(4, 19);call write~init~int(32, 19, 0, 1);call write~init~int(37, 19, 1, 1);call write~init~int(105, 19, 2, 1);call write~init~int(0, 19, 3, 1);call #Ultimate.allocInit(4, 20);call write~init~int(32, 20, 0, 1);call write~init~int(37, 20, 1, 1);call write~init~int(105, 20, 2, 1);call write~init~int(0, 20, 3, 1);call #Ultimate.allocInit(4, 21);call write~init~int(32, 21, 0, 1);call write~init~int(37, 21, 1, 1);call write~init~int(105, 21, 2, 1);call write~init~int(0, 21, 3, 1);call #Ultimate.allocInit(4, 22);call write~init~int(32, 22, 0, 1);call write~init~int(37, 22, 1, 1);call write~init~int(105, 22, 2, 1);call write~init~int(0, 22, 3, 1);call #Ultimate.allocInit(4, 23);call write~init~int(32, 23, 0, 1);call write~init~int(37, 23, 1, 1);call write~init~int(105, 23, 2, 1);call write~init~int(0, 23, 3, 1);call #Ultimate.allocInit(2, 24);call write~init~int(10, 24, 0, 1);call write~init~int(0, 24, 1, 1);call #Ultimate.allocInit(9, 25);call #Ultimate.allocInit(30, 26);call #Ultimate.allocInit(9, 27);call #Ultimate.allocInit(21, 28);call #Ultimate.allocInit(30, 29);call #Ultimate.allocInit(9, 30);call #Ultimate.allocInit(21, 31);call #Ultimate.allocInit(30, 32);call #Ultimate.allocInit(9, 33);call #Ultimate.allocInit(25, 34);call #Ultimate.allocInit(30, 35);call #Ultimate.allocInit(9, 36);call #Ultimate.allocInit(25, 37);~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;~weight~0 := 0;~maximumWeight~0 := 100;~blocked~0 := 0;~prevDir~0 := 0;~cleanupTimeShifts~0 := 12;~currentHeading~0 := 1;~currentFloorID~0 := 0;~persons_0~0 := 0;~persons_1~0 := 0;~persons_2~0 := 0;~persons_3~0 := 0;~persons_4~0 := 0;~persons_5~0 := 0;~doorState~0 := 1;~floorButtons_0~0 := 0;~floorButtons_1~0 := 0;~floorButtons_2~0 := 0;~floorButtons_3~0 := 0;~floorButtons_4~0 := 0;~head~0.base, ~head~0.offset := 0, 0; 856712#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret24#1, main_~retValue_acc~7#1, main_~tmp~9#1;havoc main_~retValue_acc~7#1;havoc main_~tmp~9#1;assume { :begin_inline_select_helpers } true; 856112#L2983 assume { :end_inline_select_helpers } true;assume { :begin_inline_select_features } true; 856113#L2976 assume { :end_inline_select_features } true;assume { :begin_inline_valid_product } true;havoc valid_product_#res#1;havoc valid_product_~retValue_acc~24#1;havoc valid_product_~retValue_acc~24#1;valid_product_~retValue_acc~24#1 := 1;valid_product_#res#1 := valid_product_~retValue_acc~24#1; 862726#L2991 main_#t~ret24#1 := valid_product_#res#1;assume { :end_inline_valid_product } true;main_~tmp~9#1 := main_#t~ret24#1;havoc main_#t~ret24#1; 862297#L1277 assume 0 != main_~tmp~9#1;assume { :begin_inline_setup } true; 860260#L1250 assume { :end_inline_setup } true;assume { :begin_inline_runTest } true;assume { :begin_inline_test } true;assume { :begin_inline_aliceCall } true;havoc aliceCall_#t~ret13#1, aliceCall_~tmp~2#1;havoc aliceCall_~tmp~2#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 1;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~1#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~1#1; 853533#L95 assume !(0 == getOrigin_~person#1); 849859#L99 assume 1 == getOrigin_~person#1;getOrigin_~retValue_acc~1#1 := 3;getOrigin_#res#1 := getOrigin_~retValue_acc~1#1; 849860#L120 aliceCall_#t~ret13#1 := getOrigin_#res#1;assume { :end_inline_getOrigin } true;aliceCall_~tmp~2#1 := aliceCall_#t~ret13#1;havoc aliceCall_#t~ret13#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 1, aliceCall_~tmp~2#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 863882#L530 assume !(0 == initPersonOnFloor_~floor#1); 864630#L557 assume !(1 == initPersonOnFloor_~floor#1); 851838#L584 assume !(2 == initPersonOnFloor_~floor#1); 851839#L611 assume 3 == initPersonOnFloor_~floor#1; 863348#L612 assume !(0 == initPersonOnFloor_~person#1); 863349#L615 assume 1 == initPersonOnFloor_~person#1;~personOnFloor_1_3~0 := 1; 848275#L638-1 assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 864987#L322 assume !(0 == callOnFloor_~floorID#1); 848681#L325 assume !(1 == callOnFloor_~floorID#1); 848682#L328 assume !(2 == callOnFloor_~floorID#1); 848504#L331 assume 3 == callOnFloor_~floorID#1;~calls_3~0 := 1; 848505#L334-2 assume { :end_inline_callOnFloor } true; 864721#L674 assume { :end_inline_initPersonOnFloor } true; 864951#L1006 assume { :end_inline_aliceCall } true;assume { :begin_inline_angelinaCall } true;havoc angelinaCall_#t~ret14#1, angelinaCall_~tmp~3#1;havoc angelinaCall_~tmp~3#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 2;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~1#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~1#1; 848352#L95-1 assume !(0 == getOrigin_~person#1); 848353#L99-1 assume !(1 == getOrigin_~person#1); 860604#L103-1 assume 2 == getOrigin_~person#1;getOrigin_~retValue_acc~1#1 := 2;getOrigin_#res#1 := getOrigin_~retValue_acc~1#1; 865258#L120-1 angelinaCall_#t~ret14#1 := getOrigin_#res#1;assume { :end_inline_getOrigin } true;angelinaCall_~tmp~3#1 := angelinaCall_#t~ret14#1;havoc angelinaCall_#t~ret14#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 2, angelinaCall_~tmp~3#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 860305#L530-1 assume !(0 == initPersonOnFloor_~floor#1); 860306#L557-1 assume !(1 == initPersonOnFloor_~floor#1); 865528#L584-1 assume 2 == initPersonOnFloor_~floor#1; 862654#L585-2 assume !(0 == initPersonOnFloor_~person#1); 858079#L588-2 assume !(1 == initPersonOnFloor_~person#1); 858080#L591-2 assume 2 == initPersonOnFloor_~person#1;~personOnFloor_2_2~0 := 1; 851855#L638-3 assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 866024#L322-2 assume !(0 == callOnFloor_~floorID#1); 866023#L325-2 assume !(1 == callOnFloor_~floorID#1); 866022#L328-2 assume 2 == callOnFloor_~floorID#1;~calls_2~0 := 1; 856226#L334-5 assume { :end_inline_callOnFloor } true; 856719#L674-1 assume { :end_inline_initPersonOnFloor } true; 858222#L1017 assume { :end_inline_angelinaCall } true;assume { :begin_inline_threeTS } true;assume { :begin_inline_timeShift } true;havoc timeShift_#t~ret84#1, timeShift_~tmp~24#1;havoc timeShift_~tmp~24#1;assume { :begin_inline___utac_acc__Specification13_spec__1 } true;havoc __utac_acc__Specification13_spec__1_#t~ret4#1;assume { :begin_inline_getCurrentHeading } true;havoc getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~12#1;havoc getCurrentHeading_~retValue_acc~12#1;getCurrentHeading_~retValue_acc~12#1 := ~currentHeading~0;getCurrentHeading_#res#1 := getCurrentHeading_~retValue_acc~12#1; 857053#L1680 __utac_acc__Specification13_spec__1_#t~ret4#1 := getCurrentHeading_#res#1;assume { :end_inline_getCurrentHeading } true;~prevDir~0 := __utac_acc__Specification13_spec__1_#t~ret4#1;havoc __utac_acc__Specification13_spec__1_#t~ret4#1; 857054#L851 assume { :end_inline___utac_acc__Specification13_spec__1 } true;assume { :begin_inline_areDoorsOpen } true;havoc areDoorsOpen_#res#1;havoc areDoorsOpen_~retValue_acc~10#1;havoc areDoorsOpen_~retValue_acc~10#1;areDoorsOpen_~retValue_acc~10#1 := ~doorState~0;areDoorsOpen_#res#1 := areDoorsOpen_~retValue_acc~10#1; 865986#L1637 timeShift_#t~ret84#1 := areDoorsOpen_#res#1;assume { :end_inline_areDoorsOpen } true;timeShift_~tmp~24#1 := timeShift_#t~ret84#1;havoc timeShift_#t~ret84#1; 853527#L2587 assume 0 != timeShift_~tmp~24#1; 853528#L2588 assume ~weight~0 > ~maximumWeight~0;~blocked~0 := 1; 855094#L2587-1 assume { :begin_inline___utac_acc__Specification13_spec__2 } true;havoc __utac_acc__Specification13_spec__2_#t~ret5#1, __utac_acc__Specification13_spec__2_#t~ret6#1, __utac_acc__Specification13_spec__2_#t~ret7#1, __utac_acc__Specification13_spec__2_#t~ret8#1, __utac_acc__Specification13_spec__2_#t~ret9#1, __utac_acc__Specification13_spec__2_#t~ret10#1, __utac_acc__Specification13_spec__2_~tmp~0#1, __utac_acc__Specification13_spec__2_~tmp___0~0#1, __utac_acc__Specification13_spec__2_~tmp___1~0#1, __utac_acc__Specification13_spec__2_~tmp___2~0#1, __utac_acc__Specification13_spec__2_~tmp___3~0#1, __utac_acc__Specification13_spec__2_~tmp___4~0#1, __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1, __utac_acc__Specification13_spec__2_~__cil_tmp8~0#1;havoc __utac_acc__Specification13_spec__2_~tmp~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___0~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___1~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___2~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___3~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___4~0#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp8~0#1;__utac_acc__Specification13_spec__2_~__cil_tmp7~0#1 := 2 * ~maximumWeight~0;__utac_acc__Specification13_spec__2_~__cil_tmp8~0#1 := (if __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1 < 0 && 0 != __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1 % 3 then 1 + __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1 / 3 else __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1 / 3); 857807#L869 assume ~weight~0 > __utac_acc__Specification13_spec__2_~__cil_tmp8~0#1; 855627#L870 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~22#1, existInLiftCallsInDirection_~i~3#1, existInLiftCallsInDirection_~i___0~0#1;existInLiftCallsInDirection_~d#1 := existInLiftCallsInDirection_#in~d#1;havoc existInLiftCallsInDirection_~retValue_acc~22#1;havoc existInLiftCallsInDirection_~i~3#1;havoc existInLiftCallsInDirection_~i___0~0#1; 855628#L2807 assume !(1 == existInLiftCallsInDirection_~d#1); 857850#L2873 assume 0 == existInLiftCallsInDirection_~d#1;existInLiftCallsInDirection_~i___0~0#1 := 0;existInLiftCallsInDirection_~i___0~0#1 := ~currentFloorID~0 - 1; 857851#L2877-2 [2022-07-23 15:10:40,183 INFO L754 eck$LassoCheckResult]: Loop: 857851#L2877-2 assume !false; 854355#L2878 assume existInLiftCallsInDirection_~i___0~0#1 >= 0; 854356#L2879 existInLiftCallsInDirection_~i___0~0#1 := 1 + ~currentFloorID~0; 852644#L2886-2 assume !false; 852645#L2887 assume !(existInLiftCallsInDirection_~i___0~0#1 < 5); 853607#L2945 existInLiftCallsInDirection_~i___0~0#1 := existInLiftCallsInDirection_~i___0~0#1 - 1; 857851#L2877-2 [2022-07-23 15:10:40,183 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 15:10:40,184 INFO L85 PathProgramCache]: Analyzing trace with hash -1488774646, now seen corresponding path program 1 times [2022-07-23 15:10:40,184 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 15:10:40,184 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1685170676] [2022-07-23 15:10:40,184 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 15:10:40,184 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 15:10:40,194 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-23 15:10:40,222 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-07-23 15:10:40,222 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-23 15:10:40,222 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1685170676] [2022-07-23 15:10:40,222 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1685170676] provided 1 perfect and 0 imperfect interpolant sequences [2022-07-23 15:10:40,222 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-07-23 15:10:40,222 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2022-07-23 15:10:40,223 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1904943508] [2022-07-23 15:10:40,223 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-07-23 15:10:40,223 INFO L757 eck$LassoCheckResult]: stem already infeasible [2022-07-23 15:10:40,223 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 15:10:40,223 INFO L85 PathProgramCache]: Analyzing trace with hash 2078933803, now seen corresponding path program 10 times [2022-07-23 15:10:40,224 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 15:10:40,224 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [448555834] [2022-07-23 15:10:40,224 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 15:10:40,224 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 15:10:40,226 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 15:10:40,226 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-23 15:10:40,227 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 15:10:40,229 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-23 15:10:40,249 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-23 15:10:40,250 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-07-23 15:10:40,250 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-07-23 15:10:40,250 INFO L87 Difference]: Start difference. First operand 17908 states and 33508 transitions. cyclomatic complexity: 15634 Second operand has 3 states, 3 states have (on average 17.0) internal successors, (51), 2 states have internal predecessors, (51), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-23 15:10:40,926 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-23 15:10:40,926 INFO L93 Difference]: Finished difference Result 33398 states and 62650 transitions. [2022-07-23 15:10:40,926 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-07-23 15:10:40,928 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 33398 states and 62650 transitions. [2022-07-23 15:10:41,076 INFO L131 ngComponentsAnalysis]: Automaton has 66 accepting balls. 7004 [2022-07-23 15:10:41,179 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 33398 states to 33398 states and 62650 transitions. [2022-07-23 15:10:41,180 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 33360 [2022-07-23 15:10:41,206 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 33360 [2022-07-23 15:10:41,207 INFO L73 IsDeterministic]: Start isDeterministic. Operand 33398 states and 62650 transitions. [2022-07-23 15:10:41,208 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-23 15:10:41,208 INFO L369 hiAutomatonCegarLoop]: Abstraction has 33398 states and 62650 transitions. [2022-07-23 15:10:41,241 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 33398 states and 62650 transitions. [2022-07-23 15:10:41,531 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 33398 to 28386. [2022-07-23 15:10:41,566 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 28386 states, 28386 states have (on average 1.8728246318607764) internal successors, (53162), 28385 states have internal predecessors, (53162), 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) [2022-07-23 15:10:41,624 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28386 states to 28386 states and 53162 transitions. [2022-07-23 15:10:41,625 INFO L392 hiAutomatonCegarLoop]: Abstraction has 28386 states and 53162 transitions. [2022-07-23 15:10:41,625 INFO L374 stractBuchiCegarLoop]: Abstraction has 28386 states and 53162 transitions. [2022-07-23 15:10:41,625 INFO L287 stractBuchiCegarLoop]: ======== Iteration 12 ============ [2022-07-23 15:10:41,625 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 28386 states and 53162 transitions. [2022-07-23 15:10:41,716 INFO L131 ngComponentsAnalysis]: Automaton has 66 accepting balls. 7004 [2022-07-23 15:10:41,716 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-23 15:10:41,716 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-23 15:10:41,717 INFO L179 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] [2022-07-23 15:10:41,717 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1] [2022-07-23 15:10:41,718 INFO L752 eck$LassoCheckResult]: Stem: 911908#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(32, 2);call #Ultimate.allocInit(12, 3);call #Ultimate.allocInit(10, 4);call #Ultimate.allocInit(4, 5);call write~init~int(91, 5, 0, 1);call write~init~int(95, 5, 1, 1);call write~init~int(93, 5, 2, 1);call write~init~int(0, 5, 3, 1);call #Ultimate.allocInit(4, 6);call write~init~int(91, 6, 0, 1);call write~init~int(93, 6, 1, 1);call write~init~int(32, 6, 2, 1);call write~init~int(0, 6, 3, 1);call #Ultimate.allocInit(5, 7);call write~init~int(32, 7, 0, 1);call write~init~int(97, 7, 1, 1);call write~init~int(116, 7, 2, 1);call write~init~int(32, 7, 3, 1);call write~init~int(0, 7, 4, 1);call #Ultimate.allocInit(3, 8);call write~init~int(37, 8, 0, 1);call write~init~int(105, 8, 1, 1);call write~init~int(0, 8, 2, 1);call #Ultimate.allocInit(10, 9);call #Ultimate.allocInit(3, 10);call write~init~int(117, 10, 0, 1);call write~init~int(112, 10, 1, 1);call write~init~int(0, 10, 2, 1);call #Ultimate.allocInit(5, 11);call write~init~int(100, 11, 0, 1);call write~init~int(111, 11, 1, 1);call write~init~int(119, 11, 2, 1);call write~init~int(110, 11, 3, 1);call write~init~int(0, 11, 4, 1);call #Ultimate.allocInit(7, 12);call write~init~int(32, 12, 0, 1);call write~init~int(73, 12, 1, 1);call write~init~int(76, 12, 2, 1);call write~init~int(95, 12, 3, 1);call write~init~int(112, 12, 4, 1);call write~init~int(58, 12, 5, 1);call write~init~int(0, 12, 6, 1);call #Ultimate.allocInit(4, 13);call write~init~int(32, 13, 0, 1);call write~init~int(37, 13, 1, 1);call write~init~int(105, 13, 2, 1);call write~init~int(0, 13, 3, 1);call #Ultimate.allocInit(4, 14);call write~init~int(32, 14, 0, 1);call write~init~int(37, 14, 1, 1);call write~init~int(105, 14, 2, 1);call write~init~int(0, 14, 3, 1);call #Ultimate.allocInit(4, 15);call write~init~int(32, 15, 0, 1);call write~init~int(37, 15, 1, 1);call write~init~int(105, 15, 2, 1);call write~init~int(0, 15, 3, 1);call #Ultimate.allocInit(4, 16);call write~init~int(32, 16, 0, 1);call write~init~int(37, 16, 1, 1);call write~init~int(105, 16, 2, 1);call write~init~int(0, 16, 3, 1);call #Ultimate.allocInit(4, 17);call write~init~int(32, 17, 0, 1);call write~init~int(37, 17, 1, 1);call write~init~int(105, 17, 2, 1);call write~init~int(0, 17, 3, 1);call #Ultimate.allocInit(6, 18);call write~init~int(32, 18, 0, 1);call write~init~int(70, 18, 1, 1);call write~init~int(95, 18, 2, 1);call write~init~int(112, 18, 3, 1);call write~init~int(58, 18, 4, 1);call write~init~int(0, 18, 5, 1);call #Ultimate.allocInit(4, 19);call write~init~int(32, 19, 0, 1);call write~init~int(37, 19, 1, 1);call write~init~int(105, 19, 2, 1);call write~init~int(0, 19, 3, 1);call #Ultimate.allocInit(4, 20);call write~init~int(32, 20, 0, 1);call write~init~int(37, 20, 1, 1);call write~init~int(105, 20, 2, 1);call write~init~int(0, 20, 3, 1);call #Ultimate.allocInit(4, 21);call write~init~int(32, 21, 0, 1);call write~init~int(37, 21, 1, 1);call write~init~int(105, 21, 2, 1);call write~init~int(0, 21, 3, 1);call #Ultimate.allocInit(4, 22);call write~init~int(32, 22, 0, 1);call write~init~int(37, 22, 1, 1);call write~init~int(105, 22, 2, 1);call write~init~int(0, 22, 3, 1);call #Ultimate.allocInit(4, 23);call write~init~int(32, 23, 0, 1);call write~init~int(37, 23, 1, 1);call write~init~int(105, 23, 2, 1);call write~init~int(0, 23, 3, 1);call #Ultimate.allocInit(2, 24);call write~init~int(10, 24, 0, 1);call write~init~int(0, 24, 1, 1);call #Ultimate.allocInit(9, 25);call #Ultimate.allocInit(30, 26);call #Ultimate.allocInit(9, 27);call #Ultimate.allocInit(21, 28);call #Ultimate.allocInit(30, 29);call #Ultimate.allocInit(9, 30);call #Ultimate.allocInit(21, 31);call #Ultimate.allocInit(30, 32);call #Ultimate.allocInit(9, 33);call #Ultimate.allocInit(25, 34);call #Ultimate.allocInit(30, 35);call #Ultimate.allocInit(9, 36);call #Ultimate.allocInit(25, 37);~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;~weight~0 := 0;~maximumWeight~0 := 100;~blocked~0 := 0;~prevDir~0 := 0;~cleanupTimeShifts~0 := 12;~currentHeading~0 := 1;~currentFloorID~0 := 0;~persons_0~0 := 0;~persons_1~0 := 0;~persons_2~0 := 0;~persons_3~0 := 0;~persons_4~0 := 0;~persons_5~0 := 0;~doorState~0 := 1;~floorButtons_0~0 := 0;~floorButtons_1~0 := 0;~floorButtons_2~0 := 0;~floorButtons_3~0 := 0;~floorButtons_4~0 := 0;~head~0.base, ~head~0.offset := 0, 0; 908048#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret24#1, main_~retValue_acc~7#1, main_~tmp~9#1;havoc main_~retValue_acc~7#1;havoc main_~tmp~9#1;assume { :begin_inline_select_helpers } true; 907445#L2983 assume { :end_inline_select_helpers } true;assume { :begin_inline_select_features } true; 907446#L2976 assume { :end_inline_select_features } true;assume { :begin_inline_valid_product } true;havoc valid_product_#res#1;havoc valid_product_~retValue_acc~24#1;havoc valid_product_~retValue_acc~24#1;valid_product_~retValue_acc~24#1 := 1;valid_product_#res#1 := valid_product_~retValue_acc~24#1; 914144#L2991 main_#t~ret24#1 := valid_product_#res#1;assume { :end_inline_valid_product } true;main_~tmp~9#1 := main_#t~ret24#1;havoc main_#t~ret24#1; 913709#L1277 assume 0 != main_~tmp~9#1;assume { :begin_inline_setup } true; 911630#L1250 assume { :end_inline_setup } true;assume { :begin_inline_runTest } true;assume { :begin_inline_test } true;assume { :begin_inline_aliceCall } true;havoc aliceCall_#t~ret13#1, aliceCall_~tmp~2#1;havoc aliceCall_~tmp~2#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 1;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~1#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~1#1; 904851#L95 assume !(0 == getOrigin_~person#1); 901172#L99 assume 1 == getOrigin_~person#1;getOrigin_~retValue_acc~1#1 := 3;getOrigin_#res#1 := getOrigin_~retValue_acc~1#1; 901173#L120 aliceCall_#t~ret13#1 := getOrigin_#res#1;assume { :end_inline_getOrigin } true;aliceCall_~tmp~2#1 := aliceCall_#t~ret13#1;havoc aliceCall_#t~ret13#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 1, aliceCall_~tmp~2#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 915342#L530 assume !(0 == initPersonOnFloor_~floor#1); 916116#L557 assume !(1 == initPersonOnFloor_~floor#1); 903151#L584 assume !(2 == initPersonOnFloor_~floor#1); 903152#L611 assume 3 == initPersonOnFloor_~floor#1; 914789#L612 assume !(0 == initPersonOnFloor_~person#1); 914790#L615 assume 1 == initPersonOnFloor_~person#1;~personOnFloor_1_3~0 := 1; 899587#L638-1 assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 916484#L322 assume !(0 == callOnFloor_~floorID#1); 899993#L325 assume !(1 == callOnFloor_~floorID#1); 899994#L328 assume !(2 == callOnFloor_~floorID#1); 899816#L331 assume 3 == callOnFloor_~floorID#1;~calls_3~0 := 1; 899817#L334-2 assume { :end_inline_callOnFloor } true; 916208#L674 assume { :end_inline_initPersonOnFloor } true; 916447#L1006 assume { :end_inline_aliceCall } true;assume { :begin_inline_angelinaCall } true;havoc angelinaCall_#t~ret14#1, angelinaCall_~tmp~3#1;havoc angelinaCall_~tmp~3#1;assume { :begin_inline_getOrigin } true;getOrigin_#in~person#1 := 2;havoc getOrigin_#res#1;havoc getOrigin_~person#1, getOrigin_~retValue_acc~1#1;getOrigin_~person#1 := getOrigin_#in~person#1;havoc getOrigin_~retValue_acc~1#1; 899664#L95-1 assume !(0 == getOrigin_~person#1); 899665#L99-1 assume !(1 == getOrigin_~person#1); 911981#L103-1 assume 2 == getOrigin_~person#1;getOrigin_~retValue_acc~1#1 := 2;getOrigin_#res#1 := getOrigin_~retValue_acc~1#1; 916774#L120-1 angelinaCall_#t~ret14#1 := getOrigin_#res#1;assume { :end_inline_getOrigin } true;angelinaCall_~tmp~3#1 := angelinaCall_#t~ret14#1;havoc angelinaCall_#t~ret14#1;assume { :begin_inline_initPersonOnFloor } true;initPersonOnFloor_#in~person#1, initPersonOnFloor_#in~floor#1 := 2, angelinaCall_~tmp~3#1;havoc initPersonOnFloor_~person#1, initPersonOnFloor_~floor#1;initPersonOnFloor_~person#1 := initPersonOnFloor_#in~person#1;initPersonOnFloor_~floor#1 := initPersonOnFloor_#in~floor#1; 911675#L530-1 assume !(0 == initPersonOnFloor_~floor#1); 911676#L557-1 assume !(1 == initPersonOnFloor_~floor#1); 917084#L584-1 assume 2 == initPersonOnFloor_~floor#1; 914070#L585-2 assume !(0 == initPersonOnFloor_~person#1); 909432#L588-2 assume !(1 == initPersonOnFloor_~person#1); 909433#L591-2 assume 2 == initPersonOnFloor_~person#1;~personOnFloor_2_2~0 := 1; 903168#L638-3 assume { :begin_inline_callOnFloor } true;callOnFloor_#in~floorID#1 := initPersonOnFloor_~floor#1;havoc callOnFloor_~floorID#1;callOnFloor_~floorID#1 := callOnFloor_#in~floorID#1; 917667#L322-2 assume !(0 == callOnFloor_~floorID#1); 917666#L325-2 assume !(1 == callOnFloor_~floorID#1); 917665#L328-2 assume 2 == callOnFloor_~floorID#1;~calls_2~0 := 1; 907559#L334-5 assume { :end_inline_callOnFloor } true; 908055#L674-1 assume { :end_inline_initPersonOnFloor } true; 909575#L1017 assume { :end_inline_angelinaCall } true;assume { :begin_inline_threeTS } true;assume { :begin_inline_timeShift } true;havoc timeShift_#t~ret84#1, timeShift_~tmp~24#1;havoc timeShift_~tmp~24#1;assume { :begin_inline___utac_acc__Specification13_spec__1 } true;havoc __utac_acc__Specification13_spec__1_#t~ret4#1;assume { :begin_inline_getCurrentHeading } true;havoc getCurrentHeading_#res#1;havoc getCurrentHeading_~retValue_acc~12#1;havoc getCurrentHeading_~retValue_acc~12#1;getCurrentHeading_~retValue_acc~12#1 := ~currentHeading~0;getCurrentHeading_#res#1 := getCurrentHeading_~retValue_acc~12#1; 908392#L1680 __utac_acc__Specification13_spec__1_#t~ret4#1 := getCurrentHeading_#res#1;assume { :end_inline_getCurrentHeading } true;~prevDir~0 := __utac_acc__Specification13_spec__1_#t~ret4#1;havoc __utac_acc__Specification13_spec__1_#t~ret4#1; 908393#L851 assume { :end_inline___utac_acc__Specification13_spec__1 } true;assume { :begin_inline_areDoorsOpen } true;havoc areDoorsOpen_#res#1;havoc areDoorsOpen_~retValue_acc~10#1;havoc areDoorsOpen_~retValue_acc~10#1;areDoorsOpen_~retValue_acc~10#1 := ~doorState~0;areDoorsOpen_#res#1 := areDoorsOpen_~retValue_acc~10#1; 917610#L1637 timeShift_#t~ret84#1 := areDoorsOpen_#res#1;assume { :end_inline_areDoorsOpen } true;timeShift_~tmp~24#1 := timeShift_#t~ret84#1;havoc timeShift_#t~ret84#1; 904845#L2587 assume !(0 != timeShift_~tmp~24#1);~blocked~0 := 0;assume { :begin_inline_timeShift__wrappee__twothirdsfull } true;havoc timeShift__wrappee__twothirdsfull_#t~ret73#1, timeShift__wrappee__twothirdsfull_#t~ret74#1, timeShift__wrappee__twothirdsfull_#t~ret75#1, timeShift__wrappee__twothirdsfull_#t~ret76#1, timeShift__wrappee__twothirdsfull_#t~ret77#1, timeShift__wrappee__twothirdsfull_#t~ret78#1, timeShift__wrappee__twothirdsfull_#t~ret79#1, timeShift__wrappee__twothirdsfull_#t~ret80#1, timeShift__wrappee__twothirdsfull_#t~ret81#1, timeShift__wrappee__twothirdsfull_#t~ret82#1, timeShift__wrappee__twothirdsfull_#t~ret83#1, timeShift__wrappee__twothirdsfull_~tmp~23#1, timeShift__wrappee__twothirdsfull_~tmp___0~10#1, timeShift__wrappee__twothirdsfull_~tmp___1~7#1, timeShift__wrappee__twothirdsfull_~tmp___2~5#1, timeShift__wrappee__twothirdsfull_~tmp___3~4#1, timeShift__wrappee__twothirdsfull_~tmp___4~3#1, timeShift__wrappee__twothirdsfull_~tmp___5~2#1, timeShift__wrappee__twothirdsfull_~tmp___6~2#1, timeShift__wrappee__twothirdsfull_~tmp___7~2#1, timeShift__wrappee__twothirdsfull_~tmp___8~2#1, timeShift__wrappee__twothirdsfull_~tmp___9~2#1;havoc timeShift__wrappee__twothirdsfull_~tmp~23#1;havoc timeShift__wrappee__twothirdsfull_~tmp___0~10#1;havoc timeShift__wrappee__twothirdsfull_~tmp___1~7#1;havoc timeShift__wrappee__twothirdsfull_~tmp___2~5#1;havoc timeShift__wrappee__twothirdsfull_~tmp___3~4#1;havoc timeShift__wrappee__twothirdsfull_~tmp___4~3#1;havoc timeShift__wrappee__twothirdsfull_~tmp___5~2#1;havoc timeShift__wrappee__twothirdsfull_~tmp___6~2#1;havoc timeShift__wrappee__twothirdsfull_~tmp___7~2#1;havoc timeShift__wrappee__twothirdsfull_~tmp___8~2#1;havoc timeShift__wrappee__twothirdsfull_~tmp___9~2#1;assume { :begin_inline_stopRequestedAtCurrentFloor } true;havoc stopRequestedAtCurrentFloor_#res#1;havoc stopRequestedAtCurrentFloor_#t~ret58#1, stopRequestedAtCurrentFloor_#t~ret59#1, stopRequestedAtCurrentFloor_#t~ret60#1, stopRequestedAtCurrentFloor_~retValue_acc~20#1, stopRequestedAtCurrentFloor_~tmp~21#1, stopRequestedAtCurrentFloor_~tmp___0~8#1, stopRequestedAtCurrentFloor_~__cil_tmp4~1#1, stopRequestedAtCurrentFloor_~__cil_tmp5~0#1;havoc stopRequestedAtCurrentFloor_~retValue_acc~20#1;havoc stopRequestedAtCurrentFloor_~tmp~21#1;havoc stopRequestedAtCurrentFloor_~tmp___0~8#1;havoc stopRequestedAtCurrentFloor_~__cil_tmp4~1#1;havoc stopRequestedAtCurrentFloor_~__cil_tmp5~0#1;stopRequestedAtCurrentFloor_~__cil_tmp4~1#1 := 2 * ~maximumWeight~0;stopRequestedAtCurrentFloor_~__cil_tmp5~0#1 := (if stopRequestedAtCurrentFloor_~__cil_tmp4~1#1 < 0 && 0 != stopRequestedAtCurrentFloor_~__cil_tmp4~1#1 % 3 then 1 + stopRequestedAtCurrentFloor_~__cil_tmp4~1#1 / 3 else stopRequestedAtCurrentFloor_~__cil_tmp4~1#1 / 3); 904847#L2309-1 assume ~weight~0 > stopRequestedAtCurrentFloor_~__cil_tmp5~0#1;assume { :begin_inline_getCurrentFloorID } true;havoc getCurrentFloorID_#res#1;havoc getCurrentFloorID_~retValue_acc~9#1;havoc getCurrentFloorID_~retValue_acc~9#1;getCurrentFloorID_~retValue_acc~9#1 := ~currentFloorID~0;getCurrentFloorID_#res#1 := getCurrentFloorID_~retValue_acc~9#1; 915865#L1628-1 stopRequestedAtCurrentFloor_#t~ret58#1 := getCurrentFloorID_#res#1;assume { :end_inline_getCurrentFloorID } true;stopRequestedAtCurrentFloor_~tmp~21#1 := stopRequestedAtCurrentFloor_#t~ret58#1;havoc stopRequestedAtCurrentFloor_#t~ret58#1;assume { :begin_inline_buttonForFloorIsPressed } true;buttonForFloorIsPressed_#in~floorID#1 := stopRequestedAtCurrentFloor_~tmp~21#1;havoc buttonForFloorIsPressed_#res#1;havoc buttonForFloorIsPressed_~floorID#1, buttonForFloorIsPressed_~retValue_acc~11#1;buttonForFloorIsPressed_~floorID#1 := buttonForFloorIsPressed_#in~floorID#1;havoc buttonForFloorIsPressed_~retValue_acc~11#1; 901677#L1645-2 assume 0 == buttonForFloorIsPressed_~floorID#1;buttonForFloorIsPressed_~retValue_acc~11#1 := ~floorButtons_0~0;buttonForFloorIsPressed_#res#1 := buttonForFloorIsPressed_~retValue_acc~11#1; 901678#L1666-2 stopRequestedAtCurrentFloor_#t~ret59#1 := buttonForFloorIsPressed_#res#1;assume { :end_inline_buttonForFloorIsPressed } true;stopRequestedAtCurrentFloor_~tmp___0~8#1 := stopRequestedAtCurrentFloor_#t~ret59#1;havoc stopRequestedAtCurrentFloor_#t~ret59#1;stopRequestedAtCurrentFloor_~retValue_acc~20#1 := (if 1 == stopRequestedAtCurrentFloor_~tmp___0~8#1 then 1 else 0);stopRequestedAtCurrentFloor_#res#1 := stopRequestedAtCurrentFloor_~retValue_acc~20#1; 904811#L2320-1 timeShift__wrappee__twothirdsfull_#t~ret73#1 := stopRequestedAtCurrentFloor_#res#1;assume { :end_inline_stopRequestedAtCurrentFloor } true;timeShift__wrappee__twothirdsfull_~tmp___9~2#1 := timeShift__wrappee__twothirdsfull_#t~ret73#1;havoc timeShift__wrappee__twothirdsfull_#t~ret73#1; 904812#L2456-2 assume !(0 != timeShift__wrappee__twothirdsfull_~tmp___9~2#1); 916327#L2547-3 assume !(1 == ~doorState~0); 917517#L2547-5 assume { :begin_inline_stopRequestedInDirection } true;stopRequestedInDirection_#in~dir#1, stopRequestedInDirection_#in~respectFloorCalls#1, stopRequestedInDirection_#in~respectInLiftCalls#1 := ~currentHeading~0, 1, 1;havoc stopRequestedInDirection_#res#1;havoc stopRequestedInDirection_#t~ret51#1, stopRequestedInDirection_#t~ret52#1, stopRequestedInDirection_#t~ret53#1, stopRequestedInDirection_#t~ret54#1, stopRequestedInDirection_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1, stopRequestedInDirection_~retValue_acc~17#1, stopRequestedInDirection_~overload~0#1, stopRequestedInDirection_~buttonPressed~0#1, stopRequestedInDirection_~tmp~18#1, stopRequestedInDirection_~__cil_tmp8~1#1, stopRequestedInDirection_~__cil_tmp9~0#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~17#1;havoc stopRequestedInDirection_~overload~0#1;havoc stopRequestedInDirection_~buttonPressed~0#1;havoc stopRequestedInDirection_~tmp~18#1;havoc stopRequestedInDirection_~__cil_tmp8~1#1;havoc stopRequestedInDirection_~__cil_tmp9~0#1;stopRequestedInDirection_~__cil_tmp8~1#1 := 2 * ~maximumWeight~0;stopRequestedInDirection_~__cil_tmp9~0#1 := (if stopRequestedInDirection_~__cil_tmp8~1#1 < 0 && 0 != stopRequestedInDirection_~__cil_tmp8~1#1 % 3 then 1 + stopRequestedInDirection_~__cil_tmp8~1#1 / 3 else stopRequestedInDirection_~__cil_tmp8~1#1 / 3);stopRequestedInDirection_~overload~0#1 := (if ~weight~0 > stopRequestedInDirection_~__cil_tmp9~0#1 then 1 else 0);assume { :begin_inline_isAnyLiftButtonPressed } true;havoc isAnyLiftButtonPressed_#res#1;havoc isAnyLiftButtonPressed_~retValue_acc~18#1;havoc isAnyLiftButtonPressed_~retValue_acc~18#1; 917518#L2212-2 assume 0 != ~floorButtons_0~0;isAnyLiftButtonPressed_~retValue_acc~18#1 := 1;isAnyLiftButtonPressed_#res#1 := isAnyLiftButtonPressed_~retValue_acc~18#1; 908616#L2233-2 stopRequestedInDirection_#t~ret51#1 := isAnyLiftButtonPressed_#res#1;assume { :end_inline_isAnyLiftButtonPressed } true;stopRequestedInDirection_~tmp~18#1 := stopRequestedInDirection_#t~ret51#1;havoc stopRequestedInDirection_#t~ret51#1;stopRequestedInDirection_~buttonPressed~0#1 := stopRequestedInDirection_~tmp~18#1; 911747#L2185-2 assume !(0 != stopRequestedInDirection_~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_~dir#1, stopRequestedInDirection_~respectFloorCalls#1, stopRequestedInDirection_~respectInLiftCalls#1;havoc stopRequestedInDirection__wrappee__empty_#res#1;havoc stopRequestedInDirection__wrappee__empty_#t~ret40#1, stopRequestedInDirection__wrappee__empty_#t~ret41#1, stopRequestedInDirection__wrappee__empty_#t~ret42#1, stopRequestedInDirection__wrappee__empty_#t~ret43#1, stopRequestedInDirection__wrappee__empty_#t~ret44#1, stopRequestedInDirection__wrappee__empty_#t~ret45#1, stopRequestedInDirection__wrappee__empty_#t~ret46#1, stopRequestedInDirection__wrappee__empty_#t~ret47#1, stopRequestedInDirection__wrappee__empty_#t~ret48#1, stopRequestedInDirection__wrappee__empty_#t~ret49#1, stopRequestedInDirection__wrappee__empty_#t~ret50#1, stopRequestedInDirection__wrappee__empty_~dir#1, stopRequestedInDirection__wrappee__empty_~respectFloorCalls#1, stopRequestedInDirection__wrappee__empty_~respectInLiftCalls#1, stopRequestedInDirection__wrappee__empty_~retValue_acc~16#1, stopRequestedInDirection__wrappee__empty_~tmp~17#1, stopRequestedInDirection__wrappee__empty_~tmp___0~6#1, stopRequestedInDirection__wrappee__empty_~tmp___1~5#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~16#1;havoc stopRequestedInDirection__wrappee__empty_~tmp~17#1;havoc stopRequestedInDirection__wrappee__empty_~tmp___0~6#1;havoc stopRequestedInDirection__wrappee__empty_~tmp___1~5#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; 912159#L1832-8 assume !(1 == stopRequestedInDirection__wrappee__empty_~dir#1); 909792#L2001-8 assume 0 == ~currentFloorID~0;stopRequestedInDirection__wrappee__empty_~retValue_acc~16#1 := 0;stopRequestedInDirection__wrappee__empty_#res#1 := stopRequestedInDirection__wrappee__empty_~retValue_acc~16#1; 899764#L2154-8 stopRequestedInDirection_#t~ret54#1 := stopRequestedInDirection__wrappee__empty_#res#1;assume { :end_inline_stopRequestedInDirection__wrappee__empty } true;stopRequestedInDirection_~retValue_acc~17#1 := stopRequestedInDirection_#t~ret54#1;havoc stopRequestedInDirection_#t~ret54#1;stopRequestedInDirection_#res#1 := stopRequestedInDirection_~retValue_acc~17#1; 912343#L2203-2 timeShift__wrappee__twothirdsfull_#t~ret80#1 := stopRequestedInDirection_#res#1;assume { :end_inline_stopRequestedInDirection } true;timeShift__wrappee__twothirdsfull_~tmp___8~2#1 := timeShift__wrappee__twothirdsfull_#t~ret80#1;havoc timeShift__wrappee__twothirdsfull_#t~ret80#1; 916359#L2555-2 assume 0 != timeShift__wrappee__twothirdsfull_~tmp___8~2#1;assume { :begin_inline_continueInDirection } true;continueInDirection_#in~dir#1 := ~currentHeading~0;havoc continueInDirection_#t~ret55#1, continueInDirection_~dir#1, continueInDirection_~tmp~19#1;continueInDirection_~dir#1 := continueInDirection_#in~dir#1;havoc continueInDirection_~tmp~19#1;~currentHeading~0 := continueInDirection_~dir#1; 911877#L2247-3 assume !(1 == ~currentHeading~0); 910881#L2257-9 assume 0 == ~currentFloorID~0;~currentHeading~0 := 1; 901731#L2257-11 assume !(1 == ~currentHeading~0);~currentFloorID~0 := ~currentFloorID~0 - 1; 901732#L2263-7 assume { :end_inline_continueInDirection } true; 907947#L2564-5 assume { :end_inline_timeShift__wrappee__twothirdsfull } true; 921586#L2587-1 assume { :begin_inline___utac_acc__Specification13_spec__2 } true;havoc __utac_acc__Specification13_spec__2_#t~ret5#1, __utac_acc__Specification13_spec__2_#t~ret6#1, __utac_acc__Specification13_spec__2_#t~ret7#1, __utac_acc__Specification13_spec__2_#t~ret8#1, __utac_acc__Specification13_spec__2_#t~ret9#1, __utac_acc__Specification13_spec__2_#t~ret10#1, __utac_acc__Specification13_spec__2_~tmp~0#1, __utac_acc__Specification13_spec__2_~tmp___0~0#1, __utac_acc__Specification13_spec__2_~tmp___1~0#1, __utac_acc__Specification13_spec__2_~tmp___2~0#1, __utac_acc__Specification13_spec__2_~tmp___3~0#1, __utac_acc__Specification13_spec__2_~tmp___4~0#1, __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1, __utac_acc__Specification13_spec__2_~__cil_tmp8~0#1;havoc __utac_acc__Specification13_spec__2_~tmp~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___0~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___1~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___2~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___3~0#1;havoc __utac_acc__Specification13_spec__2_~tmp___4~0#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1;havoc __utac_acc__Specification13_spec__2_~__cil_tmp8~0#1;__utac_acc__Specification13_spec__2_~__cil_tmp7~0#1 := 2 * ~maximumWeight~0;__utac_acc__Specification13_spec__2_~__cil_tmp8~0#1 := (if __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1 < 0 && 0 != __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1 % 3 then 1 + __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1 / 3 else __utac_acc__Specification13_spec__2_~__cil_tmp7~0#1 / 3); 921404#L869 assume ~weight~0 > __utac_acc__Specification13_spec__2_~__cil_tmp8~0#1; 921405#L870 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~22#1, existInLiftCallsInDirection_~i~3#1, existInLiftCallsInDirection_~i___0~0#1;existInLiftCallsInDirection_~d#1 := existInLiftCallsInDirection_#in~d#1;havoc existInLiftCallsInDirection_~retValue_acc~22#1;havoc existInLiftCallsInDirection_~i~3#1;havoc existInLiftCallsInDirection_~i___0~0#1; 921418#L2807 assume !(1 == existInLiftCallsInDirection_~d#1); 921508#L2873 assume 0 == existInLiftCallsInDirection_~d#1;existInLiftCallsInDirection_~i___0~0#1 := 0;existInLiftCallsInDirection_~i___0~0#1 := ~currentFloorID~0 - 1; 921507#L2877-2 [2022-07-23 15:10:41,718 INFO L754 eck$LassoCheckResult]: Loop: 921507#L2877-2 assume !false; 921506#L2878 assume existInLiftCallsInDirection_~i___0~0#1 >= 0; 921505#L2879 existInLiftCallsInDirection_~i___0~0#1 := 1 + ~currentFloorID~0; 921503#L2886-2 assume !false; 921500#L2887 assume !(existInLiftCallsInDirection_~i___0~0#1 < 5); 921501#L2945 existInLiftCallsInDirection_~i___0~0#1 := existInLiftCallsInDirection_~i___0~0#1 - 1; 921507#L2877-2 [2022-07-23 15:10:41,718 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 15:10:41,718 INFO L85 PathProgramCache]: Analyzing trace with hash 339874181, now seen corresponding path program 1 times [2022-07-23 15:10:41,719 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 15:10:41,719 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1524204511] [2022-07-23 15:10:41,719 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 15:10:41,719 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 15:10:41,763 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-23 15:10:41,821 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-07-23 15:10:41,822 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-23 15:10:41,822 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1524204511] [2022-07-23 15:10:41,822 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1524204511] provided 1 perfect and 0 imperfect interpolant sequences [2022-07-23 15:10:41,822 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-07-23 15:10:41,822 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-07-23 15:10:41,822 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [308049426] [2022-07-23 15:10:41,822 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-07-23 15:10:41,823 INFO L757 eck$LassoCheckResult]: stem already infeasible [2022-07-23 15:10:41,823 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-23 15:10:41,823 INFO L85 PathProgramCache]: Analyzing trace with hash 2078933803, now seen corresponding path program 11 times [2022-07-23 15:10:41,823 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-23 15:10:41,825 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1080414473] [2022-07-23 15:10:41,825 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-23 15:10:41,825 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-23 15:10:41,831 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 15:10:41,832 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-23 15:10:41,833 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-23 15:10:41,835 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-23 15:10:41,849 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-23 15:10:41,850 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-07-23 15:10:41,850 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=14, Invalid=42, Unknown=0, NotChecked=0, Total=56 [2022-07-23 15:10:41,850 INFO L87 Difference]: Start difference. First operand 28386 states and 53162 transitions. cyclomatic complexity: 24844 Second operand has 8 states, 8 states have (on average 8.875) internal successors, (71), 7 states have internal predecessors, (71), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-07-23 15:10:42,874 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-23 15:10:42,874 INFO L93 Difference]: Finished difference Result 48004 states and 88502 transitions. [2022-07-23 15:10:42,874 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-07-23 15:10:42,875 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 48004 states and 88502 transitions. [2022-07-23 15:10:43,068 INFO L131 ngComponentsAnalysis]: Automaton has 332 accepting balls. 17430