./Ultimate.py --spec /storage/repos/svcomp/c/properties/termination.prp --file /storage/repos/svcomp/c/termination-libowfat/strstr_true-termination.c.i --full-output --architecture 64bit -------------------------------------------------------------------------------- Checking for termination Using default analysis Version 91b1670e Calling Ultimate with: java -Dosgi.configuration.area=/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/config -Xmx12G -Xms1G -jar /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data -tc /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/AutomizerTermination.xml -i /storage/repos/svcomp/c/termination-libowfat/strstr_true-termination.c.i -s /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Termination-64bit-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 64bit --witnessprinter.graph.data.programhash 938c367f37ddd298c829be75f27a69a6e9a1154b ............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................... Execution finished normally Writing output log to file Ultimate.log Result: TRUE --- Real Ultimate output --- This is Ultimate 0.1.24-91b1670 [2018-11-28 23:18:13,502 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-28 23:18:13,504 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-28 23:18:13,515 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-28 23:18:13,516 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-28 23:18:13,519 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-28 23:18:13,521 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-28 23:18:13,522 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-28 23:18:13,528 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-28 23:18:13,529 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-28 23:18:13,534 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-28 23:18:13,534 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-28 23:18:13,535 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-28 23:18:13,536 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-28 23:18:13,539 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-28 23:18:13,540 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-28 23:18:13,542 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-28 23:18:13,544 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-28 23:18:13,549 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-28 23:18:13,552 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-28 23:18:13,554 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-28 23:18:13,555 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-28 23:18:13,559 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-28 23:18:13,560 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-28 23:18:13,560 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-28 23:18:13,562 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-28 23:18:13,563 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-28 23:18:13,565 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-28 23:18:13,567 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-28 23:18:13,568 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-28 23:18:13,569 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-28 23:18:13,570 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-28 23:18:13,570 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-28 23:18:13,570 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-28 23:18:13,571 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-28 23:18:13,573 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-28 23:18:13,574 INFO L98 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Termination-64bit-Automizer_Default.epf [2018-11-28 23:18:13,603 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-28 23:18:13,603 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-28 23:18:13,607 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-28 23:18:13,607 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-28 23:18:13,608 INFO L133 SettingsManager]: * Use SBE=true [2018-11-28 23:18:13,608 INFO L131 SettingsManager]: Preferences of BuchiAutomizer differ from their defaults: [2018-11-28 23:18:13,608 INFO L133 SettingsManager]: * NCSB implementation=INTSET_LAZY3 [2018-11-28 23:18:13,608 INFO L133 SettingsManager]: * Use old map elimination=false [2018-11-28 23:18:13,608 INFO L133 SettingsManager]: * Use external solver (rank synthesis)=false [2018-11-28 23:18:13,610 INFO L133 SettingsManager]: * Use only trivial implications for array writes=true [2018-11-28 23:18:13,610 INFO L133 SettingsManager]: * Rank analysis=LINEAR_WITH_GUESSES [2018-11-28 23:18:13,610 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-28 23:18:13,610 INFO L133 SettingsManager]: * Check unreachability of error function in SV-COMP mode=false [2018-11-28 23:18:13,610 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2018-11-28 23:18:13,611 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-28 23:18:13,611 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=ASSUME [2018-11-28 23:18:13,611 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=ASSUME [2018-11-28 23:18:13,611 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=ASSUME [2018-11-28 23:18:13,611 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-28 23:18:13,611 INFO L133 SettingsManager]: * Assume nondeterminstic values are in range=false [2018-11-28 23:18:13,612 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-28 23:18:13,613 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=ASSUME [2018-11-28 23:18:13,613 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-28 23:18:13,613 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-28 23:18:13,613 INFO L133 SettingsManager]: * To the following directory=/home/matthias/ultimate/dump [2018-11-28 23:18:13,614 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-28 23:18:13,614 INFO L133 SettingsManager]: * Trace refinement strategy=CAMEL [2018-11-28 23:18:13,614 INFO L133 SettingsManager]: * Dump automata to the following directory=/home/matthias/ultimate/dump/auto [2018-11-28 23:18:13,615 INFO L131 SettingsManager]: Preferences of IcfgTransformer differ from their defaults: [2018-11-28 23:18:13,615 INFO L133 SettingsManager]: * TransformationType=MODULO_NEIGHBOR Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: Entry function -> main Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness directory -> /storage/repos/ultimate/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 -> 64bit Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data programhash -> 938c367f37ddd298c829be75f27a69a6e9a1154b [2018-11-28 23:18:13,664 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-28 23:18:13,677 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-28 23:18:13,684 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-28 23:18:13,686 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-28 23:18:13,687 INFO L276 PluginConnector]: CDTParser initialized [2018-11-28 23:18:13,687 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/svcomp/c/termination-libowfat/strstr_true-termination.c.i [2018-11-28 23:18:13,748 INFO L221 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/ea9e8a240/8d6845daf86b48f496b55cb6abdb66c7/FLAG4c69ec583 [2018-11-28 23:18:14,303 INFO L307 CDTParser]: Found 1 translation units. [2018-11-28 23:18:14,304 INFO L161 CDTParser]: Scanning /storage/repos/svcomp/c/termination-libowfat/strstr_true-termination.c.i [2018-11-28 23:18:14,324 INFO L355 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/ea9e8a240/8d6845daf86b48f496b55cb6abdb66c7/FLAG4c69ec583 [2018-11-28 23:18:14,584 INFO L363 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/ea9e8a240/8d6845daf86b48f496b55cb6abdb66c7 [2018-11-28 23:18:14,589 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-28 23:18:14,590 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-28 23:18:14,591 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-28 23:18:14,592 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-28 23:18:14,596 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-28 23:18:14,597 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.11 11:18:14" (1/1) ... [2018-11-28 23:18:14,602 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@5600ceee and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.11 11:18:14, skipping insertion in model container [2018-11-28 23:18:14,602 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.11 11:18:14" (1/1) ... [2018-11-28 23:18:14,610 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-28 23:18:14,657 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-28 23:18:15,002 INFO L203 PostProcessor]: Analyzing one entry point: main [2018-11-28 23:18:15,019 INFO L191 MainTranslator]: Completed pre-run [2018-11-28 23:18:15,204 INFO L203 PostProcessor]: Analyzing one entry point: main [2018-11-28 23:18:15,259 INFO L195 MainTranslator]: Completed translation [2018-11-28 23:18:15,260 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.11 11:18:15 WrapperNode [2018-11-28 23:18:15,260 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-28 23:18:15,261 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-28 23:18:15,261 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-28 23:18:15,261 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-28 23:18:15,270 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.11 11:18:15" (1/1) ... [2018-11-28 23:18:15,288 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.11 11:18:15" (1/1) ... [2018-11-28 23:18:15,317 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-28 23:18:15,318 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-28 23:18:15,318 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-28 23:18:15,318 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-28 23:18:15,328 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.11 11:18:15" (1/1) ... [2018-11-28 23:18:15,329 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.11 11:18:15" (1/1) ... [2018-11-28 23:18:15,333 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.11 11:18:15" (1/1) ... [2018-11-28 23:18:15,333 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.11 11:18:15" (1/1) ... [2018-11-28 23:18:15,345 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.11 11:18:15" (1/1) ... [2018-11-28 23:18:15,357 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.11 11:18:15" (1/1) ... [2018-11-28 23:18:15,363 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.11 11:18:15" (1/1) ... [2018-11-28 23:18:15,368 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-28 23:18:15,369 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-28 23:18:15,369 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-28 23:18:15,369 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-28 23:18:15,370 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.11 11:18:15" (1/1) ... No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2018-11-28 23:18:15,427 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-28 23:18:15,427 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2018-11-28 23:18:15,427 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2018-11-28 23:18:15,427 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-28 23:18:15,427 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-28 23:18:15,427 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-28 23:18:15,955 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-28 23:18:15,956 INFO L280 CfgBuilder]: Removed 16 assue(true) statements. [2018-11-28 23:18:15,957 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.11 11:18:15 BoogieIcfgContainer [2018-11-28 23:18:15,957 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-28 23:18:15,957 INFO L113 PluginConnector]: ------------------------BuchiAutomizer---------------------------- [2018-11-28 23:18:15,957 INFO L271 PluginConnector]: Initializing BuchiAutomizer... [2018-11-28 23:18:15,961 INFO L276 PluginConnector]: BuchiAutomizer initialized [2018-11-28 23:18:15,962 INFO L102 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2018-11-28 23:18:15,962 INFO L185 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "CDTParser AST 28.11 11:18:14" (1/3) ... [2018-11-28 23:18:15,964 INFO L205 PluginConnector]: Invalid model from BuchiAutomizer for observer de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver@5f3a4732 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer AST 28.11 11:18:15, skipping insertion in model container [2018-11-28 23:18:15,964 INFO L102 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2018-11-28 23:18:15,964 INFO L185 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.11 11:18:15" (2/3) ... [2018-11-28 23:18:15,964 INFO L205 PluginConnector]: Invalid model from BuchiAutomizer for observer de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver@5f3a4732 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer AST 28.11 11:18:15, skipping insertion in model container [2018-11-28 23:18:15,965 INFO L102 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2018-11-28 23:18:15,965 INFO L185 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.11 11:18:15" (3/3) ... [2018-11-28 23:18:15,967 INFO L375 chiAutomizerObserver]: Analyzing ICFG strstr_true-termination.c.i [2018-11-28 23:18:16,026 INFO L133 ementStrategyFactory]: Using default assertion order modulation [2018-11-28 23:18:16,027 INFO L374 BuchiCegarLoop]: Interprodecural is true [2018-11-28 23:18:16,027 INFO L375 BuchiCegarLoop]: Hoare is false [2018-11-28 23:18:16,027 INFO L376 BuchiCegarLoop]: Compute interpolants for ForwardPredicates [2018-11-28 23:18:16,028 INFO L377 BuchiCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-28 23:18:16,028 INFO L378 BuchiCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-28 23:18:16,028 INFO L379 BuchiCegarLoop]: Difference is false [2018-11-28 23:18:16,028 INFO L380 BuchiCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-28 23:18:16,028 INFO L383 BuchiCegarLoop]: ======== Iteration 0==of CEGAR loop == BuchiCegarLoop======== [2018-11-28 23:18:16,042 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 33 states. [2018-11-28 23:18:16,067 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 15 [2018-11-28 23:18:16,067 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2018-11-28 23:18:16,067 INFO L119 BuchiIsEmpty]: Starting construction of run [2018-11-28 23:18:16,074 INFO L866 BuchiCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1] [2018-11-28 23:18:16,074 INFO L867 BuchiCegarLoop]: Counterexample loop histogram [1, 1, 1] [2018-11-28 23:18:16,074 INFO L442 BuchiCegarLoop]: ======== Iteration 1============ [2018-11-28 23:18:16,074 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 33 states. [2018-11-28 23:18:16,077 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 15 [2018-11-28 23:18:16,077 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2018-11-28 23:18:16,077 INFO L119 BuchiIsEmpty]: Starting construction of run [2018-11-28 23:18:16,078 INFO L866 BuchiCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1] [2018-11-28 23:18:16,078 INFO L867 BuchiCegarLoop]: Counterexample loop histogram [1, 1, 1] [2018-11-28 23:18:16,087 INFO L794 eck$LassoCheckResult]: Stem: 28#ULTIMATE.startENTRYtrue #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; 9#L-1true havoc main_#res;havoc main_#t~nondet19, main_#t~malloc20.base, main_#t~malloc20.offset, main_#t~nondet21, main_#t~malloc22.base, main_#t~malloc22.offset, main_#t~ret23.base, main_#t~ret23.offset, main_~in_len~0, main_~hay~0.base, main_~hay~0.offset, main_~out_len~0, main_~needle~0.base, main_~needle~0.offset;main_~in_len~0 := main_#t~nondet19;havoc main_#t~nondet19; 14#L541true assume !(main_~in_len~0 < 1);call main_#t~malloc20.base, main_#t~malloc20.offset := #Ultimate.alloc(main_~in_len~0);main_~hay~0.base, main_~hay~0.offset := main_#t~malloc20.base, main_#t~malloc20.offset;call write~int(0, main_~hay~0.base, main_~hay~0.offset + (main_~in_len~0 - 1), 1);main_~out_len~0 := main_#t~nondet21;havoc main_#t~nondet21; 25#L545true assume !(main_~out_len~0 < 1);call main_#t~malloc22.base, main_#t~malloc22.offset := #Ultimate.alloc(main_~out_len~0);main_~needle~0.base, main_~needle~0.offset := main_#t~malloc22.base, main_#t~malloc22.offset;call write~int(0, main_~needle~0.base, main_~needle~0.offset + (main_~out_len~0 - 1), 1);strstr_#in~haystack.base, strstr_#in~haystack.offset, strstr_#in~needle.base, strstr_#in~needle.offset := main_~hay~0.base, main_~hay~0.offset, main_~needle~0.base, main_~needle~0.offset;havoc strstr_#res.base, strstr_#res.offset;havoc strstr_#t~ret11, strstr_#t~ret12, strstr_#t~mem14, strstr_#t~mem15, strstr_#t~ret16, strstr_#t~short17, strstr_#t~pre18.base, strstr_#t~pre18.offset, strstr_#t~pre13, strstr_~haystack.base, strstr_~haystack.offset, strstr_~needle.base, strstr_~needle.offset, strstr_~nl~0, strstr_~hl~0, strstr_~i~1;strstr_~haystack.base, strstr_~haystack.offset := strstr_#in~haystack.base, strstr_#in~haystack.offset;strstr_~needle.base, strstr_~needle.offset := strstr_#in~needle.base, strstr_#in~needle.offset;strlen_#in~s.base, strlen_#in~s.offset := strstr_~needle.base, strstr_~needle.offset;havoc strlen_#res;havoc strlen_#t~pre3, strlen_#t~pre2.base, strlen_#t~pre2.offset, strlen_#t~mem4, strlen_~s.base, strlen_~s.offset, strlen_~i~0;strlen_~s.base, strlen_~s.offset := strlen_#in~s.base, strlen_#in~s.offset;havoc strlen_~i~0; 19#L508true assume !(strlen_~s.base == 0 && strlen_~s.offset == 0);strlen_~i~0 := 0; 23#L509-4true [2018-11-28 23:18:16,087 INFO L796 eck$LassoCheckResult]: Loop: 23#L509-4true call strlen_#t~mem4 := read~int(strlen_~s.base, strlen_~s.offset, 1); 29#L509-1true assume !!(0 != strlen_#t~mem4);havoc strlen_#t~mem4;strlen_#t~pre3 := 1 + strlen_~i~0;strlen_~i~0 := 1 + strlen_~i~0;havoc strlen_#t~pre3; 34#L509-3true strlen_#t~pre2.base, strlen_#t~pre2.offset := strlen_~s.base, 1 + strlen_~s.offset;strlen_~s.base, strlen_~s.offset := strlen_~s.base, 1 + strlen_~s.offset;havoc strlen_#t~pre2.base, strlen_#t~pre2.offset; 23#L509-4true [2018-11-28 23:18:16,095 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-28 23:18:16,095 INFO L82 PathProgramCache]: Analyzing trace with hash 28695849, now seen corresponding path program 1 times [2018-11-28 23:18:16,098 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-28 23:18:16,098 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-28 23:18:16,155 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 23:18:16,155 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-28 23:18:16,156 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 23:18:16,213 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-28 23:18:16,234 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-28 23:18:16,261 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-28 23:18:16,261 INFO L82 PathProgramCache]: Analyzing trace with hash 50806, now seen corresponding path program 1 times [2018-11-28 23:18:16,262 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-28 23:18:16,262 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-28 23:18:16,263 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 23:18:16,263 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-28 23:18:16,263 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 23:18:16,268 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-28 23:18:16,277 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-28 23:18:16,283 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-28 23:18:16,283 INFO L82 PathProgramCache]: Analyzing trace with hash 179566670, now seen corresponding path program 1 times [2018-11-28 23:18:16,284 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-28 23:18:16,284 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-28 23:18:16,288 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 23:18:16,288 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-28 23:18:16,288 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 23:18:16,330 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-28 23:18:16,352 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-28 23:18:16,639 WARN L180 SmtUtils]: Spent 166.00 ms on a formula simplification that was a NOOP. DAG size: 26 [2018-11-28 23:18:17,621 WARN L180 SmtUtils]: Spent 977.00 ms on a formula simplification. DAG size of input: 113 DAG size of output: 96 [2018-11-28 23:18:17,770 WARN L180 SmtUtils]: Spent 144.00 ms on a formula simplification that was a NOOP. DAG size: 84 [2018-11-28 23:18:17,781 INFO L216 LassoAnalysis]: Preferences: [2018-11-28 23:18:17,782 INFO L124 ssoRankerPreferences]: Compute integeral hull: false [2018-11-28 23:18:17,783 INFO L125 ssoRankerPreferences]: Enable LassoPartitioneer: true [2018-11-28 23:18:17,783 INFO L126 ssoRankerPreferences]: Term annotations enabled: false [2018-11-28 23:18:17,783 INFO L127 ssoRankerPreferences]: Use exernal solver: false [2018-11-28 23:18:17,783 INFO L128 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2018-11-28 23:18:17,783 INFO L129 ssoRankerPreferences]: Dump SMT script to file: false [2018-11-28 23:18:17,783 INFO L130 ssoRankerPreferences]: Path of dumped script: [2018-11-28 23:18:17,784 INFO L131 ssoRankerPreferences]: Filename of dumped script: strstr_true-termination.c.i_Iteration1_Lasso [2018-11-28 23:18:17,784 INFO L132 ssoRankerPreferences]: MapElimAlgo: Frank [2018-11-28 23:18:17,784 INFO L282 LassoAnalysis]: Starting lasso preprocessing... [2018-11-28 23:18:17,813 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:17,845 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:17,850 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:18,282 WARN L180 SmtUtils]: Spent 311.00 ms on a formula simplification. DAG size of input: 73 DAG size of output: 69 [2018-11-28 23:18:18,394 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:18,403 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:18,405 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:18,408 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:18,410 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:18,413 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:18,415 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:18,418 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:18,421 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:18,425 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:18,431 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:18,434 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:18,436 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:18,442 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:18,446 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:18,451 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:18,456 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:18,465 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:18,469 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:18,471 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:18,473 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:18,476 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:18,480 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:18,482 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:18,485 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:19,180 WARN L180 SmtUtils]: Spent 186.00 ms on a formula simplification that was a NOOP. DAG size: 24 [2018-11-28 23:18:19,272 INFO L300 LassoAnalysis]: Preprocessing complete. [2018-11-28 23:18:19,279 INFO L497 LassoAnalysis]: Using template 'affine'. [2018-11-28 23:18:19,282 INFO L122 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSES Number of strict supporting invariants: 0 Number of non-strict supporting invariants: 1 Consider only non-deceasing supporting invariants: true Simplify termination arguments: true Simplify supporting invariants: trueOverapproximate stem: false [2018-11-28 23:18:19,284 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 23:18:19,285 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-11-28 23:18:19,285 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 23:18:19,285 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 23:18:19,286 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 23:18:19,289 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-11-28 23:18:19,290 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-11-28 23:18:19,293 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 23:18:19,294 INFO L122 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSES Number of strict supporting invariants: 0 Number of non-strict supporting invariants: 1 Consider only non-deceasing supporting invariants: true Simplify termination arguments: true Simplify supporting invariants: trueOverapproximate stem: false [2018-11-28 23:18:19,295 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 23:18:19,300 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-11-28 23:18:19,300 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 23:18:19,300 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 23:18:19,301 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 23:18:19,301 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-11-28 23:18:19,301 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-11-28 23:18:19,302 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 23:18:19,306 INFO L122 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSES Number of strict supporting invariants: 0 Number of non-strict supporting invariants: 1 Consider only non-deceasing supporting invariants: true Simplify termination arguments: true Simplify supporting invariants: trueOverapproximate stem: false [2018-11-28 23:18:19,307 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 23:18:19,307 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 23:18:19,307 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 23:18:19,307 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 23:18:19,317 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2018-11-28 23:18:19,317 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2018-11-28 23:18:19,345 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 23:18:19,350 INFO L122 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSES Number of strict supporting invariants: 0 Number of non-strict supporting invariants: 1 Consider only non-deceasing supporting invariants: true Simplify termination arguments: true Simplify supporting invariants: trueOverapproximate stem: false [2018-11-28 23:18:19,351 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 23:18:19,351 INFO L205 nArgumentSynthesizer]: 2 stem disjuncts [2018-11-28 23:18:19,351 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 23:18:19,351 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 23:18:19,357 INFO L402 nArgumentSynthesizer]: We have 8 Motzkin's Theorem applications. [2018-11-28 23:18:19,357 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2018-11-28 23:18:19,378 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 23:18:19,380 INFO L122 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSES Number of strict supporting invariants: 0 Number of non-strict supporting invariants: 1 Consider only non-deceasing supporting invariants: true Simplify termination arguments: true Simplify supporting invariants: trueOverapproximate stem: false [2018-11-28 23:18:19,381 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 23:18:19,381 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 23:18:19,381 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 23:18:19,382 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 23:18:19,396 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2018-11-28 23:18:19,399 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2018-11-28 23:18:19,496 INFO L421 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2018-11-28 23:18:19,543 INFO L443 ModelExtractionUtils]: Simplification made 5 calls to the SMT solver. [2018-11-28 23:18:19,545 INFO L444 ModelExtractionUtils]: 25 out of 31 variables were initially zero. Simplification set additionally 3 variables to zero. [2018-11-28 23:18:19,548 INFO L437 nArgumentSynthesizer]: Simplifying supporting invariants... [2018-11-28 23:18:19,551 INFO L440 nArgumentSynthesizer]: Removed 2 redundant supporting invariants from a total of 2. [2018-11-28 23:18:19,552 INFO L518 LassoAnalysis]: Proved termination. [2018-11-28 23:18:19,553 INFO L520 LassoAnalysis]: Termination argument consisting of: Ranking function f(ULTIMATE.start_strlen_~s.offset, v_rep(select #length ULTIMATE.start_main_#t~malloc22.base)_1) = -1*ULTIMATE.start_strlen_~s.offset + 1*v_rep(select #length ULTIMATE.start_main_#t~malloc22.base)_1 Supporting invariants [] [2018-11-28 23:18:19,640 INFO L297 tatePredicateManager]: 8 out of 9 supporting invariants were superfluous and have been removed [2018-11-28 23:18:19,651 WARN L1298 BoogieBacktranslator]: unknown boogie variable #length [2018-11-28 23:18:19,950 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-28 23:18:19,990 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-28 23:18:19,994 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-28 23:18:20,009 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-28 23:18:20,011 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-28 23:18:20,049 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-28 23:18:20,064 INFO L152 lantAutomatonBouncer]: Defining deterministic Buchi interpolant automaton with honda bouncer for stem and without honda bouncer for loop.2 stem predicates 2 loop predicates [2018-11-28 23:18:20,065 INFO L72 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 33 states. Second operand 4 states. [2018-11-28 23:18:20,256 INFO L76 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 33 states.. Second operand 4 states. Result 90 states and 130 transitions. Complement of second has 7 states. [2018-11-28 23:18:20,257 INFO L142 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 5 states 2 stem states 1 non-accepting loop states 1 accepting loop states [2018-11-28 23:18:20,258 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-28 23:18:20,260 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 85 transitions. [2018-11-28 23:18:20,261 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 5 states and 85 transitions. Stem has 5 letters. Loop has 3 letters. [2018-11-28 23:18:20,262 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2018-11-28 23:18:20,262 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 5 states and 85 transitions. Stem has 8 letters. Loop has 3 letters. [2018-11-28 23:18:20,263 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2018-11-28 23:18:20,263 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 5 states and 85 transitions. Stem has 5 letters. Loop has 6 letters. [2018-11-28 23:18:20,263 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2018-11-28 23:18:20,264 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 90 states and 130 transitions. [2018-11-28 23:18:20,269 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 24 [2018-11-28 23:18:20,274 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 90 states to 47 states and 62 transitions. [2018-11-28 23:18:20,275 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 43 [2018-11-28 23:18:20,276 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 44 [2018-11-28 23:18:20,277 INFO L73 IsDeterministic]: Start isDeterministic. Operand 47 states and 62 transitions. [2018-11-28 23:18:20,277 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2018-11-28 23:18:20,277 INFO L705 BuchiCegarLoop]: Abstraction has 47 states and 62 transitions. [2018-11-28 23:18:20,291 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 47 states and 62 transitions. [2018-11-28 23:18:20,302 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 47 to 47. [2018-11-28 23:18:20,302 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 47 states. [2018-11-28 23:18:20,303 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 47 states to 47 states and 62 transitions. [2018-11-28 23:18:20,305 INFO L728 BuchiCegarLoop]: Abstraction has 47 states and 62 transitions. [2018-11-28 23:18:20,305 INFO L608 BuchiCegarLoop]: Abstraction has 47 states and 62 transitions. [2018-11-28 23:18:20,305 INFO L442 BuchiCegarLoop]: ======== Iteration 2============ [2018-11-28 23:18:20,305 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 47 states and 62 transitions. [2018-11-28 23:18:20,307 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 24 [2018-11-28 23:18:20,307 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2018-11-28 23:18:20,307 INFO L119 BuchiIsEmpty]: Starting construction of run [2018-11-28 23:18:20,308 INFO L866 BuchiCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1, 1, 1] [2018-11-28 23:18:20,308 INFO L867 BuchiCegarLoop]: Counterexample loop histogram [1, 1, 1] [2018-11-28 23:18:20,308 INFO L794 eck$LassoCheckResult]: Stem: 247#ULTIMATE.startENTRY #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; 224#L-1 havoc main_#res;havoc main_#t~nondet19, main_#t~malloc20.base, main_#t~malloc20.offset, main_#t~nondet21, main_#t~malloc22.base, main_#t~malloc22.offset, main_#t~ret23.base, main_#t~ret23.offset, main_~in_len~0, main_~hay~0.base, main_~hay~0.offset, main_~out_len~0, main_~needle~0.base, main_~needle~0.offset;main_~in_len~0 := main_#t~nondet19;havoc main_#t~nondet19; 225#L541 assume !(main_~in_len~0 < 1);call main_#t~malloc20.base, main_#t~malloc20.offset := #Ultimate.alloc(main_~in_len~0);main_~hay~0.base, main_~hay~0.offset := main_#t~malloc20.base, main_#t~malloc20.offset;call write~int(0, main_~hay~0.base, main_~hay~0.offset + (main_~in_len~0 - 1), 1);main_~out_len~0 := main_#t~nondet21;havoc main_#t~nondet21; 232#L545 assume !(main_~out_len~0 < 1);call main_#t~malloc22.base, main_#t~malloc22.offset := #Ultimate.alloc(main_~out_len~0);main_~needle~0.base, main_~needle~0.offset := main_#t~malloc22.base, main_#t~malloc22.offset;call write~int(0, main_~needle~0.base, main_~needle~0.offset + (main_~out_len~0 - 1), 1);strstr_#in~haystack.base, strstr_#in~haystack.offset, strstr_#in~needle.base, strstr_#in~needle.offset := main_~hay~0.base, main_~hay~0.offset, main_~needle~0.base, main_~needle~0.offset;havoc strstr_#res.base, strstr_#res.offset;havoc strstr_#t~ret11, strstr_#t~ret12, strstr_#t~mem14, strstr_#t~mem15, strstr_#t~ret16, strstr_#t~short17, strstr_#t~pre18.base, strstr_#t~pre18.offset, strstr_#t~pre13, strstr_~haystack.base, strstr_~haystack.offset, strstr_~needle.base, strstr_~needle.offset, strstr_~nl~0, strstr_~hl~0, strstr_~i~1;strstr_~haystack.base, strstr_~haystack.offset := strstr_#in~haystack.base, strstr_#in~haystack.offset;strstr_~needle.base, strstr_~needle.offset := strstr_#in~needle.base, strstr_#in~needle.offset;strlen_#in~s.base, strlen_#in~s.offset := strstr_~needle.base, strstr_~needle.offset;havoc strlen_#res;havoc strlen_#t~pre3, strlen_#t~pre2.base, strlen_#t~pre2.offset, strlen_#t~mem4, strlen_~s.base, strlen_~s.offset, strlen_~i~0;strlen_~s.base, strlen_~s.offset := strlen_#in~s.base, strlen_#in~s.offset;havoc strlen_~i~0; 237#L508 assume strlen_~s.base == 0 && strlen_~s.offset == 0;strlen_#res := 0; 239#L510 strstr_#t~ret11 := strlen_#res;strstr_~nl~0 := strstr_#t~ret11;havoc strstr_#t~ret11;strlen_#in~s.base, strlen_#in~s.offset := strstr_~haystack.base, strstr_~haystack.offset;havoc strlen_#res;havoc strlen_#t~pre3, strlen_#t~pre2.base, strlen_#t~pre2.offset, strlen_#t~mem4, strlen_~s.base, strlen_~s.offset, strlen_~i~0;strlen_~s.base, strlen_~s.offset := strlen_#in~s.base, strlen_#in~s.offset;havoc strlen_~i~0; 252#L508-2 assume !(strlen_~s.base == 0 && strlen_~s.offset == 0);strlen_~i~0 := 0; 228#L509-10 [2018-11-28 23:18:20,308 INFO L796 eck$LassoCheckResult]: Loop: 228#L509-10 call strlen_#t~mem4 := read~int(strlen_~s.base, strlen_~s.offset, 1); 229#L509-7 assume !!(0 != strlen_#t~mem4);havoc strlen_#t~mem4;strlen_#t~pre3 := 1 + strlen_~i~0;strlen_~i~0 := 1 + strlen_~i~0;havoc strlen_#t~pre3; 251#L509-9 strlen_#t~pre2.base, strlen_#t~pre2.offset := strlen_~s.base, 1 + strlen_~s.offset;strlen_~s.base, strlen_~s.offset := strlen_~s.base, 1 + strlen_~s.offset;havoc strlen_#t~pre2.base, strlen_#t~pre2.offset; 228#L509-10 [2018-11-28 23:18:20,309 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-28 23:18:20,309 INFO L82 PathProgramCache]: Analyzing trace with hash 1806906284, now seen corresponding path program 1 times [2018-11-28 23:18:20,309 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-28 23:18:20,309 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-28 23:18:20,310 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 23:18:20,310 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-28 23:18:20,310 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 23:18:20,318 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-28 23:18:20,370 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-28 23:18:20,371 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-28 23:18:20,371 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2018-11-28 23:18:20,373 INFO L799 eck$LassoCheckResult]: stem already infeasible [2018-11-28 23:18:20,373 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-28 23:18:20,373 INFO L82 PathProgramCache]: Analyzing trace with hash 72652, now seen corresponding path program 1 times [2018-11-28 23:18:20,373 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-28 23:18:20,373 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-28 23:18:20,374 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 23:18:20,374 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-28 23:18:20,374 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 23:18:20,377 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-28 23:18:20,380 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-28 23:18:20,432 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-11-28 23:18:20,432 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-28 23:18:20,434 INFO L87 Difference]: Start difference. First operand 47 states and 62 transitions. cyclomatic complexity: 20 Second operand 3 states. [2018-11-28 23:18:20,458 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-28 23:18:20,458 INFO L93 Difference]: Finished difference Result 29 states and 36 transitions. [2018-11-28 23:18:20,459 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-28 23:18:20,460 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 29 states and 36 transitions. [2018-11-28 23:18:20,461 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 12 [2018-11-28 23:18:20,462 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 29 states to 29 states and 36 transitions. [2018-11-28 23:18:20,462 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 26 [2018-11-28 23:18:20,462 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 26 [2018-11-28 23:18:20,462 INFO L73 IsDeterministic]: Start isDeterministic. Operand 29 states and 36 transitions. [2018-11-28 23:18:20,462 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2018-11-28 23:18:20,463 INFO L705 BuchiCegarLoop]: Abstraction has 29 states and 36 transitions. [2018-11-28 23:18:20,463 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 29 states and 36 transitions. [2018-11-28 23:18:20,465 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 29 to 29. [2018-11-28 23:18:20,465 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 29 states. [2018-11-28 23:18:20,465 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 36 transitions. [2018-11-28 23:18:20,466 INFO L728 BuchiCegarLoop]: Abstraction has 29 states and 36 transitions. [2018-11-28 23:18:20,466 INFO L608 BuchiCegarLoop]: Abstraction has 29 states and 36 transitions. [2018-11-28 23:18:20,466 INFO L442 BuchiCegarLoop]: ======== Iteration 3============ [2018-11-28 23:18:20,466 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 29 states and 36 transitions. [2018-11-28 23:18:20,467 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 12 [2018-11-28 23:18:20,467 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2018-11-28 23:18:20,467 INFO L119 BuchiIsEmpty]: Starting construction of run [2018-11-28 23:18:20,467 INFO L866 BuchiCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-28 23:18:20,468 INFO L867 BuchiCegarLoop]: Counterexample loop histogram [1, 1, 1] [2018-11-28 23:18:20,468 INFO L794 eck$LassoCheckResult]: Stem: 324#ULTIMATE.startENTRY #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; 302#L-1 havoc main_#res;havoc main_#t~nondet19, main_#t~malloc20.base, main_#t~malloc20.offset, main_#t~nondet21, main_#t~malloc22.base, main_#t~malloc22.offset, main_#t~ret23.base, main_#t~ret23.offset, main_~in_len~0, main_~hay~0.base, main_~hay~0.offset, main_~out_len~0, main_~needle~0.base, main_~needle~0.offset;main_~in_len~0 := main_#t~nondet19;havoc main_#t~nondet19; 303#L541 assume !(main_~in_len~0 < 1);call main_#t~malloc20.base, main_#t~malloc20.offset := #Ultimate.alloc(main_~in_len~0);main_~hay~0.base, main_~hay~0.offset := main_#t~malloc20.base, main_#t~malloc20.offset;call write~int(0, main_~hay~0.base, main_~hay~0.offset + (main_~in_len~0 - 1), 1);main_~out_len~0 := main_#t~nondet21;havoc main_#t~nondet21; 311#L545 assume !(main_~out_len~0 < 1);call main_#t~malloc22.base, main_#t~malloc22.offset := #Ultimate.alloc(main_~out_len~0);main_~needle~0.base, main_~needle~0.offset := main_#t~malloc22.base, main_#t~malloc22.offset;call write~int(0, main_~needle~0.base, main_~needle~0.offset + (main_~out_len~0 - 1), 1);strstr_#in~haystack.base, strstr_#in~haystack.offset, strstr_#in~needle.base, strstr_#in~needle.offset := main_~hay~0.base, main_~hay~0.offset, main_~needle~0.base, main_~needle~0.offset;havoc strstr_#res.base, strstr_#res.offset;havoc strstr_#t~ret11, strstr_#t~ret12, strstr_#t~mem14, strstr_#t~mem15, strstr_#t~ret16, strstr_#t~short17, strstr_#t~pre18.base, strstr_#t~pre18.offset, strstr_#t~pre13, strstr_~haystack.base, strstr_~haystack.offset, strstr_~needle.base, strstr_~needle.offset, strstr_~nl~0, strstr_~hl~0, strstr_~i~1;strstr_~haystack.base, strstr_~haystack.offset := strstr_#in~haystack.base, strstr_#in~haystack.offset;strstr_~needle.base, strstr_~needle.offset := strstr_#in~needle.base, strstr_#in~needle.offset;strlen_#in~s.base, strlen_#in~s.offset := strstr_~needle.base, strstr_~needle.offset;havoc strlen_#res;havoc strlen_#t~pre3, strlen_#t~pre2.base, strlen_#t~pre2.offset, strlen_#t~mem4, strlen_~s.base, strlen_~s.offset, strlen_~i~0;strlen_~s.base, strlen_~s.offset := strlen_#in~s.base, strlen_#in~s.offset;havoc strlen_~i~0; 318#L508 assume !(strlen_~s.base == 0 && strlen_~s.offset == 0);strlen_~i~0 := 0; 319#L509-4 call strlen_#t~mem4 := read~int(strlen_~s.base, strlen_~s.offset, 1); 321#L509-1 assume !(0 != strlen_#t~mem4);havoc strlen_#t~mem4; 323#L509-5 strlen_#res := strlen_~i~0; 308#L510 strstr_#t~ret11 := strlen_#res;strstr_~nl~0 := strstr_#t~ret11;havoc strstr_#t~ret11;strlen_#in~s.base, strlen_#in~s.offset := strstr_~haystack.base, strstr_~haystack.offset;havoc strlen_#res;havoc strlen_#t~pre3, strlen_#t~pre2.base, strlen_#t~pre2.offset, strlen_#t~mem4, strlen_~s.base, strlen_~s.offset, strlen_~i~0;strlen_~s.base, strlen_~s.offset := strlen_#in~s.base, strlen_#in~s.offset;havoc strlen_~i~0; 309#L508-2 assume !(strlen_~s.base == 0 && strlen_~s.offset == 0);strlen_~i~0 := 0; 305#L509-10 [2018-11-28 23:18:20,468 INFO L796 eck$LassoCheckResult]: Loop: 305#L509-10 call strlen_#t~mem4 := read~int(strlen_~s.base, strlen_~s.offset, 1); 310#L509-7 assume !!(0 != strlen_#t~mem4);havoc strlen_#t~mem4;strlen_#t~pre3 := 1 + strlen_~i~0;strlen_~i~0 := 1 + strlen_~i~0;havoc strlen_#t~pre3; 304#L509-9 strlen_#t~pre2.base, strlen_#t~pre2.offset := strlen_~s.base, 1 + strlen_~s.offset;strlen_~s.base, strlen_~s.offset := strlen_~s.base, 1 + strlen_~s.offset;havoc strlen_#t~pre2.base, strlen_#t~pre2.offset; 305#L509-10 [2018-11-28 23:18:20,468 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-28 23:18:20,468 INFO L82 PathProgramCache]: Analyzing trace with hash 764823385, now seen corresponding path program 1 times [2018-11-28 23:18:20,468 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-28 23:18:20,468 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-28 23:18:20,469 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 23:18:20,469 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-28 23:18:20,470 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 23:18:20,479 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-28 23:18:20,502 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-28 23:18:20,509 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-28 23:18:20,510 INFO L82 PathProgramCache]: Analyzing trace with hash 72652, now seen corresponding path program 2 times [2018-11-28 23:18:20,510 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-28 23:18:20,510 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-28 23:18:20,511 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 23:18:20,511 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-28 23:18:20,511 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 23:18:20,514 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-28 23:18:20,517 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-28 23:18:20,519 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-28 23:18:20,519 INFO L82 PathProgramCache]: Analyzing trace with hash 52000116, now seen corresponding path program 1 times [2018-11-28 23:18:20,519 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-28 23:18:20,519 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-28 23:18:20,521 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 23:18:20,521 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-28 23:18:20,521 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 23:18:20,536 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-28 23:18:20,549 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-28 23:18:20,676 WARN L180 SmtUtils]: Spent 112.00 ms on a formula simplification that was a NOOP. DAG size: 28 [2018-11-28 23:18:21,278 WARN L180 SmtUtils]: Spent 570.00 ms on a formula simplification. DAG size of input: 143 DAG size of output: 115 [2018-11-28 23:18:21,424 WARN L180 SmtUtils]: Spent 141.00 ms on a formula simplification that was a NOOP. DAG size: 89 [2018-11-28 23:18:21,430 INFO L216 LassoAnalysis]: Preferences: [2018-11-28 23:18:21,430 INFO L124 ssoRankerPreferences]: Compute integeral hull: false [2018-11-28 23:18:21,430 INFO L125 ssoRankerPreferences]: Enable LassoPartitioneer: true [2018-11-28 23:18:21,430 INFO L126 ssoRankerPreferences]: Term annotations enabled: false [2018-11-28 23:18:21,431 INFO L127 ssoRankerPreferences]: Use exernal solver: false [2018-11-28 23:18:21,431 INFO L128 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2018-11-28 23:18:21,431 INFO L129 ssoRankerPreferences]: Dump SMT script to file: false [2018-11-28 23:18:21,431 INFO L130 ssoRankerPreferences]: Path of dumped script: [2018-11-28 23:18:21,431 INFO L131 ssoRankerPreferences]: Filename of dumped script: strstr_true-termination.c.i_Iteration3_Lasso [2018-11-28 23:18:21,431 INFO L132 ssoRankerPreferences]: MapElimAlgo: Frank [2018-11-28 23:18:21,431 INFO L282 LassoAnalysis]: Starting lasso preprocessing... [2018-11-28 23:18:21,436 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:21,448 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:21,449 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:21,451 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:21,453 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:21,456 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:21,459 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:21,463 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:21,465 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:21,467 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:21,470 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:21,472 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:21,474 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:21,480 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:21,482 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:21,486 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:21,488 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:21,492 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:21,496 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:21,506 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:21,509 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:21,511 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:21,514 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:21,516 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:21,520 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:21,521 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:21,522 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:21,944 WARN L180 SmtUtils]: Spent 257.00 ms on a formula simplification. DAG size of input: 77 DAG size of output: 71 [2018-11-28 23:18:22,008 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:22,746 WARN L180 SmtUtils]: Spent 162.00 ms on a formula simplification that was a NOOP. DAG size: 48 [2018-11-28 23:18:22,839 INFO L300 LassoAnalysis]: Preprocessing complete. [2018-11-28 23:18:22,840 INFO L497 LassoAnalysis]: Using template 'affine'. [2018-11-28 23:18:22,840 INFO L122 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSES Number of strict supporting invariants: 0 Number of non-strict supporting invariants: 1 Consider only non-deceasing supporting invariants: true Simplify termination arguments: true Simplify supporting invariants: trueOverapproximate stem: false [2018-11-28 23:18:22,841 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 23:18:22,841 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-11-28 23:18:22,841 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 23:18:22,841 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 23:18:22,841 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 23:18:22,842 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-11-28 23:18:22,842 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-11-28 23:18:22,843 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 23:18:22,843 INFO L122 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSES Number of strict supporting invariants: 0 Number of non-strict supporting invariants: 1 Consider only non-deceasing supporting invariants: true Simplify termination arguments: true Simplify supporting invariants: trueOverapproximate stem: false [2018-11-28 23:18:22,843 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 23:18:22,844 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-11-28 23:18:22,844 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 23:18:22,844 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 23:18:22,844 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 23:18:22,844 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-11-28 23:18:22,844 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-11-28 23:18:22,845 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 23:18:22,845 INFO L122 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSES Number of strict supporting invariants: 0 Number of non-strict supporting invariants: 1 Consider only non-deceasing supporting invariants: true Simplify termination arguments: true Simplify supporting invariants: trueOverapproximate stem: false [2018-11-28 23:18:22,846 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 23:18:22,846 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-11-28 23:18:22,846 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 23:18:22,846 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 23:18:22,846 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 23:18:22,847 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-11-28 23:18:22,847 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-11-28 23:18:22,847 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 23:18:22,848 INFO L122 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSES Number of strict supporting invariants: 0 Number of non-strict supporting invariants: 1 Consider only non-deceasing supporting invariants: true Simplify termination arguments: true Simplify supporting invariants: trueOverapproximate stem: false [2018-11-28 23:18:22,848 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 23:18:22,848 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-11-28 23:18:22,849 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 23:18:22,849 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 23:18:22,849 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 23:18:22,849 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-11-28 23:18:22,849 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-11-28 23:18:22,850 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 23:18:22,851 INFO L122 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSES Number of strict supporting invariants: 0 Number of non-strict supporting invariants: 1 Consider only non-deceasing supporting invariants: true Simplify termination arguments: true Simplify supporting invariants: trueOverapproximate stem: false [2018-11-28 23:18:22,851 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 23:18:22,851 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 23:18:22,851 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 23:18:22,851 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 23:18:22,853 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2018-11-28 23:18:22,853 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2018-11-28 23:18:22,855 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 23:18:22,855 INFO L122 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSES Number of strict supporting invariants: 0 Number of non-strict supporting invariants: 1 Consider only non-deceasing supporting invariants: true Simplify termination arguments: true Simplify supporting invariants: trueOverapproximate stem: false [2018-11-28 23:18:22,856 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 23:18:22,856 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-11-28 23:18:22,856 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 23:18:22,856 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 23:18:22,856 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 23:18:22,857 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-11-28 23:18:22,857 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-11-28 23:18:22,858 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 23:18:22,858 INFO L122 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSES Number of strict supporting invariants: 0 Number of non-strict supporting invariants: 1 Consider only non-deceasing supporting invariants: true Simplify termination arguments: true Simplify supporting invariants: trueOverapproximate stem: false [2018-11-28 23:18:22,858 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 23:18:22,859 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 23:18:22,859 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 23:18:22,859 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 23:18:22,860 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2018-11-28 23:18:22,860 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2018-11-28 23:18:22,862 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 23:18:22,863 INFO L122 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSES Number of strict supporting invariants: 0 Number of non-strict supporting invariants: 1 Consider only non-deceasing supporting invariants: true Simplify termination arguments: true Simplify supporting invariants: trueOverapproximate stem: false [2018-11-28 23:18:22,863 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 23:18:22,863 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-11-28 23:18:22,864 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 23:18:22,864 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 23:18:22,864 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 23:18:22,865 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-11-28 23:18:22,865 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-11-28 23:18:22,865 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 23:18:22,866 INFO L122 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSES Number of strict supporting invariants: 0 Number of non-strict supporting invariants: 1 Consider only non-deceasing supporting invariants: true Simplify termination arguments: true Simplify supporting invariants: trueOverapproximate stem: false [2018-11-28 23:18:22,866 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 23:18:22,866 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-11-28 23:18:22,867 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 23:18:22,867 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 23:18:22,867 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 23:18:22,867 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-11-28 23:18:22,867 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-11-28 23:18:22,868 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 23:18:22,868 INFO L122 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSES Number of strict supporting invariants: 0 Number of non-strict supporting invariants: 1 Consider only non-deceasing supporting invariants: true Simplify termination arguments: true Simplify supporting invariants: trueOverapproximate stem: false [2018-11-28 23:18:22,869 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 23:18:22,869 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-11-28 23:18:22,869 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 23:18:22,869 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 23:18:22,869 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 23:18:22,870 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-11-28 23:18:22,870 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-11-28 23:18:22,871 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 23:18:22,871 INFO L122 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSES Number of strict supporting invariants: 0 Number of non-strict supporting invariants: 1 Consider only non-deceasing supporting invariants: true Simplify termination arguments: true Simplify supporting invariants: trueOverapproximate stem: false [2018-11-28 23:18:22,871 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 23:18:22,871 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-11-28 23:18:22,872 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 23:18:22,872 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 23:18:22,872 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 23:18:22,872 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-11-28 23:18:22,872 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-11-28 23:18:22,873 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 23:18:22,873 INFO L122 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSES Number of strict supporting invariants: 0 Number of non-strict supporting invariants: 1 Consider only non-deceasing supporting invariants: true Simplify termination arguments: true Simplify supporting invariants: trueOverapproximate stem: false [2018-11-28 23:18:22,874 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 23:18:22,874 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-11-28 23:18:22,874 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 23:18:22,874 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 23:18:22,874 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 23:18:22,875 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-11-28 23:18:22,875 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-11-28 23:18:22,876 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 23:18:22,876 INFO L122 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSES Number of strict supporting invariants: 0 Number of non-strict supporting invariants: 1 Consider only non-deceasing supporting invariants: true Simplify termination arguments: true Simplify supporting invariants: trueOverapproximate stem: false [2018-11-28 23:18:22,876 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 23:18:22,876 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-11-28 23:18:22,877 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 23:18:22,877 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 23:18:22,877 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 23:18:22,877 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-11-28 23:18:22,877 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-11-28 23:18:22,878 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 23:18:22,878 INFO L122 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSES Number of strict supporting invariants: 0 Number of non-strict supporting invariants: 1 Consider only non-deceasing supporting invariants: true Simplify termination arguments: true Simplify supporting invariants: trueOverapproximate stem: false [2018-11-28 23:18:22,879 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 23:18:22,879 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-11-28 23:18:22,879 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 23:18:22,879 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 23:18:22,879 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 23:18:22,880 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-11-28 23:18:22,880 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-11-28 23:18:22,880 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 23:18:22,881 INFO L122 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSES Number of strict supporting invariants: 0 Number of non-strict supporting invariants: 1 Consider only non-deceasing supporting invariants: true Simplify termination arguments: true Simplify supporting invariants: trueOverapproximate stem: false [2018-11-28 23:18:22,881 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 23:18:22,881 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 23:18:22,882 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 23:18:22,882 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 23:18:22,883 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2018-11-28 23:18:22,883 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2018-11-28 23:18:22,885 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 23:18:22,885 INFO L122 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSES Number of strict supporting invariants: 0 Number of non-strict supporting invariants: 1 Consider only non-deceasing supporting invariants: true Simplify termination arguments: true Simplify supporting invariants: trueOverapproximate stem: false [2018-11-28 23:18:22,886 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 23:18:22,886 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-11-28 23:18:22,886 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 23:18:22,886 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 23:18:22,886 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 23:18:22,887 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-11-28 23:18:22,887 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-11-28 23:18:22,888 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 23:18:22,888 INFO L122 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSES Number of strict supporting invariants: 0 Number of non-strict supporting invariants: 1 Consider only non-deceasing supporting invariants: true Simplify termination arguments: true Simplify supporting invariants: trueOverapproximate stem: false [2018-11-28 23:18:22,889 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 23:18:22,889 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-11-28 23:18:22,889 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 23:18:22,889 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 23:18:22,889 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 23:18:22,889 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-11-28 23:18:22,890 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-11-28 23:18:22,890 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 23:18:22,891 INFO L122 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSES Number of strict supporting invariants: 0 Number of non-strict supporting invariants: 1 Consider only non-deceasing supporting invariants: true Simplify termination arguments: true Simplify supporting invariants: trueOverapproximate stem: false [2018-11-28 23:18:22,891 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 23:18:22,891 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 23:18:22,891 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 23:18:22,892 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 23:18:22,893 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2018-11-28 23:18:22,893 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2018-11-28 23:18:22,900 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 23:18:22,901 INFO L122 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSES Number of strict supporting invariants: 0 Number of non-strict supporting invariants: 1 Consider only non-deceasing supporting invariants: true Simplify termination arguments: true Simplify supporting invariants: trueOverapproximate stem: false [2018-11-28 23:18:22,901 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 23:18:22,901 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-11-28 23:18:22,901 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 23:18:22,902 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 23:18:22,902 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 23:18:22,902 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-11-28 23:18:22,902 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-11-28 23:18:22,903 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 23:18:22,903 INFO L122 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSES Number of strict supporting invariants: 0 Number of non-strict supporting invariants: 1 Consider only non-deceasing supporting invariants: true Simplify termination arguments: true Simplify supporting invariants: trueOverapproximate stem: false [2018-11-28 23:18:22,904 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 23:18:22,904 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-11-28 23:18:22,904 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 23:18:22,904 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 23:18:22,904 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 23:18:22,904 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-11-28 23:18:22,905 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-11-28 23:18:22,905 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 23:18:22,906 INFO L122 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSES Number of strict supporting invariants: 0 Number of non-strict supporting invariants: 1 Consider only non-deceasing supporting invariants: true Simplify termination arguments: true Simplify supporting invariants: trueOverapproximate stem: false [2018-11-28 23:18:22,906 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 23:18:22,906 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-11-28 23:18:22,906 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 23:18:22,906 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 23:18:22,907 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 23:18:22,907 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-11-28 23:18:22,907 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-11-28 23:18:22,908 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 23:18:22,908 INFO L122 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSES Number of strict supporting invariants: 0 Number of non-strict supporting invariants: 1 Consider only non-deceasing supporting invariants: true Simplify termination arguments: true Simplify supporting invariants: trueOverapproximate stem: false [2018-11-28 23:18:22,909 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 23:18:22,909 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-11-28 23:18:22,909 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 23:18:22,909 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 23:18:22,909 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 23:18:22,909 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-11-28 23:18:22,910 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-11-28 23:18:22,910 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 23:18:22,911 INFO L122 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSES Number of strict supporting invariants: 0 Number of non-strict supporting invariants: 1 Consider only non-deceasing supporting invariants: true Simplify termination arguments: true Simplify supporting invariants: trueOverapproximate stem: false [2018-11-28 23:18:22,911 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 23:18:22,911 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-11-28 23:18:22,911 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 23:18:22,911 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 23:18:22,912 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 23:18:22,912 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-11-28 23:18:22,912 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-11-28 23:18:22,913 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 23:18:22,913 INFO L122 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSES Number of strict supporting invariants: 0 Number of non-strict supporting invariants: 1 Consider only non-deceasing supporting invariants: true Simplify termination arguments: true Simplify supporting invariants: trueOverapproximate stem: false [2018-11-28 23:18:22,914 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 23:18:22,914 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-11-28 23:18:22,914 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 23:18:22,914 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 23:18:22,914 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 23:18:22,915 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-11-28 23:18:22,915 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-11-28 23:18:22,915 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 23:18:22,916 INFO L122 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSES Number of strict supporting invariants: 0 Number of non-strict supporting invariants: 1 Consider only non-deceasing supporting invariants: true Simplify termination arguments: true Simplify supporting invariants: trueOverapproximate stem: false [2018-11-28 23:18:22,916 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 23:18:22,916 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-11-28 23:18:22,917 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 23:18:22,917 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 23:18:22,917 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 23:18:22,917 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-11-28 23:18:22,917 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-11-28 23:18:22,918 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 23:18:22,918 INFO L122 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSES Number of strict supporting invariants: 0 Number of non-strict supporting invariants: 1 Consider only non-deceasing supporting invariants: true Simplify termination arguments: true Simplify supporting invariants: trueOverapproximate stem: false [2018-11-28 23:18:22,919 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 23:18:22,919 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-11-28 23:18:22,919 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 23:18:22,919 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 23:18:22,919 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 23:18:22,920 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-11-28 23:18:22,920 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-11-28 23:18:22,921 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 23:18:22,921 INFO L122 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSES Number of strict supporting invariants: 0 Number of non-strict supporting invariants: 1 Consider only non-deceasing supporting invariants: true Simplify termination arguments: true Simplify supporting invariants: trueOverapproximate stem: false [2018-11-28 23:18:22,922 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 23:18:22,922 INFO L205 nArgumentSynthesizer]: 2 stem disjuncts [2018-11-28 23:18:22,922 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 23:18:22,922 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 23:18:22,925 INFO L402 nArgumentSynthesizer]: We have 8 Motzkin's Theorem applications. [2018-11-28 23:18:22,925 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2018-11-28 23:18:22,938 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 23:18:22,938 INFO L122 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSES Number of strict supporting invariants: 0 Number of non-strict supporting invariants: 1 Consider only non-deceasing supporting invariants: true Simplify termination arguments: true Simplify supporting invariants: trueOverapproximate stem: false [2018-11-28 23:18:22,939 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 23:18:22,939 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 23:18:22,939 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 23:18:22,939 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 23:18:22,940 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2018-11-28 23:18:22,940 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2018-11-28 23:18:22,943 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 23:18:22,944 INFO L122 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSES Number of strict supporting invariants: 0 Number of non-strict supporting invariants: 1 Consider only non-deceasing supporting invariants: true Simplify termination arguments: true Simplify supporting invariants: trueOverapproximate stem: false [2018-11-28 23:18:22,944 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 23:18:22,944 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 23:18:22,944 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 23:18:22,944 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 23:18:22,945 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2018-11-28 23:18:22,946 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2018-11-28 23:18:22,947 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 23:18:22,948 INFO L122 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSES Number of strict supporting invariants: 0 Number of non-strict supporting invariants: 1 Consider only non-deceasing supporting invariants: true Simplify termination arguments: true Simplify supporting invariants: trueOverapproximate stem: false [2018-11-28 23:18:22,948 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 23:18:22,949 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 23:18:22,949 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 23:18:22,949 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 23:18:22,953 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2018-11-28 23:18:22,953 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2018-11-28 23:18:22,977 INFO L421 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2018-11-28 23:18:23,010 INFO L443 ModelExtractionUtils]: Simplification made 5 calls to the SMT solver. [2018-11-28 23:18:23,010 INFO L444 ModelExtractionUtils]: 44 out of 49 variables were initially zero. Simplification set additionally 2 variables to zero. [2018-11-28 23:18:23,011 INFO L437 nArgumentSynthesizer]: Simplifying supporting invariants... [2018-11-28 23:18:23,012 INFO L440 nArgumentSynthesizer]: Removed 2 redundant supporting invariants from a total of 2. [2018-11-28 23:18:23,013 INFO L518 LassoAnalysis]: Proved termination. [2018-11-28 23:18:23,013 INFO L520 LassoAnalysis]: Termination argument consisting of: Ranking function f(ULTIMATE.start_strlen_~s.offset, v_rep(select #length ULTIMATE.start_main_#t~malloc20.base)_2) = -1*ULTIMATE.start_strlen_~s.offset + 1*v_rep(select #length ULTIMATE.start_main_#t~malloc20.base)_2 Supporting invariants [] [2018-11-28 23:18:23,234 INFO L297 tatePredicateManager]: 11 out of 12 supporting invariants were superfluous and have been removed [2018-11-28 23:18:23,257 WARN L1298 BoogieBacktranslator]: unknown boogie variable #length [2018-11-28 23:18:23,441 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-28 23:18:23,487 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-28 23:18:23,490 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-28 23:18:23,629 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-28 23:18:23,630 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-28 23:18:23,747 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-28 23:18:23,748 INFO L152 lantAutomatonBouncer]: Defining deterministic Buchi interpolant automaton with honda bouncer for stem and without honda bouncer for loop.4 stem predicates 2 loop predicates [2018-11-28 23:18:23,748 INFO L72 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 29 states and 36 transitions. cyclomatic complexity: 10 Second operand 6 states. [2018-11-28 23:18:23,891 INFO L76 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 29 states and 36 transitions. cyclomatic complexity: 10. Second operand 6 states. Result 57 states and 72 transitions. Complement of second has 7 states. [2018-11-28 23:18:23,892 INFO L142 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 6 states 4 stem states 1 non-accepting loop states 1 accepting loop states [2018-11-28 23:18:23,892 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-11-28 23:18:23,893 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 48 transitions. [2018-11-28 23:18:23,893 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 6 states and 48 transitions. Stem has 10 letters. Loop has 3 letters. [2018-11-28 23:18:23,894 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2018-11-28 23:18:23,894 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 6 states and 48 transitions. Stem has 13 letters. Loop has 3 letters. [2018-11-28 23:18:23,894 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2018-11-28 23:18:23,894 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 6 states and 48 transitions. Stem has 10 letters. Loop has 6 letters. [2018-11-28 23:18:23,895 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2018-11-28 23:18:23,896 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 57 states and 72 transitions. [2018-11-28 23:18:23,898 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 18 [2018-11-28 23:18:23,899 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 57 states to 43 states and 54 transitions. [2018-11-28 23:18:23,900 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 36 [2018-11-28 23:18:23,901 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 37 [2018-11-28 23:18:23,901 INFO L73 IsDeterministic]: Start isDeterministic. Operand 43 states and 54 transitions. [2018-11-28 23:18:23,901 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2018-11-28 23:18:23,901 INFO L705 BuchiCegarLoop]: Abstraction has 43 states and 54 transitions. [2018-11-28 23:18:23,901 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 43 states and 54 transitions. [2018-11-28 23:18:23,904 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 43 to 31. [2018-11-28 23:18:23,904 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 31 states. [2018-11-28 23:18:23,906 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 39 transitions. [2018-11-28 23:18:23,906 INFO L728 BuchiCegarLoop]: Abstraction has 31 states and 39 transitions. [2018-11-28 23:18:23,906 INFO L608 BuchiCegarLoop]: Abstraction has 31 states and 39 transitions. [2018-11-28 23:18:23,906 INFO L442 BuchiCegarLoop]: ======== Iteration 4============ [2018-11-28 23:18:23,907 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 31 states and 39 transitions. [2018-11-28 23:18:23,909 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 9 [2018-11-28 23:18:23,909 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2018-11-28 23:18:23,909 INFO L119 BuchiIsEmpty]: Starting construction of run [2018-11-28 23:18:23,910 INFO L866 BuchiCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-28 23:18:23,910 INFO L867 BuchiCegarLoop]: Counterexample loop histogram [1, 1, 1, 1] [2018-11-28 23:18:23,912 INFO L794 eck$LassoCheckResult]: Stem: 534#ULTIMATE.startENTRY #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; 514#L-1 havoc main_#res;havoc main_#t~nondet19, main_#t~malloc20.base, main_#t~malloc20.offset, main_#t~nondet21, main_#t~malloc22.base, main_#t~malloc22.offset, main_#t~ret23.base, main_#t~ret23.offset, main_~in_len~0, main_~hay~0.base, main_~hay~0.offset, main_~out_len~0, main_~needle~0.base, main_~needle~0.offset;main_~in_len~0 := main_#t~nondet19;havoc main_#t~nondet19; 515#L541 assume !(main_~in_len~0 < 1);call main_#t~malloc20.base, main_#t~malloc20.offset := #Ultimate.alloc(main_~in_len~0);main_~hay~0.base, main_~hay~0.offset := main_#t~malloc20.base, main_#t~malloc20.offset;call write~int(0, main_~hay~0.base, main_~hay~0.offset + (main_~in_len~0 - 1), 1);main_~out_len~0 := main_#t~nondet21;havoc main_#t~nondet21; 523#L545 assume !(main_~out_len~0 < 1);call main_#t~malloc22.base, main_#t~malloc22.offset := #Ultimate.alloc(main_~out_len~0);main_~needle~0.base, main_~needle~0.offset := main_#t~malloc22.base, main_#t~malloc22.offset;call write~int(0, main_~needle~0.base, main_~needle~0.offset + (main_~out_len~0 - 1), 1);strstr_#in~haystack.base, strstr_#in~haystack.offset, strstr_#in~needle.base, strstr_#in~needle.offset := main_~hay~0.base, main_~hay~0.offset, main_~needle~0.base, main_~needle~0.offset;havoc strstr_#res.base, strstr_#res.offset;havoc strstr_#t~ret11, strstr_#t~ret12, strstr_#t~mem14, strstr_#t~mem15, strstr_#t~ret16, strstr_#t~short17, strstr_#t~pre18.base, strstr_#t~pre18.offset, strstr_#t~pre13, strstr_~haystack.base, strstr_~haystack.offset, strstr_~needle.base, strstr_~needle.offset, strstr_~nl~0, strstr_~hl~0, strstr_~i~1;strstr_~haystack.base, strstr_~haystack.offset := strstr_#in~haystack.base, strstr_#in~haystack.offset;strstr_~needle.base, strstr_~needle.offset := strstr_#in~needle.base, strstr_#in~needle.offset;strlen_#in~s.base, strlen_#in~s.offset := strstr_~needle.base, strstr_~needle.offset;havoc strlen_#res;havoc strlen_#t~pre3, strlen_#t~pre2.base, strlen_#t~pre2.offset, strlen_#t~mem4, strlen_~s.base, strlen_~s.offset, strlen_~i~0;strlen_~s.base, strlen_~s.offset := strlen_#in~s.base, strlen_#in~s.offset;havoc strlen_~i~0; 528#L508 assume !(strlen_~s.base == 0 && strlen_~s.offset == 0);strlen_~i~0 := 0; 529#L509-4 call strlen_#t~mem4 := read~int(strlen_~s.base, strlen_~s.offset, 1); 531#L509-1 assume !(0 != strlen_#t~mem4);havoc strlen_#t~mem4; 533#L509-5 strlen_#res := strlen_~i~0; 516#L510 strstr_#t~ret11 := strlen_#res;strstr_~nl~0 := strstr_#t~ret11;havoc strstr_#t~ret11;strlen_#in~s.base, strlen_#in~s.offset := strstr_~haystack.base, strstr_~haystack.offset;havoc strlen_#res;havoc strlen_#t~pre3, strlen_#t~pre2.base, strlen_#t~pre2.offset, strlen_#t~mem4, strlen_~s.base, strlen_~s.offset, strlen_~i~0;strlen_~s.base, strlen_~s.offset := strlen_#in~s.base, strlen_#in~s.offset;havoc strlen_~i~0; 517#L508-2 assume strlen_~s.base == 0 && strlen_~s.offset == 0;strlen_#res := 0; 521#L510-1 strstr_#t~ret12 := strlen_#res;strstr_~hl~0 := strstr_#t~ret12;havoc strstr_#t~ret12;havoc strstr_~i~1; 522#L529 assume !(0 == strstr_~nl~0 % 4294967296); 524#L530 assume !(strstr_~nl~0 % 4294967296 > strstr_~hl~0 % 4294967296);strstr_~i~1 := 1 + (strstr_~hl~0 - strstr_~nl~0); 525#L531-3 [2018-11-28 23:18:23,912 INFO L796 eck$LassoCheckResult]: Loop: 525#L531-3 assume !!(0 != strstr_~i~1 % 4294967296);call strstr_#t~mem14 := read~int(strstr_~haystack.base, strstr_~haystack.offset, 1);call strstr_#t~mem15 := read~int(strstr_~needle.base, strstr_~needle.offset, 1);strstr_#t~short17 := strstr_#t~mem14 == strstr_#t~mem15; 512#L532 assume !strstr_#t~short17; 513#L532-2 assume !strstr_#t~short17;havoc strstr_#t~short17;havoc strstr_#t~mem14;havoc strstr_#t~ret16;havoc strstr_#t~mem15;strstr_#t~pre18.base, strstr_#t~pre18.offset := strstr_~haystack.base, 1 + strstr_~haystack.offset;strstr_~haystack.base, strstr_~haystack.offset := strstr_~haystack.base, 1 + strstr_~haystack.offset;havoc strstr_#t~pre18.base, strstr_#t~pre18.offset; 527#L531-2 strstr_#t~pre13 := strstr_~i~1 - 1;strstr_~i~1 := strstr_~i~1 - 1;havoc strstr_#t~pre13; 525#L531-3 [2018-11-28 23:18:23,913 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-28 23:18:23,913 INFO L82 PathProgramCache]: Analyzing trace with hash 51953446, now seen corresponding path program 1 times [2018-11-28 23:18:23,913 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-28 23:18:23,913 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-28 23:18:23,917 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 23:18:23,918 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-28 23:18:23,918 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 23:18:23,929 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-28 23:18:24,172 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-28 23:18:24,173 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-28 23:18:24,173 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2018-11-28 23:18:24,174 INFO L799 eck$LassoCheckResult]: stem already infeasible [2018-11-28 23:18:24,174 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-28 23:18:24,174 INFO L82 PathProgramCache]: Analyzing trace with hash 3227613, now seen corresponding path program 1 times [2018-11-28 23:18:24,174 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-28 23:18:24,174 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-28 23:18:24,177 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 23:18:24,177 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-28 23:18:24,177 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 23:18:24,184 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-28 23:18:24,189 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-28 23:18:24,664 WARN L180 SmtUtils]: Spent 470.00 ms on a formula simplification. DAG size of input: 50 DAG size of output: 47 [2018-11-28 23:18:24,701 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2018-11-28 23:18:24,701 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2018-11-28 23:18:24,702 INFO L87 Difference]: Start difference. First operand 31 states and 39 transitions. cyclomatic complexity: 11 Second operand 5 states. [2018-11-28 23:18:24,757 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-28 23:18:24,758 INFO L93 Difference]: Finished difference Result 31 states and 38 transitions. [2018-11-28 23:18:24,758 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2018-11-28 23:18:24,759 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 31 states and 38 transitions. [2018-11-28 23:18:24,760 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 9 [2018-11-28 23:18:24,760 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 31 states to 31 states and 38 transitions. [2018-11-28 23:18:24,762 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 25 [2018-11-28 23:18:24,762 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 25 [2018-11-28 23:18:24,762 INFO L73 IsDeterministic]: Start isDeterministic. Operand 31 states and 38 transitions. [2018-11-28 23:18:24,762 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2018-11-28 23:18:24,762 INFO L705 BuchiCegarLoop]: Abstraction has 31 states and 38 transitions. [2018-11-28 23:18:24,762 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 31 states and 38 transitions. [2018-11-28 23:18:24,787 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 31 to 31. [2018-11-28 23:18:24,787 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 31 states. [2018-11-28 23:18:24,788 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 38 transitions. [2018-11-28 23:18:24,788 INFO L728 BuchiCegarLoop]: Abstraction has 31 states and 38 transitions. [2018-11-28 23:18:24,788 INFO L608 BuchiCegarLoop]: Abstraction has 31 states and 38 transitions. [2018-11-28 23:18:24,788 INFO L442 BuchiCegarLoop]: ======== Iteration 5============ [2018-11-28 23:18:24,788 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 31 states and 38 transitions. [2018-11-28 23:18:24,789 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 9 [2018-11-28 23:18:24,789 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2018-11-28 23:18:24,789 INFO L119 BuchiIsEmpty]: Starting construction of run [2018-11-28 23:18:24,790 INFO L866 BuchiCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-28 23:18:24,790 INFO L867 BuchiCegarLoop]: Counterexample loop histogram [1, 1, 1, 1] [2018-11-28 23:18:24,790 INFO L794 eck$LassoCheckResult]: Stem: 606#ULTIMATE.startENTRY #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; 582#L-1 havoc main_#res;havoc main_#t~nondet19, main_#t~malloc20.base, main_#t~malloc20.offset, main_#t~nondet21, main_#t~malloc22.base, main_#t~malloc22.offset, main_#t~ret23.base, main_#t~ret23.offset, main_~in_len~0, main_~hay~0.base, main_~hay~0.offset, main_~out_len~0, main_~needle~0.base, main_~needle~0.offset;main_~in_len~0 := main_#t~nondet19;havoc main_#t~nondet19; 583#L541 assume !(main_~in_len~0 < 1);call main_#t~malloc20.base, main_#t~malloc20.offset := #Ultimate.alloc(main_~in_len~0);main_~hay~0.base, main_~hay~0.offset := main_#t~malloc20.base, main_#t~malloc20.offset;call write~int(0, main_~hay~0.base, main_~hay~0.offset + (main_~in_len~0 - 1), 1);main_~out_len~0 := main_#t~nondet21;havoc main_#t~nondet21; 593#L545 assume !(main_~out_len~0 < 1);call main_#t~malloc22.base, main_#t~malloc22.offset := #Ultimate.alloc(main_~out_len~0);main_~needle~0.base, main_~needle~0.offset := main_#t~malloc22.base, main_#t~malloc22.offset;call write~int(0, main_~needle~0.base, main_~needle~0.offset + (main_~out_len~0 - 1), 1);strstr_#in~haystack.base, strstr_#in~haystack.offset, strstr_#in~needle.base, strstr_#in~needle.offset := main_~hay~0.base, main_~hay~0.offset, main_~needle~0.base, main_~needle~0.offset;havoc strstr_#res.base, strstr_#res.offset;havoc strstr_#t~ret11, strstr_#t~ret12, strstr_#t~mem14, strstr_#t~mem15, strstr_#t~ret16, strstr_#t~short17, strstr_#t~pre18.base, strstr_#t~pre18.offset, strstr_#t~pre13, strstr_~haystack.base, strstr_~haystack.offset, strstr_~needle.base, strstr_~needle.offset, strstr_~nl~0, strstr_~hl~0, strstr_~i~1;strstr_~haystack.base, strstr_~haystack.offset := strstr_#in~haystack.base, strstr_#in~haystack.offset;strstr_~needle.base, strstr_~needle.offset := strstr_#in~needle.base, strstr_#in~needle.offset;strlen_#in~s.base, strlen_#in~s.offset := strstr_~needle.base, strstr_~needle.offset;havoc strlen_#res;havoc strlen_#t~pre3, strlen_#t~pre2.base, strlen_#t~pre2.offset, strlen_#t~mem4, strlen_~s.base, strlen_~s.offset, strlen_~i~0;strlen_~s.base, strlen_~s.offset := strlen_#in~s.base, strlen_#in~s.offset;havoc strlen_~i~0; 600#L508 assume !(strlen_~s.base == 0 && strlen_~s.offset == 0);strlen_~i~0 := 0; 601#L509-4 call strlen_#t~mem4 := read~int(strlen_~s.base, strlen_~s.offset, 1); 603#L509-1 assume !(0 != strlen_#t~mem4);havoc strlen_#t~mem4; 605#L509-5 strlen_#res := strlen_~i~0; 588#L510 strstr_#t~ret11 := strlen_#res;strstr_~nl~0 := strstr_#t~ret11;havoc strstr_#t~ret11;strlen_#in~s.base, strlen_#in~s.offset := strstr_~haystack.base, strstr_~haystack.offset;havoc strlen_#res;havoc strlen_#t~pre3, strlen_#t~pre2.base, strlen_#t~pre2.offset, strlen_#t~mem4, strlen_~s.base, strlen_~s.offset, strlen_~i~0;strlen_~s.base, strlen_~s.offset := strlen_#in~s.base, strlen_#in~s.offset;havoc strlen_~i~0; 589#L508-2 assume !(strlen_~s.base == 0 && strlen_~s.offset == 0);strlen_~i~0 := 0; 590#L509-10 call strlen_#t~mem4 := read~int(strlen_~s.base, strlen_~s.offset, 1); 592#L509-7 assume !(0 != strlen_#t~mem4);havoc strlen_#t~mem4; 596#L509-11 strlen_#res := strlen_~i~0; 594#L510-1 strstr_#t~ret12 := strlen_#res;strstr_~hl~0 := strstr_#t~ret12;havoc strstr_#t~ret12;havoc strstr_~i~1; 595#L529 assume !(0 == strstr_~nl~0 % 4294967296); 597#L530 assume !(strstr_~nl~0 % 4294967296 > strstr_~hl~0 % 4294967296);strstr_~i~1 := 1 + (strstr_~hl~0 - strstr_~nl~0); 598#L531-3 [2018-11-28 23:18:24,790 INFO L796 eck$LassoCheckResult]: Loop: 598#L531-3 assume !!(0 != strstr_~i~1 % 4294967296);call strstr_#t~mem14 := read~int(strstr_~haystack.base, strstr_~haystack.offset, 1);call strstr_#t~mem15 := read~int(strstr_~needle.base, strstr_~needle.offset, 1);strstr_#t~short17 := strstr_#t~mem14 == strstr_#t~mem15; 586#L532 assume !strstr_#t~short17; 587#L532-2 assume !strstr_#t~short17;havoc strstr_#t~short17;havoc strstr_#t~mem14;havoc strstr_#t~ret16;havoc strstr_#t~mem15;strstr_#t~pre18.base, strstr_#t~pre18.offset := strstr_~haystack.base, 1 + strstr_~haystack.offset;strstr_~haystack.base, strstr_~haystack.offset := strstr_~haystack.base, 1 + strstr_~haystack.offset;havoc strstr_#t~pre18.base, strstr_#t~pre18.offset; 599#L531-2 strstr_#t~pre13 := strstr_~i~1 - 1;strstr_~i~1 := strstr_~i~1 - 1;havoc strstr_#t~pre13; 598#L531-3 [2018-11-28 23:18:24,791 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-28 23:18:24,791 INFO L82 PathProgramCache]: Analyzing trace with hash -1349410205, now seen corresponding path program 1 times [2018-11-28 23:18:24,791 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-28 23:18:24,792 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-28 23:18:24,793 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 23:18:24,793 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-28 23:18:24,793 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 23:18:24,810 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-28 23:18:25,053 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-28 23:18:25,053 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-28 23:18:25,053 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2018-11-28 23:18:25,053 INFO L799 eck$LassoCheckResult]: stem already infeasible [2018-11-28 23:18:25,054 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-28 23:18:25,054 INFO L82 PathProgramCache]: Analyzing trace with hash 3227613, now seen corresponding path program 2 times [2018-11-28 23:18:25,054 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-28 23:18:25,054 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-28 23:18:25,057 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 23:18:25,057 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-28 23:18:25,057 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 23:18:25,062 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-28 23:18:25,066 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-28 23:18:25,723 WARN L180 SmtUtils]: Spent 654.00 ms on a formula simplification. DAG size of input: 50 DAG size of output: 47 [2018-11-28 23:18:25,751 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2018-11-28 23:18:25,751 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2018-11-28 23:18:25,751 INFO L87 Difference]: Start difference. First operand 31 states and 38 transitions. cyclomatic complexity: 10 Second operand 5 states. [2018-11-28 23:18:25,849 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-28 23:18:25,849 INFO L93 Difference]: Finished difference Result 64 states and 74 transitions. [2018-11-28 23:18:25,854 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-11-28 23:18:25,855 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 64 states and 74 transitions. [2018-11-28 23:18:25,856 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 18 [2018-11-28 23:18:25,857 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 64 states to 47 states and 56 transitions. [2018-11-28 23:18:25,857 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 39 [2018-11-28 23:18:25,857 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 39 [2018-11-28 23:18:25,857 INFO L73 IsDeterministic]: Start isDeterministic. Operand 47 states and 56 transitions. [2018-11-28 23:18:25,857 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2018-11-28 23:18:25,857 INFO L705 BuchiCegarLoop]: Abstraction has 47 states and 56 transitions. [2018-11-28 23:18:25,857 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 47 states and 56 transitions. [2018-11-28 23:18:25,862 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 47 to 31. [2018-11-28 23:18:25,862 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 31 states. [2018-11-28 23:18:25,863 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 37 transitions. [2018-11-28 23:18:25,863 INFO L728 BuchiCegarLoop]: Abstraction has 31 states and 37 transitions. [2018-11-28 23:18:25,863 INFO L608 BuchiCegarLoop]: Abstraction has 31 states and 37 transitions. [2018-11-28 23:18:25,863 INFO L442 BuchiCegarLoop]: ======== Iteration 6============ [2018-11-28 23:18:25,863 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 31 states and 37 transitions. [2018-11-28 23:18:25,865 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 9 [2018-11-28 23:18:25,865 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2018-11-28 23:18:25,865 INFO L119 BuchiIsEmpty]: Starting construction of run [2018-11-28 23:18:25,866 INFO L866 BuchiCegarLoop]: Counterexample stem histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-28 23:18:25,866 INFO L867 BuchiCegarLoop]: Counterexample loop histogram [1, 1, 1, 1] [2018-11-28 23:18:25,867 INFO L794 eck$LassoCheckResult]: Stem: 715#ULTIMATE.startENTRY #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; 695#L-1 havoc main_#res;havoc main_#t~nondet19, main_#t~malloc20.base, main_#t~malloc20.offset, main_#t~nondet21, main_#t~malloc22.base, main_#t~malloc22.offset, main_#t~ret23.base, main_#t~ret23.offset, main_~in_len~0, main_~hay~0.base, main_~hay~0.offset, main_~out_len~0, main_~needle~0.base, main_~needle~0.offset;main_~in_len~0 := main_#t~nondet19;havoc main_#t~nondet19; 696#L541 assume !(main_~in_len~0 < 1);call main_#t~malloc20.base, main_#t~malloc20.offset := #Ultimate.alloc(main_~in_len~0);main_~hay~0.base, main_~hay~0.offset := main_#t~malloc20.base, main_#t~malloc20.offset;call write~int(0, main_~hay~0.base, main_~hay~0.offset + (main_~in_len~0 - 1), 1);main_~out_len~0 := main_#t~nondet21;havoc main_#t~nondet21; 704#L545 assume !(main_~out_len~0 < 1);call main_#t~malloc22.base, main_#t~malloc22.offset := #Ultimate.alloc(main_~out_len~0);main_~needle~0.base, main_~needle~0.offset := main_#t~malloc22.base, main_#t~malloc22.offset;call write~int(0, main_~needle~0.base, main_~needle~0.offset + (main_~out_len~0 - 1), 1);strstr_#in~haystack.base, strstr_#in~haystack.offset, strstr_#in~needle.base, strstr_#in~needle.offset := main_~hay~0.base, main_~hay~0.offset, main_~needle~0.base, main_~needle~0.offset;havoc strstr_#res.base, strstr_#res.offset;havoc strstr_#t~ret11, strstr_#t~ret12, strstr_#t~mem14, strstr_#t~mem15, strstr_#t~ret16, strstr_#t~short17, strstr_#t~pre18.base, strstr_#t~pre18.offset, strstr_#t~pre13, strstr_~haystack.base, strstr_~haystack.offset, strstr_~needle.base, strstr_~needle.offset, strstr_~nl~0, strstr_~hl~0, strstr_~i~1;strstr_~haystack.base, strstr_~haystack.offset := strstr_#in~haystack.base, strstr_#in~haystack.offset;strstr_~needle.base, strstr_~needle.offset := strstr_#in~needle.base, strstr_#in~needle.offset;strlen_#in~s.base, strlen_#in~s.offset := strstr_~needle.base, strstr_~needle.offset;havoc strlen_#res;havoc strlen_#t~pre3, strlen_#t~pre2.base, strlen_#t~pre2.offset, strlen_#t~mem4, strlen_~s.base, strlen_~s.offset, strlen_~i~0;strlen_~s.base, strlen_~s.offset := strlen_#in~s.base, strlen_#in~s.offset;havoc strlen_~i~0; 709#L508 assume !(strlen_~s.base == 0 && strlen_~s.offset == 0);strlen_~i~0 := 0; 710#L509-4 call strlen_#t~mem4 := read~int(strlen_~s.base, strlen_~s.offset, 1); 711#L509-1 assume !!(0 != strlen_#t~mem4);havoc strlen_#t~mem4;strlen_#t~pre3 := 1 + strlen_~i~0;strlen_~i~0 := 1 + strlen_~i~0;havoc strlen_#t~pre3; 716#L509-3 strlen_#t~pre2.base, strlen_#t~pre2.offset := strlen_~s.base, 1 + strlen_~s.offset;strlen_~s.base, strlen_~s.offset := strlen_~s.base, 1 + strlen_~s.offset;havoc strlen_#t~pre2.base, strlen_#t~pre2.offset; 712#L509-4 call strlen_#t~mem4 := read~int(strlen_~s.base, strlen_~s.offset, 1); 713#L509-1 assume !(0 != strlen_#t~mem4);havoc strlen_#t~mem4; 714#L509-5 strlen_#res := strlen_~i~0; 697#L510 strstr_#t~ret11 := strlen_#res;strstr_~nl~0 := strstr_#t~ret11;havoc strstr_#t~ret11;strlen_#in~s.base, strlen_#in~s.offset := strstr_~haystack.base, strstr_~haystack.offset;havoc strlen_#res;havoc strlen_#t~pre3, strlen_#t~pre2.base, strlen_#t~pre2.offset, strlen_#t~mem4, strlen_~s.base, strlen_~s.offset, strlen_~i~0;strlen_~s.base, strlen_~s.offset := strlen_#in~s.base, strlen_#in~s.offset;havoc strlen_~i~0; 698#L508-2 assume !(strlen_~s.base == 0 && strlen_~s.offset == 0);strlen_~i~0 := 0; 699#L509-10 call strlen_#t~mem4 := read~int(strlen_~s.base, strlen_~s.offset, 1); 700#L509-7 assume !(0 != strlen_#t~mem4);havoc strlen_#t~mem4; 705#L509-11 strlen_#res := strlen_~i~0; 702#L510-1 strstr_#t~ret12 := strlen_#res;strstr_~hl~0 := strstr_#t~ret12;havoc strstr_#t~ret12;havoc strstr_~i~1; 703#L529 assume !(0 == strstr_~nl~0 % 4294967296); 706#L530 assume !(strstr_~nl~0 % 4294967296 > strstr_~hl~0 % 4294967296);strstr_~i~1 := 1 + (strstr_~hl~0 - strstr_~nl~0); 707#L531-3 [2018-11-28 23:18:25,869 INFO L796 eck$LassoCheckResult]: Loop: 707#L531-3 assume !!(0 != strstr_~i~1 % 4294967296);call strstr_#t~mem14 := read~int(strstr_~haystack.base, strstr_~haystack.offset, 1);call strstr_#t~mem15 := read~int(strstr_~needle.base, strstr_~needle.offset, 1);strstr_#t~short17 := strstr_#t~mem14 == strstr_#t~mem15; 693#L532 assume !strstr_#t~short17; 694#L532-2 assume !strstr_#t~short17;havoc strstr_#t~short17;havoc strstr_#t~mem14;havoc strstr_#t~ret16;havoc strstr_#t~mem15;strstr_#t~pre18.base, strstr_#t~pre18.offset := strstr_~haystack.base, 1 + strstr_~haystack.offset;strstr_~haystack.base, strstr_~haystack.offset := strstr_~haystack.base, 1 + strstr_~haystack.offset;havoc strstr_#t~pre18.base, strstr_#t~pre18.offset; 708#L531-2 strstr_#t~pre13 := strstr_~i~1 - 1;strstr_~i~1 := strstr_~i~1 - 1;havoc strstr_#t~pre13; 707#L531-3 [2018-11-28 23:18:25,870 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-28 23:18:25,870 INFO L82 PathProgramCache]: Analyzing trace with hash -1796108770, now seen corresponding path program 1 times [2018-11-28 23:18:25,870 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-28 23:18:25,870 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-28 23:18:25,871 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 23:18:25,871 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-28 23:18:25,871 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 23:18:25,900 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-28 23:18:26,440 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-28 23:18:26,440 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-28 23:18:26,441 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 2 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 2 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-28 23:18:26,461 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-28 23:18:26,495 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-28 23:18:26,497 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-28 23:18:26,783 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2018-11-28 23:18:26,803 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 1 imperfect interpolant sequences. [2018-11-28 23:18:26,804 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [5] imperfect sequences [9] total 12 [2018-11-28 23:18:26,805 INFO L799 eck$LassoCheckResult]: stem already infeasible [2018-11-28 23:18:26,805 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-28 23:18:26,805 INFO L82 PathProgramCache]: Analyzing trace with hash 3227613, now seen corresponding path program 3 times [2018-11-28 23:18:26,805 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-28 23:18:26,806 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-28 23:18:26,806 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 23:18:26,806 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-28 23:18:26,807 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 23:18:26,812 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-28 23:18:26,816 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-28 23:18:27,017 WARN L180 SmtUtils]: Spent 198.00 ms on a formula simplification. DAG size of input: 50 DAG size of output: 47 [2018-11-28 23:18:27,093 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2018-11-28 23:18:27,093 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=32, Invalid=124, Unknown=0, NotChecked=0, Total=156 [2018-11-28 23:18:27,094 INFO L87 Difference]: Start difference. First operand 31 states and 37 transitions. cyclomatic complexity: 9 Second operand 13 states. [2018-11-28 23:18:27,579 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-28 23:18:27,580 INFO L93 Difference]: Finished difference Result 103 states and 121 transitions. [2018-11-28 23:18:27,590 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2018-11-28 23:18:27,590 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 103 states and 121 transitions. [2018-11-28 23:18:27,592 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 36 [2018-11-28 23:18:27,593 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 103 states to 93 states and 111 transitions. [2018-11-28 23:18:27,593 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 72 [2018-11-28 23:18:27,594 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 72 [2018-11-28 23:18:27,594 INFO L73 IsDeterministic]: Start isDeterministic. Operand 93 states and 111 transitions. [2018-11-28 23:18:27,594 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2018-11-28 23:18:27,594 INFO L705 BuchiCegarLoop]: Abstraction has 93 states and 111 transitions. [2018-11-28 23:18:27,594 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 93 states and 111 transitions. [2018-11-28 23:18:27,599 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 93 to 31. [2018-11-28 23:18:27,599 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 31 states. [2018-11-28 23:18:27,599 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 36 transitions. [2018-11-28 23:18:27,599 INFO L728 BuchiCegarLoop]: Abstraction has 31 states and 36 transitions. [2018-11-28 23:18:27,600 INFO L608 BuchiCegarLoop]: Abstraction has 31 states and 36 transitions. [2018-11-28 23:18:27,600 INFO L442 BuchiCegarLoop]: ======== Iteration 7============ [2018-11-28 23:18:27,600 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 31 states and 36 transitions. [2018-11-28 23:18:27,600 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 9 [2018-11-28 23:18:27,601 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2018-11-28 23:18:27,601 INFO L119 BuchiIsEmpty]: Starting construction of run [2018-11-28 23:18:27,601 INFO L866 BuchiCegarLoop]: Counterexample stem histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-28 23:18:27,601 INFO L867 BuchiCegarLoop]: Counterexample loop histogram [1, 1, 1, 1] [2018-11-28 23:18:27,604 INFO L794 eck$LassoCheckResult]: Stem: 938#ULTIMATE.startENTRY #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; 916#L-1 havoc main_#res;havoc main_#t~nondet19, main_#t~malloc20.base, main_#t~malloc20.offset, main_#t~nondet21, main_#t~malloc22.base, main_#t~malloc22.offset, main_#t~ret23.base, main_#t~ret23.offset, main_~in_len~0, main_~hay~0.base, main_~hay~0.offset, main_~out_len~0, main_~needle~0.base, main_~needle~0.offset;main_~in_len~0 := main_#t~nondet19;havoc main_#t~nondet19; 917#L541 assume !(main_~in_len~0 < 1);call main_#t~malloc20.base, main_#t~malloc20.offset := #Ultimate.alloc(main_~in_len~0);main_~hay~0.base, main_~hay~0.offset := main_#t~malloc20.base, main_#t~malloc20.offset;call write~int(0, main_~hay~0.base, main_~hay~0.offset + (main_~in_len~0 - 1), 1);main_~out_len~0 := main_#t~nondet21;havoc main_#t~nondet21; 925#L545 assume !(main_~out_len~0 < 1);call main_#t~malloc22.base, main_#t~malloc22.offset := #Ultimate.alloc(main_~out_len~0);main_~needle~0.base, main_~needle~0.offset := main_#t~malloc22.base, main_#t~malloc22.offset;call write~int(0, main_~needle~0.base, main_~needle~0.offset + (main_~out_len~0 - 1), 1);strstr_#in~haystack.base, strstr_#in~haystack.offset, strstr_#in~needle.base, strstr_#in~needle.offset := main_~hay~0.base, main_~hay~0.offset, main_~needle~0.base, main_~needle~0.offset;havoc strstr_#res.base, strstr_#res.offset;havoc strstr_#t~ret11, strstr_#t~ret12, strstr_#t~mem14, strstr_#t~mem15, strstr_#t~ret16, strstr_#t~short17, strstr_#t~pre18.base, strstr_#t~pre18.offset, strstr_#t~pre13, strstr_~haystack.base, strstr_~haystack.offset, strstr_~needle.base, strstr_~needle.offset, strstr_~nl~0, strstr_~hl~0, strstr_~i~1;strstr_~haystack.base, strstr_~haystack.offset := strstr_#in~haystack.base, strstr_#in~haystack.offset;strstr_~needle.base, strstr_~needle.offset := strstr_#in~needle.base, strstr_#in~needle.offset;strlen_#in~s.base, strlen_#in~s.offset := strstr_~needle.base, strstr_~needle.offset;havoc strlen_#res;havoc strlen_#t~pre3, strlen_#t~pre2.base, strlen_#t~pre2.offset, strlen_#t~mem4, strlen_~s.base, strlen_~s.offset, strlen_~i~0;strlen_~s.base, strlen_~s.offset := strlen_#in~s.base, strlen_#in~s.offset;havoc strlen_~i~0; 932#L508 assume !(strlen_~s.base == 0 && strlen_~s.offset == 0);strlen_~i~0 := 0; 933#L509-4 call strlen_#t~mem4 := read~int(strlen_~s.base, strlen_~s.offset, 1); 934#L509-1 assume !!(0 != strlen_#t~mem4);havoc strlen_#t~mem4;strlen_#t~pre3 := 1 + strlen_~i~0;strlen_~i~0 := 1 + strlen_~i~0;havoc strlen_#t~pre3; 939#L509-3 strlen_#t~pre2.base, strlen_#t~pre2.offset := strlen_~s.base, 1 + strlen_~s.offset;strlen_~s.base, strlen_~s.offset := strlen_~s.base, 1 + strlen_~s.offset;havoc strlen_#t~pre2.base, strlen_#t~pre2.offset; 935#L509-4 call strlen_#t~mem4 := read~int(strlen_~s.base, strlen_~s.offset, 1); 936#L509-1 assume !(0 != strlen_#t~mem4);havoc strlen_#t~mem4; 937#L509-5 strlen_#res := strlen_~i~0; 920#L510 strstr_#t~ret11 := strlen_#res;strstr_~nl~0 := strstr_#t~ret11;havoc strstr_#t~ret11;strlen_#in~s.base, strlen_#in~s.offset := strstr_~haystack.base, strstr_~haystack.offset;havoc strlen_#res;havoc strlen_#t~pre3, strlen_#t~pre2.base, strlen_#t~pre2.offset, strlen_#t~mem4, strlen_~s.base, strlen_~s.offset, strlen_~i~0;strlen_~s.base, strlen_~s.offset := strlen_#in~s.base, strlen_#in~s.offset;havoc strlen_~i~0; 921#L508-2 assume !(strlen_~s.base == 0 && strlen_~s.offset == 0);strlen_~i~0 := 0; 922#L509-10 call strlen_#t~mem4 := read~int(strlen_~s.base, strlen_~s.offset, 1); 923#L509-7 assume !!(0 != strlen_#t~mem4);havoc strlen_#t~mem4;strlen_#t~pre3 := 1 + strlen_~i~0;strlen_~i~0 := 1 + strlen_~i~0;havoc strlen_#t~pre3; 918#L509-9 strlen_#t~pre2.base, strlen_#t~pre2.offset := strlen_~s.base, 1 + strlen_~s.offset;strlen_~s.base, strlen_~s.offset := strlen_~s.base, 1 + strlen_~s.offset;havoc strlen_#t~pre2.base, strlen_#t~pre2.offset; 919#L509-10 call strlen_#t~mem4 := read~int(strlen_~s.base, strlen_~s.offset, 1); 924#L509-7 assume !(0 != strlen_#t~mem4);havoc strlen_#t~mem4; 929#L509-11 strlen_#res := strlen_~i~0; 926#L510-1 strstr_#t~ret12 := strlen_#res;strstr_~hl~0 := strstr_#t~ret12;havoc strstr_#t~ret12;havoc strstr_~i~1; 927#L529 assume !(0 == strstr_~nl~0 % 4294967296); 930#L530 assume !(strstr_~nl~0 % 4294967296 > strstr_~hl~0 % 4294967296);strstr_~i~1 := 1 + (strstr_~hl~0 - strstr_~nl~0); 931#L531-3 [2018-11-28 23:18:27,604 INFO L796 eck$LassoCheckResult]: Loop: 931#L531-3 assume !!(0 != strstr_~i~1 % 4294967296);call strstr_#t~mem14 := read~int(strstr_~haystack.base, strstr_~haystack.offset, 1);call strstr_#t~mem15 := read~int(strstr_~needle.base, strstr_~needle.offset, 1);strstr_#t~short17 := strstr_#t~mem14 == strstr_#t~mem15; 914#L532 assume !strstr_#t~short17; 915#L532-2 assume !strstr_#t~short17;havoc strstr_#t~short17;havoc strstr_#t~mem14;havoc strstr_#t~ret16;havoc strstr_#t~mem15;strstr_#t~pre18.base, strstr_#t~pre18.offset := strstr_~haystack.base, 1 + strstr_~haystack.offset;strstr_~haystack.base, strstr_~haystack.offset := strstr_~haystack.base, 1 + strstr_~haystack.offset;havoc strstr_#t~pre18.base, strstr_#t~pre18.offset; 928#L531-2 strstr_#t~pre13 := strstr_~i~1 - 1;strstr_~i~1 := strstr_~i~1 - 1;havoc strstr_#t~pre13; 931#L531-3 [2018-11-28 23:18:27,604 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-28 23:18:27,604 INFO L82 PathProgramCache]: Analyzing trace with hash -1624521053, now seen corresponding path program 1 times [2018-11-28 23:18:27,604 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-28 23:18:27,605 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-28 23:18:27,605 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 23:18:27,605 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-28 23:18:27,606 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 23:18:27,625 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-28 23:18:27,648 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-28 23:18:27,656 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-28 23:18:27,656 INFO L82 PathProgramCache]: Analyzing trace with hash 3227613, now seen corresponding path program 4 times [2018-11-28 23:18:27,656 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-28 23:18:27,656 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-28 23:18:27,657 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 23:18:27,657 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-28 23:18:27,657 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 23:18:27,660 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-28 23:18:27,663 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-28 23:18:27,665 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-28 23:18:27,665 INFO L82 PathProgramCache]: Analyzing trace with hash 16049535, now seen corresponding path program 1 times [2018-11-28 23:18:27,665 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-28 23:18:27,665 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-28 23:18:27,666 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 23:18:27,666 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-28 23:18:27,666 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 23:18:27,680 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-28 23:18:27,693 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-28 23:18:27,924 WARN L180 SmtUtils]: Spent 221.00 ms on a formula simplification. DAG size of input: 50 DAG size of output: 47 [2018-11-28 23:18:28,796 WARN L180 SmtUtils]: Spent 838.00 ms on a formula simplification. DAG size of input: 207 DAG size of output: 159 [2018-11-28 23:18:28,985 WARN L180 SmtUtils]: Spent 184.00 ms on a formula simplification that was a NOOP. DAG size: 111 [2018-11-28 23:18:28,989 INFO L216 LassoAnalysis]: Preferences: [2018-11-28 23:18:28,989 INFO L124 ssoRankerPreferences]: Compute integeral hull: false [2018-11-28 23:18:28,989 INFO L125 ssoRankerPreferences]: Enable LassoPartitioneer: true [2018-11-28 23:18:28,989 INFO L126 ssoRankerPreferences]: Term annotations enabled: false [2018-11-28 23:18:28,989 INFO L127 ssoRankerPreferences]: Use exernal solver: false [2018-11-28 23:18:28,990 INFO L128 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2018-11-28 23:18:28,990 INFO L129 ssoRankerPreferences]: Dump SMT script to file: false [2018-11-28 23:18:28,990 INFO L130 ssoRankerPreferences]: Path of dumped script: [2018-11-28 23:18:28,990 INFO L131 ssoRankerPreferences]: Filename of dumped script: strstr_true-termination.c.i_Iteration7_Lasso [2018-11-28 23:18:28,990 INFO L132 ssoRankerPreferences]: MapElimAlgo: Frank [2018-11-28 23:18:28,990 INFO L282 LassoAnalysis]: Starting lasso preprocessing... [2018-11-28 23:18:28,995 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:29,008 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:29,010 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:29,011 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:29,014 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:29,016 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:29,018 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:29,020 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:29,028 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:29,030 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:29,034 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:29,050 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:29,065 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:29,066 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:29,068 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:29,069 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:29,073 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:29,076 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:29,078 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:29,080 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:29,087 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:29,088 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:29,090 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:29,091 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:29,642 WARN L180 SmtUtils]: Spent 320.00 ms on a formula simplification. DAG size of input: 101 DAG size of output: 85 [2018-11-28 23:18:29,818 WARN L180 SmtUtils]: Spent 141.00 ms on a formula simplification. DAG size of input: 60 DAG size of output: 55 [2018-11-28 23:18:29,819 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:30,618 INFO L300 LassoAnalysis]: Preprocessing complete. [2018-11-28 23:18:30,618 INFO L497 LassoAnalysis]: Using template 'affine'. [2018-11-28 23:18:30,619 INFO L122 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSES Number of strict supporting invariants: 0 Number of non-strict supporting invariants: 1 Consider only non-deceasing supporting invariants: true Simplify termination arguments: true Simplify supporting invariants: trueOverapproximate stem: false [2018-11-28 23:18:30,619 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 23:18:30,619 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-11-28 23:18:30,620 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 23:18:30,620 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 23:18:30,620 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 23:18:30,620 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-11-28 23:18:30,620 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-11-28 23:18:30,621 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 23:18:30,621 INFO L122 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSES Number of strict supporting invariants: 0 Number of non-strict supporting invariants: 1 Consider only non-deceasing supporting invariants: true Simplify termination arguments: true Simplify supporting invariants: trueOverapproximate stem: false [2018-11-28 23:18:30,622 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 23:18:30,622 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-11-28 23:18:30,622 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 23:18:30,622 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 23:18:30,622 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 23:18:30,622 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-11-28 23:18:30,623 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-11-28 23:18:30,623 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 23:18:30,623 INFO L122 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSES Number of strict supporting invariants: 0 Number of non-strict supporting invariants: 1 Consider only non-deceasing supporting invariants: true Simplify termination arguments: true Simplify supporting invariants: trueOverapproximate stem: false [2018-11-28 23:18:30,624 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 23:18:30,624 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-11-28 23:18:30,624 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 23:18:30,624 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 23:18:30,624 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 23:18:30,625 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-11-28 23:18:30,625 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-11-28 23:18:30,625 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 23:18:30,626 INFO L122 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSES Number of strict supporting invariants: 0 Number of non-strict supporting invariants: 1 Consider only non-deceasing supporting invariants: true Simplify termination arguments: true Simplify supporting invariants: trueOverapproximate stem: false [2018-11-28 23:18:30,626 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 23:18:30,626 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 23:18:30,626 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 23:18:30,626 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 23:18:30,627 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2018-11-28 23:18:30,627 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2018-11-28 23:18:30,628 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 23:18:30,629 INFO L122 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSES Number of strict supporting invariants: 0 Number of non-strict supporting invariants: 1 Consider only non-deceasing supporting invariants: true Simplify termination arguments: true Simplify supporting invariants: trueOverapproximate stem: false [2018-11-28 23:18:30,629 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 23:18:30,629 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-11-28 23:18:30,629 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 23:18:30,630 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 23:18:30,630 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 23:18:30,630 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-11-28 23:18:30,630 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-11-28 23:18:30,630 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 23:18:30,631 INFO L122 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSES Number of strict supporting invariants: 0 Number of non-strict supporting invariants: 1 Consider only non-deceasing supporting invariants: true Simplify termination arguments: true Simplify supporting invariants: trueOverapproximate stem: false [2018-11-28 23:18:30,631 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 23:18:30,631 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-11-28 23:18:30,631 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 23:18:30,631 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 23:18:30,632 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 23:18:30,632 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-11-28 23:18:30,632 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-11-28 23:18:30,632 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 23:18:30,633 INFO L122 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSES Number of strict supporting invariants: 0 Number of non-strict supporting invariants: 1 Consider only non-deceasing supporting invariants: true Simplify termination arguments: true Simplify supporting invariants: trueOverapproximate stem: false [2018-11-28 23:18:30,633 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 23:18:30,633 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-11-28 23:18:30,634 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 23:18:30,634 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 23:18:30,634 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 23:18:30,634 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-11-28 23:18:30,634 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-11-28 23:18:30,635 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 23:18:30,635 INFO L122 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSES Number of strict supporting invariants: 0 Number of non-strict supporting invariants: 1 Consider only non-deceasing supporting invariants: true Simplify termination arguments: true Simplify supporting invariants: trueOverapproximate stem: false [2018-11-28 23:18:30,635 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 23:18:30,635 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-11-28 23:18:30,636 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 23:18:30,636 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 23:18:30,636 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 23:18:30,636 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-11-28 23:18:30,636 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-11-28 23:18:30,637 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 23:18:30,637 INFO L122 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSES Number of strict supporting invariants: 0 Number of non-strict supporting invariants: 1 Consider only non-deceasing supporting invariants: true Simplify termination arguments: true Simplify supporting invariants: trueOverapproximate stem: false [2018-11-28 23:18:30,637 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 23:18:30,637 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-11-28 23:18:30,637 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 23:18:30,637 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 23:18:30,638 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 23:18:30,638 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-11-28 23:18:30,638 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-11-28 23:18:30,638 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 23:18:30,643 INFO L122 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSES Number of strict supporting invariants: 0 Number of non-strict supporting invariants: 1 Consider only non-deceasing supporting invariants: true Simplify termination arguments: true Simplify supporting invariants: trueOverapproximate stem: false [2018-11-28 23:18:30,643 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 23:18:30,643 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-11-28 23:18:30,644 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 23:18:30,644 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 23:18:30,644 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 23:18:30,644 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-11-28 23:18:30,644 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-11-28 23:18:30,645 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 23:18:30,646 INFO L122 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSES Number of strict supporting invariants: 0 Number of non-strict supporting invariants: 1 Consider only non-deceasing supporting invariants: true Simplify termination arguments: true Simplify supporting invariants: trueOverapproximate stem: false [2018-11-28 23:18:30,647 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 23:18:30,647 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 23:18:30,647 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 23:18:30,647 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 23:18:30,649 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2018-11-28 23:18:30,649 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2018-11-28 23:18:30,673 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 23:18:30,673 INFO L122 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSES Number of strict supporting invariants: 0 Number of non-strict supporting invariants: 1 Consider only non-deceasing supporting invariants: true Simplify termination arguments: true Simplify supporting invariants: trueOverapproximate stem: false [2018-11-28 23:18:30,674 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 23:18:30,674 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 23:18:30,674 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 23:18:30,674 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 23:18:30,675 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2018-11-28 23:18:30,675 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2018-11-28 23:18:30,680 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 23:18:30,680 INFO L122 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSES Number of strict supporting invariants: 0 Number of non-strict supporting invariants: 1 Consider only non-deceasing supporting invariants: true Simplify termination arguments: true Simplify supporting invariants: trueOverapproximate stem: false [2018-11-28 23:18:30,684 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 23:18:30,684 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-11-28 23:18:30,684 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 23:18:30,684 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 23:18:30,685 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 23:18:30,685 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-11-28 23:18:30,685 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-11-28 23:18:30,685 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 23:18:30,689 INFO L122 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSES Number of strict supporting invariants: 0 Number of non-strict supporting invariants: 1 Consider only non-deceasing supporting invariants: true Simplify termination arguments: true Simplify supporting invariants: trueOverapproximate stem: false [2018-11-28 23:18:30,689 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 23:18:30,690 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-11-28 23:18:30,690 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 23:18:30,690 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 23:18:30,690 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 23:18:30,690 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-11-28 23:18:30,690 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-11-28 23:18:30,691 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 23:18:30,691 INFO L122 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSES Number of strict supporting invariants: 0 Number of non-strict supporting invariants: 1 Consider only non-deceasing supporting invariants: true Simplify termination arguments: true Simplify supporting invariants: trueOverapproximate stem: false [2018-11-28 23:18:30,692 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 23:18:30,695 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-11-28 23:18:30,695 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 23:18:30,695 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 23:18:30,695 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 23:18:30,695 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-11-28 23:18:30,696 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-11-28 23:18:30,696 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 23:18:30,697 INFO L122 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSES Number of strict supporting invariants: 0 Number of non-strict supporting invariants: 1 Consider only non-deceasing supporting invariants: true Simplify termination arguments: true Simplify supporting invariants: trueOverapproximate stem: false [2018-11-28 23:18:30,697 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 23:18:30,697 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-11-28 23:18:30,697 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 23:18:30,697 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 23:18:30,698 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 23:18:30,701 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-11-28 23:18:30,701 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-11-28 23:18:30,702 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 23:18:30,702 INFO L122 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSES Number of strict supporting invariants: 0 Number of non-strict supporting invariants: 1 Consider only non-deceasing supporting invariants: true Simplify termination arguments: true Simplify supporting invariants: trueOverapproximate stem: false [2018-11-28 23:18:30,703 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 23:18:30,703 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 23:18:30,703 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 23:18:30,703 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 23:18:30,704 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2018-11-28 23:18:30,704 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2018-11-28 23:18:30,708 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 23:18:30,709 INFO L122 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSES Number of strict supporting invariants: 0 Number of non-strict supporting invariants: 1 Consider only non-deceasing supporting invariants: true Simplify termination arguments: true Simplify supporting invariants: trueOverapproximate stem: false [2018-11-28 23:18:30,709 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 23:18:30,709 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-11-28 23:18:30,710 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 23:18:30,710 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 23:18:30,710 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 23:18:30,710 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-11-28 23:18:30,710 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-11-28 23:18:30,714 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 23:18:30,714 INFO L122 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSES Number of strict supporting invariants: 0 Number of non-strict supporting invariants: 1 Consider only non-deceasing supporting invariants: true Simplify termination arguments: true Simplify supporting invariants: trueOverapproximate stem: false [2018-11-28 23:18:30,715 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 23:18:30,715 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-11-28 23:18:30,715 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 23:18:30,715 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 23:18:30,715 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 23:18:30,715 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-11-28 23:18:30,716 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-11-28 23:18:30,718 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 23:18:30,719 INFO L122 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSES Number of strict supporting invariants: 0 Number of non-strict supporting invariants: 1 Consider only non-deceasing supporting invariants: true Simplify termination arguments: true Simplify supporting invariants: trueOverapproximate stem: false [2018-11-28 23:18:30,719 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 23:18:30,719 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-11-28 23:18:30,719 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 23:18:30,719 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 23:18:30,719 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 23:18:30,723 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-11-28 23:18:30,723 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-11-28 23:18:30,724 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 23:18:30,724 INFO L122 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSES Number of strict supporting invariants: 0 Number of non-strict supporting invariants: 1 Consider only non-deceasing supporting invariants: true Simplify termination arguments: true Simplify supporting invariants: trueOverapproximate stem: false [2018-11-28 23:18:30,724 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 23:18:30,725 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-11-28 23:18:30,725 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 23:18:30,725 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 23:18:30,725 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 23:18:30,725 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-11-28 23:18:30,725 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-11-28 23:18:30,726 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 23:18:30,726 INFO L122 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSES Number of strict supporting invariants: 0 Number of non-strict supporting invariants: 1 Consider only non-deceasing supporting invariants: true Simplify termination arguments: true Simplify supporting invariants: trueOverapproximate stem: false [2018-11-28 23:18:30,726 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 23:18:30,727 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-11-28 23:18:30,727 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 23:18:30,727 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 23:18:30,727 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 23:18:30,727 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-11-28 23:18:30,727 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-11-28 23:18:30,732 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 23:18:30,732 INFO L122 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSES Number of strict supporting invariants: 0 Number of non-strict supporting invariants: 1 Consider only non-deceasing supporting invariants: true Simplify termination arguments: true Simplify supporting invariants: trueOverapproximate stem: false [2018-11-28 23:18:30,733 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 23:18:30,733 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-11-28 23:18:30,733 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 23:18:30,733 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 23:18:30,733 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 23:18:30,733 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-11-28 23:18:30,734 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-11-28 23:18:30,734 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 23:18:30,734 INFO L122 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSES Number of strict supporting invariants: 0 Number of non-strict supporting invariants: 1 Consider only non-deceasing supporting invariants: true Simplify termination arguments: true Simplify supporting invariants: trueOverapproximate stem: false [2018-11-28 23:18:30,737 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 23:18:30,737 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 23:18:30,737 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 23:18:30,737 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 23:18:30,738 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2018-11-28 23:18:30,738 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2018-11-28 23:18:30,742 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 23:18:30,743 INFO L122 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSES Number of strict supporting invariants: 0 Number of non-strict supporting invariants: 1 Consider only non-deceasing supporting invariants: true Simplify termination arguments: true Simplify supporting invariants: trueOverapproximate stem: false [2018-11-28 23:18:30,743 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 23:18:30,744 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 23:18:30,744 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 23:18:30,744 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 23:18:30,760 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2018-11-28 23:18:30,760 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2018-11-28 23:18:30,818 INFO L421 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2018-11-28 23:18:30,866 INFO L443 ModelExtractionUtils]: Simplification made 7 calls to the SMT solver. [2018-11-28 23:18:30,866 INFO L444 ModelExtractionUtils]: 43 out of 52 variables were initially zero. Simplification set additionally 6 variables to zero. [2018-11-28 23:18:30,867 INFO L437 nArgumentSynthesizer]: Simplifying supporting invariants... [2018-11-28 23:18:30,867 INFO L440 nArgumentSynthesizer]: Removed 2 redundant supporting invariants from a total of 2. [2018-11-28 23:18:30,870 INFO L518 LassoAnalysis]: Proved termination. [2018-11-28 23:18:30,870 INFO L520 LassoAnalysis]: Termination argument consisting of: Ranking function f(ULTIMATE.start_strstr_~haystack.offset, v_rep(select #length ULTIMATE.start_main_#t~malloc20.base)_3) = -1*ULTIMATE.start_strstr_~haystack.offset + 1*v_rep(select #length ULTIMATE.start_main_#t~malloc20.base)_3 Supporting invariants [] [2018-11-28 23:18:31,189 INFO L297 tatePredicateManager]: 30 out of 31 supporting invariants were superfluous and have been removed [2018-11-28 23:18:31,192 WARN L1298 BoogieBacktranslator]: unknown boogie variable #length [2018-11-28 23:18:31,211 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-28 23:18:31,240 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-28 23:18:31,244 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-28 23:18:31,265 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-28 23:18:31,267 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-28 23:18:31,310 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-28 23:18:31,311 INFO L152 lantAutomatonBouncer]: Defining deterministic Buchi interpolant automaton with honda bouncer for stem and without honda bouncer for loop.3 stem predicates 3 loop predicates [2018-11-28 23:18:31,312 INFO L72 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 31 states and 36 transitions. cyclomatic complexity: 8 Second operand 6 states. [2018-11-28 23:18:31,433 INFO L76 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 31 states and 36 transitions. cyclomatic complexity: 8. Second operand 6 states. Result 41 states and 51 transitions. Complement of second has 8 states. [2018-11-28 23:18:31,435 INFO L142 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 6 states 3 stem states 2 non-accepting loop states 1 accepting loop states [2018-11-28 23:18:31,436 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-11-28 23:18:31,436 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 33 transitions. [2018-11-28 23:18:31,436 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 6 states and 33 transitions. Stem has 22 letters. Loop has 4 letters. [2018-11-28 23:18:31,437 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2018-11-28 23:18:31,438 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 6 states and 33 transitions. Stem has 26 letters. Loop has 4 letters. [2018-11-28 23:18:31,438 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2018-11-28 23:18:31,438 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 6 states and 33 transitions. Stem has 22 letters. Loop has 8 letters. [2018-11-28 23:18:31,439 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2018-11-28 23:18:31,439 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 41 states and 51 transitions. [2018-11-28 23:18:31,440 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 3 [2018-11-28 23:18:31,441 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 41 states to 38 states and 45 transitions. [2018-11-28 23:18:31,441 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 21 [2018-11-28 23:18:31,442 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 23 [2018-11-28 23:18:31,442 INFO L73 IsDeterministic]: Start isDeterministic. Operand 38 states and 45 transitions. [2018-11-28 23:18:31,442 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2018-11-28 23:18:31,442 INFO L705 BuchiCegarLoop]: Abstraction has 38 states and 45 transitions. [2018-11-28 23:18:31,442 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 38 states and 45 transitions. [2018-11-28 23:18:31,447 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 38 to 37. [2018-11-28 23:18:31,447 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 37 states. [2018-11-28 23:18:31,449 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 44 transitions. [2018-11-28 23:18:31,449 INFO L728 BuchiCegarLoop]: Abstraction has 37 states and 44 transitions. [2018-11-28 23:18:31,449 INFO L608 BuchiCegarLoop]: Abstraction has 37 states and 44 transitions. [2018-11-28 23:18:31,449 INFO L442 BuchiCegarLoop]: ======== Iteration 8============ [2018-11-28 23:18:31,450 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 37 states and 44 transitions. [2018-11-28 23:18:31,452 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 3 [2018-11-28 23:18:31,452 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2018-11-28 23:18:31,452 INFO L119 BuchiIsEmpty]: Starting construction of run [2018-11-28 23:18:31,453 INFO L866 BuchiCegarLoop]: Counterexample stem histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-28 23:18:31,453 INFO L867 BuchiCegarLoop]: Counterexample loop histogram [1, 1, 1] [2018-11-28 23:18:31,455 INFO L794 eck$LassoCheckResult]: Stem: 1251#ULTIMATE.startENTRY #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; 1226#L-1 havoc main_#res;havoc main_#t~nondet19, main_#t~malloc20.base, main_#t~malloc20.offset, main_#t~nondet21, main_#t~malloc22.base, main_#t~malloc22.offset, main_#t~ret23.base, main_#t~ret23.offset, main_~in_len~0, main_~hay~0.base, main_~hay~0.offset, main_~out_len~0, main_~needle~0.base, main_~needle~0.offset;main_~in_len~0 := main_#t~nondet19;havoc main_#t~nondet19; 1227#L541 assume !(main_~in_len~0 < 1);call main_#t~malloc20.base, main_#t~malloc20.offset := #Ultimate.alloc(main_~in_len~0);main_~hay~0.base, main_~hay~0.offset := main_#t~malloc20.base, main_#t~malloc20.offset;call write~int(0, main_~hay~0.base, main_~hay~0.offset + (main_~in_len~0 - 1), 1);main_~out_len~0 := main_#t~nondet21;havoc main_#t~nondet21; 1238#L545 assume !(main_~out_len~0 < 1);call main_#t~malloc22.base, main_#t~malloc22.offset := #Ultimate.alloc(main_~out_len~0);main_~needle~0.base, main_~needle~0.offset := main_#t~malloc22.base, main_#t~malloc22.offset;call write~int(0, main_~needle~0.base, main_~needle~0.offset + (main_~out_len~0 - 1), 1);strstr_#in~haystack.base, strstr_#in~haystack.offset, strstr_#in~needle.base, strstr_#in~needle.offset := main_~hay~0.base, main_~hay~0.offset, main_~needle~0.base, main_~needle~0.offset;havoc strstr_#res.base, strstr_#res.offset;havoc strstr_#t~ret11, strstr_#t~ret12, strstr_#t~mem14, strstr_#t~mem15, strstr_#t~ret16, strstr_#t~short17, strstr_#t~pre18.base, strstr_#t~pre18.offset, strstr_#t~pre13, strstr_~haystack.base, strstr_~haystack.offset, strstr_~needle.base, strstr_~needle.offset, strstr_~nl~0, strstr_~hl~0, strstr_~i~1;strstr_~haystack.base, strstr_~haystack.offset := strstr_#in~haystack.base, strstr_#in~haystack.offset;strstr_~needle.base, strstr_~needle.offset := strstr_#in~needle.base, strstr_#in~needle.offset;strlen_#in~s.base, strlen_#in~s.offset := strstr_~needle.base, strstr_~needle.offset;havoc strlen_#res;havoc strlen_#t~pre3, strlen_#t~pre2.base, strlen_#t~pre2.offset, strlen_#t~mem4, strlen_~s.base, strlen_~s.offset, strlen_~i~0;strlen_~s.base, strlen_~s.offset := strlen_#in~s.base, strlen_#in~s.offset;havoc strlen_~i~0; 1245#L508 assume !(strlen_~s.base == 0 && strlen_~s.offset == 0);strlen_~i~0 := 0; 1246#L509-4 call strlen_#t~mem4 := read~int(strlen_~s.base, strlen_~s.offset, 1); 1247#L509-1 assume !!(0 != strlen_#t~mem4);havoc strlen_#t~mem4;strlen_#t~pre3 := 1 + strlen_~i~0;strlen_~i~0 := 1 + strlen_~i~0;havoc strlen_#t~pre3; 1252#L509-3 strlen_#t~pre2.base, strlen_#t~pre2.offset := strlen_~s.base, 1 + strlen_~s.offset;strlen_~s.base, strlen_~s.offset := strlen_~s.base, 1 + strlen_~s.offset;havoc strlen_#t~pre2.base, strlen_#t~pre2.offset; 1248#L509-4 call strlen_#t~mem4 := read~int(strlen_~s.base, strlen_~s.offset, 1); 1249#L509-1 assume !(0 != strlen_#t~mem4);havoc strlen_#t~mem4; 1250#L509-5 strlen_#res := strlen_~i~0; 1233#L510 strstr_#t~ret11 := strlen_#res;strstr_~nl~0 := strstr_#t~ret11;havoc strstr_#t~ret11;strlen_#in~s.base, strlen_#in~s.offset := strstr_~haystack.base, strstr_~haystack.offset;havoc strlen_#res;havoc strlen_#t~pre3, strlen_#t~pre2.base, strlen_#t~pre2.offset, strlen_#t~mem4, strlen_~s.base, strlen_~s.offset, strlen_~i~0;strlen_~s.base, strlen_~s.offset := strlen_#in~s.base, strlen_#in~s.offset;havoc strlen_~i~0; 1234#L508-2 assume !(strlen_~s.base == 0 && strlen_~s.offset == 0);strlen_~i~0 := 0; 1235#L509-10 call strlen_#t~mem4 := read~int(strlen_~s.base, strlen_~s.offset, 1); 1236#L509-7 assume !!(0 != strlen_#t~mem4);havoc strlen_#t~mem4;strlen_#t~pre3 := 1 + strlen_~i~0;strlen_~i~0 := 1 + strlen_~i~0;havoc strlen_#t~pre3; 1228#L509-9 strlen_#t~pre2.base, strlen_#t~pre2.offset := strlen_~s.base, 1 + strlen_~s.offset;strlen_~s.base, strlen_~s.offset := strlen_~s.base, 1 + strlen_~s.offset;havoc strlen_#t~pre2.base, strlen_#t~pre2.offset; 1229#L509-10 call strlen_#t~mem4 := read~int(strlen_~s.base, strlen_~s.offset, 1); 1237#L509-7 assume !(0 != strlen_#t~mem4);havoc strlen_#t~mem4; 1241#L509-11 strlen_#res := strlen_~i~0; 1239#L510-1 strstr_#t~ret12 := strlen_#res;strstr_~hl~0 := strstr_#t~ret12;havoc strstr_#t~ret12;havoc strstr_~i~1; 1240#L529 assume !(0 == strstr_~nl~0 % 4294967296); 1242#L530 assume !(strstr_~nl~0 % 4294967296 > strstr_~hl~0 % 4294967296);strstr_~i~1 := 1 + (strstr_~hl~0 - strstr_~nl~0); 1243#L531-3 assume !!(0 != strstr_~i~1 % 4294967296);call strstr_#t~mem14 := read~int(strstr_~haystack.base, strstr_~haystack.offset, 1);call strstr_#t~mem15 := read~int(strstr_~needle.base, strstr_~needle.offset, 1);strstr_#t~short17 := strstr_#t~mem14 == strstr_#t~mem15; 1230#L532 assume strstr_#t~short17;memcmp_#in~dst.base, memcmp_#in~dst.offset, memcmp_#in~src.base, memcmp_#in~src.offset, memcmp_#in~count := strstr_~haystack.base, strstr_~haystack.offset, strstr_~needle.base, strstr_~needle.offset, strstr_~nl~0;havoc memcmp_#res;havoc memcmp_#t~pre5, memcmp_#t~mem7, memcmp_#t~mem8, memcmp_#t~pre9.base, memcmp_#t~pre9.offset, memcmp_#t~pre10.base, memcmp_#t~pre10.offset, memcmp_#t~pre6, memcmp_~dst.base, memcmp_~dst.offset, memcmp_~src.base, memcmp_~src.offset, memcmp_~count, memcmp_~r~0, memcmp_~d~0.base, memcmp_~d~0.offset, memcmp_~s~0.base, memcmp_~s~0.offset;memcmp_~dst.base, memcmp_~dst.offset := memcmp_#in~dst.base, memcmp_#in~dst.offset;memcmp_~src.base, memcmp_~src.offset := memcmp_#in~src.base, memcmp_#in~src.offset;memcmp_~count := memcmp_#in~count;havoc memcmp_~r~0;memcmp_~d~0.base, memcmp_~d~0.offset := memcmp_~dst.base, memcmp_~dst.offset;memcmp_~s~0.base, memcmp_~s~0.offset := memcmp_~src.base, memcmp_~src.offset;memcmp_#t~pre5 := 1 + memcmp_~count;memcmp_~count := 1 + memcmp_~count;havoc memcmp_#t~pre5; 1223#L517-3 [2018-11-28 23:18:31,455 INFO L796 eck$LassoCheckResult]: Loop: 1223#L517-3 memcmp_#t~pre6 := memcmp_~count - 1;memcmp_~count := memcmp_~count - 1; 1218#L517-1 assume !!(0 != memcmp_#t~pre6 % 4294967296);havoc memcmp_#t~pre6;call memcmp_#t~mem7 := read~int(memcmp_~d~0.base, memcmp_~d~0.offset, 1);call memcmp_#t~mem8 := read~int(memcmp_~s~0.base, memcmp_~s~0.offset, 1);memcmp_~r~0 := memcmp_#t~mem7 % 256 - memcmp_#t~mem8 % 256; 1219#L518 assume !(0 != memcmp_~r~0);havoc memcmp_#t~mem8;havoc memcmp_#t~mem7;memcmp_#t~pre9.base, memcmp_#t~pre9.offset := memcmp_~d~0.base, 1 + memcmp_~d~0.offset;memcmp_~d~0.base, memcmp_~d~0.offset := memcmp_~d~0.base, 1 + memcmp_~d~0.offset;havoc memcmp_#t~pre9.base, memcmp_#t~pre9.offset;memcmp_#t~pre10.base, memcmp_#t~pre10.offset := memcmp_~s~0.base, 1 + memcmp_~s~0.offset;memcmp_~s~0.base, memcmp_~s~0.offset := memcmp_~s~0.base, 1 + memcmp_~s~0.offset;havoc memcmp_#t~pre10.base, memcmp_#t~pre10.offset; 1223#L517-3 [2018-11-28 23:18:31,455 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-28 23:18:31,456 INFO L82 PathProgramCache]: Analyzing trace with hash -2091601114, now seen corresponding path program 1 times [2018-11-28 23:18:31,456 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-28 23:18:31,456 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-28 23:18:31,457 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 23:18:31,460 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-28 23:18:31,460 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 23:18:31,477 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-28 23:18:31,489 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-28 23:18:31,497 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-28 23:18:31,497 INFO L82 PathProgramCache]: Analyzing trace with hash 111382, now seen corresponding path program 1 times [2018-11-28 23:18:31,497 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-28 23:18:31,497 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-28 23:18:31,498 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 23:18:31,498 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-28 23:18:31,498 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 23:18:31,505 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-28 23:18:31,512 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-28 23:18:31,518 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-28 23:18:31,521 INFO L82 PathProgramCache]: Analyzing trace with hash 496824785, now seen corresponding path program 1 times [2018-11-28 23:18:31,521 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-28 23:18:31,521 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-28 23:18:31,522 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 23:18:31,522 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-28 23:18:31,522 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 23:18:31,545 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-28 23:18:31,562 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-28 23:18:31,927 WARN L180 SmtUtils]: Spent 354.00 ms on a formula simplification that was a NOOP. DAG size: 57 [2018-11-28 23:18:32,034 WARN L180 SmtUtils]: Spent 104.00 ms on a formula simplification that was a NOOP. DAG size: 52 [2018-11-28 23:18:33,316 WARN L180 SmtUtils]: Spent 1.28 s on a formula simplification. DAG size of input: 266 DAG size of output: 197 [2018-11-28 23:18:33,661 WARN L180 SmtUtils]: Spent 339.00 ms on a formula simplification that was a NOOP. DAG size: 146 [2018-11-28 23:18:33,664 INFO L216 LassoAnalysis]: Preferences: [2018-11-28 23:18:33,664 INFO L124 ssoRankerPreferences]: Compute integeral hull: false [2018-11-28 23:18:33,664 INFO L125 ssoRankerPreferences]: Enable LassoPartitioneer: true [2018-11-28 23:18:33,664 INFO L126 ssoRankerPreferences]: Term annotations enabled: false [2018-11-28 23:18:33,665 INFO L127 ssoRankerPreferences]: Use exernal solver: false [2018-11-28 23:18:33,665 INFO L128 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2018-11-28 23:18:33,665 INFO L129 ssoRankerPreferences]: Dump SMT script to file: false [2018-11-28 23:18:33,665 INFO L130 ssoRankerPreferences]: Path of dumped script: [2018-11-28 23:18:33,665 INFO L131 ssoRankerPreferences]: Filename of dumped script: strstr_true-termination.c.i_Iteration8_Lasso [2018-11-28 23:18:33,665 INFO L132 ssoRankerPreferences]: MapElimAlgo: Frank [2018-11-28 23:18:33,665 INFO L282 LassoAnalysis]: Starting lasso preprocessing... [2018-11-28 23:18:33,672 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:33,695 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:33,697 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:33,700 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:33,703 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:33,706 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:33,708 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:33,711 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:33,714 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:34,720 WARN L180 SmtUtils]: Spent 543.00 ms on a formula simplification. DAG size of input: 145 DAG size of output: 120 [2018-11-28 23:18:35,133 WARN L180 SmtUtils]: Spent 335.00 ms on a formula simplification. DAG size of input: 91 DAG size of output: 76 [2018-11-28 23:18:35,134 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:35,136 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:35,137 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:35,141 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:35,142 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:35,154 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:35,155 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:35,156 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:35,180 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:35,182 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:35,185 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:35,187 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:35,190 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:35,203 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:35,204 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:35,206 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:35,208 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:35,210 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:35,212 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:35,215 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:35,217 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:35,219 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:35,721 WARN L180 SmtUtils]: Spent 242.00 ms on a formula simplification. DAG size of input: 70 DAG size of output: 65 [2018-11-28 23:18:36,182 WARN L180 SmtUtils]: Spent 103.00 ms on a formula simplification that was a NOOP. DAG size: 33 [2018-11-28 23:18:36,316 WARN L180 SmtUtils]: Spent 112.00 ms on a formula simplification that was a NOOP. DAG size: 65 [2018-11-28 23:18:36,558 INFO L300 LassoAnalysis]: Preprocessing complete. [2018-11-28 23:18:36,558 INFO L497 LassoAnalysis]: Using template 'affine'. [2018-11-28 23:18:36,559 INFO L122 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSES Number of strict supporting invariants: 0 Number of non-strict supporting invariants: 1 Consider only non-deceasing supporting invariants: true Simplify termination arguments: true Simplify supporting invariants: trueOverapproximate stem: false [2018-11-28 23:18:36,559 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 23:18:36,559 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-11-28 23:18:36,562 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 23:18:36,562 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 23:18:36,562 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 23:18:36,563 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-11-28 23:18:36,563 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-11-28 23:18:36,563 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 23:18:36,564 INFO L122 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSES Number of strict supporting invariants: 0 Number of non-strict supporting invariants: 1 Consider only non-deceasing supporting invariants: true Simplify termination arguments: true Simplify supporting invariants: trueOverapproximate stem: false [2018-11-28 23:18:36,564 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 23:18:36,564 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-11-28 23:18:36,565 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 23:18:36,565 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 23:18:36,565 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 23:18:36,565 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-11-28 23:18:36,565 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-11-28 23:18:36,566 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 23:18:36,566 INFO L122 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSES Number of strict supporting invariants: 0 Number of non-strict supporting invariants: 1 Consider only non-deceasing supporting invariants: true Simplify termination arguments: true Simplify supporting invariants: trueOverapproximate stem: false [2018-11-28 23:18:36,566 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 23:18:36,567 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-11-28 23:18:36,567 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 23:18:36,567 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 23:18:36,567 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 23:18:36,567 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-11-28 23:18:36,567 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-11-28 23:18:36,568 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 23:18:36,569 INFO L122 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSES Number of strict supporting invariants: 0 Number of non-strict supporting invariants: 1 Consider only non-deceasing supporting invariants: true Simplify termination arguments: true Simplify supporting invariants: trueOverapproximate stem: false [2018-11-28 23:18:36,569 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 23:18:36,569 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-11-28 23:18:36,570 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 23:18:36,570 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 23:18:36,570 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 23:18:36,570 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-11-28 23:18:36,570 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-11-28 23:18:36,571 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 23:18:36,571 INFO L122 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSES Number of strict supporting invariants: 0 Number of non-strict supporting invariants: 1 Consider only non-deceasing supporting invariants: true Simplify termination arguments: true Simplify supporting invariants: trueOverapproximate stem: false [2018-11-28 23:18:36,572 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 23:18:36,572 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-11-28 23:18:36,572 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 23:18:36,572 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 23:18:36,572 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 23:18:36,573 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-11-28 23:18:36,573 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-11-28 23:18:36,573 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 23:18:36,578 INFO L122 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSES Number of strict supporting invariants: 0 Number of non-strict supporting invariants: 1 Consider only non-deceasing supporting invariants: true Simplify termination arguments: true Simplify supporting invariants: trueOverapproximate stem: false [2018-11-28 23:18:36,578 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 23:18:36,578 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-11-28 23:18:36,579 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 23:18:36,580 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 23:18:36,580 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 23:18:36,581 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-11-28 23:18:36,581 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-11-28 23:18:36,581 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 23:18:36,582 INFO L122 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSES Number of strict supporting invariants: 0 Number of non-strict supporting invariants: 1 Consider only non-deceasing supporting invariants: true Simplify termination arguments: true Simplify supporting invariants: trueOverapproximate stem: false [2018-11-28 23:18:36,582 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 23:18:36,582 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 23:18:36,582 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 23:18:36,582 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 23:18:36,583 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2018-11-28 23:18:36,583 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2018-11-28 23:18:36,585 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 23:18:36,586 INFO L122 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSES Number of strict supporting invariants: 0 Number of non-strict supporting invariants: 1 Consider only non-deceasing supporting invariants: true Simplify termination arguments: true Simplify supporting invariants: trueOverapproximate stem: false [2018-11-28 23:18:36,586 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 23:18:36,587 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-11-28 23:18:36,587 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 23:18:36,587 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 23:18:36,587 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 23:18:36,587 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-11-28 23:18:36,587 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-11-28 23:18:36,588 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 23:18:36,588 INFO L122 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSES Number of strict supporting invariants: 0 Number of non-strict supporting invariants: 1 Consider only non-deceasing supporting invariants: true Simplify termination arguments: true Simplify supporting invariants: trueOverapproximate stem: false [2018-11-28 23:18:36,589 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 23:18:36,589 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 23:18:36,589 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 23:18:36,589 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 23:18:36,590 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2018-11-28 23:18:36,590 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2018-11-28 23:18:36,599 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 23:18:36,600 INFO L122 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSES Number of strict supporting invariants: 0 Number of non-strict supporting invariants: 1 Consider only non-deceasing supporting invariants: true Simplify termination arguments: true Simplify supporting invariants: trueOverapproximate stem: false [2018-11-28 23:18:36,601 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 23:18:36,601 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 23:18:36,601 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 23:18:36,601 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 23:18:36,602 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2018-11-28 23:18:36,602 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2018-11-28 23:18:36,614 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 23:18:36,614 INFO L122 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSES Number of strict supporting invariants: 0 Number of non-strict supporting invariants: 1 Consider only non-deceasing supporting invariants: true Simplify termination arguments: true Simplify supporting invariants: trueOverapproximate stem: false [2018-11-28 23:18:36,615 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 23:18:36,615 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 23:18:36,615 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 23:18:36,615 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 23:18:36,616 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2018-11-28 23:18:36,616 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2018-11-28 23:18:36,622 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 23:18:36,622 INFO L122 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSES Number of strict supporting invariants: 0 Number of non-strict supporting invariants: 1 Consider only non-deceasing supporting invariants: true Simplify termination arguments: true Simplify supporting invariants: trueOverapproximate stem: false [2018-11-28 23:18:36,623 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 23:18:36,623 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 23:18:36,623 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 23:18:36,623 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 23:18:36,624 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2018-11-28 23:18:36,624 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2018-11-28 23:18:36,634 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 23:18:36,634 INFO L122 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSES Number of strict supporting invariants: 0 Number of non-strict supporting invariants: 1 Consider only non-deceasing supporting invariants: true Simplify termination arguments: true Simplify supporting invariants: trueOverapproximate stem: false [2018-11-28 23:18:36,635 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 23:18:36,635 INFO L205 nArgumentSynthesizer]: 2 stem disjuncts [2018-11-28 23:18:36,635 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 23:18:36,635 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 23:18:36,646 INFO L402 nArgumentSynthesizer]: We have 8 Motzkin's Theorem applications. [2018-11-28 23:18:36,646 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2018-11-28 23:18:36,655 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 23:18:36,656 INFO L122 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSES Number of strict supporting invariants: 0 Number of non-strict supporting invariants: 1 Consider only non-deceasing supporting invariants: true Simplify termination arguments: true Simplify supporting invariants: trueOverapproximate stem: false [2018-11-28 23:18:36,656 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 23:18:36,656 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 23:18:36,657 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 23:18:36,657 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 23:18:36,657 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2018-11-28 23:18:36,657 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2018-11-28 23:18:36,658 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 23:18:36,659 INFO L122 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSES Number of strict supporting invariants: 0 Number of non-strict supporting invariants: 1 Consider only non-deceasing supporting invariants: true Simplify termination arguments: true Simplify supporting invariants: trueOverapproximate stem: false [2018-11-28 23:18:36,659 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 23:18:36,659 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 23:18:36,659 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 23:18:36,659 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 23:18:36,660 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2018-11-28 23:18:36,660 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2018-11-28 23:18:36,664 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 23:18:36,664 INFO L122 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSES Number of strict supporting invariants: 0 Number of non-strict supporting invariants: 1 Consider only non-deceasing supporting invariants: true Simplify termination arguments: true Simplify supporting invariants: trueOverapproximate stem: false [2018-11-28 23:18:36,664 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 23:18:36,665 INFO L205 nArgumentSynthesizer]: 2 stem disjuncts [2018-11-28 23:18:36,665 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 23:18:36,665 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 23:18:36,667 INFO L402 nArgumentSynthesizer]: We have 8 Motzkin's Theorem applications. [2018-11-28 23:18:36,667 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2018-11-28 23:18:36,679 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 23:18:36,679 INFO L122 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSES Number of strict supporting invariants: 0 Number of non-strict supporting invariants: 1 Consider only non-deceasing supporting invariants: true Simplify termination arguments: true Simplify supporting invariants: trueOverapproximate stem: false [2018-11-28 23:18:36,680 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 23:18:36,680 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 23:18:36,680 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 23:18:36,680 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 23:18:36,686 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2018-11-28 23:18:36,686 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2018-11-28 23:18:36,724 INFO L421 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2018-11-28 23:18:36,776 INFO L443 ModelExtractionUtils]: Simplification made 4 calls to the SMT solver. [2018-11-28 23:18:36,777 INFO L444 ModelExtractionUtils]: 66 out of 70 variables were initially zero. Simplification set additionally 1 variables to zero. [2018-11-28 23:18:36,777 INFO L437 nArgumentSynthesizer]: Simplifying supporting invariants... [2018-11-28 23:18:36,778 INFO L440 nArgumentSynthesizer]: Removed 2 redundant supporting invariants from a total of 2. [2018-11-28 23:18:36,778 INFO L518 LassoAnalysis]: Proved termination. [2018-11-28 23:18:36,778 INFO L520 LassoAnalysis]: Termination argument consisting of: Ranking function f(ULTIMATE.start_memcmp_~d~0.offset, v_rep(select #length ULTIMATE.start_memcmp_~d~0.base)_1) = -1*ULTIMATE.start_memcmp_~d~0.offset + 1*v_rep(select #length ULTIMATE.start_memcmp_~d~0.base)_1 Supporting invariants [] [2018-11-28 23:18:37,589 INFO L297 tatePredicateManager]: 45 out of 45 supporting invariants were superfluous and have been removed [2018-11-28 23:18:37,590 WARN L1298 BoogieBacktranslator]: unknown boogie variable #length [2018-11-28 23:18:37,642 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-28 23:18:37,688 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-28 23:18:37,690 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-28 23:18:37,707 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-28 23:18:37,708 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-28 23:18:37,735 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-28 23:18:37,736 INFO L152 lantAutomatonBouncer]: Defining deterministic Buchi interpolant automaton with honda bouncer for stem and without honda bouncer for loop.1 stem predicates 2 loop predicates [2018-11-28 23:18:37,736 INFO L72 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 37 states and 44 transitions. cyclomatic complexity: 11 Second operand 4 states. [2018-11-28 23:18:37,811 INFO L76 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 37 states and 44 transitions. cyclomatic complexity: 11. Second operand 4 states. Result 84 states and 102 transitions. Complement of second has 7 states. [2018-11-28 23:18:37,813 INFO L142 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 4 states 1 stem states 2 non-accepting loop states 1 accepting loop states [2018-11-28 23:18:37,813 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-28 23:18:37,814 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 41 transitions. [2018-11-28 23:18:37,814 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 4 states and 41 transitions. Stem has 24 letters. Loop has 3 letters. [2018-11-28 23:18:37,814 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2018-11-28 23:18:37,814 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 4 states and 41 transitions. Stem has 27 letters. Loop has 3 letters. [2018-11-28 23:18:37,815 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2018-11-28 23:18:37,815 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 4 states and 41 transitions. Stem has 24 letters. Loop has 6 letters. [2018-11-28 23:18:37,815 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2018-11-28 23:18:37,815 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 84 states and 102 transitions. [2018-11-28 23:18:37,816 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 3 [2018-11-28 23:18:37,818 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 84 states to 61 states and 74 transitions. [2018-11-28 23:18:37,819 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 26 [2018-11-28 23:18:37,819 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 26 [2018-11-28 23:18:37,819 INFO L73 IsDeterministic]: Start isDeterministic. Operand 61 states and 74 transitions. [2018-11-28 23:18:37,819 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2018-11-28 23:18:37,819 INFO L705 BuchiCegarLoop]: Abstraction has 61 states and 74 transitions. [2018-11-28 23:18:37,819 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 61 states and 74 transitions. [2018-11-28 23:18:37,826 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 61 to 46. [2018-11-28 23:18:37,827 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 46 states. [2018-11-28 23:18:37,827 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 46 states to 46 states and 55 transitions. [2018-11-28 23:18:37,827 INFO L728 BuchiCegarLoop]: Abstraction has 46 states and 55 transitions. [2018-11-28 23:18:37,827 INFO L608 BuchiCegarLoop]: Abstraction has 46 states and 55 transitions. [2018-11-28 23:18:37,827 INFO L442 BuchiCegarLoop]: ======== Iteration 9============ [2018-11-28 23:18:37,827 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 46 states and 55 transitions. [2018-11-28 23:18:37,831 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 3 [2018-11-28 23:18:37,831 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2018-11-28 23:18:37,831 INFO L119 BuchiIsEmpty]: Starting construction of run [2018-11-28 23:18:37,832 INFO L866 BuchiCegarLoop]: Counterexample stem histogram [2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-28 23:18:37,832 INFO L867 BuchiCegarLoop]: Counterexample loop histogram [1, 1, 1] [2018-11-28 23:18:37,832 INFO L794 eck$LassoCheckResult]: Stem: 1660#ULTIMATE.startENTRY #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; 1639#L-1 havoc main_#res;havoc main_#t~nondet19, main_#t~malloc20.base, main_#t~malloc20.offset, main_#t~nondet21, main_#t~malloc22.base, main_#t~malloc22.offset, main_#t~ret23.base, main_#t~ret23.offset, main_~in_len~0, main_~hay~0.base, main_~hay~0.offset, main_~out_len~0, main_~needle~0.base, main_~needle~0.offset;main_~in_len~0 := main_#t~nondet19;havoc main_#t~nondet19; 1640#L541 assume !(main_~in_len~0 < 1);call main_#t~malloc20.base, main_#t~malloc20.offset := #Ultimate.alloc(main_~in_len~0);main_~hay~0.base, main_~hay~0.offset := main_#t~malloc20.base, main_#t~malloc20.offset;call write~int(0, main_~hay~0.base, main_~hay~0.offset + (main_~in_len~0 - 1), 1);main_~out_len~0 := main_#t~nondet21;havoc main_#t~nondet21; 1648#L545 assume !(main_~out_len~0 < 1);call main_#t~malloc22.base, main_#t~malloc22.offset := #Ultimate.alloc(main_~out_len~0);main_~needle~0.base, main_~needle~0.offset := main_#t~malloc22.base, main_#t~malloc22.offset;call write~int(0, main_~needle~0.base, main_~needle~0.offset + (main_~out_len~0 - 1), 1);strstr_#in~haystack.base, strstr_#in~haystack.offset, strstr_#in~needle.base, strstr_#in~needle.offset := main_~hay~0.base, main_~hay~0.offset, main_~needle~0.base, main_~needle~0.offset;havoc strstr_#res.base, strstr_#res.offset;havoc strstr_#t~ret11, strstr_#t~ret12, strstr_#t~mem14, strstr_#t~mem15, strstr_#t~ret16, strstr_#t~short17, strstr_#t~pre18.base, strstr_#t~pre18.offset, strstr_#t~pre13, strstr_~haystack.base, strstr_~haystack.offset, strstr_~needle.base, strstr_~needle.offset, strstr_~nl~0, strstr_~hl~0, strstr_~i~1;strstr_~haystack.base, strstr_~haystack.offset := strstr_#in~haystack.base, strstr_#in~haystack.offset;strstr_~needle.base, strstr_~needle.offset := strstr_#in~needle.base, strstr_#in~needle.offset;strlen_#in~s.base, strlen_#in~s.offset := strstr_~needle.base, strstr_~needle.offset;havoc strlen_#res;havoc strlen_#t~pre3, strlen_#t~pre2.base, strlen_#t~pre2.offset, strlen_#t~mem4, strlen_~s.base, strlen_~s.offset, strlen_~i~0;strlen_~s.base, strlen_~s.offset := strlen_#in~s.base, strlen_#in~s.offset;havoc strlen_~i~0; 1654#L508 assume !(strlen_~s.base == 0 && strlen_~s.offset == 0);strlen_~i~0 := 0; 1655#L509-4 call strlen_#t~mem4 := read~int(strlen_~s.base, strlen_~s.offset, 1); 1656#L509-1 assume !!(0 != strlen_#t~mem4);havoc strlen_#t~mem4;strlen_#t~pre3 := 1 + strlen_~i~0;strlen_~i~0 := 1 + strlen_~i~0;havoc strlen_#t~pre3; 1661#L509-3 strlen_#t~pre2.base, strlen_#t~pre2.offset := strlen_~s.base, 1 + strlen_~s.offset;strlen_~s.base, strlen_~s.offset := strlen_~s.base, 1 + strlen_~s.offset;havoc strlen_#t~pre2.base, strlen_#t~pre2.offset; 1657#L509-4 call strlen_#t~mem4 := read~int(strlen_~s.base, strlen_~s.offset, 1); 1658#L509-1 assume !(0 != strlen_#t~mem4);havoc strlen_#t~mem4; 1659#L509-5 strlen_#res := strlen_~i~0; 1641#L510 strstr_#t~ret11 := strlen_#res;strstr_~nl~0 := strstr_#t~ret11;havoc strstr_#t~ret11;strlen_#in~s.base, strlen_#in~s.offset := strstr_~haystack.base, strstr_~haystack.offset;havoc strlen_#res;havoc strlen_#t~pre3, strlen_#t~pre2.base, strlen_#t~pre2.offset, strlen_#t~mem4, strlen_~s.base, strlen_~s.offset, strlen_~i~0;strlen_~s.base, strlen_~s.offset := strlen_#in~s.base, strlen_#in~s.offset;havoc strlen_~i~0; 1642#L508-2 assume !(strlen_~s.base == 0 && strlen_~s.offset == 0);strlen_~i~0 := 0; 1643#L509-10 call strlen_#t~mem4 := read~int(strlen_~s.base, strlen_~s.offset, 1); 1644#L509-7 assume !!(0 != strlen_#t~mem4);havoc strlen_#t~mem4;strlen_#t~pre3 := 1 + strlen_~i~0;strlen_~i~0 := 1 + strlen_~i~0;havoc strlen_#t~pre3; 1633#L509-9 strlen_#t~pre2.base, strlen_#t~pre2.offset := strlen_~s.base, 1 + strlen_~s.offset;strlen_~s.base, strlen_~s.offset := strlen_~s.base, 1 + strlen_~s.offset;havoc strlen_#t~pre2.base, strlen_#t~pre2.offset; 1634#L509-10 call strlen_#t~mem4 := read~int(strlen_~s.base, strlen_~s.offset, 1); 1645#L509-7 assume !(0 != strlen_#t~mem4);havoc strlen_#t~mem4; 1649#L509-11 strlen_#res := strlen_~i~0; 1646#L510-1 strstr_#t~ret12 := strlen_#res;strstr_~hl~0 := strstr_#t~ret12;havoc strstr_#t~ret12;havoc strstr_~i~1; 1647#L529 assume !(0 == strstr_~nl~0 % 4294967296); 1650#L530 assume !(strstr_~nl~0 % 4294967296 > strstr_~hl~0 % 4294967296);strstr_~i~1 := 1 + (strstr_~hl~0 - strstr_~nl~0); 1651#L531-3 assume !!(0 != strstr_~i~1 % 4294967296);call strstr_#t~mem14 := read~int(strstr_~haystack.base, strstr_~haystack.offset, 1);call strstr_#t~mem15 := read~int(strstr_~needle.base, strstr_~needle.offset, 1);strstr_#t~short17 := strstr_#t~mem14 == strstr_#t~mem15; 1636#L532 assume strstr_#t~short17;memcmp_#in~dst.base, memcmp_#in~dst.offset, memcmp_#in~src.base, memcmp_#in~src.offset, memcmp_#in~count := strstr_~haystack.base, strstr_~haystack.offset, strstr_~needle.base, strstr_~needle.offset, strstr_~nl~0;havoc memcmp_#res;havoc memcmp_#t~pre5, memcmp_#t~mem7, memcmp_#t~mem8, memcmp_#t~pre9.base, memcmp_#t~pre9.offset, memcmp_#t~pre10.base, memcmp_#t~pre10.offset, memcmp_#t~pre6, memcmp_~dst.base, memcmp_~dst.offset, memcmp_~src.base, memcmp_~src.offset, memcmp_~count, memcmp_~r~0, memcmp_~d~0.base, memcmp_~d~0.offset, memcmp_~s~0.base, memcmp_~s~0.offset;memcmp_~dst.base, memcmp_~dst.offset := memcmp_#in~dst.base, memcmp_#in~dst.offset;memcmp_~src.base, memcmp_~src.offset := memcmp_#in~src.base, memcmp_#in~src.offset;memcmp_~count := memcmp_#in~count;havoc memcmp_~r~0;memcmp_~d~0.base, memcmp_~d~0.offset := memcmp_~dst.base, memcmp_~dst.offset;memcmp_~s~0.base, memcmp_~s~0.offset := memcmp_~src.base, memcmp_~src.offset;memcmp_#t~pre5 := 1 + memcmp_~count;memcmp_~count := 1 + memcmp_~count;havoc memcmp_#t~pre5; 1638#L517-3 memcmp_#t~pre6 := memcmp_~count - 1;memcmp_~count := memcmp_~count - 1; 1666#L517-1 assume !(0 != memcmp_#t~pre6 % 4294967296);havoc memcmp_#t~pre6; 1631#L517-4 memcmp_#res := 0; 1632#L523 strstr_#t~ret16 := memcmp_#res;strstr_#t~short17 := 0 == strstr_#t~ret16; 1652#L532-2 assume !strstr_#t~short17;havoc strstr_#t~short17;havoc strstr_#t~mem14;havoc strstr_#t~ret16;havoc strstr_#t~mem15;strstr_#t~pre18.base, strstr_#t~pre18.offset := strstr_~haystack.base, 1 + strstr_~haystack.offset;strstr_~haystack.base, strstr_~haystack.offset := strstr_~haystack.base, 1 + strstr_~haystack.offset;havoc strstr_#t~pre18.base, strstr_#t~pre18.offset; 1653#L531-2 strstr_#t~pre13 := strstr_~i~1 - 1;strstr_~i~1 := strstr_~i~1 - 1;havoc strstr_#t~pre13; 1663#L531-3 assume !!(0 != strstr_~i~1 % 4294967296);call strstr_#t~mem14 := read~int(strstr_~haystack.base, strstr_~haystack.offset, 1);call strstr_#t~mem15 := read~int(strstr_~needle.base, strstr_~needle.offset, 1);strstr_#t~short17 := strstr_#t~mem14 == strstr_#t~mem15; 1635#L532 assume strstr_#t~short17;memcmp_#in~dst.base, memcmp_#in~dst.offset, memcmp_#in~src.base, memcmp_#in~src.offset, memcmp_#in~count := strstr_~haystack.base, strstr_~haystack.offset, strstr_~needle.base, strstr_~needle.offset, strstr_~nl~0;havoc memcmp_#res;havoc memcmp_#t~pre5, memcmp_#t~mem7, memcmp_#t~mem8, memcmp_#t~pre9.base, memcmp_#t~pre9.offset, memcmp_#t~pre10.base, memcmp_#t~pre10.offset, memcmp_#t~pre6, memcmp_~dst.base, memcmp_~dst.offset, memcmp_~src.base, memcmp_~src.offset, memcmp_~count, memcmp_~r~0, memcmp_~d~0.base, memcmp_~d~0.offset, memcmp_~s~0.base, memcmp_~s~0.offset;memcmp_~dst.base, memcmp_~dst.offset := memcmp_#in~dst.base, memcmp_#in~dst.offset;memcmp_~src.base, memcmp_~src.offset := memcmp_#in~src.base, memcmp_#in~src.offset;memcmp_~count := memcmp_#in~count;havoc memcmp_~r~0;memcmp_~d~0.base, memcmp_~d~0.offset := memcmp_~dst.base, memcmp_~dst.offset;memcmp_~s~0.base, memcmp_~s~0.offset := memcmp_~src.base, memcmp_~src.offset;memcmp_#t~pre5 := 1 + memcmp_~count;memcmp_~count := 1 + memcmp_~count;havoc memcmp_#t~pre5; 1628#L517-3 [2018-11-28 23:18:37,833 INFO L796 eck$LassoCheckResult]: Loop: 1628#L517-3 memcmp_#t~pre6 := memcmp_~count - 1;memcmp_~count := memcmp_~count - 1; 1624#L517-1 assume !!(0 != memcmp_#t~pre6 % 4294967296);havoc memcmp_#t~pre6;call memcmp_#t~mem7 := read~int(memcmp_~d~0.base, memcmp_~d~0.offset, 1);call memcmp_#t~mem8 := read~int(memcmp_~s~0.base, memcmp_~s~0.offset, 1);memcmp_~r~0 := memcmp_#t~mem7 % 256 - memcmp_#t~mem8 % 256; 1625#L518 assume !(0 != memcmp_~r~0);havoc memcmp_#t~mem8;havoc memcmp_#t~mem7;memcmp_#t~pre9.base, memcmp_#t~pre9.offset := memcmp_~d~0.base, 1 + memcmp_~d~0.offset;memcmp_~d~0.base, memcmp_~d~0.offset := memcmp_~d~0.base, 1 + memcmp_~d~0.offset;havoc memcmp_#t~pre9.base, memcmp_#t~pre9.offset;memcmp_#t~pre10.base, memcmp_#t~pre10.offset := memcmp_~s~0.base, 1 + memcmp_~s~0.offset;memcmp_~s~0.base, memcmp_~s~0.offset := memcmp_~s~0.base, 1 + memcmp_~s~0.offset;havoc memcmp_#t~pre10.base, memcmp_#t~pre10.offset; 1628#L517-3 [2018-11-28 23:18:37,833 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-28 23:18:37,833 INFO L82 PathProgramCache]: Analyzing trace with hash 1259680368, now seen corresponding path program 1 times [2018-11-28 23:18:37,833 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-28 23:18:37,833 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-28 23:18:37,834 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 23:18:37,834 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-28 23:18:37,834 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 23:18:37,852 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-28 23:18:37,986 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2018-11-28 23:18:37,986 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-28 23:18:37,986 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2018-11-28 23:18:37,987 INFO L799 eck$LassoCheckResult]: stem already infeasible [2018-11-28 23:18:37,987 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-28 23:18:37,987 INFO L82 PathProgramCache]: Analyzing trace with hash 111382, now seen corresponding path program 2 times [2018-11-28 23:18:37,987 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-28 23:18:37,987 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-28 23:18:37,991 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 23:18:37,991 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-28 23:18:37,991 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 23:18:37,997 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-28 23:18:38,001 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-28 23:18:38,311 WARN L180 SmtUtils]: Spent 306.00 ms on a formula simplification that was a NOOP. DAG size: 57 [2018-11-28 23:18:38,349 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2018-11-28 23:18:38,349 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2018-11-28 23:18:38,349 INFO L87 Difference]: Start difference. First operand 46 states and 55 transitions. cyclomatic complexity: 15 Second operand 4 states. [2018-11-28 23:18:38,366 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-28 23:18:38,366 INFO L93 Difference]: Finished difference Result 48 states and 56 transitions. [2018-11-28 23:18:38,368 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2018-11-28 23:18:38,368 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 48 states and 56 transitions. [2018-11-28 23:18:38,369 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 3 [2018-11-28 23:18:38,371 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 48 states to 45 states and 52 transitions. [2018-11-28 23:18:38,371 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 22 [2018-11-28 23:18:38,371 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 22 [2018-11-28 23:18:38,371 INFO L73 IsDeterministic]: Start isDeterministic. Operand 45 states and 52 transitions. [2018-11-28 23:18:38,371 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2018-11-28 23:18:38,371 INFO L705 BuchiCegarLoop]: Abstraction has 45 states and 52 transitions. [2018-11-28 23:18:38,373 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 45 states and 52 transitions. [2018-11-28 23:18:38,375 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 45 to 45. [2018-11-28 23:18:38,376 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 45 states. [2018-11-28 23:18:38,376 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 45 states to 45 states and 52 transitions. [2018-11-28 23:18:38,376 INFO L728 BuchiCegarLoop]: Abstraction has 45 states and 52 transitions. [2018-11-28 23:18:38,376 INFO L608 BuchiCegarLoop]: Abstraction has 45 states and 52 transitions. [2018-11-28 23:18:38,376 INFO L442 BuchiCegarLoop]: ======== Iteration 10============ [2018-11-28 23:18:38,376 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 45 states and 52 transitions. [2018-11-28 23:18:38,377 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 3 [2018-11-28 23:18:38,377 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2018-11-28 23:18:38,377 INFO L119 BuchiIsEmpty]: Starting construction of run [2018-11-28 23:18:38,378 INFO L866 BuchiCegarLoop]: Counterexample stem histogram [2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-28 23:18:38,378 INFO L867 BuchiCegarLoop]: Counterexample loop histogram [1, 1, 1] [2018-11-28 23:18:38,378 INFO L794 eck$LassoCheckResult]: Stem: 1760#ULTIMATE.startENTRY #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; 1734#L-1 havoc main_#res;havoc main_#t~nondet19, main_#t~malloc20.base, main_#t~malloc20.offset, main_#t~nondet21, main_#t~malloc22.base, main_#t~malloc22.offset, main_#t~ret23.base, main_#t~ret23.offset, main_~in_len~0, main_~hay~0.base, main_~hay~0.offset, main_~out_len~0, main_~needle~0.base, main_~needle~0.offset;main_~in_len~0 := main_#t~nondet19;havoc main_#t~nondet19; 1735#L541 assume !(main_~in_len~0 < 1);call main_#t~malloc20.base, main_#t~malloc20.offset := #Ultimate.alloc(main_~in_len~0);main_~hay~0.base, main_~hay~0.offset := main_#t~malloc20.base, main_#t~malloc20.offset;call write~int(0, main_~hay~0.base, main_~hay~0.offset + (main_~in_len~0 - 1), 1);main_~out_len~0 := main_#t~nondet21;havoc main_#t~nondet21; 1746#L545 assume !(main_~out_len~0 < 1);call main_#t~malloc22.base, main_#t~malloc22.offset := #Ultimate.alloc(main_~out_len~0);main_~needle~0.base, main_~needle~0.offset := main_#t~malloc22.base, main_#t~malloc22.offset;call write~int(0, main_~needle~0.base, main_~needle~0.offset + (main_~out_len~0 - 1), 1);strstr_#in~haystack.base, strstr_#in~haystack.offset, strstr_#in~needle.base, strstr_#in~needle.offset := main_~hay~0.base, main_~hay~0.offset, main_~needle~0.base, main_~needle~0.offset;havoc strstr_#res.base, strstr_#res.offset;havoc strstr_#t~ret11, strstr_#t~ret12, strstr_#t~mem14, strstr_#t~mem15, strstr_#t~ret16, strstr_#t~short17, strstr_#t~pre18.base, strstr_#t~pre18.offset, strstr_#t~pre13, strstr_~haystack.base, strstr_~haystack.offset, strstr_~needle.base, strstr_~needle.offset, strstr_~nl~0, strstr_~hl~0, strstr_~i~1;strstr_~haystack.base, strstr_~haystack.offset := strstr_#in~haystack.base, strstr_#in~haystack.offset;strstr_~needle.base, strstr_~needle.offset := strstr_#in~needle.base, strstr_#in~needle.offset;strlen_#in~s.base, strlen_#in~s.offset := strstr_~needle.base, strstr_~needle.offset;havoc strlen_#res;havoc strlen_#t~pre3, strlen_#t~pre2.base, strlen_#t~pre2.offset, strlen_#t~mem4, strlen_~s.base, strlen_~s.offset, strlen_~i~0;strlen_~s.base, strlen_~s.offset := strlen_#in~s.base, strlen_#in~s.offset;havoc strlen_~i~0; 1753#L508 assume !(strlen_~s.base == 0 && strlen_~s.offset == 0);strlen_~i~0 := 0; 1754#L509-4 call strlen_#t~mem4 := read~int(strlen_~s.base, strlen_~s.offset, 1); 1755#L509-1 assume !!(0 != strlen_#t~mem4);havoc strlen_#t~mem4;strlen_#t~pre3 := 1 + strlen_~i~0;strlen_~i~0 := 1 + strlen_~i~0;havoc strlen_#t~pre3; 1761#L509-3 strlen_#t~pre2.base, strlen_#t~pre2.offset := strlen_~s.base, 1 + strlen_~s.offset;strlen_~s.base, strlen_~s.offset := strlen_~s.base, 1 + strlen_~s.offset;havoc strlen_#t~pre2.base, strlen_#t~pre2.offset; 1756#L509-4 call strlen_#t~mem4 := read~int(strlen_~s.base, strlen_~s.offset, 1); 1757#L509-1 assume !(0 != strlen_#t~mem4);havoc strlen_#t~mem4; 1758#L509-5 strlen_#res := strlen_~i~0; 1741#L510 strstr_#t~ret11 := strlen_#res;strstr_~nl~0 := strstr_#t~ret11;havoc strstr_#t~ret11;strlen_#in~s.base, strlen_#in~s.offset := strstr_~haystack.base, strstr_~haystack.offset;havoc strlen_#res;havoc strlen_#t~pre3, strlen_#t~pre2.base, strlen_#t~pre2.offset, strlen_#t~mem4, strlen_~s.base, strlen_~s.offset, strlen_~i~0;strlen_~s.base, strlen_~s.offset := strlen_#in~s.base, strlen_#in~s.offset;havoc strlen_~i~0; 1742#L508-2 assume !(strlen_~s.base == 0 && strlen_~s.offset == 0);strlen_~i~0 := 0; 1743#L509-10 call strlen_#t~mem4 := read~int(strlen_~s.base, strlen_~s.offset, 1); 1744#L509-7 assume !!(0 != strlen_#t~mem4);havoc strlen_#t~mem4;strlen_#t~pre3 := 1 + strlen_~i~0;strlen_~i~0 := 1 + strlen_~i~0;havoc strlen_#t~pre3; 1736#L509-9 strlen_#t~pre2.base, strlen_#t~pre2.offset := strlen_~s.base, 1 + strlen_~s.offset;strlen_~s.base, strlen_~s.offset := strlen_~s.base, 1 + strlen_~s.offset;havoc strlen_#t~pre2.base, strlen_#t~pre2.offset; 1737#L509-10 call strlen_#t~mem4 := read~int(strlen_~s.base, strlen_~s.offset, 1); 1745#L509-7 assume !(0 != strlen_#t~mem4);havoc strlen_#t~mem4; 1749#L509-11 strlen_#res := strlen_~i~0; 1747#L510-1 strstr_#t~ret12 := strlen_#res;strstr_~hl~0 := strstr_#t~ret12;havoc strstr_#t~ret12;havoc strstr_~i~1; 1748#L529 assume !(0 == strstr_~nl~0 % 4294967296); 1750#L530 assume !(strstr_~nl~0 % 4294967296 > strstr_~hl~0 % 4294967296);strstr_~i~1 := 1 + (strstr_~hl~0 - strstr_~nl~0); 1751#L531-3 assume !!(0 != strstr_~i~1 % 4294967296);call strstr_#t~mem14 := read~int(strstr_~haystack.base, strstr_~haystack.offset, 1);call strstr_#t~mem15 := read~int(strstr_~needle.base, strstr_~needle.offset, 1);strstr_#t~short17 := strstr_#t~mem14 == strstr_#t~mem15; 1767#L532 assume strstr_#t~short17;memcmp_#in~dst.base, memcmp_#in~dst.offset, memcmp_#in~src.base, memcmp_#in~src.offset, memcmp_#in~count := strstr_~haystack.base, strstr_~haystack.offset, strstr_~needle.base, strstr_~needle.offset, strstr_~nl~0;havoc memcmp_#res;havoc memcmp_#t~pre5, memcmp_#t~mem7, memcmp_#t~mem8, memcmp_#t~pre9.base, memcmp_#t~pre9.offset, memcmp_#t~pre10.base, memcmp_#t~pre10.offset, memcmp_#t~pre6, memcmp_~dst.base, memcmp_~dst.offset, memcmp_~src.base, memcmp_~src.offset, memcmp_~count, memcmp_~r~0, memcmp_~d~0.base, memcmp_~d~0.offset, memcmp_~s~0.base, memcmp_~s~0.offset;memcmp_~dst.base, memcmp_~dst.offset := memcmp_#in~dst.base, memcmp_#in~dst.offset;memcmp_~src.base, memcmp_~src.offset := memcmp_#in~src.base, memcmp_#in~src.offset;memcmp_~count := memcmp_#in~count;havoc memcmp_~r~0;memcmp_~d~0.base, memcmp_~d~0.offset := memcmp_~dst.base, memcmp_~dst.offset;memcmp_~s~0.base, memcmp_~s~0.offset := memcmp_~src.base, memcmp_~src.offset;memcmp_#t~pre5 := 1 + memcmp_~count;memcmp_~count := 1 + memcmp_~count;havoc memcmp_#t~pre5; 1765#L517-3 memcmp_#t~pre6 := memcmp_~count - 1;memcmp_~count := memcmp_~count - 1; 1729#L517-1 assume !!(0 != memcmp_#t~pre6 % 4294967296);havoc memcmp_#t~pre6;call memcmp_#t~mem7 := read~int(memcmp_~d~0.base, memcmp_~d~0.offset, 1);call memcmp_#t~mem8 := read~int(memcmp_~s~0.base, memcmp_~s~0.offset, 1);memcmp_~r~0 := memcmp_#t~mem7 % 256 - memcmp_#t~mem8 % 256; 1730#L518 assume 0 != memcmp_~r~0;havoc memcmp_#t~mem8;havoc memcmp_#t~mem7;memcmp_#res := memcmp_~r~0; 1759#L523 strstr_#t~ret16 := memcmp_#res;strstr_#t~short17 := 0 == strstr_#t~ret16; 1740#L532-2 assume !strstr_#t~short17;havoc strstr_#t~short17;havoc strstr_#t~mem14;havoc strstr_#t~ret16;havoc strstr_#t~mem15;strstr_#t~pre18.base, strstr_#t~pre18.offset := strstr_~haystack.base, 1 + strstr_~haystack.offset;strstr_~haystack.base, strstr_~haystack.offset := strstr_~haystack.base, 1 + strstr_~haystack.offset;havoc strstr_#t~pre18.base, strstr_#t~pre18.offset; 1752#L531-2 strstr_#t~pre13 := strstr_~i~1 - 1;strstr_~i~1 := strstr_~i~1 - 1;havoc strstr_#t~pre13; 1763#L531-3 assume !!(0 != strstr_~i~1 % 4294967296);call strstr_#t~mem14 := read~int(strstr_~haystack.base, strstr_~haystack.offset, 1);call strstr_#t~mem15 := read~int(strstr_~needle.base, strstr_~needle.offset, 1);strstr_#t~short17 := strstr_#t~mem14 == strstr_#t~mem15; 1738#L532 assume strstr_#t~short17;memcmp_#in~dst.base, memcmp_#in~dst.offset, memcmp_#in~src.base, memcmp_#in~src.offset, memcmp_#in~count := strstr_~haystack.base, strstr_~haystack.offset, strstr_~needle.base, strstr_~needle.offset, strstr_~nl~0;havoc memcmp_#res;havoc memcmp_#t~pre5, memcmp_#t~mem7, memcmp_#t~mem8, memcmp_#t~pre9.base, memcmp_#t~pre9.offset, memcmp_#t~pre10.base, memcmp_#t~pre10.offset, memcmp_#t~pre6, memcmp_~dst.base, memcmp_~dst.offset, memcmp_~src.base, memcmp_~src.offset, memcmp_~count, memcmp_~r~0, memcmp_~d~0.base, memcmp_~d~0.offset, memcmp_~s~0.base, memcmp_~s~0.offset;memcmp_~dst.base, memcmp_~dst.offset := memcmp_#in~dst.base, memcmp_#in~dst.offset;memcmp_~src.base, memcmp_~src.offset := memcmp_#in~src.base, memcmp_#in~src.offset;memcmp_~count := memcmp_#in~count;havoc memcmp_~r~0;memcmp_~d~0.base, memcmp_~d~0.offset := memcmp_~dst.base, memcmp_~dst.offset;memcmp_~s~0.base, memcmp_~s~0.offset := memcmp_~src.base, memcmp_~src.offset;memcmp_#t~pre5 := 1 + memcmp_~count;memcmp_~count := 1 + memcmp_~count;havoc memcmp_#t~pre5; 1731#L517-3 [2018-11-28 23:18:38,378 INFO L796 eck$LassoCheckResult]: Loop: 1731#L517-3 memcmp_#t~pre6 := memcmp_~count - 1;memcmp_~count := memcmp_~count - 1; 1727#L517-1 assume !!(0 != memcmp_#t~pre6 % 4294967296);havoc memcmp_#t~pre6;call memcmp_#t~mem7 := read~int(memcmp_~d~0.base, memcmp_~d~0.offset, 1);call memcmp_#t~mem8 := read~int(memcmp_~s~0.base, memcmp_~s~0.offset, 1);memcmp_~r~0 := memcmp_#t~mem7 % 256 - memcmp_#t~mem8 % 256; 1728#L518 assume !(0 != memcmp_~r~0);havoc memcmp_#t~mem8;havoc memcmp_#t~mem7;memcmp_#t~pre9.base, memcmp_#t~pre9.offset := memcmp_~d~0.base, 1 + memcmp_~d~0.offset;memcmp_~d~0.base, memcmp_~d~0.offset := memcmp_~d~0.base, 1 + memcmp_~d~0.offset;havoc memcmp_#t~pre9.base, memcmp_#t~pre9.offset;memcmp_#t~pre10.base, memcmp_#t~pre10.offset := memcmp_~s~0.base, 1 + memcmp_~s~0.offset;memcmp_~s~0.base, memcmp_~s~0.offset := memcmp_~s~0.base, 1 + memcmp_~s~0.offset;havoc memcmp_#t~pre10.base, memcmp_#t~pre10.offset; 1731#L517-3 [2018-11-28 23:18:38,378 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-28 23:18:38,379 INFO L82 PathProgramCache]: Analyzing trace with hash -1432054472, now seen corresponding path program 1 times [2018-11-28 23:18:38,379 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-28 23:18:38,379 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-28 23:18:38,379 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 23:18:38,379 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-28 23:18:38,380 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 23:18:38,392 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-28 23:18:38,629 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 1 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-28 23:18:38,630 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-28 23:18:38,631 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 3 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 3 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-28 23:18:38,641 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-28 23:18:38,678 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-28 23:18:38,682 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-28 23:18:38,717 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 14 treesize of output 11 [2018-11-28 23:18:38,720 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 10 [2018-11-28 23:18:38,720 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-28 23:18:38,723 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-28 23:18:38,725 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-2 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2018-11-28 23:18:38,725 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 3 variables, input treesize:14, output treesize:10 [2018-11-28 23:18:39,158 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 39 treesize of output 37 [2018-11-28 23:18:39,300 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 1 case distinctions, treesize of input 33 treesize of output 31 [2018-11-28 23:18:39,301 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 2 xjuncts. [2018-11-28 23:18:39,364 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 21 [2018-11-28 23:18:39,367 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-0 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-28 23:18:39,384 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 8 [2018-11-28 23:18:39,385 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-28 23:18:39,609 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 3 select indices, 3 select index equivalence classes, 0 disjoint index pairs (out of 3 index pairs), introduced 2 new quantified variables, introduced 2 case distinctions, treesize of input 29 treesize of output 35 [2018-11-28 23:18:39,612 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 4 xjuncts. [2018-11-28 23:18:39,624 INFO L267 ElimStorePlain]: Start of recursive call 2: 3 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-28 23:18:39,626 INFO L267 ElimStorePlain]: Start of recursive call 1: 6 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-28 23:18:39,626 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 7 variables, input treesize:39, output treesize:3 [2018-11-28 23:18:39,653 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2018-11-28 23:18:39,681 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 1 imperfect interpolant sequences. [2018-11-28 23:18:39,682 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [6] imperfect sequences [12] total 16 [2018-11-28 23:18:39,682 INFO L799 eck$LassoCheckResult]: stem already infeasible [2018-11-28 23:18:39,682 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-28 23:18:39,682 INFO L82 PathProgramCache]: Analyzing trace with hash 111382, now seen corresponding path program 3 times [2018-11-28 23:18:39,682 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-28 23:18:39,683 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-28 23:18:39,689 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 23:18:39,689 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-28 23:18:39,689 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 23:18:39,695 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-28 23:18:39,701 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-28 23:18:39,886 WARN L180 SmtUtils]: Spent 176.00 ms on a formula simplification that was a NOOP. DAG size: 57 [2018-11-28 23:18:40,128 WARN L180 SmtUtils]: Spent 240.00 ms on a formula simplification that was a NOOP. DAG size: 52 [2018-11-28 23:18:40,128 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2018-11-28 23:18:40,129 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=32, Invalid=208, Unknown=0, NotChecked=0, Total=240 [2018-11-28 23:18:40,129 INFO L87 Difference]: Start difference. First operand 45 states and 52 transitions. cyclomatic complexity: 13 Second operand 16 states. [2018-11-28 23:18:41,048 WARN L180 SmtUtils]: Spent 117.00 ms on a formula simplification. DAG size of input: 57 DAG size of output: 52 [2018-11-28 23:18:41,425 WARN L180 SmtUtils]: Spent 126.00 ms on a formula simplification. DAG size of input: 59 DAG size of output: 54 [2018-11-28 23:18:42,159 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-28 23:18:42,159 INFO L93 Difference]: Finished difference Result 182 states and 203 transitions. [2018-11-28 23:18:42,161 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 29 states. [2018-11-28 23:18:42,161 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 182 states and 203 transitions. [2018-11-28 23:18:42,163 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 9 [2018-11-28 23:18:42,165 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 182 states to 151 states and 171 transitions. [2018-11-28 23:18:42,165 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 58 [2018-11-28 23:18:42,165 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 58 [2018-11-28 23:18:42,165 INFO L73 IsDeterministic]: Start isDeterministic. Operand 151 states and 171 transitions. [2018-11-28 23:18:42,165 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2018-11-28 23:18:42,166 INFO L705 BuchiCegarLoop]: Abstraction has 151 states and 171 transitions. [2018-11-28 23:18:42,166 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 151 states and 171 transitions. [2018-11-28 23:18:42,170 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 151 to 60. [2018-11-28 23:18:42,170 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 60 states. [2018-11-28 23:18:42,170 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 60 states to 60 states and 68 transitions. [2018-11-28 23:18:42,171 INFO L728 BuchiCegarLoop]: Abstraction has 60 states and 68 transitions. [2018-11-28 23:18:42,171 INFO L608 BuchiCegarLoop]: Abstraction has 60 states and 68 transitions. [2018-11-28 23:18:42,171 INFO L442 BuchiCegarLoop]: ======== Iteration 11============ [2018-11-28 23:18:42,171 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 60 states and 68 transitions. [2018-11-28 23:18:42,171 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 3 [2018-11-28 23:18:42,171 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2018-11-28 23:18:42,171 INFO L119 BuchiIsEmpty]: Starting construction of run [2018-11-28 23:18:42,172 INFO L866 BuchiCegarLoop]: Counterexample stem histogram [3, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-28 23:18:42,173 INFO L867 BuchiCegarLoop]: Counterexample loop histogram [1, 1, 1] [2018-11-28 23:18:42,173 INFO L794 eck$LassoCheckResult]: Stem: 2155#ULTIMATE.startENTRY #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; 2126#L-1 havoc main_#res;havoc main_#t~nondet19, main_#t~malloc20.base, main_#t~malloc20.offset, main_#t~nondet21, main_#t~malloc22.base, main_#t~malloc22.offset, main_#t~ret23.base, main_#t~ret23.offset, main_~in_len~0, main_~hay~0.base, main_~hay~0.offset, main_~out_len~0, main_~needle~0.base, main_~needle~0.offset;main_~in_len~0 := main_#t~nondet19;havoc main_#t~nondet19; 2127#L541 assume !(main_~in_len~0 < 1);call main_#t~malloc20.base, main_#t~malloc20.offset := #Ultimate.alloc(main_~in_len~0);main_~hay~0.base, main_~hay~0.offset := main_#t~malloc20.base, main_#t~malloc20.offset;call write~int(0, main_~hay~0.base, main_~hay~0.offset + (main_~in_len~0 - 1), 1);main_~out_len~0 := main_#t~nondet21;havoc main_#t~nondet21; 2135#L545 assume !(main_~out_len~0 < 1);call main_#t~malloc22.base, main_#t~malloc22.offset := #Ultimate.alloc(main_~out_len~0);main_~needle~0.base, main_~needle~0.offset := main_#t~malloc22.base, main_#t~malloc22.offset;call write~int(0, main_~needle~0.base, main_~needle~0.offset + (main_~out_len~0 - 1), 1);strstr_#in~haystack.base, strstr_#in~haystack.offset, strstr_#in~needle.base, strstr_#in~needle.offset := main_~hay~0.base, main_~hay~0.offset, main_~needle~0.base, main_~needle~0.offset;havoc strstr_#res.base, strstr_#res.offset;havoc strstr_#t~ret11, strstr_#t~ret12, strstr_#t~mem14, strstr_#t~mem15, strstr_#t~ret16, strstr_#t~short17, strstr_#t~pre18.base, strstr_#t~pre18.offset, strstr_#t~pre13, strstr_~haystack.base, strstr_~haystack.offset, strstr_~needle.base, strstr_~needle.offset, strstr_~nl~0, strstr_~hl~0, strstr_~i~1;strstr_~haystack.base, strstr_~haystack.offset := strstr_#in~haystack.base, strstr_#in~haystack.offset;strstr_~needle.base, strstr_~needle.offset := strstr_#in~needle.base, strstr_#in~needle.offset;strlen_#in~s.base, strlen_#in~s.offset := strstr_~needle.base, strstr_~needle.offset;havoc strlen_#res;havoc strlen_#t~pre3, strlen_#t~pre2.base, strlen_#t~pre2.offset, strlen_#t~mem4, strlen_~s.base, strlen_~s.offset, strlen_~i~0;strlen_~s.base, strlen_~s.offset := strlen_#in~s.base, strlen_#in~s.offset;havoc strlen_~i~0; 2143#L508 assume !(strlen_~s.base == 0 && strlen_~s.offset == 0);strlen_~i~0 := 0; 2144#L509-4 call strlen_#t~mem4 := read~int(strlen_~s.base, strlen_~s.offset, 1); 2147#L509-1 assume !!(0 != strlen_#t~mem4);havoc strlen_#t~mem4;strlen_#t~pre3 := 1 + strlen_~i~0;strlen_~i~0 := 1 + strlen_~i~0;havoc strlen_#t~pre3; 2158#L509-3 strlen_#t~pre2.base, strlen_#t~pre2.offset := strlen_~s.base, 1 + strlen_~s.offset;strlen_~s.base, strlen_~s.offset := strlen_~s.base, 1 + strlen_~s.offset;havoc strlen_#t~pre2.base, strlen_#t~pre2.offset; 2148#L509-4 call strlen_#t~mem4 := read~int(strlen_~s.base, strlen_~s.offset, 1); 2149#L509-1 assume !!(0 != strlen_#t~mem4);havoc strlen_#t~mem4;strlen_#t~pre3 := 1 + strlen_~i~0;strlen_~i~0 := 1 + strlen_~i~0;havoc strlen_#t~pre3; 2164#L509-3 strlen_#t~pre2.base, strlen_#t~pre2.offset := strlen_~s.base, 1 + strlen_~s.offset;strlen_~s.base, strlen_~s.offset := strlen_~s.base, 1 + strlen_~s.offset;havoc strlen_#t~pre2.base, strlen_#t~pre2.offset; 2165#L509-4 call strlen_#t~mem4 := read~int(strlen_~s.base, strlen_~s.offset, 1); 2156#L509-1 assume !(0 != strlen_#t~mem4);havoc strlen_#t~mem4; 2157#L509-5 strlen_#res := strlen_~i~0; 2130#L510 strstr_#t~ret11 := strlen_#res;strstr_~nl~0 := strstr_#t~ret11;havoc strstr_#t~ret11;strlen_#in~s.base, strlen_#in~s.offset := strstr_~haystack.base, strstr_~haystack.offset;havoc strlen_#res;havoc strlen_#t~pre3, strlen_#t~pre2.base, strlen_#t~pre2.offset, strlen_#t~mem4, strlen_~s.base, strlen_~s.offset, strlen_~i~0;strlen_~s.base, strlen_~s.offset := strlen_#in~s.base, strlen_#in~s.offset;havoc strlen_~i~0; 2131#L508-2 assume !(strlen_~s.base == 0 && strlen_~s.offset == 0);strlen_~i~0 := 0; 2132#L509-10 call strlen_#t~mem4 := read~int(strlen_~s.base, strlen_~s.offset, 1); 2133#L509-7 assume !!(0 != strlen_#t~mem4);havoc strlen_#t~mem4;strlen_#t~pre3 := 1 + strlen_~i~0;strlen_~i~0 := 1 + strlen_~i~0;havoc strlen_#t~pre3; 2128#L509-9 strlen_#t~pre2.base, strlen_#t~pre2.offset := strlen_~s.base, 1 + strlen_~s.offset;strlen_~s.base, strlen_~s.offset := strlen_~s.base, 1 + strlen_~s.offset;havoc strlen_#t~pre2.base, strlen_#t~pre2.offset; 2129#L509-10 call strlen_#t~mem4 := read~int(strlen_~s.base, strlen_~s.offset, 1); 2153#L509-7 assume !(0 != strlen_#t~mem4);havoc strlen_#t~mem4; 2140#L509-11 strlen_#res := strlen_~i~0; 2136#L510-1 strstr_#t~ret12 := strlen_#res;strstr_~hl~0 := strstr_#t~ret12;havoc strstr_#t~ret12;havoc strstr_~i~1; 2137#L529 assume !(0 == strstr_~nl~0 % 4294967296); 2141#L530 assume !(strstr_~nl~0 % 4294967296 > strstr_~hl~0 % 4294967296);strstr_~i~1 := 1 + (strstr_~hl~0 - strstr_~nl~0); 2142#L531-3 assume !!(0 != strstr_~i~1 % 4294967296);call strstr_#t~mem14 := read~int(strstr_~haystack.base, strstr_~haystack.offset, 1);call strstr_#t~mem15 := read~int(strstr_~needle.base, strstr_~needle.offset, 1);strstr_#t~short17 := strstr_#t~mem14 == strstr_#t~mem15; 2162#L532 assume strstr_#t~short17;memcmp_#in~dst.base, memcmp_#in~dst.offset, memcmp_#in~src.base, memcmp_#in~src.offset, memcmp_#in~count := strstr_~haystack.base, strstr_~haystack.offset, strstr_~needle.base, strstr_~needle.offset, strstr_~nl~0;havoc memcmp_#res;havoc memcmp_#t~pre5, memcmp_#t~mem7, memcmp_#t~mem8, memcmp_#t~pre9.base, memcmp_#t~pre9.offset, memcmp_#t~pre10.base, memcmp_#t~pre10.offset, memcmp_#t~pre6, memcmp_~dst.base, memcmp_~dst.offset, memcmp_~src.base, memcmp_~src.offset, memcmp_~count, memcmp_~r~0, memcmp_~d~0.base, memcmp_~d~0.offset, memcmp_~s~0.base, memcmp_~s~0.offset;memcmp_~dst.base, memcmp_~dst.offset := memcmp_#in~dst.base, memcmp_#in~dst.offset;memcmp_~src.base, memcmp_~src.offset := memcmp_#in~src.base, memcmp_#in~src.offset;memcmp_~count := memcmp_#in~count;havoc memcmp_~r~0;memcmp_~d~0.base, memcmp_~d~0.offset := memcmp_~dst.base, memcmp_~dst.offset;memcmp_~s~0.base, memcmp_~s~0.offset := memcmp_~src.base, memcmp_~src.offset;memcmp_#t~pre5 := 1 + memcmp_~count;memcmp_~count := 1 + memcmp_~count;havoc memcmp_#t~pre5; 2121#L517-3 memcmp_#t~pre6 := memcmp_~count - 1;memcmp_~count := memcmp_~count - 1; 2118#L517-1 assume !!(0 != memcmp_#t~pre6 % 4294967296);havoc memcmp_#t~pre6;call memcmp_#t~mem7 := read~int(memcmp_~d~0.base, memcmp_~d~0.offset, 1);call memcmp_#t~mem8 := read~int(memcmp_~s~0.base, memcmp_~s~0.offset, 1);memcmp_~r~0 := memcmp_#t~mem7 % 256 - memcmp_#t~mem8 % 256; 2119#L518 assume !(0 != memcmp_~r~0);havoc memcmp_#t~mem8;havoc memcmp_#t~mem7;memcmp_#t~pre9.base, memcmp_#t~pre9.offset := memcmp_~d~0.base, 1 + memcmp_~d~0.offset;memcmp_~d~0.base, memcmp_~d~0.offset := memcmp_~d~0.base, 1 + memcmp_~d~0.offset;havoc memcmp_#t~pre9.base, memcmp_#t~pre9.offset;memcmp_#t~pre10.base, memcmp_#t~pre10.offset := memcmp_~s~0.base, 1 + memcmp_~s~0.offset;memcmp_~s~0.base, memcmp_~s~0.offset := memcmp_~s~0.base, 1 + memcmp_~s~0.offset;havoc memcmp_#t~pre10.base, memcmp_#t~pre10.offset; 2174#L517-3 memcmp_#t~pre6 := memcmp_~count - 1;memcmp_~count := memcmp_~count - 1; 2173#L517-1 assume !!(0 != memcmp_#t~pre6 % 4294967296);havoc memcmp_#t~pre6;call memcmp_#t~mem7 := read~int(memcmp_~d~0.base, memcmp_~d~0.offset, 1);call memcmp_#t~mem8 := read~int(memcmp_~s~0.base, memcmp_~s~0.offset, 1);memcmp_~r~0 := memcmp_#t~mem7 % 256 - memcmp_#t~mem8 % 256; 2168#L518 assume 0 != memcmp_~r~0;havoc memcmp_#t~mem8;havoc memcmp_#t~mem7;memcmp_#res := memcmp_~r~0; 2154#L523 strstr_#t~ret16 := memcmp_#res;strstr_#t~short17 := 0 == strstr_#t~ret16; 2124#L532-2 assume !strstr_#t~short17;havoc strstr_#t~short17;havoc strstr_#t~mem14;havoc strstr_#t~ret16;havoc strstr_#t~mem15;strstr_#t~pre18.base, strstr_#t~pre18.offset := strstr_~haystack.base, 1 + strstr_~haystack.offset;strstr_~haystack.base, strstr_~haystack.offset := strstr_~haystack.base, 1 + strstr_~haystack.offset;havoc strstr_#t~pre18.base, strstr_#t~pre18.offset; 2167#L531-2 strstr_#t~pre13 := strstr_~i~1 - 1;strstr_~i~1 := strstr_~i~1 - 1;havoc strstr_#t~pre13; 2166#L531-3 assume !!(0 != strstr_~i~1 % 4294967296);call strstr_#t~mem14 := read~int(strstr_~haystack.base, strstr_~haystack.offset, 1);call strstr_#t~mem15 := read~int(strstr_~needle.base, strstr_~needle.offset, 1);strstr_#t~short17 := strstr_#t~mem14 == strstr_#t~mem15; 2122#L532 assume strstr_#t~short17;memcmp_#in~dst.base, memcmp_#in~dst.offset, memcmp_#in~src.base, memcmp_#in~src.offset, memcmp_#in~count := strstr_~haystack.base, strstr_~haystack.offset, strstr_~needle.base, strstr_~needle.offset, strstr_~nl~0;havoc memcmp_#res;havoc memcmp_#t~pre5, memcmp_#t~mem7, memcmp_#t~mem8, memcmp_#t~pre9.base, memcmp_#t~pre9.offset, memcmp_#t~pre10.base, memcmp_#t~pre10.offset, memcmp_#t~pre6, memcmp_~dst.base, memcmp_~dst.offset, memcmp_~src.base, memcmp_~src.offset, memcmp_~count, memcmp_~r~0, memcmp_~d~0.base, memcmp_~d~0.offset, memcmp_~s~0.base, memcmp_~s~0.offset;memcmp_~dst.base, memcmp_~dst.offset := memcmp_#in~dst.base, memcmp_#in~dst.offset;memcmp_~src.base, memcmp_~src.offset := memcmp_#in~src.base, memcmp_#in~src.offset;memcmp_~count := memcmp_#in~count;havoc memcmp_~r~0;memcmp_~d~0.base, memcmp_~d~0.offset := memcmp_~dst.base, memcmp_~dst.offset;memcmp_~s~0.base, memcmp_~s~0.offset := memcmp_~src.base, memcmp_~src.offset;memcmp_#t~pre5 := 1 + memcmp_~count;memcmp_~count := 1 + memcmp_~count;havoc memcmp_#t~pre5; 2120#L517-3 [2018-11-28 23:18:42,173 INFO L796 eck$LassoCheckResult]: Loop: 2120#L517-3 memcmp_#t~pre6 := memcmp_~count - 1;memcmp_~count := memcmp_~count - 1; 2116#L517-1 assume !!(0 != memcmp_#t~pre6 % 4294967296);havoc memcmp_#t~pre6;call memcmp_#t~mem7 := read~int(memcmp_~d~0.base, memcmp_~d~0.offset, 1);call memcmp_#t~mem8 := read~int(memcmp_~s~0.base, memcmp_~s~0.offset, 1);memcmp_~r~0 := memcmp_#t~mem7 % 256 - memcmp_#t~mem8 % 256; 2117#L518 assume !(0 != memcmp_~r~0);havoc memcmp_#t~mem8;havoc memcmp_#t~mem7;memcmp_#t~pre9.base, memcmp_#t~pre9.offset := memcmp_~d~0.base, 1 + memcmp_~d~0.offset;memcmp_~d~0.base, memcmp_~d~0.offset := memcmp_~d~0.base, 1 + memcmp_~d~0.offset;havoc memcmp_#t~pre9.base, memcmp_#t~pre9.offset;memcmp_#t~pre10.base, memcmp_#t~pre10.offset := memcmp_~s~0.base, 1 + memcmp_~s~0.offset;memcmp_~s~0.base, memcmp_~s~0.offset := memcmp_~s~0.base, 1 + memcmp_~s~0.offset;havoc memcmp_#t~pre10.base, memcmp_#t~pre10.offset; 2120#L517-3 [2018-11-28 23:18:42,173 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-28 23:18:42,173 INFO L82 PathProgramCache]: Analyzing trace with hash 1690748232, now seen corresponding path program 1 times [2018-11-28 23:18:42,173 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-28 23:18:42,173 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-28 23:18:42,174 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 23:18:42,174 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-28 23:18:42,174 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 23:18:42,186 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-28 23:18:42,852 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 1 proven. 9 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2018-11-28 23:18:42,852 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-28 23:18:42,852 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 4 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 4 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-28 23:18:42,864 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-28 23:18:42,910 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-28 23:18:42,914 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-28 23:18:42,971 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 14 treesize of output 11 [2018-11-28 23:18:42,983 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 10 [2018-11-28 23:18:42,983 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-28 23:18:42,986 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-28 23:18:42,994 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-2 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2018-11-28 23:18:42,994 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 3 variables, input treesize:24, output treesize:20 [2018-11-28 23:18:43,375 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 0 proven. 11 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2018-11-28 23:18:43,402 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-28 23:18:43,402 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 12] total 23 [2018-11-28 23:18:43,403 INFO L799 eck$LassoCheckResult]: stem already infeasible [2018-11-28 23:18:43,403 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-28 23:18:43,403 INFO L82 PathProgramCache]: Analyzing trace with hash 111382, now seen corresponding path program 4 times [2018-11-28 23:18:43,403 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-28 23:18:43,403 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-28 23:18:43,404 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 23:18:43,404 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-28 23:18:43,404 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 23:18:43,407 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-28 23:18:43,410 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-28 23:18:43,517 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 23 interpolants. [2018-11-28 23:18:43,517 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=51, Invalid=455, Unknown=0, NotChecked=0, Total=506 [2018-11-28 23:18:43,517 INFO L87 Difference]: Start difference. First operand 60 states and 68 transitions. cyclomatic complexity: 14 Second operand 23 states. [2018-11-28 23:18:46,988 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-28 23:18:46,988 INFO L93 Difference]: Finished difference Result 286 states and 329 transitions. [2018-11-28 23:18:46,990 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 47 states. [2018-11-28 23:18:46,991 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 286 states and 329 transitions. [2018-11-28 23:18:46,994 INFO L131 ngComponentsAnalysis]: Automaton has 5 accepting balls. 15 [2018-11-28 23:18:46,996 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 286 states to 279 states and 322 transitions. [2018-11-28 23:18:46,997 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 76 [2018-11-28 23:18:46,997 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 76 [2018-11-28 23:18:46,997 INFO L73 IsDeterministic]: Start isDeterministic. Operand 279 states and 322 transitions. [2018-11-28 23:18:46,997 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2018-11-28 23:18:46,997 INFO L705 BuchiCegarLoop]: Abstraction has 279 states and 322 transitions. [2018-11-28 23:18:47,001 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 279 states and 322 transitions. [2018-11-28 23:18:47,012 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 279 to 88. [2018-11-28 23:18:47,012 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 88 states. [2018-11-28 23:18:47,012 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 88 states to 88 states and 100 transitions. [2018-11-28 23:18:47,012 INFO L728 BuchiCegarLoop]: Abstraction has 88 states and 100 transitions. [2018-11-28 23:18:47,012 INFO L608 BuchiCegarLoop]: Abstraction has 88 states and 100 transitions. [2018-11-28 23:18:47,015 INFO L442 BuchiCegarLoop]: ======== Iteration 12============ [2018-11-28 23:18:47,016 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 88 states and 100 transitions. [2018-11-28 23:18:47,016 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 3 [2018-11-28 23:18:47,016 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2018-11-28 23:18:47,016 INFO L119 BuchiIsEmpty]: Starting construction of run [2018-11-28 23:18:47,017 INFO L866 BuchiCegarLoop]: Counterexample stem histogram [3, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-28 23:18:47,018 INFO L867 BuchiCegarLoop]: Counterexample loop histogram [1, 1, 1] [2018-11-28 23:18:47,018 INFO L794 eck$LassoCheckResult]: Stem: 2724#ULTIMATE.startENTRY #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; 2696#L-1 havoc main_#res;havoc main_#t~nondet19, main_#t~malloc20.base, main_#t~malloc20.offset, main_#t~nondet21, main_#t~malloc22.base, main_#t~malloc22.offset, main_#t~ret23.base, main_#t~ret23.offset, main_~in_len~0, main_~hay~0.base, main_~hay~0.offset, main_~out_len~0, main_~needle~0.base, main_~needle~0.offset;main_~in_len~0 := main_#t~nondet19;havoc main_#t~nondet19; 2697#L541 assume !(main_~in_len~0 < 1);call main_#t~malloc20.base, main_#t~malloc20.offset := #Ultimate.alloc(main_~in_len~0);main_~hay~0.base, main_~hay~0.offset := main_#t~malloc20.base, main_#t~malloc20.offset;call write~int(0, main_~hay~0.base, main_~hay~0.offset + (main_~in_len~0 - 1), 1);main_~out_len~0 := main_#t~nondet21;havoc main_#t~nondet21; 2706#L545 assume !(main_~out_len~0 < 1);call main_#t~malloc22.base, main_#t~malloc22.offset := #Ultimate.alloc(main_~out_len~0);main_~needle~0.base, main_~needle~0.offset := main_#t~malloc22.base, main_#t~malloc22.offset;call write~int(0, main_~needle~0.base, main_~needle~0.offset + (main_~out_len~0 - 1), 1);strstr_#in~haystack.base, strstr_#in~haystack.offset, strstr_#in~needle.base, strstr_#in~needle.offset := main_~hay~0.base, main_~hay~0.offset, main_~needle~0.base, main_~needle~0.offset;havoc strstr_#res.base, strstr_#res.offset;havoc strstr_#t~ret11, strstr_#t~ret12, strstr_#t~mem14, strstr_#t~mem15, strstr_#t~ret16, strstr_#t~short17, strstr_#t~pre18.base, strstr_#t~pre18.offset, strstr_#t~pre13, strstr_~haystack.base, strstr_~haystack.offset, strstr_~needle.base, strstr_~needle.offset, strstr_~nl~0, strstr_~hl~0, strstr_~i~1;strstr_~haystack.base, strstr_~haystack.offset := strstr_#in~haystack.base, strstr_#in~haystack.offset;strstr_~needle.base, strstr_~needle.offset := strstr_#in~needle.base, strstr_#in~needle.offset;strlen_#in~s.base, strlen_#in~s.offset := strstr_~needle.base, strstr_~needle.offset;havoc strlen_#res;havoc strlen_#t~pre3, strlen_#t~pre2.base, strlen_#t~pre2.offset, strlen_#t~mem4, strlen_~s.base, strlen_~s.offset, strlen_~i~0;strlen_~s.base, strlen_~s.offset := strlen_#in~s.base, strlen_#in~s.offset;havoc strlen_~i~0; 2714#L508 assume !(strlen_~s.base == 0 && strlen_~s.offset == 0);strlen_~i~0 := 0; 2715#L509-4 call strlen_#t~mem4 := read~int(strlen_~s.base, strlen_~s.offset, 1); 2717#L509-1 assume !!(0 != strlen_#t~mem4);havoc strlen_#t~mem4;strlen_#t~pre3 := 1 + strlen_~i~0;strlen_~i~0 := 1 + strlen_~i~0;havoc strlen_#t~pre3; 2725#L509-3 strlen_#t~pre2.base, strlen_#t~pre2.offset := strlen_~s.base, 1 + strlen_~s.offset;strlen_~s.base, strlen_~s.offset := strlen_~s.base, 1 + strlen_~s.offset;havoc strlen_#t~pre2.base, strlen_#t~pre2.offset; 2741#L509-4 call strlen_#t~mem4 := read~int(strlen_~s.base, strlen_~s.offset, 1); 2720#L509-1 assume !(0 != strlen_#t~mem4);havoc strlen_#t~mem4; 2721#L509-5 strlen_#res := strlen_~i~0; 2700#L510 strstr_#t~ret11 := strlen_#res;strstr_~nl~0 := strstr_#t~ret11;havoc strstr_#t~ret11;strlen_#in~s.base, strlen_#in~s.offset := strstr_~haystack.base, strstr_~haystack.offset;havoc strlen_#res;havoc strlen_#t~pre3, strlen_#t~pre2.base, strlen_#t~pre2.offset, strlen_#t~mem4, strlen_~s.base, strlen_~s.offset, strlen_~i~0;strlen_~s.base, strlen_~s.offset := strlen_#in~s.base, strlen_#in~s.offset;havoc strlen_~i~0; 2701#L508-2 assume !(strlen_~s.base == 0 && strlen_~s.offset == 0);strlen_~i~0 := 0; 2716#L509-10 call strlen_#t~mem4 := read~int(strlen_~s.base, strlen_~s.offset, 1); 2734#L509-7 assume !!(0 != strlen_#t~mem4);havoc strlen_#t~mem4;strlen_#t~pre3 := 1 + strlen_~i~0;strlen_~i~0 := 1 + strlen_~i~0;havoc strlen_#t~pre3; 2733#L509-9 strlen_#t~pre2.base, strlen_#t~pre2.offset := strlen_~s.base, 1 + strlen_~s.offset;strlen_~s.base, strlen_~s.offset := strlen_~s.base, 1 + strlen_~s.offset;havoc strlen_#t~pre2.base, strlen_#t~pre2.offset; 2704#L509-10 call strlen_#t~mem4 := read~int(strlen_~s.base, strlen_~s.offset, 1); 2705#L509-7 assume !!(0 != strlen_#t~mem4);havoc strlen_#t~mem4;strlen_#t~pre3 := 1 + strlen_~i~0;strlen_~i~0 := 1 + strlen_~i~0;havoc strlen_#t~pre3; 2698#L509-9 strlen_#t~pre2.base, strlen_#t~pre2.offset := strlen_~s.base, 1 + strlen_~s.offset;strlen_~s.base, strlen_~s.offset := strlen_~s.base, 1 + strlen_~s.offset;havoc strlen_#t~pre2.base, strlen_#t~pre2.offset; 2699#L509-10 call strlen_#t~mem4 := read~int(strlen_~s.base, strlen_~s.offset, 1); 2722#L509-7 assume !(0 != strlen_#t~mem4);havoc strlen_#t~mem4; 2711#L509-11 strlen_#res := strlen_~i~0; 2707#L510-1 strstr_#t~ret12 := strlen_#res;strstr_~hl~0 := strstr_#t~ret12;havoc strstr_#t~ret12;havoc strstr_~i~1; 2708#L529 assume !(0 == strstr_~nl~0 % 4294967296); 2712#L530 assume !(strstr_~nl~0 % 4294967296 > strstr_~hl~0 % 4294967296);strstr_~i~1 := 1 + (strstr_~hl~0 - strstr_~nl~0); 2713#L531-3 assume !!(0 != strstr_~i~1 % 4294967296);call strstr_#t~mem14 := read~int(strstr_~haystack.base, strstr_~haystack.offset, 1);call strstr_#t~mem15 := read~int(strstr_~needle.base, strstr_~needle.offset, 1);strstr_#t~short17 := strstr_#t~mem14 == strstr_#t~mem15; 2728#L532 assume strstr_#t~short17;memcmp_#in~dst.base, memcmp_#in~dst.offset, memcmp_#in~src.base, memcmp_#in~src.offset, memcmp_#in~count := strstr_~haystack.base, strstr_~haystack.offset, strstr_~needle.base, strstr_~needle.offset, strstr_~nl~0;havoc memcmp_#res;havoc memcmp_#t~pre5, memcmp_#t~mem7, memcmp_#t~mem8, memcmp_#t~pre9.base, memcmp_#t~pre9.offset, memcmp_#t~pre10.base, memcmp_#t~pre10.offset, memcmp_#t~pre6, memcmp_~dst.base, memcmp_~dst.offset, memcmp_~src.base, memcmp_~src.offset, memcmp_~count, memcmp_~r~0, memcmp_~d~0.base, memcmp_~d~0.offset, memcmp_~s~0.base, memcmp_~s~0.offset;memcmp_~dst.base, memcmp_~dst.offset := memcmp_#in~dst.base, memcmp_#in~dst.offset;memcmp_~src.base, memcmp_~src.offset := memcmp_#in~src.base, memcmp_#in~src.offset;memcmp_~count := memcmp_#in~count;havoc memcmp_~r~0;memcmp_~d~0.base, memcmp_~d~0.offset := memcmp_~dst.base, memcmp_~dst.offset;memcmp_~s~0.base, memcmp_~s~0.offset := memcmp_~src.base, memcmp_~src.offset;memcmp_#t~pre5 := 1 + memcmp_~count;memcmp_~count := 1 + memcmp_~count;havoc memcmp_#t~pre5; 2692#L517-3 memcmp_#t~pre6 := memcmp_~count - 1;memcmp_~count := memcmp_~count - 1; 2689#L517-1 assume !!(0 != memcmp_#t~pre6 % 4294967296);havoc memcmp_#t~pre6;call memcmp_#t~mem7 := read~int(memcmp_~d~0.base, memcmp_~d~0.offset, 1);call memcmp_#t~mem8 := read~int(memcmp_~s~0.base, memcmp_~s~0.offset, 1);memcmp_~r~0 := memcmp_#t~mem7 % 256 - memcmp_#t~mem8 % 256; 2690#L518 assume !(0 != memcmp_~r~0);havoc memcmp_#t~mem8;havoc memcmp_#t~mem7;memcmp_#t~pre9.base, memcmp_#t~pre9.offset := memcmp_~d~0.base, 1 + memcmp_~d~0.offset;memcmp_~d~0.base, memcmp_~d~0.offset := memcmp_~d~0.base, 1 + memcmp_~d~0.offset;havoc memcmp_#t~pre9.base, memcmp_#t~pre9.offset;memcmp_#t~pre10.base, memcmp_#t~pre10.offset := memcmp_~s~0.base, 1 + memcmp_~s~0.offset;memcmp_~s~0.base, memcmp_~s~0.offset := memcmp_~s~0.base, 1 + memcmp_~s~0.offset;havoc memcmp_#t~pre10.base, memcmp_#t~pre10.offset; 2727#L517-3 memcmp_#t~pre6 := memcmp_~count - 1;memcmp_~count := memcmp_~count - 1; 2766#L517-1 assume !!(0 != memcmp_#t~pre6 % 4294967296);havoc memcmp_#t~pre6;call memcmp_#t~mem7 := read~int(memcmp_~d~0.base, memcmp_~d~0.offset, 1);call memcmp_#t~mem8 := read~int(memcmp_~s~0.base, memcmp_~s~0.offset, 1);memcmp_~r~0 := memcmp_#t~mem7 % 256 - memcmp_#t~mem8 % 256; 2743#L518 assume 0 != memcmp_~r~0;havoc memcmp_#t~mem8;havoc memcmp_#t~mem7;memcmp_#res := memcmp_~r~0; 2723#L523 strstr_#t~ret16 := memcmp_#res;strstr_#t~short17 := 0 == strstr_#t~ret16; 2695#L532-2 assume !strstr_#t~short17;havoc strstr_#t~short17;havoc strstr_#t~mem14;havoc strstr_#t~ret16;havoc strstr_#t~mem15;strstr_#t~pre18.base, strstr_#t~pre18.offset := strstr_~haystack.base, 1 + strstr_~haystack.offset;strstr_~haystack.base, strstr_~haystack.offset := strstr_~haystack.base, 1 + strstr_~haystack.offset;havoc strstr_#t~pre18.base, strstr_#t~pre18.offset; 2731#L531-2 strstr_#t~pre13 := strstr_~i~1 - 1;strstr_~i~1 := strstr_~i~1 - 1;havoc strstr_#t~pre13; 2730#L531-3 assume !!(0 != strstr_~i~1 % 4294967296);call strstr_#t~mem14 := read~int(strstr_~haystack.base, strstr_~haystack.offset, 1);call strstr_#t~mem15 := read~int(strstr_~needle.base, strstr_~needle.offset, 1);strstr_#t~short17 := strstr_#t~mem14 == strstr_#t~mem15; 2693#L532 assume strstr_#t~short17;memcmp_#in~dst.base, memcmp_#in~dst.offset, memcmp_#in~src.base, memcmp_#in~src.offset, memcmp_#in~count := strstr_~haystack.base, strstr_~haystack.offset, strstr_~needle.base, strstr_~needle.offset, strstr_~nl~0;havoc memcmp_#res;havoc memcmp_#t~pre5, memcmp_#t~mem7, memcmp_#t~mem8, memcmp_#t~pre9.base, memcmp_#t~pre9.offset, memcmp_#t~pre10.base, memcmp_#t~pre10.offset, memcmp_#t~pre6, memcmp_~dst.base, memcmp_~dst.offset, memcmp_~src.base, memcmp_~src.offset, memcmp_~count, memcmp_~r~0, memcmp_~d~0.base, memcmp_~d~0.offset, memcmp_~s~0.base, memcmp_~s~0.offset;memcmp_~dst.base, memcmp_~dst.offset := memcmp_#in~dst.base, memcmp_#in~dst.offset;memcmp_~src.base, memcmp_~src.offset := memcmp_#in~src.base, memcmp_#in~src.offset;memcmp_~count := memcmp_#in~count;havoc memcmp_~r~0;memcmp_~d~0.base, memcmp_~d~0.offset := memcmp_~dst.base, memcmp_~dst.offset;memcmp_~s~0.base, memcmp_~s~0.offset := memcmp_~src.base, memcmp_~src.offset;memcmp_#t~pre5 := 1 + memcmp_~count;memcmp_~count := 1 + memcmp_~count;havoc memcmp_#t~pre5; 2691#L517-3 [2018-11-28 23:18:47,018 INFO L796 eck$LassoCheckResult]: Loop: 2691#L517-3 memcmp_#t~pre6 := memcmp_~count - 1;memcmp_~count := memcmp_~count - 1; 2687#L517-1 assume !!(0 != memcmp_#t~pre6 % 4294967296);havoc memcmp_#t~pre6;call memcmp_#t~mem7 := read~int(memcmp_~d~0.base, memcmp_~d~0.offset, 1);call memcmp_#t~mem8 := read~int(memcmp_~s~0.base, memcmp_~s~0.offset, 1);memcmp_~r~0 := memcmp_#t~mem7 % 256 - memcmp_#t~mem8 % 256; 2688#L518 assume !(0 != memcmp_~r~0);havoc memcmp_#t~mem8;havoc memcmp_#t~mem7;memcmp_#t~pre9.base, memcmp_#t~pre9.offset := memcmp_~d~0.base, 1 + memcmp_~d~0.offset;memcmp_~d~0.base, memcmp_~d~0.offset := memcmp_~d~0.base, 1 + memcmp_~d~0.offset;havoc memcmp_#t~pre9.base, memcmp_#t~pre9.offset;memcmp_#t~pre10.base, memcmp_#t~pre10.offset := memcmp_~s~0.base, 1 + memcmp_~s~0.offset;memcmp_~s~0.base, memcmp_~s~0.offset := memcmp_~s~0.base, 1 + memcmp_~s~0.offset;havoc memcmp_#t~pre10.base, memcmp_#t~pre10.offset; 2691#L517-3 [2018-11-28 23:18:47,018 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-28 23:18:47,018 INFO L82 PathProgramCache]: Analyzing trace with hash -2138077336, now seen corresponding path program 2 times [2018-11-28 23:18:47,018 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-28 23:18:47,018 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-28 23:18:47,019 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 23:18:47,019 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-28 23:18:47,019 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 23:18:47,036 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-28 23:18:47,815 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 3 proven. 4 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2018-11-28 23:18:47,815 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-28 23:18:47,815 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 5 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 5 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-28 23:18:47,826 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-28 23:18:47,879 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-28 23:18:47,879 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-28 23:18:47,883 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-28 23:18:47,960 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 3 proven. 4 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2018-11-28 23:18:47,979 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-28 23:18:47,979 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 10 [2018-11-28 23:18:47,979 INFO L799 eck$LassoCheckResult]: stem already infeasible [2018-11-28 23:18:47,979 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-28 23:18:47,980 INFO L82 PathProgramCache]: Analyzing trace with hash 111382, now seen corresponding path program 5 times [2018-11-28 23:18:47,980 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-28 23:18:47,980 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-28 23:18:47,980 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 23:18:47,980 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-28 23:18:47,984 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 23:18:47,988 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-28 23:18:47,991 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-28 23:18:48,108 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2018-11-28 23:18:48,108 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=18, Invalid=72, Unknown=0, NotChecked=0, Total=90 [2018-11-28 23:18:48,108 INFO L87 Difference]: Start difference. First operand 88 states and 100 transitions. cyclomatic complexity: 19 Second operand 10 states. [2018-11-28 23:18:48,272 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-28 23:18:48,272 INFO L93 Difference]: Finished difference Result 143 states and 161 transitions. [2018-11-28 23:18:48,274 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2018-11-28 23:18:48,274 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 143 states and 161 transitions. [2018-11-28 23:18:48,276 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2018-11-28 23:18:48,277 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 143 states to 115 states and 131 transitions. [2018-11-28 23:18:48,277 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 38 [2018-11-28 23:18:48,277 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 38 [2018-11-28 23:18:48,277 INFO L73 IsDeterministic]: Start isDeterministic. Operand 115 states and 131 transitions. [2018-11-28 23:18:48,277 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2018-11-28 23:18:48,277 INFO L705 BuchiCegarLoop]: Abstraction has 115 states and 131 transitions. [2018-11-28 23:18:48,278 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 115 states and 131 transitions. [2018-11-28 23:18:48,280 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 115 to 88. [2018-11-28 23:18:48,281 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 88 states. [2018-11-28 23:18:48,281 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 88 states to 88 states and 99 transitions. [2018-11-28 23:18:48,281 INFO L728 BuchiCegarLoop]: Abstraction has 88 states and 99 transitions. [2018-11-28 23:18:48,281 INFO L608 BuchiCegarLoop]: Abstraction has 88 states and 99 transitions. [2018-11-28 23:18:48,281 INFO L442 BuchiCegarLoop]: ======== Iteration 13============ [2018-11-28 23:18:48,282 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 88 states and 99 transitions. [2018-11-28 23:18:48,282 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 3 [2018-11-28 23:18:48,282 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2018-11-28 23:18:48,282 INFO L119 BuchiIsEmpty]: Starting construction of run [2018-11-28 23:18:48,283 INFO L866 BuchiCegarLoop]: Counterexample stem histogram [3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-28 23:18:48,283 INFO L867 BuchiCegarLoop]: Counterexample loop histogram [1, 1, 1] [2018-11-28 23:18:48,284 INFO L794 eck$LassoCheckResult]: Stem: 3094#ULTIMATE.startENTRY #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; 3060#L-1 havoc main_#res;havoc main_#t~nondet19, main_#t~malloc20.base, main_#t~malloc20.offset, main_#t~nondet21, main_#t~malloc22.base, main_#t~malloc22.offset, main_#t~ret23.base, main_#t~ret23.offset, main_~in_len~0, main_~hay~0.base, main_~hay~0.offset, main_~out_len~0, main_~needle~0.base, main_~needle~0.offset;main_~in_len~0 := main_#t~nondet19;havoc main_#t~nondet19; 3061#L541 assume !(main_~in_len~0 < 1);call main_#t~malloc20.base, main_#t~malloc20.offset := #Ultimate.alloc(main_~in_len~0);main_~hay~0.base, main_~hay~0.offset := main_#t~malloc20.base, main_#t~malloc20.offset;call write~int(0, main_~hay~0.base, main_~hay~0.offset + (main_~in_len~0 - 1), 1);main_~out_len~0 := main_#t~nondet21;havoc main_#t~nondet21; 3072#L545 assume !(main_~out_len~0 < 1);call main_#t~malloc22.base, main_#t~malloc22.offset := #Ultimate.alloc(main_~out_len~0);main_~needle~0.base, main_~needle~0.offset := main_#t~malloc22.base, main_#t~malloc22.offset;call write~int(0, main_~needle~0.base, main_~needle~0.offset + (main_~out_len~0 - 1), 1);strstr_#in~haystack.base, strstr_#in~haystack.offset, strstr_#in~needle.base, strstr_#in~needle.offset := main_~hay~0.base, main_~hay~0.offset, main_~needle~0.base, main_~needle~0.offset;havoc strstr_#res.base, strstr_#res.offset;havoc strstr_#t~ret11, strstr_#t~ret12, strstr_#t~mem14, strstr_#t~mem15, strstr_#t~ret16, strstr_#t~short17, strstr_#t~pre18.base, strstr_#t~pre18.offset, strstr_#t~pre13, strstr_~haystack.base, strstr_~haystack.offset, strstr_~needle.base, strstr_~needle.offset, strstr_~nl~0, strstr_~hl~0, strstr_~i~1;strstr_~haystack.base, strstr_~haystack.offset := strstr_#in~haystack.base, strstr_#in~haystack.offset;strstr_~needle.base, strstr_~needle.offset := strstr_#in~needle.base, strstr_#in~needle.offset;strlen_#in~s.base, strlen_#in~s.offset := strstr_~needle.base, strstr_~needle.offset;havoc strlen_#res;havoc strlen_#t~pre3, strlen_#t~pre2.base, strlen_#t~pre2.offset, strlen_#t~mem4, strlen_~s.base, strlen_~s.offset, strlen_~i~0;strlen_~s.base, strlen_~s.offset := strlen_#in~s.base, strlen_#in~s.offset;havoc strlen_~i~0; 3080#L508 assume !(strlen_~s.base == 0 && strlen_~s.offset == 0);strlen_~i~0 := 0; 3081#L509-4 call strlen_#t~mem4 := read~int(strlen_~s.base, strlen_~s.offset, 1); 3084#L509-1 assume !!(0 != strlen_#t~mem4);havoc strlen_#t~mem4;strlen_#t~pre3 := 1 + strlen_~i~0;strlen_~i~0 := 1 + strlen_~i~0;havoc strlen_#t~pre3; 3108#L509-3 strlen_#t~pre2.base, strlen_#t~pre2.offset := strlen_~s.base, 1 + strlen_~s.offset;strlen_~s.base, strlen_~s.offset := strlen_~s.base, 1 + strlen_~s.offset;havoc strlen_#t~pre2.base, strlen_#t~pre2.offset; 3085#L509-4 call strlen_#t~mem4 := read~int(strlen_~s.base, strlen_~s.offset, 1); 3086#L509-1 assume !!(0 != strlen_#t~mem4);havoc strlen_#t~mem4;strlen_#t~pre3 := 1 + strlen_~i~0;strlen_~i~0 := 1 + strlen_~i~0;havoc strlen_#t~pre3; 3117#L509-3 strlen_#t~pre2.base, strlen_#t~pre2.offset := strlen_~s.base, 1 + strlen_~s.offset;strlen_~s.base, strlen_~s.offset := strlen_~s.base, 1 + strlen_~s.offset;havoc strlen_#t~pre2.base, strlen_#t~pre2.offset; 3109#L509-4 call strlen_#t~mem4 := read~int(strlen_~s.base, strlen_~s.offset, 1); 3110#L509-1 assume !(0 != strlen_#t~mem4);havoc strlen_#t~mem4; 3087#L509-5 strlen_#res := strlen_~i~0; 3088#L510 strstr_#t~ret11 := strlen_#res;strstr_~nl~0 := strstr_#t~ret11;havoc strstr_#t~ret11;strlen_#in~s.base, strlen_#in~s.offset := strstr_~haystack.base, strstr_~haystack.offset;havoc strlen_#res;havoc strlen_#t~pre3, strlen_#t~pre2.base, strlen_#t~pre2.offset, strlen_#t~mem4, strlen_~s.base, strlen_~s.offset, strlen_~i~0;strlen_~s.base, strlen_~s.offset := strlen_#in~s.base, strlen_#in~s.offset;havoc strlen_~i~0; 3082#L508-2 assume !(strlen_~s.base == 0 && strlen_~s.offset == 0);strlen_~i~0 := 0; 3083#L509-10 call strlen_#t~mem4 := read~int(strlen_~s.base, strlen_~s.offset, 1); 3116#L509-7 assume !!(0 != strlen_#t~mem4);havoc strlen_#t~mem4;strlen_#t~pre3 := 1 + strlen_~i~0;strlen_~i~0 := 1 + strlen_~i~0;havoc strlen_#t~pre3; 3062#L509-9 strlen_#t~pre2.base, strlen_#t~pre2.offset := strlen_~s.base, 1 + strlen_~s.offset;strlen_~s.base, strlen_~s.offset := strlen_~s.base, 1 + strlen_~s.offset;havoc strlen_#t~pre2.base, strlen_#t~pre2.offset; 3063#L509-10 call strlen_#t~mem4 := read~int(strlen_~s.base, strlen_~s.offset, 1); 3071#L509-7 assume !!(0 != strlen_#t~mem4);havoc strlen_#t~mem4;strlen_#t~pre3 := 1 + strlen_~i~0;strlen_~i~0 := 1 + strlen_~i~0;havoc strlen_#t~pre3; 3091#L509-9 strlen_#t~pre2.base, strlen_#t~pre2.offset := strlen_~s.base, 1 + strlen_~s.offset;strlen_~s.base, strlen_~s.offset := strlen_~s.base, 1 + strlen_~s.offset;havoc strlen_#t~pre2.base, strlen_#t~pre2.offset; 3112#L509-10 call strlen_#t~mem4 := read~int(strlen_~s.base, strlen_~s.offset, 1); 3113#L509-7 assume !(0 != strlen_#t~mem4);havoc strlen_#t~mem4; 3075#L509-11 strlen_#res := strlen_~i~0; 3076#L510-1 strstr_#t~ret12 := strlen_#res;strstr_~hl~0 := strstr_#t~ret12;havoc strstr_#t~ret12;havoc strstr_~i~1; 3099#L529 assume !(0 == strstr_~nl~0 % 4294967296); 3100#L530 assume !(strstr_~nl~0 % 4294967296 > strstr_~hl~0 % 4294967296);strstr_~i~1 := 1 + (strstr_~hl~0 - strstr_~nl~0); 3104#L531-3 assume !!(0 != strstr_~i~1 % 4294967296);call strstr_#t~mem14 := read~int(strstr_~haystack.base, strstr_~haystack.offset, 1);call strstr_#t~mem15 := read~int(strstr_~needle.base, strstr_~needle.offset, 1);strstr_#t~short17 := strstr_#t~mem14 == strstr_#t~mem15; 3105#L532 assume strstr_#t~short17;memcmp_#in~dst.base, memcmp_#in~dst.offset, memcmp_#in~src.base, memcmp_#in~src.offset, memcmp_#in~count := strstr_~haystack.base, strstr_~haystack.offset, strstr_~needle.base, strstr_~needle.offset, strstr_~nl~0;havoc memcmp_#res;havoc memcmp_#t~pre5, memcmp_#t~mem7, memcmp_#t~mem8, memcmp_#t~pre9.base, memcmp_#t~pre9.offset, memcmp_#t~pre10.base, memcmp_#t~pre10.offset, memcmp_#t~pre6, memcmp_~dst.base, memcmp_~dst.offset, memcmp_~src.base, memcmp_~src.offset, memcmp_~count, memcmp_~r~0, memcmp_~d~0.base, memcmp_~d~0.offset, memcmp_~s~0.base, memcmp_~s~0.offset;memcmp_~dst.base, memcmp_~dst.offset := memcmp_#in~dst.base, memcmp_#in~dst.offset;memcmp_~src.base, memcmp_~src.offset := memcmp_#in~src.base, memcmp_#in~src.offset;memcmp_~count := memcmp_#in~count;havoc memcmp_~r~0;memcmp_~d~0.base, memcmp_~d~0.offset := memcmp_~dst.base, memcmp_~dst.offset;memcmp_~s~0.base, memcmp_~s~0.offset := memcmp_~src.base, memcmp_~src.offset;memcmp_#t~pre5 := 1 + memcmp_~count;memcmp_~count := 1 + memcmp_~count;havoc memcmp_#t~pre5; 3059#L517-3 memcmp_#t~pre6 := memcmp_~count - 1;memcmp_~count := memcmp_~count - 1; 3056#L517-1 assume !!(0 != memcmp_#t~pre6 % 4294967296);havoc memcmp_#t~pre6;call memcmp_#t~mem7 := read~int(memcmp_~d~0.base, memcmp_~d~0.offset, 1);call memcmp_#t~mem8 := read~int(memcmp_~s~0.base, memcmp_~s~0.offset, 1);memcmp_~r~0 := memcmp_#t~mem7 % 256 - memcmp_#t~mem8 % 256; 3057#L518 assume !(0 != memcmp_~r~0);havoc memcmp_#t~mem8;havoc memcmp_#t~mem7;memcmp_#t~pre9.base, memcmp_#t~pre9.offset := memcmp_~d~0.base, 1 + memcmp_~d~0.offset;memcmp_~d~0.base, memcmp_~d~0.offset := memcmp_~d~0.base, 1 + memcmp_~d~0.offset;havoc memcmp_#t~pre9.base, memcmp_#t~pre9.offset;memcmp_#t~pre10.base, memcmp_#t~pre10.offset := memcmp_~s~0.base, 1 + memcmp_~s~0.offset;memcmp_~s~0.base, memcmp_~s~0.offset := memcmp_~s~0.base, 1 + memcmp_~s~0.offset;havoc memcmp_#t~pre10.base, memcmp_#t~pre10.offset; 3103#L517-3 memcmp_#t~pre6 := memcmp_~count - 1;memcmp_~count := memcmp_~count - 1; 3136#L517-1 assume !!(0 != memcmp_#t~pre6 % 4294967296);havoc memcmp_#t~pre6;call memcmp_#t~mem7 := read~int(memcmp_~d~0.base, memcmp_~d~0.offset, 1);call memcmp_#t~mem8 := read~int(memcmp_~s~0.base, memcmp_~s~0.offset, 1);memcmp_~r~0 := memcmp_#t~mem7 % 256 - memcmp_#t~mem8 % 256; 3120#L518 assume 0 != memcmp_~r~0;havoc memcmp_#t~mem8;havoc memcmp_#t~mem7;memcmp_#res := memcmp_~r~0; 3121#L523 strstr_#t~ret16 := memcmp_#res;strstr_#t~short17 := 0 == strstr_#t~ret16; 3122#L532-2 assume !strstr_#t~short17;havoc strstr_#t~short17;havoc strstr_#t~mem14;havoc strstr_#t~ret16;havoc strstr_#t~mem15;strstr_#t~pre18.base, strstr_#t~pre18.offset := strstr_~haystack.base, 1 + strstr_~haystack.offset;strstr_~haystack.base, strstr_~haystack.offset := strstr_~haystack.base, 1 + strstr_~haystack.offset;havoc strstr_#t~pre18.base, strstr_#t~pre18.offset; 3119#L531-2 strstr_#t~pre13 := strstr_~i~1 - 1;strstr_~i~1 := strstr_~i~1 - 1;havoc strstr_#t~pre13; 3118#L531-3 assume !!(0 != strstr_~i~1 % 4294967296);call strstr_#t~mem14 := read~int(strstr_~haystack.base, strstr_~haystack.offset, 1);call strstr_#t~mem15 := read~int(strstr_~needle.base, strstr_~needle.offset, 1);strstr_#t~short17 := strstr_#t~mem14 == strstr_#t~mem15; 3064#L532 assume strstr_#t~short17;memcmp_#in~dst.base, memcmp_#in~dst.offset, memcmp_#in~src.base, memcmp_#in~src.offset, memcmp_#in~count := strstr_~haystack.base, strstr_~haystack.offset, strstr_~needle.base, strstr_~needle.offset, strstr_~nl~0;havoc memcmp_#res;havoc memcmp_#t~pre5, memcmp_#t~mem7, memcmp_#t~mem8, memcmp_#t~pre9.base, memcmp_#t~pre9.offset, memcmp_#t~pre10.base, memcmp_#t~pre10.offset, memcmp_#t~pre6, memcmp_~dst.base, memcmp_~dst.offset, memcmp_~src.base, memcmp_~src.offset, memcmp_~count, memcmp_~r~0, memcmp_~d~0.base, memcmp_~d~0.offset, memcmp_~s~0.base, memcmp_~s~0.offset;memcmp_~dst.base, memcmp_~dst.offset := memcmp_#in~dst.base, memcmp_#in~dst.offset;memcmp_~src.base, memcmp_~src.offset := memcmp_#in~src.base, memcmp_#in~src.offset;memcmp_~count := memcmp_#in~count;havoc memcmp_~r~0;memcmp_~d~0.base, memcmp_~d~0.offset := memcmp_~dst.base, memcmp_~dst.offset;memcmp_~s~0.base, memcmp_~s~0.offset := memcmp_~src.base, memcmp_~src.offset;memcmp_#t~pre5 := 1 + memcmp_~count;memcmp_~count := 1 + memcmp_~count;havoc memcmp_#t~pre5; 3058#L517-3 [2018-11-28 23:18:48,284 INFO L796 eck$LassoCheckResult]: Loop: 3058#L517-3 memcmp_#t~pre6 := memcmp_~count - 1;memcmp_~count := memcmp_~count - 1; 3054#L517-1 assume !!(0 != memcmp_#t~pre6 % 4294967296);havoc memcmp_#t~pre6;call memcmp_#t~mem7 := read~int(memcmp_~d~0.base, memcmp_~d~0.offset, 1);call memcmp_#t~mem8 := read~int(memcmp_~s~0.base, memcmp_~s~0.offset, 1);memcmp_~r~0 := memcmp_#t~mem7 % 256 - memcmp_#t~mem8 % 256; 3055#L518 assume !(0 != memcmp_~r~0);havoc memcmp_#t~mem8;havoc memcmp_#t~mem7;memcmp_#t~pre9.base, memcmp_#t~pre9.offset := memcmp_~d~0.base, 1 + memcmp_~d~0.offset;memcmp_~d~0.base, memcmp_~d~0.offset := memcmp_~d~0.base, 1 + memcmp_~d~0.offset;havoc memcmp_#t~pre9.base, memcmp_#t~pre9.offset;memcmp_#t~pre10.base, memcmp_#t~pre10.offset := memcmp_~s~0.base, 1 + memcmp_~s~0.offset;memcmp_~s~0.base, memcmp_~s~0.offset := memcmp_~s~0.base, 1 + memcmp_~s~0.offset;havoc memcmp_#t~pre10.base, memcmp_#t~pre10.offset; 3058#L517-3 [2018-11-28 23:18:48,284 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-28 23:18:48,284 INFO L82 PathProgramCache]: Analyzing trace with hash 1050158307, now seen corresponding path program 3 times [2018-11-28 23:18:48,284 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-28 23:18:48,284 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-28 23:18:48,285 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 23:18:48,285 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-28 23:18:48,285 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 23:18:48,298 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-28 23:18:48,658 INFO L134 CoverageAnalysis]: Checked inductivity of 19 backedges. 1 proven. 15 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2018-11-28 23:18:48,659 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-28 23:18:48,659 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 6 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 6 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-28 23:18:48,670 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-11-28 23:18:48,758 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 3 check-sat command(s) [2018-11-28 23:18:48,758 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-28 23:18:48,764 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-28 23:18:48,985 INFO L134 CoverageAnalysis]: Checked inductivity of 19 backedges. 1 proven. 15 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2018-11-28 23:18:49,005 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-28 23:18:49,005 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 14] total 19 [2018-11-28 23:18:49,006 INFO L799 eck$LassoCheckResult]: stem already infeasible [2018-11-28 23:18:49,006 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-28 23:18:49,006 INFO L82 PathProgramCache]: Analyzing trace with hash 111382, now seen corresponding path program 6 times [2018-11-28 23:18:49,006 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-28 23:18:49,006 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-28 23:18:49,007 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 23:18:49,007 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-28 23:18:49,007 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 23:18:49,010 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-28 23:18:49,015 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-28 23:18:49,437 WARN L180 SmtUtils]: Spent 417.00 ms on a formula simplification that was a NOOP. DAG size: 57 [2018-11-28 23:18:49,475 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2018-11-28 23:18:49,475 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=49, Invalid=293, Unknown=0, NotChecked=0, Total=342 [2018-11-28 23:18:49,475 INFO L87 Difference]: Start difference. First operand 88 states and 99 transitions. cyclomatic complexity: 18 Second operand 19 states. [2018-11-28 23:18:49,892 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-28 23:18:49,893 INFO L93 Difference]: Finished difference Result 211 states and 240 transitions. [2018-11-28 23:18:49,894 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2018-11-28 23:18:49,894 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 211 states and 240 transitions. [2018-11-28 23:18:49,896 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 12 [2018-11-28 23:18:49,899 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 211 states to 190 states and 218 transitions. [2018-11-28 23:18:49,899 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 60 [2018-11-28 23:18:49,899 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 60 [2018-11-28 23:18:49,899 INFO L73 IsDeterministic]: Start isDeterministic. Operand 190 states and 218 transitions. [2018-11-28 23:18:49,899 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2018-11-28 23:18:49,899 INFO L705 BuchiCegarLoop]: Abstraction has 190 states and 218 transitions. [2018-11-28 23:18:49,899 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 190 states and 218 transitions. [2018-11-28 23:18:49,906 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 190 to 91. [2018-11-28 23:18:49,906 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 91 states. [2018-11-28 23:18:49,907 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 91 states to 91 states and 102 transitions. [2018-11-28 23:18:49,907 INFO L728 BuchiCegarLoop]: Abstraction has 91 states and 102 transitions. [2018-11-28 23:18:49,907 INFO L608 BuchiCegarLoop]: Abstraction has 91 states and 102 transitions. [2018-11-28 23:18:49,907 INFO L442 BuchiCegarLoop]: ======== Iteration 14============ [2018-11-28 23:18:49,907 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 91 states and 102 transitions. [2018-11-28 23:18:49,908 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 3 [2018-11-28 23:18:49,908 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2018-11-28 23:18:49,908 INFO L119 BuchiIsEmpty]: Starting construction of run [2018-11-28 23:18:49,914 INFO L866 BuchiCegarLoop]: Counterexample stem histogram [4, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-28 23:18:49,914 INFO L867 BuchiCegarLoop]: Counterexample loop histogram [1, 1, 1] [2018-11-28 23:18:49,914 INFO L794 eck$LassoCheckResult]: Stem: 3544#ULTIMATE.startENTRY #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; 3516#L-1 havoc main_#res;havoc main_#t~nondet19, main_#t~malloc20.base, main_#t~malloc20.offset, main_#t~nondet21, main_#t~malloc22.base, main_#t~malloc22.offset, main_#t~ret23.base, main_#t~ret23.offset, main_~in_len~0, main_~hay~0.base, main_~hay~0.offset, main_~out_len~0, main_~needle~0.base, main_~needle~0.offset;main_~in_len~0 := main_#t~nondet19;havoc main_#t~nondet19; 3517#L541 assume !(main_~in_len~0 < 1);call main_#t~malloc20.base, main_#t~malloc20.offset := #Ultimate.alloc(main_~in_len~0);main_~hay~0.base, main_~hay~0.offset := main_#t~malloc20.base, main_#t~malloc20.offset;call write~int(0, main_~hay~0.base, main_~hay~0.offset + (main_~in_len~0 - 1), 1);main_~out_len~0 := main_#t~nondet21;havoc main_#t~nondet21; 3526#L545 assume !(main_~out_len~0 < 1);call main_#t~malloc22.base, main_#t~malloc22.offset := #Ultimate.alloc(main_~out_len~0);main_~needle~0.base, main_~needle~0.offset := main_#t~malloc22.base, main_#t~malloc22.offset;call write~int(0, main_~needle~0.base, main_~needle~0.offset + (main_~out_len~0 - 1), 1);strstr_#in~haystack.base, strstr_#in~haystack.offset, strstr_#in~needle.base, strstr_#in~needle.offset := main_~hay~0.base, main_~hay~0.offset, main_~needle~0.base, main_~needle~0.offset;havoc strstr_#res.base, strstr_#res.offset;havoc strstr_#t~ret11, strstr_#t~ret12, strstr_#t~mem14, strstr_#t~mem15, strstr_#t~ret16, strstr_#t~short17, strstr_#t~pre18.base, strstr_#t~pre18.offset, strstr_#t~pre13, strstr_~haystack.base, strstr_~haystack.offset, strstr_~needle.base, strstr_~needle.offset, strstr_~nl~0, strstr_~hl~0, strstr_~i~1;strstr_~haystack.base, strstr_~haystack.offset := strstr_#in~haystack.base, strstr_#in~haystack.offset;strstr_~needle.base, strstr_~needle.offset := strstr_#in~needle.base, strstr_#in~needle.offset;strlen_#in~s.base, strlen_#in~s.offset := strstr_~needle.base, strstr_~needle.offset;havoc strlen_#res;havoc strlen_#t~pre3, strlen_#t~pre2.base, strlen_#t~pre2.offset, strlen_#t~mem4, strlen_~s.base, strlen_~s.offset, strlen_~i~0;strlen_~s.base, strlen_~s.offset := strlen_#in~s.base, strlen_#in~s.offset;havoc strlen_~i~0; 3532#L508 assume !(strlen_~s.base == 0 && strlen_~s.offset == 0);strlen_~i~0 := 0; 3533#L509-4 call strlen_#t~mem4 := read~int(strlen_~s.base, strlen_~s.offset, 1); 3536#L509-1 assume !!(0 != strlen_#t~mem4);havoc strlen_#t~mem4;strlen_#t~pre3 := 1 + strlen_~i~0;strlen_~i~0 := 1 + strlen_~i~0;havoc strlen_#t~pre3; 3554#L509-3 strlen_#t~pre2.base, strlen_#t~pre2.offset := strlen_~s.base, 1 + strlen_~s.offset;strlen_~s.base, strlen_~s.offset := strlen_~s.base, 1 + strlen_~s.offset;havoc strlen_#t~pre2.base, strlen_#t~pre2.offset; 3537#L509-4 call strlen_#t~mem4 := read~int(strlen_~s.base, strlen_~s.offset, 1); 3538#L509-1 assume !!(0 != strlen_#t~mem4);havoc strlen_#t~mem4;strlen_#t~pre3 := 1 + strlen_~i~0;strlen_~i~0 := 1 + strlen_~i~0;havoc strlen_#t~pre3; 3557#L509-3 strlen_#t~pre2.base, strlen_#t~pre2.offset := strlen_~s.base, 1 + strlen_~s.offset;strlen_~s.base, strlen_~s.offset := strlen_~s.base, 1 + strlen_~s.offset;havoc strlen_#t~pre2.base, strlen_#t~pre2.offset; 3558#L509-4 call strlen_#t~mem4 := read~int(strlen_~s.base, strlen_~s.offset, 1); 3545#L509-1 assume !(0 != strlen_#t~mem4);havoc strlen_#t~mem4; 3546#L509-5 strlen_#res := strlen_~i~0; 3518#L510 strstr_#t~ret11 := strlen_#res;strstr_~nl~0 := strstr_#t~ret11;havoc strstr_#t~ret11;strlen_#in~s.base, strlen_#in~s.offset := strstr_~haystack.base, strstr_~haystack.offset;havoc strlen_#res;havoc strlen_#t~pre3, strlen_#t~pre2.base, strlen_#t~pre2.offset, strlen_#t~mem4, strlen_~s.base, strlen_~s.offset, strlen_~i~0;strlen_~s.base, strlen_~s.offset := strlen_#in~s.base, strlen_#in~s.offset;havoc strlen_~i~0; 3519#L508-2 assume !(strlen_~s.base == 0 && strlen_~s.offset == 0);strlen_~i~0 := 0; 3520#L509-10 call strlen_#t~mem4 := read~int(strlen_~s.base, strlen_~s.offset, 1); 3521#L509-7 assume !!(0 != strlen_#t~mem4);havoc strlen_#t~mem4;strlen_#t~pre3 := 1 + strlen_~i~0;strlen_~i~0 := 1 + strlen_~i~0;havoc strlen_#t~pre3; 3511#L509-9 strlen_#t~pre2.base, strlen_#t~pre2.offset := strlen_~s.base, 1 + strlen_~s.offset;strlen_~s.base, strlen_~s.offset := strlen_~s.base, 1 + strlen_~s.offset;havoc strlen_#t~pre2.base, strlen_#t~pre2.offset; 3512#L509-10 call strlen_#t~mem4 := read~int(strlen_~s.base, strlen_~s.offset, 1); 3565#L509-7 assume !!(0 != strlen_#t~mem4);havoc strlen_#t~mem4;strlen_#t~pre3 := 1 + strlen_~i~0;strlen_~i~0 := 1 + strlen_~i~0;havoc strlen_#t~pre3; 3566#L509-9 strlen_#t~pre2.base, strlen_#t~pre2.offset := strlen_~s.base, 1 + strlen_~s.offset;strlen_~s.base, strlen_~s.offset := strlen_~s.base, 1 + strlen_~s.offset;havoc strlen_#t~pre2.base, strlen_#t~pre2.offset; 3522#L509-10 call strlen_#t~mem4 := read~int(strlen_~s.base, strlen_~s.offset, 1); 3523#L509-7 assume !!(0 != strlen_#t~mem4);havoc strlen_#t~mem4;strlen_#t~pre3 := 1 + strlen_~i~0;strlen_~i~0 := 1 + strlen_~i~0;havoc strlen_#t~pre3; 3542#L509-9 strlen_#t~pre2.base, strlen_#t~pre2.offset := strlen_~s.base, 1 + strlen_~s.offset;strlen_~s.base, strlen_~s.offset := strlen_~s.base, 1 + strlen_~s.offset;havoc strlen_#t~pre2.base, strlen_#t~pre2.offset; 3559#L509-10 call strlen_#t~mem4 := read~int(strlen_~s.base, strlen_~s.offset, 1); 3541#L509-7 assume !(0 != strlen_#t~mem4);havoc strlen_#t~mem4; 3527#L509-11 strlen_#res := strlen_~i~0; 3524#L510-1 strstr_#t~ret12 := strlen_#res;strstr_~hl~0 := strstr_#t~ret12;havoc strstr_#t~ret12;havoc strstr_~i~1; 3525#L529 assume !(0 == strstr_~nl~0 % 4294967296); 3528#L530 assume !(strstr_~nl~0 % 4294967296 > strstr_~hl~0 % 4294967296);strstr_~i~1 := 1 + (strstr_~hl~0 - strstr_~nl~0); 3529#L531-3 assume !!(0 != strstr_~i~1 % 4294967296);call strstr_#t~mem14 := read~int(strstr_~haystack.base, strstr_~haystack.offset, 1);call strstr_#t~mem15 := read~int(strstr_~needle.base, strstr_~needle.offset, 1);strstr_#t~short17 := strstr_#t~mem14 == strstr_#t~mem15; 3551#L532 assume strstr_#t~short17;memcmp_#in~dst.base, memcmp_#in~dst.offset, memcmp_#in~src.base, memcmp_#in~src.offset, memcmp_#in~count := strstr_~haystack.base, strstr_~haystack.offset, strstr_~needle.base, strstr_~needle.offset, strstr_~nl~0;havoc memcmp_#res;havoc memcmp_#t~pre5, memcmp_#t~mem7, memcmp_#t~mem8, memcmp_#t~pre9.base, memcmp_#t~pre9.offset, memcmp_#t~pre10.base, memcmp_#t~pre10.offset, memcmp_#t~pre6, memcmp_~dst.base, memcmp_~dst.offset, memcmp_~src.base, memcmp_~src.offset, memcmp_~count, memcmp_~r~0, memcmp_~d~0.base, memcmp_~d~0.offset, memcmp_~s~0.base, memcmp_~s~0.offset;memcmp_~dst.base, memcmp_~dst.offset := memcmp_#in~dst.base, memcmp_#in~dst.offset;memcmp_~src.base, memcmp_~src.offset := memcmp_#in~src.base, memcmp_#in~src.offset;memcmp_~count := memcmp_#in~count;havoc memcmp_~r~0;memcmp_~d~0.base, memcmp_~d~0.offset := memcmp_~dst.base, memcmp_~dst.offset;memcmp_~s~0.base, memcmp_~s~0.offset := memcmp_~src.base, memcmp_~src.offset;memcmp_#t~pre5 := 1 + memcmp_~count;memcmp_~count := 1 + memcmp_~count;havoc memcmp_#t~pre5; 3510#L517-3 memcmp_#t~pre6 := memcmp_~count - 1;memcmp_~count := memcmp_~count - 1; 3507#L517-1 assume !!(0 != memcmp_#t~pre6 % 4294967296);havoc memcmp_#t~pre6;call memcmp_#t~mem7 := read~int(memcmp_~d~0.base, memcmp_~d~0.offset, 1);call memcmp_#t~mem8 := read~int(memcmp_~s~0.base, memcmp_~s~0.offset, 1);memcmp_~r~0 := memcmp_#t~mem7 % 256 - memcmp_#t~mem8 % 256; 3508#L518 assume !(0 != memcmp_~r~0);havoc memcmp_#t~mem8;havoc memcmp_#t~mem7;memcmp_#t~pre9.base, memcmp_#t~pre9.offset := memcmp_~d~0.base, 1 + memcmp_~d~0.offset;memcmp_~d~0.base, memcmp_~d~0.offset := memcmp_~d~0.base, 1 + memcmp_~d~0.offset;havoc memcmp_#t~pre9.base, memcmp_#t~pre9.offset;memcmp_#t~pre10.base, memcmp_#t~pre10.offset := memcmp_~s~0.base, 1 + memcmp_~s~0.offset;memcmp_~s~0.base, memcmp_~s~0.offset := memcmp_~s~0.base, 1 + memcmp_~s~0.offset;havoc memcmp_#t~pre10.base, memcmp_#t~pre10.offset; 3550#L517-3 memcmp_#t~pre6 := memcmp_~count - 1;memcmp_~count := memcmp_~count - 1; 3590#L517-1 assume !!(0 != memcmp_#t~pre6 % 4294967296);havoc memcmp_#t~pre6;call memcmp_#t~mem7 := read~int(memcmp_~d~0.base, memcmp_~d~0.offset, 1);call memcmp_#t~mem8 := read~int(memcmp_~s~0.base, memcmp_~s~0.offset, 1);memcmp_~r~0 := memcmp_#t~mem7 % 256 - memcmp_#t~mem8 % 256; 3584#L518 assume 0 != memcmp_~r~0;havoc memcmp_#t~mem8;havoc memcmp_#t~mem7;memcmp_#res := memcmp_~r~0; 3563#L523 strstr_#t~ret16 := memcmp_#res;strstr_#t~short17 := 0 == strstr_#t~ret16; 3562#L532-2 assume !strstr_#t~short17;havoc strstr_#t~short17;havoc strstr_#t~mem14;havoc strstr_#t~ret16;havoc strstr_#t~mem15;strstr_#t~pre18.base, strstr_#t~pre18.offset := strstr_~haystack.base, 1 + strstr_~haystack.offset;strstr_~haystack.base, strstr_~haystack.offset := strstr_~haystack.base, 1 + strstr_~haystack.offset;havoc strstr_#t~pre18.base, strstr_#t~pre18.offset; 3561#L531-2 strstr_#t~pre13 := strstr_~i~1 - 1;strstr_~i~1 := strstr_~i~1 - 1;havoc strstr_#t~pre13; 3560#L531-3 assume !!(0 != strstr_~i~1 % 4294967296);call strstr_#t~mem14 := read~int(strstr_~haystack.base, strstr_~haystack.offset, 1);call strstr_#t~mem15 := read~int(strstr_~needle.base, strstr_~needle.offset, 1);strstr_#t~short17 := strstr_#t~mem14 == strstr_#t~mem15; 3513#L532 assume strstr_#t~short17;memcmp_#in~dst.base, memcmp_#in~dst.offset, memcmp_#in~src.base, memcmp_#in~src.offset, memcmp_#in~count := strstr_~haystack.base, strstr_~haystack.offset, strstr_~needle.base, strstr_~needle.offset, strstr_~nl~0;havoc memcmp_#res;havoc memcmp_#t~pre5, memcmp_#t~mem7, memcmp_#t~mem8, memcmp_#t~pre9.base, memcmp_#t~pre9.offset, memcmp_#t~pre10.base, memcmp_#t~pre10.offset, memcmp_#t~pre6, memcmp_~dst.base, memcmp_~dst.offset, memcmp_~src.base, memcmp_~src.offset, memcmp_~count, memcmp_~r~0, memcmp_~d~0.base, memcmp_~d~0.offset, memcmp_~s~0.base, memcmp_~s~0.offset;memcmp_~dst.base, memcmp_~dst.offset := memcmp_#in~dst.base, memcmp_#in~dst.offset;memcmp_~src.base, memcmp_~src.offset := memcmp_#in~src.base, memcmp_#in~src.offset;memcmp_~count := memcmp_#in~count;havoc memcmp_~r~0;memcmp_~d~0.base, memcmp_~d~0.offset := memcmp_~dst.base, memcmp_~dst.offset;memcmp_~s~0.base, memcmp_~s~0.offset := memcmp_~src.base, memcmp_~src.offset;memcmp_#t~pre5 := 1 + memcmp_~count;memcmp_~count := 1 + memcmp_~count;havoc memcmp_#t~pre5; 3509#L517-3 [2018-11-28 23:18:49,915 INFO L796 eck$LassoCheckResult]: Loop: 3509#L517-3 memcmp_#t~pre6 := memcmp_~count - 1;memcmp_~count := memcmp_~count - 1; 3505#L517-1 assume !!(0 != memcmp_#t~pre6 % 4294967296);havoc memcmp_#t~pre6;call memcmp_#t~mem7 := read~int(memcmp_~d~0.base, memcmp_~d~0.offset, 1);call memcmp_#t~mem8 := read~int(memcmp_~s~0.base, memcmp_~s~0.offset, 1);memcmp_~r~0 := memcmp_#t~mem7 % 256 - memcmp_#t~mem8 % 256; 3506#L518 assume !(0 != memcmp_~r~0);havoc memcmp_#t~mem8;havoc memcmp_#t~mem7;memcmp_#t~pre9.base, memcmp_#t~pre9.offset := memcmp_~d~0.base, 1 + memcmp_~d~0.offset;memcmp_~d~0.base, memcmp_~d~0.offset := memcmp_~d~0.base, 1 + memcmp_~d~0.offset;havoc memcmp_#t~pre9.base, memcmp_#t~pre9.offset;memcmp_#t~pre10.base, memcmp_#t~pre10.offset := memcmp_~s~0.base, 1 + memcmp_~s~0.offset;memcmp_~s~0.base, memcmp_~s~0.offset := memcmp_~s~0.base, 1 + memcmp_~s~0.offset;havoc memcmp_#t~pre10.base, memcmp_#t~pre10.offset; 3509#L517-3 [2018-11-28 23:18:49,915 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-28 23:18:49,915 INFO L82 PathProgramCache]: Analyzing trace with hash -224601240, now seen corresponding path program 4 times [2018-11-28 23:18:49,915 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-28 23:18:49,915 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-28 23:18:49,916 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 23:18:49,916 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-28 23:18:49,916 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 23:18:49,955 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-28 23:18:49,988 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-28 23:18:50,003 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-28 23:18:50,004 INFO L82 PathProgramCache]: Analyzing trace with hash 111382, now seen corresponding path program 7 times [2018-11-28 23:18:50,004 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-28 23:18:50,004 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-28 23:18:50,005 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 23:18:50,005 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-28 23:18:50,005 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 23:18:50,014 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-28 23:18:50,018 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-28 23:18:50,020 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-28 23:18:50,022 INFO L82 PathProgramCache]: Analyzing trace with hash 463587919, now seen corresponding path program 5 times [2018-11-28 23:18:50,022 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-28 23:18:50,022 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-28 23:18:50,026 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 23:18:50,026 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-28 23:18:50,026 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 23:18:50,057 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-28 23:18:50,103 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-28 23:18:50,362 WARN L180 SmtUtils]: Spent 246.00 ms on a formula simplification that was a NOOP. DAG size: 57 [2018-11-28 23:18:53,661 WARN L180 SmtUtils]: Spent 3.25 s on a formula simplification. DAG size of input: 472 DAG size of output: 340 [2018-11-28 23:18:54,044 WARN L180 SmtUtils]: Spent 358.00 ms on a formula simplification that was a NOOP. DAG size: 167 [2018-11-28 23:18:54,048 INFO L216 LassoAnalysis]: Preferences: [2018-11-28 23:18:54,048 INFO L124 ssoRankerPreferences]: Compute integeral hull: false [2018-11-28 23:18:54,048 INFO L125 ssoRankerPreferences]: Enable LassoPartitioneer: true [2018-11-28 23:18:54,048 INFO L126 ssoRankerPreferences]: Term annotations enabled: false [2018-11-28 23:18:54,048 INFO L127 ssoRankerPreferences]: Use exernal solver: false [2018-11-28 23:18:54,048 INFO L128 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2018-11-28 23:18:54,048 INFO L129 ssoRankerPreferences]: Dump SMT script to file: false [2018-11-28 23:18:54,048 INFO L130 ssoRankerPreferences]: Path of dumped script: [2018-11-28 23:18:54,049 INFO L131 ssoRankerPreferences]: Filename of dumped script: strstr_true-termination.c.i_Iteration14_Lasso [2018-11-28 23:18:54,049 INFO L132 ssoRankerPreferences]: MapElimAlgo: Frank [2018-11-28 23:18:54,049 INFO L282 LassoAnalysis]: Starting lasso preprocessing... [2018-11-28 23:18:54,058 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:54,060 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:54,062 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:54,064 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:54,073 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:54,075 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:55,539 WARN L180 SmtUtils]: Spent 736.00 ms on a formula simplification. DAG size of input: 178 DAG size of output: 140 [2018-11-28 23:18:55,921 WARN L180 SmtUtils]: Spent 280.00 ms on a formula simplification. DAG size of input: 115 DAG size of output: 92 [2018-11-28 23:18:55,922 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:55,925 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:55,926 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:55,929 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:55,931 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:55,933 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:55,935 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:55,937 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:55,939 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:55,942 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:55,954 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:55,957 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:55,959 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:55,961 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:55,964 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:55,985 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:55,988 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:55,991 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:55,994 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:55,996 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:55,999 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:56,001 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:56,004 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:56,007 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:56,010 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:56,012 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-11-28 23:18:56,519 WARN L180 SmtUtils]: Spent 156.00 ms on a formula simplification that was a NOOP. DAG size: 79 [2018-11-28 23:18:57,477 WARN L180 SmtUtils]: Spent 745.00 ms on a formula simplification. DAG size of input: 66 DAG size of output: 62 [2018-11-28 23:18:57,730 WARN L180 SmtUtils]: Spent 100.00 ms on a formula simplification that was a NOOP. DAG size: 33 [2018-11-28 23:18:57,947 WARN L180 SmtUtils]: Spent 171.00 ms on a formula simplification that was a NOOP. DAG size: 79 [2018-11-28 23:18:58,245 INFO L300 LassoAnalysis]: Preprocessing complete. [2018-11-28 23:18:58,245 INFO L497 LassoAnalysis]: Using template 'affine'. [2018-11-28 23:18:58,246 INFO L122 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSES Number of strict supporting invariants: 0 Number of non-strict supporting invariants: 1 Consider only non-deceasing supporting invariants: true Simplify termination arguments: true Simplify supporting invariants: trueOverapproximate stem: false [2018-11-28 23:18:58,246 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 23:18:58,246 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-11-28 23:18:58,246 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 23:18:58,247 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 23:18:58,247 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 23:18:58,247 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-11-28 23:18:58,247 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-11-28 23:18:58,247 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 23:18:58,255 INFO L122 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSES Number of strict supporting invariants: 0 Number of non-strict supporting invariants: 1 Consider only non-deceasing supporting invariants: true Simplify termination arguments: true Simplify supporting invariants: trueOverapproximate stem: false [2018-11-28 23:18:58,255 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 23:18:58,255 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-11-28 23:18:58,256 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 23:18:58,256 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 23:18:58,256 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 23:18:58,256 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-11-28 23:18:58,256 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-11-28 23:18:58,256 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 23:18:58,257 INFO L122 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSES Number of strict supporting invariants: 0 Number of non-strict supporting invariants: 1 Consider only non-deceasing supporting invariants: true Simplify termination arguments: true Simplify supporting invariants: trueOverapproximate stem: false [2018-11-28 23:18:58,257 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 23:18:58,257 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-11-28 23:18:58,257 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 23:18:58,257 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 23:18:58,259 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 23:18:58,260 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-11-28 23:18:58,260 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-11-28 23:18:58,260 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 23:18:58,260 INFO L122 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSES Number of strict supporting invariants: 0 Number of non-strict supporting invariants: 1 Consider only non-deceasing supporting invariants: true Simplify termination arguments: true Simplify supporting invariants: trueOverapproximate stem: false [2018-11-28 23:18:58,261 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 23:18:58,261 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-11-28 23:18:58,261 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 23:18:58,261 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 23:18:58,261 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 23:18:58,261 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-11-28 23:18:58,262 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-11-28 23:18:58,262 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 23:18:58,262 INFO L122 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSES Number of strict supporting invariants: 0 Number of non-strict supporting invariants: 1 Consider only non-deceasing supporting invariants: true Simplify termination arguments: true Simplify supporting invariants: trueOverapproximate stem: false [2018-11-28 23:18:58,262 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 23:18:58,263 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-11-28 23:18:58,263 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 23:18:58,263 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 23:18:58,263 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 23:18:58,263 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-11-28 23:18:58,263 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-11-28 23:18:58,263 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 23:18:58,264 INFO L122 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSES Number of strict supporting invariants: 0 Number of non-strict supporting invariants: 1 Consider only non-deceasing supporting invariants: true Simplify termination arguments: true Simplify supporting invariants: trueOverapproximate stem: false [2018-11-28 23:18:58,265 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 23:18:58,265 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 23:18:58,265 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 23:18:58,265 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 23:18:58,266 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2018-11-28 23:18:58,266 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2018-11-28 23:18:58,273 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 23:18:58,273 INFO L122 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSES Number of strict supporting invariants: 0 Number of non-strict supporting invariants: 1 Consider only non-deceasing supporting invariants: true Simplify termination arguments: true Simplify supporting invariants: trueOverapproximate stem: false [2018-11-28 23:18:58,274 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 23:18:58,274 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 23:18:58,274 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 23:18:58,274 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 23:18:58,275 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2018-11-28 23:18:58,275 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2018-11-28 23:18:58,279 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 23:18:58,281 INFO L122 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSES Number of strict supporting invariants: 0 Number of non-strict supporting invariants: 1 Consider only non-deceasing supporting invariants: true Simplify termination arguments: true Simplify supporting invariants: trueOverapproximate stem: false [2018-11-28 23:18:58,281 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 23:18:58,283 INFO L205 nArgumentSynthesizer]: 4 stem disjuncts [2018-11-28 23:18:58,283 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 23:18:58,283 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 23:18:58,291 INFO L402 nArgumentSynthesizer]: We have 12 Motzkin's Theorem applications. [2018-11-28 23:18:58,295 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2018-11-28 23:18:58,324 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 23:18:58,325 INFO L122 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSES Number of strict supporting invariants: 0 Number of non-strict supporting invariants: 1 Consider only non-deceasing supporting invariants: true Simplify termination arguments: true Simplify supporting invariants: trueOverapproximate stem: false [2018-11-28 23:18:58,325 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 23:18:58,325 INFO L205 nArgumentSynthesizer]: 2 stem disjuncts [2018-11-28 23:18:58,325 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 23:18:58,326 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 23:18:58,329 INFO L402 nArgumentSynthesizer]: We have 8 Motzkin's Theorem applications. [2018-11-28 23:18:58,329 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2018-11-28 23:18:58,343 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 23:18:58,343 INFO L122 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSES Number of strict supporting invariants: 0 Number of non-strict supporting invariants: 1 Consider only non-deceasing supporting invariants: true Simplify termination arguments: true Simplify supporting invariants: trueOverapproximate stem: false [2018-11-28 23:18:58,344 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 23:18:58,344 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 23:18:58,344 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 23:18:58,344 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 23:18:58,345 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2018-11-28 23:18:58,345 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2018-11-28 23:18:58,352 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 23:18:58,352 INFO L122 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSES Number of strict supporting invariants: 0 Number of non-strict supporting invariants: 1 Consider only non-deceasing supporting invariants: true Simplify termination arguments: true Simplify supporting invariants: trueOverapproximate stem: false [2018-11-28 23:18:58,356 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 23:18:58,356 INFO L205 nArgumentSynthesizer]: 2 stem disjuncts [2018-11-28 23:18:58,356 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 23:18:58,356 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 23:18:58,361 INFO L402 nArgumentSynthesizer]: We have 8 Motzkin's Theorem applications. [2018-11-28 23:18:58,362 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2018-11-28 23:18:58,378 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 23:18:58,378 INFO L122 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSES Number of strict supporting invariants: 0 Number of non-strict supporting invariants: 1 Consider only non-deceasing supporting invariants: true Simplify termination arguments: true Simplify supporting invariants: trueOverapproximate stem: false [2018-11-28 23:18:58,379 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 23:18:58,379 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 23:18:58,379 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 23:18:58,379 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 23:18:58,383 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2018-11-28 23:18:58,383 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2018-11-28 23:18:58,389 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 23:18:58,390 INFO L122 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSES Number of strict supporting invariants: 0 Number of non-strict supporting invariants: 1 Consider only non-deceasing supporting invariants: true Simplify termination arguments: true Simplify supporting invariants: trueOverapproximate stem: false [2018-11-28 23:18:58,390 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 23:18:58,390 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 23:18:58,393 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 23:18:58,393 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 23:18:58,393 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2018-11-28 23:18:58,393 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2018-11-28 23:18:58,394 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 23:18:58,399 INFO L122 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSES Number of strict supporting invariants: 0 Number of non-strict supporting invariants: 1 Consider only non-deceasing supporting invariants: true Simplify termination arguments: true Simplify supporting invariants: trueOverapproximate stem: false [2018-11-28 23:18:58,399 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 23:18:58,400 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 23:18:58,400 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 23:18:58,400 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 23:18:58,408 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2018-11-28 23:18:58,408 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2018-11-28 23:18:58,436 INFO L421 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2018-11-28 23:18:58,466 INFO L443 ModelExtractionUtils]: Simplification made 4 calls to the SMT solver. [2018-11-28 23:18:58,467 INFO L444 ModelExtractionUtils]: 72 out of 76 variables were initially zero. Simplification set additionally 1 variables to zero. [2018-11-28 23:18:58,467 INFO L437 nArgumentSynthesizer]: Simplifying supporting invariants... [2018-11-28 23:18:58,470 INFO L440 nArgumentSynthesizer]: Removed 2 redundant supporting invariants from a total of 2. [2018-11-28 23:18:58,470 INFO L518 LassoAnalysis]: Proved termination. [2018-11-28 23:18:58,470 INFO L520 LassoAnalysis]: Termination argument consisting of: Ranking function f(v_rep(select #length ULTIMATE.start_strstr_#in~haystack.base)_1, ULTIMATE.start_memcmp_~d~0.offset) = 1*v_rep(select #length ULTIMATE.start_strstr_#in~haystack.base)_1 - 1*ULTIMATE.start_memcmp_~d~0.offset Supporting invariants [] [2018-11-28 23:18:59,095 INFO L297 tatePredicateManager]: 92 out of 94 supporting invariants were superfluous and have been removed [2018-11-28 23:18:59,100 WARN L1298 BoogieBacktranslator]: unknown boogie variable #length [2018-11-28 23:18:59,133 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-28 23:18:59,185 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-28 23:18:59,189 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-28 23:18:59,227 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-28 23:18:59,229 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-28 23:18:59,245 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-28 23:18:59,245 INFO L152 lantAutomatonBouncer]: Defining deterministic Buchi interpolant automaton with honda bouncer for stem and without honda bouncer for loop.3 stem predicates 2 loop predicates [2018-11-28 23:18:59,245 INFO L72 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 91 states and 102 transitions. cyclomatic complexity: 18 Second operand 6 states. [2018-11-28 23:18:59,390 INFO L76 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 91 states and 102 transitions. cyclomatic complexity: 18. Second operand 6 states. Result 118 states and 135 transitions. Complement of second has 9 states. [2018-11-28 23:18:59,394 INFO L142 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 6 states 3 stem states 2 non-accepting loop states 1 accepting loop states [2018-11-28 23:18:59,394 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-11-28 23:18:59,394 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 34 transitions. [2018-11-28 23:18:59,394 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 6 states and 34 transitions. Stem has 44 letters. Loop has 3 letters. [2018-11-28 23:18:59,395 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2018-11-28 23:18:59,395 INFO L642 RefineBuchi]: Bad chosen interpolant automaton: word not accepted [2018-11-28 23:18:59,420 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-28 23:18:59,480 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-28 23:18:59,483 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-28 23:18:59,537 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-28 23:18:59,539 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-28 23:18:59,635 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-28 23:18:59,636 INFO L152 lantAutomatonBouncer]: Defining deterministic Buchi interpolant automaton with honda bouncer for stem and with honda bouncer for loop.3 stem predicates 2 loop predicates [2018-11-28 23:18:59,636 INFO L72 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 91 states and 102 transitions. cyclomatic complexity: 18 Second operand 6 states. [2018-11-28 23:18:59,708 INFO L76 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 91 states and 102 transitions. cyclomatic complexity: 18. Second operand 6 states. Result 118 states and 135 transitions. Complement of second has 9 states. [2018-11-28 23:18:59,709 INFO L142 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 6 states 3 stem states 2 non-accepting loop states 1 accepting loop states [2018-11-28 23:18:59,709 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-11-28 23:18:59,710 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 34 transitions. [2018-11-28 23:18:59,710 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 6 states and 34 transitions. Stem has 44 letters. Loop has 3 letters. [2018-11-28 23:18:59,710 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2018-11-28 23:18:59,710 INFO L642 RefineBuchi]: Bad chosen interpolant automaton: word not accepted [2018-11-28 23:18:59,743 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-28 23:18:59,802 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-28 23:18:59,805 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-28 23:18:59,924 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-28 23:18:59,925 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-28 23:19:00,131 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-28 23:19:00,132 INFO L152 lantAutomatonBouncer]: Defining Buchi interpolant automaton with scrooge nondeterminism in stemwith honda bouncer for stem and without honda bouncer for loop.3 stem predicates 2 loop predicates [2018-11-28 23:19:00,132 INFO L72 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 91 states and 102 transitions. cyclomatic complexity: 18 Second operand 6 states. [2018-11-28 23:19:00,202 INFO L76 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 91 states and 102 transitions. cyclomatic complexity: 18. Second operand 6 states. Result 118 states and 135 transitions. Complement of second has 8 states. [2018-11-28 23:19:00,204 INFO L142 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 6 states 3 stem states 2 non-accepting loop states 1 accepting loop states [2018-11-28 23:19:00,204 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-11-28 23:19:00,205 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 40 transitions. [2018-11-28 23:19:00,205 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 6 states and 40 transitions. Stem has 44 letters. Loop has 3 letters. [2018-11-28 23:19:00,205 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2018-11-28 23:19:00,206 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 6 states and 40 transitions. Stem has 47 letters. Loop has 3 letters. [2018-11-28 23:19:00,206 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2018-11-28 23:19:00,206 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 6 states and 40 transitions. Stem has 44 letters. Loop has 6 letters. [2018-11-28 23:19:00,206 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2018-11-28 23:19:00,207 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 118 states and 135 transitions. [2018-11-28 23:19:00,210 INFO L131 ngComponentsAnalysis]: Automaton has 0 accepting balls. 0 [2018-11-28 23:19:00,210 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 118 states to 0 states and 0 transitions. [2018-11-28 23:19:00,210 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 0 [2018-11-28 23:19:00,210 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 0 [2018-11-28 23:19:00,211 INFO L73 IsDeterministic]: Start isDeterministic. Operand 0 states and 0 transitions. [2018-11-28 23:19:00,211 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2018-11-28 23:19:00,211 INFO L705 BuchiCegarLoop]: Abstraction has 0 states and 0 transitions. [2018-11-28 23:19:00,211 INFO L728 BuchiCegarLoop]: Abstraction has 0 states and 0 transitions. [2018-11-28 23:19:00,211 INFO L608 BuchiCegarLoop]: Abstraction has 0 states and 0 transitions. [2018-11-28 23:19:00,211 INFO L442 BuchiCegarLoop]: ======== Iteration 15============ [2018-11-28 23:19:00,211 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 0 states and 0 transitions. [2018-11-28 23:19:00,211 INFO L131 ngComponentsAnalysis]: Automaton has 0 accepting balls. 0 [2018-11-28 23:19:00,211 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is true [2018-11-28 23:19:00,223 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer CFG 28.11 11:19:00 BoogieIcfgContainer [2018-11-28 23:19:00,224 INFO L132 PluginConnector]: ------------------------ END BuchiAutomizer---------------------------- [2018-11-28 23:19:00,224 INFO L113 PluginConnector]: ------------------------Witness Printer---------------------------- [2018-11-28 23:19:00,224 INFO L271 PluginConnector]: Initializing Witness Printer... [2018-11-28 23:19:00,224 INFO L276 PluginConnector]: Witness Printer initialized [2018-11-28 23:19:00,225 INFO L185 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.11 11:18:15" (3/4) ... [2018-11-28 23:19:00,234 INFO L147 WitnessPrinter]: No result that supports witness generation found [2018-11-28 23:19:00,234 INFO L132 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2018-11-28 23:19:00,235 INFO L168 Benchmark]: Toolchain (without parser) took 45645.72 ms. Allocated memory was 1.0 GB in the beginning and 1.5 GB in the end (delta: 493.4 MB). Free memory was 948.7 MB in the beginning and 1.1 GB in the end (delta: -198.2 MB). Peak memory consumption was 295.2 MB. Max. memory is 11.5 GB. [2018-11-28 23:19:00,236 INFO L168 Benchmark]: CDTParser took 0.17 ms. Allocated memory is still 1.0 GB. Free memory is still 972.8 MB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-28 23:19:00,236 INFO L168 Benchmark]: CACSL2BoogieTranslator took 668.77 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 147.8 MB). Free memory was 948.7 MB in the beginning and 1.1 GB in the end (delta: -173.3 MB). Peak memory consumption was 30.6 MB. Max. memory is 11.5 GB. [2018-11-28 23:19:00,237 INFO L168 Benchmark]: Boogie Procedure Inliner took 56.64 ms. Allocated memory is still 1.2 GB. Free memory is still 1.1 GB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-28 23:19:00,239 INFO L168 Benchmark]: Boogie Preprocessor took 50.91 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 6.8 MB). Peak memory consumption was 6.8 MB. Max. memory is 11.5 GB. [2018-11-28 23:19:00,240 INFO L168 Benchmark]: RCFGBuilder took 588.05 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 25.8 MB). Peak memory consumption was 25.8 MB. Max. memory is 11.5 GB. [2018-11-28 23:19:00,240 INFO L168 Benchmark]: BuchiAutomizer took 44266.35 ms. Allocated memory was 1.2 GB in the beginning and 1.5 GB in the end (delta: 345.5 MB). Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: -57.5 MB). Peak memory consumption was 288.0 MB. Max. memory is 11.5 GB. [2018-11-28 23:19:00,242 INFO L168 Benchmark]: Witness Printer took 9.89 ms. Allocated memory is still 1.5 GB. Free memory is still 1.1 GB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-28 23:19:00,248 INFO L336 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.17 ms. Allocated memory is still 1.0 GB. Free memory is still 972.8 MB. There was no memory consumed. Max. memory is 11.5 GB. * CACSL2BoogieTranslator took 668.77 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 147.8 MB). Free memory was 948.7 MB in the beginning and 1.1 GB in the end (delta: -173.3 MB). Peak memory consumption was 30.6 MB. Max. memory is 11.5 GB. * Boogie Procedure Inliner took 56.64 ms. Allocated memory is still 1.2 GB. Free memory is still 1.1 GB. There was no memory consumed. Max. memory is 11.5 GB. * Boogie Preprocessor took 50.91 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 6.8 MB). Peak memory consumption was 6.8 MB. Max. memory is 11.5 GB. * RCFGBuilder took 588.05 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 25.8 MB). Peak memory consumption was 25.8 MB. Max. memory is 11.5 GB. * BuchiAutomizer took 44266.35 ms. Allocated memory was 1.2 GB in the beginning and 1.5 GB in the end (delta: 345.5 MB). Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: -57.5 MB). Peak memory consumption was 288.0 MB. Max. memory is 11.5 GB. * Witness Printer took 9.89 ms. Allocated memory is still 1.5 GB. Free memory is still 1.1 GB. There was no memory consumed. Max. memory is 11.5 GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: - GenericResult: Unfinished Backtranslation unknown boogie variable #length - GenericResult: Unfinished Backtranslation unknown boogie variable #length - GenericResult: Unfinished Backtranslation unknown boogie variable #length - GenericResult: Unfinished Backtranslation unknown boogie variable #length - GenericResult: Unfinished Backtranslation unknown boogie variable #length * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - StatisticsResult: Constructed decomposition of program Your program was decomposed into 14 terminating modules (9 trivial, 4 deterministic, 1 nondeterministic). One deterministic module has affine ranking function -1 * s + unknown-#length-unknown[__builtin_alloca (out_len)] and consists of 5 locations. One deterministic module has affine ranking function -1 * s + unknown-#length-unknown[__builtin_alloca (in_len)] and consists of 6 locations. One deterministic module has affine ranking function -1 * haystack + unknown-#length-unknown[__builtin_alloca (in_len)] and consists of 6 locations. One deterministic module has affine ranking function -1 * d + unknown-#length-unknown[d] and consists of 4 locations. One nondeterministic module has affine ranking function unknown-#length-unknown[haystack] + -1 * d and consists of 6 locations. 9 modules have a trivial ranking function, the largest among these consists of 23 locations. - StatisticsResult: Timing statistics BüchiAutomizer plugin needed 44.2s and 15 iterations. TraceHistogramMax:4. Analysis of lassos took 34.2s. Construction of modules took 2.9s. Büchi inclusion checks took 6.6s. Highest rank in rank-based complementation 3. Minimization of det autom 1. Minimization of nondet autom 13. Automata minimization 0.1s AutomataMinimizationTime, 13 MinimizatonAttempts, 514 StatesRemovedByMinimization, 9 NontrivialMinimizations. Non-live state removal took 0.0s Buchi closure took 0.0s. Biggest automaton had 91 states and ocurred in iteration 13. Nontrivial modules had stage [4, 0, 1, 0, 0]. InterpolantCoveringCapabilityFinite: 0/0 InterpolantCoveringCapabilityBuchi: 0/0 HoareTripleCheckerStatistics: 482 SDtfs, 1431 SDslu, 1799 SDs, 0 SdLazy, 2007 SolverSat, 241 SolverUnsat, 0 SolverUnknown, 0 SolverNotchecked, 2.9s Time LassoAnalysisResults: nont0 unkn0 SFLI0 SFLT0 conc0 concLT0 SILN0 SILU9 SILI0 SILT0 lasso5 LassoPreprocessingBenchmarks: Lassos: inital288 mio100 ax100 hnf99 lsp89 ukn86 mio100 lsp43 div107 bol100 ite100 ukn100 eq188 hnf85 smp98 dnf150 smp89 tf100 neg99 sie101 LassoTerminationAnalysisBenchmarks: ConstraintsSatisfiability: unsat Degree: 0 Time: 44ms VariablesStem: 14 VariablesLoop: 10 DisjunctsStem: 4 DisjunctsLoop: 1 SupportingInvariants: 2 MotzkinApplications: 12 LassoTerminationAnalysisBenchmarks: LassoNonterminationAnalysisSatFixpoint: 0 LassoNonterminationAnalysisSatUnbounded: 0 LassoNonterminationAnalysisUnsat: 0 LassoNonterminationAnalysisUnknown: 0 LassoNonterminationAnalysisTime: 0.0s - TerminationAnalysisResult: Termination proven Buchi Automizer proved that your program is terminating RESULT: Ultimate proved your program to be correct! Received shutdown request...