./Ultimate.py --spec ../../sv-benchmarks/c/properties/termination.prp --file ../../sv-benchmarks/c/termination-libowfat/strstr_true-termination.c.i --full-output --architecture 64bit -------------------------------------------------------------------------------- Checking for termination Using default analysis Version 0cd3be1d Calling Ultimate with: java -Dosgi.configuration.area=/tmp/vcloud-vcloud-master/worker/working_dir_d8835e7f-0f14-44c8-8143-7cccf656c234/bin-2019/uautomizer/data/config -Xmx12G -Xms1G -jar /tmp/vcloud-vcloud-master/worker/working_dir_d8835e7f-0f14-44c8-8143-7cccf656c234/bin-2019/uautomizer/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /tmp/vcloud-vcloud-master/worker/working_dir_d8835e7f-0f14-44c8-8143-7cccf656c234/bin-2019/uautomizer/data -tc /tmp/vcloud-vcloud-master/worker/working_dir_d8835e7f-0f14-44c8-8143-7cccf656c234/bin-2019/uautomizer/config/AutomizerTermination.xml -i ../../sv-benchmarks/c/termination-libowfat/strstr_true-termination.c.i -s /tmp/vcloud-vcloud-master/worker/working_dir_d8835e7f-0f14-44c8-8143-7cccf656c234/bin-2019/uautomizer/config/svcomp-Termination-64bit-Automizer_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /tmp/vcloud-vcloud-master/worker/working_dir_d8835e7f-0f14-44c8-8143-7cccf656c234/bin-2019/uautomizer --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.23-0cd3be1 [2018-11-28 10:35:08,094 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-28 10:35:08,095 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-28 10:35:08,101 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-28 10:35:08,101 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-28 10:35:08,102 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-28 10:35:08,103 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-28 10:35:08,104 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-28 10:35:08,105 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-28 10:35:08,105 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-28 10:35:08,106 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-28 10:35:08,106 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-28 10:35:08,107 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-28 10:35:08,107 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-28 10:35:08,108 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-28 10:35:08,109 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-28 10:35:08,109 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-28 10:35:08,110 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-28 10:35:08,112 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-28 10:35:08,113 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-28 10:35:08,113 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-28 10:35:08,114 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-28 10:35:08,116 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-28 10:35:08,116 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-28 10:35:08,116 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-28 10:35:08,117 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-28 10:35:08,117 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-28 10:35:08,118 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-28 10:35:08,118 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-28 10:35:08,119 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-28 10:35:08,119 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-28 10:35:08,119 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-28 10:35:08,119 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-28 10:35:08,119 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-28 10:35:08,120 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-28 10:35:08,120 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-28 10:35:08,120 INFO L98 SettingsManager]: Beginning loading settings from /tmp/vcloud-vcloud-master/worker/working_dir_d8835e7f-0f14-44c8-8143-7cccf656c234/bin-2019/uautomizer/config/svcomp-Termination-64bit-Automizer_Default.epf [2018-11-28 10:35:08,129 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-28 10:35:08,129 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-28 10:35:08,130 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-28 10:35:08,130 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-28 10:35:08,130 INFO L133 SettingsManager]: * Use SBE=true [2018-11-28 10:35:08,130 INFO L131 SettingsManager]: Preferences of BuchiAutomizer differ from their defaults: [2018-11-28 10:35:08,130 INFO L133 SettingsManager]: * NCSB implementation=INTSET_LAZY3 [2018-11-28 10:35:08,130 INFO L133 SettingsManager]: * Use old map elimination=false [2018-11-28 10:35:08,131 INFO L133 SettingsManager]: * Use external solver (rank synthesis)=false [2018-11-28 10:35:08,131 INFO L133 SettingsManager]: * Use only trivial implications for array writes=true [2018-11-28 10:35:08,131 INFO L133 SettingsManager]: * Rank analysis=LINEAR_WITH_GUESSES [2018-11-28 10:35:08,131 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-28 10:35:08,131 INFO L133 SettingsManager]: * Check unreachability of error function in SV-COMP mode=false [2018-11-28 10:35:08,131 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2018-11-28 10:35:08,131 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-28 10:35:08,131 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=ASSUME [2018-11-28 10:35:08,132 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=ASSUME [2018-11-28 10:35:08,132 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=ASSUME [2018-11-28 10:35:08,132 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-28 10:35:08,132 INFO L133 SettingsManager]: * Assume nondeterminstic values are in range=false [2018-11-28 10:35:08,132 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-28 10:35:08,132 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=ASSUME [2018-11-28 10:35:08,132 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-28 10:35:08,133 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-28 10:35:08,133 INFO L133 SettingsManager]: * To the following directory=/home/matthias/ultimate/dump [2018-11-28 10:35:08,133 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-28 10:35:08,133 INFO L133 SettingsManager]: * Trace refinement strategy=CAMEL [2018-11-28 10:35:08,133 INFO L133 SettingsManager]: * Dump automata to the following directory=/home/matthias/ultimate/dump/auto [2018-11-28 10:35:08,134 INFO L131 SettingsManager]: Preferences of IcfgTransformer differ from their defaults: [2018-11-28 10:35:08,134 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 -> /tmp/vcloud-vcloud-master/worker/working_dir_d8835e7f-0f14-44c8-8143-7cccf656c234/bin-2019/uautomizer 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 10:35:08,157 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-28 10:35:08,165 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-28 10:35:08,168 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-28 10:35:08,169 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-28 10:35:08,169 INFO L276 PluginConnector]: CDTParser initialized [2018-11-28 10:35:08,170 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /tmp/vcloud-vcloud-master/worker/working_dir_d8835e7f-0f14-44c8-8143-7cccf656c234/bin-2019/uautomizer/../../sv-benchmarks/c/termination-libowfat/strstr_true-termination.c.i [2018-11-28 10:35:08,208 INFO L221 CDTParser]: Created temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_d8835e7f-0f14-44c8-8143-7cccf656c234/bin-2019/uautomizer/data/b4f83423c/d49ae815a53242d294e61af0a065d819/FLAG6ce1fa792 [2018-11-28 10:35:08,537 INFO L307 CDTParser]: Found 1 translation units. [2018-11-28 10:35:08,538 INFO L161 CDTParser]: Scanning /tmp/vcloud-vcloud-master/worker/working_dir_d8835e7f-0f14-44c8-8143-7cccf656c234/sv-benchmarks/c/termination-libowfat/strstr_true-termination.c.i [2018-11-28 10:35:08,544 INFO L355 CDTParser]: About to delete temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_d8835e7f-0f14-44c8-8143-7cccf656c234/bin-2019/uautomizer/data/b4f83423c/d49ae815a53242d294e61af0a065d819/FLAG6ce1fa792 [2018-11-28 10:35:08,551 INFO L363 CDTParser]: Successfully deleted /tmp/vcloud-vcloud-master/worker/working_dir_d8835e7f-0f14-44c8-8143-7cccf656c234/bin-2019/uautomizer/data/b4f83423c/d49ae815a53242d294e61af0a065d819 [2018-11-28 10:35:08,554 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-28 10:35:08,554 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-28 10:35:08,555 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-28 10:35:08,555 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-28 10:35:08,558 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-28 10:35:08,559 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.11 10:35:08" (1/1) ... [2018-11-28 10:35:08,561 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@23acc025 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.11 10:35:08, skipping insertion in model container [2018-11-28 10:35:08,561 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.11 10:35:08" (1/1) ... [2018-11-28 10:35:08,565 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-28 10:35:08,589 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-28 10:35:08,765 INFO L203 PostProcessor]: Analyzing one entry point: main [2018-11-28 10:35:08,827 INFO L191 MainTranslator]: Completed pre-run [2018-11-28 10:35:08,858 INFO L203 PostProcessor]: Analyzing one entry point: main [2018-11-28 10:35:08,890 INFO L195 MainTranslator]: Completed translation [2018-11-28 10:35:08,890 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.11 10:35:08 WrapperNode [2018-11-28 10:35:08,890 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-28 10:35:08,891 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-28 10:35:08,891 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-28 10:35:08,891 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-28 10:35:08,898 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.11 10:35:08" (1/1) ... [2018-11-28 10:35:08,910 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.11 10:35:08" (1/1) ... [2018-11-28 10:35:08,931 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-28 10:35:08,931 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-28 10:35:08,931 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-28 10:35:08,931 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-28 10:35:08,939 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.11 10:35:08" (1/1) ... [2018-11-28 10:35:08,940 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.11 10:35:08" (1/1) ... [2018-11-28 10:35:08,943 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.11 10:35:08" (1/1) ... [2018-11-28 10:35:08,943 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.11 10:35:08" (1/1) ... [2018-11-28 10:35:08,949 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.11 10:35:08" (1/1) ... [2018-11-28 10:35:08,953 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.11 10:35:08" (1/1) ... [2018-11-28 10:35:08,955 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.11 10:35:08" (1/1) ... [2018-11-28 10:35:08,957 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-28 10:35:08,957 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-28 10:35:08,957 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-28 10:35:08,957 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-28 10:35:08,958 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.11 10:35:08" (1/1) ... No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_d8835e7f-0f14-44c8-8143-7cccf656c234/bin-2019/uautomizer/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 10:35:08,997 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-28 10:35:08,997 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2018-11-28 10:35:08,998 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2018-11-28 10:35:08,998 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-28 10:35:08,998 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-28 10:35:08,998 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-28 10:35:09,310 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-28 10:35:09,310 INFO L280 CfgBuilder]: Removed 16 assue(true) statements. [2018-11-28 10:35:09,310 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.11 10:35:09 BoogieIcfgContainer [2018-11-28 10:35:09,311 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-28 10:35:09,311 INFO L113 PluginConnector]: ------------------------BuchiAutomizer---------------------------- [2018-11-28 10:35:09,311 INFO L271 PluginConnector]: Initializing BuchiAutomizer... [2018-11-28 10:35:09,314 INFO L276 PluginConnector]: BuchiAutomizer initialized [2018-11-28 10:35:09,315 INFO L102 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2018-11-28 10:35:09,315 INFO L185 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "CDTParser AST 28.11 10:35:08" (1/3) ... [2018-11-28 10:35:09,316 INFO L205 PluginConnector]: Invalid model from BuchiAutomizer for observer de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver@689217ff and model type de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer AST 28.11 10:35:09, skipping insertion in model container [2018-11-28 10:35:09,316 INFO L102 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2018-11-28 10:35:09,316 INFO L185 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.11 10:35:08" (2/3) ... [2018-11-28 10:35:09,316 INFO L205 PluginConnector]: Invalid model from BuchiAutomizer for observer de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver@689217ff and model type de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer AST 28.11 10:35:09, skipping insertion in model container [2018-11-28 10:35:09,316 INFO L102 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2018-11-28 10:35:09,316 INFO L185 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.11 10:35:09" (3/3) ... [2018-11-28 10:35:09,317 INFO L375 chiAutomizerObserver]: Analyzing ICFG strstr_true-termination.c.i [2018-11-28 10:35:09,350 INFO L133 ementStrategyFactory]: Using default assertion order modulation [2018-11-28 10:35:09,351 INFO L374 BuchiCegarLoop]: Interprodecural is true [2018-11-28 10:35:09,351 INFO L375 BuchiCegarLoop]: Hoare is false [2018-11-28 10:35:09,351 INFO L376 BuchiCegarLoop]: Compute interpolants for ForwardPredicates [2018-11-28 10:35:09,351 INFO L377 BuchiCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-28 10:35:09,351 INFO L378 BuchiCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-28 10:35:09,351 INFO L379 BuchiCegarLoop]: Difference is false [2018-11-28 10:35:09,351 INFO L380 BuchiCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-28 10:35:09,351 INFO L383 BuchiCegarLoop]: ======== Iteration 0==of CEGAR loop == BuchiCegarLoop======== [2018-11-28 10:35:09,361 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 33 states. [2018-11-28 10:35:09,376 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 15 [2018-11-28 10:35:09,376 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2018-11-28 10:35:09,377 INFO L119 BuchiIsEmpty]: Starting construction of run [2018-11-28 10:35:09,381 INFO L866 BuchiCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1] [2018-11-28 10:35:09,381 INFO L867 BuchiCegarLoop]: Counterexample loop histogram [1, 1, 1] [2018-11-28 10:35:09,381 INFO L442 BuchiCegarLoop]: ======== Iteration 1============ [2018-11-28 10:35:09,381 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 33 states. [2018-11-28 10:35:09,383 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 15 [2018-11-28 10:35:09,383 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2018-11-28 10:35:09,383 INFO L119 BuchiIsEmpty]: Starting construction of run [2018-11-28 10:35:09,383 INFO L866 BuchiCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1] [2018-11-28 10:35:09,383 INFO L867 BuchiCegarLoop]: Counterexample loop histogram [1, 1, 1] [2018-11-28 10:35:09,388 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 10:35:09,388 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 10:35:09,391 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-28 10:35:09,391 INFO L82 PathProgramCache]: Analyzing trace with hash 28695849, now seen corresponding path program 1 times [2018-11-28 10:35:09,392 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-28 10:35:09,392 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-28 10:35:09,420 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 10:35:09,420 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-28 10:35:09,420 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 10:35:09,449 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-28 10:35:09,462 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-28 10:35:09,476 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-28 10:35:09,476 INFO L82 PathProgramCache]: Analyzing trace with hash 50806, now seen corresponding path program 1 times [2018-11-28 10:35:09,477 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-28 10:35:09,477 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-28 10:35:09,477 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 10:35:09,478 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-28 10:35:09,478 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 10:35:09,481 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-28 10:35:09,484 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-28 10:35:09,487 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-28 10:35:09,487 INFO L82 PathProgramCache]: Analyzing trace with hash 179566670, now seen corresponding path program 1 times [2018-11-28 10:35:09,487 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-28 10:35:09,487 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-28 10:35:09,488 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 10:35:09,488 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-28 10:35:09,488 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 10:35:09,506 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-28 10:35:09,522 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-28 10:35:09,850 WARN L180 SmtUtils]: Spent 246.00 ms on a formula simplification. DAG size of input: 113 DAG size of output: 96 [2018-11-28 10:35:09,942 INFO L216 LassoAnalysis]: Preferences: [2018-11-28 10:35:09,943 INFO L124 ssoRankerPreferences]: Compute integeral hull: false [2018-11-28 10:35:09,943 INFO L125 ssoRankerPreferences]: Enable LassoPartitioneer: true [2018-11-28 10:35:09,943 INFO L126 ssoRankerPreferences]: Term annotations enabled: false [2018-11-28 10:35:09,943 INFO L127 ssoRankerPreferences]: Use exernal solver: false [2018-11-28 10:35:09,943 INFO L128 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2018-11-28 10:35:09,944 INFO L129 ssoRankerPreferences]: Dump SMT script to file: false [2018-11-28 10:35:09,944 INFO L130 ssoRankerPreferences]: Path of dumped script: [2018-11-28 10:35:09,944 INFO L131 ssoRankerPreferences]: Filename of dumped script: strstr_true-termination.c.i_Iteration1_Lasso [2018-11-28 10:35:09,944 INFO L132 ssoRankerPreferences]: MapElimAlgo: Frank [2018-11-28 10:35:09,944 INFO L282 LassoAnalysis]: Starting lasso preprocessing... [2018-11-28 10:35:09,968 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 10:35:09,973 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 10:35:09,979 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 10:35:10,149 WARN L180 SmtUtils]: Spent 109.00 ms on a formula simplification. DAG size of input: 73 DAG size of output: 69 [2018-11-28 10:35:10,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 10:35:10,184 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 10:35:10,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 10:35:10,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 10:35:10,188 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 10:35:10,189 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 10:35:10,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 10:35:10,191 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 10:35:10,192 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 10:35:10,193 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 10:35:10,195 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 10:35:10,196 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 10:35:10,197 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 10:35:10,198 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 10:35:10,200 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 10:35:10,201 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 10:35:10,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 10:35:10,205 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 10:35:10,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 10:35:10,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 10:35:10,209 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 10:35:10,211 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 10:35:10,216 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 10:35:10,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 10:35:10,218 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 10:35:10,526 INFO L300 LassoAnalysis]: Preprocessing complete. [2018-11-28 10:35:10,530 INFO L497 LassoAnalysis]: Using template 'affine'. [2018-11-28 10:35:10,532 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 10:35:10,533 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 10:35:10,533 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-11-28 10:35:10,533 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 10:35:10,533 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 10:35:10,534 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 10:35:10,535 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-11-28 10:35:10,535 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-11-28 10:35:10,537 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 10:35:10,537 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 10:35:10,538 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 10:35:10,538 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-11-28 10:35:10,538 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 10:35:10,538 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 10:35:10,538 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 10:35:10,539 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-11-28 10:35:10,539 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-11-28 10:35:10,539 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 10:35:10,540 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 10:35:10,540 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 10:35:10,540 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 10:35:10,540 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 10:35:10,540 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 10:35:10,544 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2018-11-28 10:35:10,544 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2018-11-28 10:35:10,554 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 10:35:10,554 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 10:35:10,555 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 10:35:10,555 INFO L205 nArgumentSynthesizer]: 2 stem disjuncts [2018-11-28 10:35:10,555 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 10:35:10,555 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 10:35:10,558 INFO L402 nArgumentSynthesizer]: We have 8 Motzkin's Theorem applications. [2018-11-28 10:35:10,558 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2018-11-28 10:35:10,568 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 10:35:10,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 10:35:10,569 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 10:35:10,569 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 10:35:10,570 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 10:35:10,570 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 10:35:10,573 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2018-11-28 10:35:10,574 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2018-11-28 10:35:10,611 INFO L421 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2018-11-28 10:35:10,631 INFO L443 ModelExtractionUtils]: Simplification made 5 calls to the SMT solver. [2018-11-28 10:35:10,632 INFO L444 ModelExtractionUtils]: 25 out of 31 variables were initially zero. Simplification set additionally 3 variables to zero. [2018-11-28 10:35:10,633 INFO L437 nArgumentSynthesizer]: Simplifying supporting invariants... [2018-11-28 10:35:10,635 INFO L440 nArgumentSynthesizer]: Removed 2 redundant supporting invariants from a total of 2. [2018-11-28 10:35:10,635 INFO L518 LassoAnalysis]: Proved termination. [2018-11-28 10:35:10,635 INFO L520 LassoAnalysis]: Termination argument consisting of: Ranking function f(v_rep(select #length ULTIMATE.start_main_#t~malloc22.base)_1, ULTIMATE.start_strlen_~s.offset) = 1*v_rep(select #length ULTIMATE.start_main_#t~malloc22.base)_1 - 1*ULTIMATE.start_strlen_~s.offset Supporting invariants [] [2018-11-28 10:35:10,667 INFO L297 tatePredicateManager]: 8 out of 9 supporting invariants were superfluous and have been removed [2018-11-28 10:35:10,673 WARN L1298 BoogieBacktranslator]: unknown boogie variable #length [2018-11-28 10:35:10,693 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-28 10:35:10,704 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-28 10:35:10,707 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-28 10:35:10,715 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-28 10:35:10,716 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-28 10:35:10,727 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 10:35:10,736 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 10:35:10,737 INFO L72 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 33 states. Second operand 4 states. [2018-11-28 10:35:10,795 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 10:35:10,795 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 10:35:10,796 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-28 10:35:10,797 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 85 transitions. [2018-11-28 10:35:10,798 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 5 states and 85 transitions. Stem has 5 letters. Loop has 3 letters. [2018-11-28 10:35:10,799 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2018-11-28 10:35:10,799 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 5 states and 85 transitions. Stem has 8 letters. Loop has 3 letters. [2018-11-28 10:35:10,799 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2018-11-28 10:35:10,799 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 5 states and 85 transitions. Stem has 5 letters. Loop has 6 letters. [2018-11-28 10:35:10,799 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2018-11-28 10:35:10,800 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 90 states and 130 transitions. [2018-11-28 10:35:10,802 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 24 [2018-11-28 10:35:10,805 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 90 states to 47 states and 62 transitions. [2018-11-28 10:35:10,805 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 43 [2018-11-28 10:35:10,805 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 44 [2018-11-28 10:35:10,806 INFO L73 IsDeterministic]: Start isDeterministic. Operand 47 states and 62 transitions. [2018-11-28 10:35:10,806 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2018-11-28 10:35:10,806 INFO L705 BuchiCegarLoop]: Abstraction has 47 states and 62 transitions. [2018-11-28 10:35:10,816 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 47 states and 62 transitions. [2018-11-28 10:35:10,823 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 47 to 47. [2018-11-28 10:35:10,823 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 47 states. [2018-11-28 10:35:10,824 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 47 states to 47 states and 62 transitions. [2018-11-28 10:35:10,824 INFO L728 BuchiCegarLoop]: Abstraction has 47 states and 62 transitions. [2018-11-28 10:35:10,824 INFO L608 BuchiCegarLoop]: Abstraction has 47 states and 62 transitions. [2018-11-28 10:35:10,824 INFO L442 BuchiCegarLoop]: ======== Iteration 2============ [2018-11-28 10:35:10,825 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 47 states and 62 transitions. [2018-11-28 10:35:10,825 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 24 [2018-11-28 10:35:10,826 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2018-11-28 10:35:10,826 INFO L119 BuchiIsEmpty]: Starting construction of run [2018-11-28 10:35:10,826 INFO L866 BuchiCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1, 1, 1] [2018-11-28 10:35:10,826 INFO L867 BuchiCegarLoop]: Counterexample loop histogram [1, 1, 1] [2018-11-28 10:35:10,827 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 10:35:10,827 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 10:35:10,827 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-28 10:35:10,827 INFO L82 PathProgramCache]: Analyzing trace with hash 1806906284, now seen corresponding path program 1 times [2018-11-28 10:35:10,827 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-28 10:35:10,827 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-28 10:35:10,828 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 10:35:10,828 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-28 10:35:10,828 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 10:35:10,834 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-28 10:35:10,871 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 10:35:10,872 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-28 10:35:10,872 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2018-11-28 10:35:10,873 INFO L799 eck$LassoCheckResult]: stem already infeasible [2018-11-28 10:35:10,874 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-28 10:35:10,874 INFO L82 PathProgramCache]: Analyzing trace with hash 72652, now seen corresponding path program 1 times [2018-11-28 10:35:10,874 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-28 10:35:10,874 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-28 10:35:10,874 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 10:35:10,875 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-28 10:35:10,875 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 10:35:10,877 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-28 10:35:10,879 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-28 10:35:10,900 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-11-28 10:35:10,900 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-28 10:35:10,901 INFO L87 Difference]: Start difference. First operand 47 states and 62 transitions. cyclomatic complexity: 20 Second operand 3 states. [2018-11-28 10:35:10,911 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-28 10:35:10,911 INFO L93 Difference]: Finished difference Result 29 states and 36 transitions. [2018-11-28 10:35:10,912 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-28 10:35:10,912 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 29 states and 36 transitions. [2018-11-28 10:35:10,913 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 12 [2018-11-28 10:35:10,913 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 29 states to 29 states and 36 transitions. [2018-11-28 10:35:10,913 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 26 [2018-11-28 10:35:10,913 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 26 [2018-11-28 10:35:10,913 INFO L73 IsDeterministic]: Start isDeterministic. Operand 29 states and 36 transitions. [2018-11-28 10:35:10,913 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2018-11-28 10:35:10,913 INFO L705 BuchiCegarLoop]: Abstraction has 29 states and 36 transitions. [2018-11-28 10:35:10,913 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 29 states and 36 transitions. [2018-11-28 10:35:10,914 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 29 to 29. [2018-11-28 10:35:10,914 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 29 states. [2018-11-28 10:35:10,915 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 36 transitions. [2018-11-28 10:35:10,915 INFO L728 BuchiCegarLoop]: Abstraction has 29 states and 36 transitions. [2018-11-28 10:35:10,915 INFO L608 BuchiCegarLoop]: Abstraction has 29 states and 36 transitions. [2018-11-28 10:35:10,915 INFO L442 BuchiCegarLoop]: ======== Iteration 3============ [2018-11-28 10:35:10,915 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 29 states and 36 transitions. [2018-11-28 10:35:10,915 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 12 [2018-11-28 10:35:10,915 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2018-11-28 10:35:10,915 INFO L119 BuchiIsEmpty]: Starting construction of run [2018-11-28 10:35:10,915 INFO L866 BuchiCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-28 10:35:10,916 INFO L867 BuchiCegarLoop]: Counterexample loop histogram [1, 1, 1] [2018-11-28 10:35:10,916 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 10:35:10,916 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 10:35:10,916 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-28 10:35:10,916 INFO L82 PathProgramCache]: Analyzing trace with hash 764823385, now seen corresponding path program 1 times [2018-11-28 10:35:10,916 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-28 10:35:10,916 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-28 10:35:10,916 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 10:35:10,916 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-28 10:35:10,917 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 10:35:10,924 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-28 10:35:10,931 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-28 10:35:10,935 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-28 10:35:10,935 INFO L82 PathProgramCache]: Analyzing trace with hash 72652, now seen corresponding path program 2 times [2018-11-28 10:35:10,935 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-28 10:35:10,935 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-28 10:35:10,936 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 10:35:10,936 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-28 10:35:10,936 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 10:35:10,938 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-28 10:35:10,940 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-28 10:35:10,941 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-28 10:35:10,941 INFO L82 PathProgramCache]: Analyzing trace with hash 52000116, now seen corresponding path program 1 times [2018-11-28 10:35:10,941 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-28 10:35:10,941 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-28 10:35:10,941 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 10:35:10,942 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-28 10:35:10,942 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 10:35:10,954 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-28 10:35:10,964 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-28 10:35:11,236 WARN L180 SmtUtils]: Spent 239.00 ms on a formula simplification. DAG size of input: 143 DAG size of output: 115 [2018-11-28 10:35:11,307 INFO L216 LassoAnalysis]: Preferences: [2018-11-28 10:35:11,308 INFO L124 ssoRankerPreferences]: Compute integeral hull: false [2018-11-28 10:35:11,308 INFO L125 ssoRankerPreferences]: Enable LassoPartitioneer: true [2018-11-28 10:35:11,308 INFO L126 ssoRankerPreferences]: Term annotations enabled: false [2018-11-28 10:35:11,308 INFO L127 ssoRankerPreferences]: Use exernal solver: false [2018-11-28 10:35:11,308 INFO L128 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2018-11-28 10:35:11,308 INFO L129 ssoRankerPreferences]: Dump SMT script to file: false [2018-11-28 10:35:11,308 INFO L130 ssoRankerPreferences]: Path of dumped script: [2018-11-28 10:35:11,308 INFO L131 ssoRankerPreferences]: Filename of dumped script: strstr_true-termination.c.i_Iteration3_Lasso [2018-11-28 10:35:11,308 INFO L132 ssoRankerPreferences]: MapElimAlgo: Frank [2018-11-28 10:35:11,308 INFO L282 LassoAnalysis]: Starting lasso preprocessing... [2018-11-28 10:35:11,312 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 10:35:11,315 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 10:35:11,316 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 10:35:11,317 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 10:35:11,318 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 10:35:11,320 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 10:35:11,321 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 10:35:11,322 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 10:35:11,323 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 10:35:11,324 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 10:35:11,325 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 10:35:11,326 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 10:35:11,331 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 10:35:11,332 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 10:35:11,334 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 10:35:11,337 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 10:35:11,339 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 10:35:11,341 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 10:35:11,344 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 10:35:11,351 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 10:35:11,352 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 10:35:11,353 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 10:35:11,354 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 10:35:11,355 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 10:35:11,356 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 10:35:11,357 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 10:35:11,358 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 10:35:11,540 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 10:35:11,786 INFO L300 LassoAnalysis]: Preprocessing complete. [2018-11-28 10:35:11,786 INFO L497 LassoAnalysis]: Using template 'affine'. [2018-11-28 10:35:11,786 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 10:35:11,787 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 10:35:11,787 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-11-28 10:35:11,787 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 10:35:11,787 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 10:35:11,787 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 10:35:11,788 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-11-28 10:35:11,788 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-11-28 10:35:11,788 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 10:35:11,789 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 10:35:11,789 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 10:35:11,789 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-11-28 10:35:11,789 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 10:35:11,789 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 10:35:11,789 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 10:35:11,790 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-11-28 10:35:11,790 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-11-28 10:35:11,790 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 10:35:11,790 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 10:35:11,791 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 10:35:11,791 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-11-28 10:35:11,791 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 10:35:11,791 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 10:35:11,791 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 10:35:11,791 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-11-28 10:35:11,792 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-11-28 10:35:11,792 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 10:35:11,792 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 10:35:11,792 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 10:35:11,793 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-11-28 10:35:11,793 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 10:35:11,793 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 10:35:11,793 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 10:35:11,793 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-11-28 10:35:11,793 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-11-28 10:35:11,794 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 10:35:11,794 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 10:35:11,794 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 10:35:11,795 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 10:35:11,795 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 10:35:11,795 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 10:35:11,795 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2018-11-28 10:35:11,796 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2018-11-28 10:35:11,797 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 10:35:11,797 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 10:35:11,798 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 10:35:11,798 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-11-28 10:35:11,798 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 10:35:11,798 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 10:35:11,798 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 10:35:11,798 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-11-28 10:35:11,799 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-11-28 10:35:11,799 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 10:35:11,799 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 10:35:11,799 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 10:35:11,800 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 10:35:11,800 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 10:35:11,800 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 10:35:11,801 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2018-11-28 10:35:11,801 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2018-11-28 10:35:11,802 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 10:35:11,802 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 10:35:11,802 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 10:35:11,803 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-11-28 10:35:11,803 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 10:35:11,803 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 10:35:11,803 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 10:35:11,803 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-11-28 10:35:11,803 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-11-28 10:35:11,804 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 10:35:11,804 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 10:35:11,804 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 10:35:11,805 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-11-28 10:35:11,805 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 10:35:11,805 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 10:35:11,805 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 10:35:11,805 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-11-28 10:35:11,805 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-11-28 10:35:11,806 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 10:35:11,806 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 10:35:11,806 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 10:35:11,807 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-11-28 10:35:11,807 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 10:35:11,807 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 10:35:11,807 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 10:35:11,807 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-11-28 10:35:11,807 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-11-28 10:35:11,808 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 10:35:11,808 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 10:35:11,808 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 10:35:11,808 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-11-28 10:35:11,809 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 10:35:11,809 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 10:35:11,809 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 10:35:11,809 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-11-28 10:35:11,809 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-11-28 10:35:11,809 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 10:35:11,810 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 10:35:11,810 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 10:35:11,810 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-11-28 10:35:11,810 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 10:35:11,810 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 10:35:11,810 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 10:35:11,811 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-11-28 10:35:11,811 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-11-28 10:35:11,811 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 10:35:11,811 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 10:35:11,812 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 10:35:11,812 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-11-28 10:35:11,812 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 10:35:11,812 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 10:35:11,812 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 10:35:11,812 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-11-28 10:35:11,813 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-11-28 10:35:11,813 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 10:35:11,813 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 10:35:11,814 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 10:35:11,814 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-11-28 10:35:11,814 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 10:35:11,814 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 10:35:11,814 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 10:35:11,814 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-11-28 10:35:11,814 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-11-28 10:35:11,815 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 10:35:11,815 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 10:35:11,815 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 10:35:11,815 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 10:35:11,816 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 10:35:11,816 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 10:35:11,816 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2018-11-28 10:35:11,816 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2018-11-28 10:35:11,818 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 10:35:11,818 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 10:35:11,818 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 10:35:11,819 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-11-28 10:35:11,819 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 10:35:11,819 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 10:35:11,819 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 10:35:11,819 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-11-28 10:35:11,819 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-11-28 10:35:11,820 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 10:35:11,820 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 10:35:11,820 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 10:35:11,821 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-11-28 10:35:11,821 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 10:35:11,821 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 10:35:11,821 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 10:35:11,821 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-11-28 10:35:11,821 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-11-28 10:35:11,822 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 10:35:11,822 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 10:35:11,822 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 10:35:11,822 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 10:35:11,822 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 10:35:11,823 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 10:35:11,823 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2018-11-28 10:35:11,823 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2018-11-28 10:35:11,828 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 10:35:11,829 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 10:35:11,829 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 10:35:11,829 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-11-28 10:35:11,830 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 10:35:11,830 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 10:35:11,830 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 10:35:11,830 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-11-28 10:35:11,830 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-11-28 10:35:11,831 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 10:35:11,831 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 10:35:11,831 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 10:35:11,831 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-11-28 10:35:11,831 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 10:35:11,831 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 10:35:11,832 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 10:35:11,832 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-11-28 10:35:11,832 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-11-28 10:35:11,832 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 10:35:11,833 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 10:35:11,833 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 10:35:11,833 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-11-28 10:35:11,833 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 10:35:11,833 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 10:35:11,833 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 10:35:11,833 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-11-28 10:35:11,834 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-11-28 10:35:11,834 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 10:35:11,834 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 10:35:11,835 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 10:35:11,835 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-11-28 10:35:11,835 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 10:35:11,835 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 10:35:11,835 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 10:35:11,835 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-11-28 10:35:11,835 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-11-28 10:35:11,836 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 10:35:11,836 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 10:35:11,837 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 10:35:11,837 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-11-28 10:35:11,837 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 10:35:11,837 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 10:35:11,837 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 10:35:11,837 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-11-28 10:35:11,837 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-11-28 10:35:11,838 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 10:35:11,838 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 10:35:11,839 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 10:35:11,839 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-11-28 10:35:11,839 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 10:35:11,839 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 10:35:11,839 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 10:35:11,839 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-11-28 10:35:11,839 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-11-28 10:35:11,840 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 10:35:11,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 10:35:11,840 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 10:35:11,841 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-11-28 10:35:11,841 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 10:35:11,841 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 10:35:11,841 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 10:35:11,841 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-11-28 10:35:11,841 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-11-28 10:35:11,842 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 10:35:11,842 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 10:35:11,842 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 10:35:11,842 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-11-28 10:35:11,843 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 10:35:11,843 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 10:35:11,843 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 10:35:11,843 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-11-28 10:35:11,843 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-11-28 10:35:11,844 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 10:35:11,844 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 10:35:11,844 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 10:35:11,844 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 10:35:11,845 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 10:35:11,845 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 10:35:11,845 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2018-11-28 10:35:11,845 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2018-11-28 10:35:11,847 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 10:35:11,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 10:35:11,848 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 10:35:11,848 INFO L205 nArgumentSynthesizer]: 2 stem disjuncts [2018-11-28 10:35:11,848 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 10:35:11,848 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 10:35:11,850 INFO L402 nArgumentSynthesizer]: We have 8 Motzkin's Theorem applications. [2018-11-28 10:35:11,850 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2018-11-28 10:35:11,859 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 10:35:11,860 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 10:35:11,860 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 10:35:11,860 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 10:35:11,860 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 10:35:11,860 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 10:35:11,861 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2018-11-28 10:35:11,861 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2018-11-28 10:35:11,862 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 10:35:11,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 10:35:11,863 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 10:35:11,863 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 10:35:11,863 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 10:35:11,864 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 10:35:11,866 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2018-11-28 10:35:11,866 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2018-11-28 10:35:11,881 INFO L421 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2018-11-28 10:35:11,894 INFO L443 ModelExtractionUtils]: Simplification made 5 calls to the SMT solver. [2018-11-28 10:35:11,895 INFO L444 ModelExtractionUtils]: 44 out of 49 variables were initially zero. Simplification set additionally 2 variables to zero. [2018-11-28 10:35:11,895 INFO L437 nArgumentSynthesizer]: Simplifying supporting invariants... [2018-11-28 10:35:11,896 INFO L440 nArgumentSynthesizer]: Removed 2 redundant supporting invariants from a total of 2. [2018-11-28 10:35:11,896 INFO L518 LassoAnalysis]: Proved termination. [2018-11-28 10:35:11,896 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 10:35:11,934 INFO L297 tatePredicateManager]: 11 out of 12 supporting invariants were superfluous and have been removed [2018-11-28 10:35:11,935 WARN L1298 BoogieBacktranslator]: unknown boogie variable #length [2018-11-28 10:35:11,947 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-28 10:35:11,957 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-28 10:35:11,958 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-28 10:35:11,976 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-28 10:35:11,977 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-28 10:35:11,999 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 10:35:12,000 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 10:35:12,000 INFO L72 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 29 states and 36 transitions. cyclomatic complexity: 10 Second operand 6 states. [2018-11-28 10:35:12,068 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 10:35:12,069 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 10:35:12,069 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-11-28 10:35:12,070 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 48 transitions. [2018-11-28 10:35:12,070 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 6 states and 48 transitions. Stem has 10 letters. Loop has 3 letters. [2018-11-28 10:35:12,070 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2018-11-28 10:35:12,070 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 6 states and 48 transitions. Stem has 13 letters. Loop has 3 letters. [2018-11-28 10:35:12,070 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2018-11-28 10:35:12,070 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 6 states and 48 transitions. Stem has 10 letters. Loop has 6 letters. [2018-11-28 10:35:12,070 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2018-11-28 10:35:12,071 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 57 states and 72 transitions. [2018-11-28 10:35:12,071 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 18 [2018-11-28 10:35:12,072 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 57 states to 43 states and 54 transitions. [2018-11-28 10:35:12,072 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 36 [2018-11-28 10:35:12,072 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 37 [2018-11-28 10:35:12,072 INFO L73 IsDeterministic]: Start isDeterministic. Operand 43 states and 54 transitions. [2018-11-28 10:35:12,073 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2018-11-28 10:35:12,073 INFO L705 BuchiCegarLoop]: Abstraction has 43 states and 54 transitions. [2018-11-28 10:35:12,073 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 43 states and 54 transitions. [2018-11-28 10:35:12,074 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 43 to 31. [2018-11-28 10:35:12,074 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 31 states. [2018-11-28 10:35:12,074 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 39 transitions. [2018-11-28 10:35:12,075 INFO L728 BuchiCegarLoop]: Abstraction has 31 states and 39 transitions. [2018-11-28 10:35:12,075 INFO L608 BuchiCegarLoop]: Abstraction has 31 states and 39 transitions. [2018-11-28 10:35:12,075 INFO L442 BuchiCegarLoop]: ======== Iteration 4============ [2018-11-28 10:35:12,075 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 31 states and 39 transitions. [2018-11-28 10:35:12,077 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 9 [2018-11-28 10:35:12,078 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2018-11-28 10:35:12,078 INFO L119 BuchiIsEmpty]: Starting construction of run [2018-11-28 10:35:12,078 INFO L866 BuchiCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-28 10:35:12,078 INFO L867 BuchiCegarLoop]: Counterexample loop histogram [1, 1, 1, 1] [2018-11-28 10:35:12,078 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 10:35:12,079 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~mem14;havoc strstr_#t~mem15;havoc strstr_#t~ret16;havoc strstr_#t~short17;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 10:35:12,079 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-28 10:35:12,079 INFO L82 PathProgramCache]: Analyzing trace with hash 51953446, now seen corresponding path program 1 times [2018-11-28 10:35:12,079 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-28 10:35:12,079 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-28 10:35:12,080 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 10:35:12,080 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-28 10:35:12,080 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 10:35:12,086 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-28 10:35:12,121 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 10:35:12,121 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-28 10:35:12,121 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2018-11-28 10:35:12,122 INFO L799 eck$LassoCheckResult]: stem already infeasible [2018-11-28 10:35:12,122 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-28 10:35:12,122 INFO L82 PathProgramCache]: Analyzing trace with hash 3227613, now seen corresponding path program 1 times [2018-11-28 10:35:12,122 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-28 10:35:12,122 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-28 10:35:12,123 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 10:35:12,123 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-28 10:35:12,123 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 10:35:12,129 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-28 10:35:12,132 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-28 10:35:12,215 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2018-11-28 10:35:12,215 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2018-11-28 10:35:12,216 INFO L87 Difference]: Start difference. First operand 31 states and 39 transitions. cyclomatic complexity: 11 Second operand 5 states. [2018-11-28 10:35:12,237 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-28 10:35:12,237 INFO L93 Difference]: Finished difference Result 31 states and 38 transitions. [2018-11-28 10:35:12,237 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2018-11-28 10:35:12,237 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 31 states and 38 transitions. [2018-11-28 10:35:12,238 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 9 [2018-11-28 10:35:12,238 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 31 states to 31 states and 38 transitions. [2018-11-28 10:35:12,238 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 25 [2018-11-28 10:35:12,239 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 25 [2018-11-28 10:35:12,239 INFO L73 IsDeterministic]: Start isDeterministic. Operand 31 states and 38 transitions. [2018-11-28 10:35:12,239 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2018-11-28 10:35:12,239 INFO L705 BuchiCegarLoop]: Abstraction has 31 states and 38 transitions. [2018-11-28 10:35:12,239 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 31 states and 38 transitions. [2018-11-28 10:35:12,240 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 31 to 31. [2018-11-28 10:35:12,240 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 31 states. [2018-11-28 10:35:12,241 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 38 transitions. [2018-11-28 10:35:12,241 INFO L728 BuchiCegarLoop]: Abstraction has 31 states and 38 transitions. [2018-11-28 10:35:12,241 INFO L608 BuchiCegarLoop]: Abstraction has 31 states and 38 transitions. [2018-11-28 10:35:12,241 INFO L442 BuchiCegarLoop]: ======== Iteration 5============ [2018-11-28 10:35:12,241 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 31 states and 38 transitions. [2018-11-28 10:35:12,241 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 9 [2018-11-28 10:35:12,242 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2018-11-28 10:35:12,242 INFO L119 BuchiIsEmpty]: Starting construction of run [2018-11-28 10:35:12,243 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 10:35:12,243 INFO L867 BuchiCegarLoop]: Counterexample loop histogram [1, 1, 1, 1] [2018-11-28 10:35:12,243 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 10:35:12,243 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~mem14;havoc strstr_#t~mem15;havoc strstr_#t~ret16;havoc strstr_#t~short17;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 10:35:12,243 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-28 10:35:12,243 INFO L82 PathProgramCache]: Analyzing trace with hash -1349410205, now seen corresponding path program 1 times [2018-11-28 10:35:12,243 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-28 10:35:12,243 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-28 10:35:12,244 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 10:35:12,244 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-28 10:35:12,244 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 10:35:12,250 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-28 10:35:12,274 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 10:35:12,274 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-28 10:35:12,274 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2018-11-28 10:35:12,275 INFO L799 eck$LassoCheckResult]: stem already infeasible [2018-11-28 10:35:12,275 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-28 10:35:12,275 INFO L82 PathProgramCache]: Analyzing trace with hash 3227613, now seen corresponding path program 2 times [2018-11-28 10:35:12,275 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-28 10:35:12,275 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-28 10:35:12,275 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 10:35:12,276 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-28 10:35:12,276 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 10:35:12,278 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-28 10:35:12,279 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-28 10:35:12,348 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2018-11-28 10:35:12,348 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2018-11-28 10:35:12,348 INFO L87 Difference]: Start difference. First operand 31 states and 38 transitions. cyclomatic complexity: 10 Second operand 5 states. [2018-11-28 10:35:12,377 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-28 10:35:12,377 INFO L93 Difference]: Finished difference Result 64 states and 74 transitions. [2018-11-28 10:35:12,379 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-11-28 10:35:12,379 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 64 states and 74 transitions. [2018-11-28 10:35:12,380 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 18 [2018-11-28 10:35:12,380 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 64 states to 47 states and 56 transitions. [2018-11-28 10:35:12,380 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 39 [2018-11-28 10:35:12,381 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 39 [2018-11-28 10:35:12,381 INFO L73 IsDeterministic]: Start isDeterministic. Operand 47 states and 56 transitions. [2018-11-28 10:35:12,381 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2018-11-28 10:35:12,381 INFO L705 BuchiCegarLoop]: Abstraction has 47 states and 56 transitions. [2018-11-28 10:35:12,381 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 47 states and 56 transitions. [2018-11-28 10:35:12,382 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 47 to 31. [2018-11-28 10:35:12,382 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 31 states. [2018-11-28 10:35:12,382 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 37 transitions. [2018-11-28 10:35:12,385 INFO L728 BuchiCegarLoop]: Abstraction has 31 states and 37 transitions. [2018-11-28 10:35:12,385 INFO L608 BuchiCegarLoop]: Abstraction has 31 states and 37 transitions. [2018-11-28 10:35:12,385 INFO L442 BuchiCegarLoop]: ======== Iteration 6============ [2018-11-28 10:35:12,385 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 31 states and 37 transitions. [2018-11-28 10:35:12,385 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 9 [2018-11-28 10:35:12,386 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2018-11-28 10:35:12,386 INFO L119 BuchiIsEmpty]: Starting construction of run [2018-11-28 10:35:12,386 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 10:35:12,386 INFO L867 BuchiCegarLoop]: Counterexample loop histogram [1, 1, 1, 1] [2018-11-28 10:35:12,386 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 10:35:12,386 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~mem14;havoc strstr_#t~mem15;havoc strstr_#t~ret16;havoc strstr_#t~short17;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 10:35:12,386 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-28 10:35:12,387 INFO L82 PathProgramCache]: Analyzing trace with hash -1796108770, now seen corresponding path program 1 times [2018-11-28 10:35:12,387 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-28 10:35:12,387 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-28 10:35:12,387 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 10:35:12,387 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-28 10:35:12,387 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 10:35:12,396 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-28 10:35:12,509 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 10:35:12,509 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-28 10:35:12,509 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_d8835e7f-0f14-44c8-8143-7cccf656c234/bin-2019/uautomizer/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 10:35:12,529 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-28 10:35:12,544 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-28 10:35:12,546 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-28 10:35:12,587 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 10:35:12,603 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 1 imperfect interpolant sequences. [2018-11-28 10:35:12,603 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [5] imperfect sequences [9] total 12 [2018-11-28 10:35:12,603 INFO L799 eck$LassoCheckResult]: stem already infeasible [2018-11-28 10:35:12,603 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-28 10:35:12,603 INFO L82 PathProgramCache]: Analyzing trace with hash 3227613, now seen corresponding path program 3 times [2018-11-28 10:35:12,603 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-28 10:35:12,603 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-28 10:35:12,604 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 10:35:12,604 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-28 10:35:12,604 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 10:35:12,606 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-28 10:35:12,609 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-28 10:35:12,677 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2018-11-28 10:35:12,677 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=32, Invalid=124, Unknown=0, NotChecked=0, Total=156 [2018-11-28 10:35:12,678 INFO L87 Difference]: Start difference. First operand 31 states and 37 transitions. cyclomatic complexity: 9 Second operand 13 states. [2018-11-28 10:35:12,877 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-28 10:35:12,878 INFO L93 Difference]: Finished difference Result 103 states and 121 transitions. [2018-11-28 10:35:12,878 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2018-11-28 10:35:12,879 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 103 states and 121 transitions. [2018-11-28 10:35:12,880 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 36 [2018-11-28 10:35:12,880 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 103 states to 93 states and 111 transitions. [2018-11-28 10:35:12,880 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 72 [2018-11-28 10:35:12,881 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 72 [2018-11-28 10:35:12,881 INFO L73 IsDeterministic]: Start isDeterministic. Operand 93 states and 111 transitions. [2018-11-28 10:35:12,881 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2018-11-28 10:35:12,881 INFO L705 BuchiCegarLoop]: Abstraction has 93 states and 111 transitions. [2018-11-28 10:35:12,881 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 93 states and 111 transitions. [2018-11-28 10:35:12,885 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 93 to 31. [2018-11-28 10:35:12,885 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 31 states. [2018-11-28 10:35:12,885 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 36 transitions. [2018-11-28 10:35:12,885 INFO L728 BuchiCegarLoop]: Abstraction has 31 states and 36 transitions. [2018-11-28 10:35:12,885 INFO L608 BuchiCegarLoop]: Abstraction has 31 states and 36 transitions. [2018-11-28 10:35:12,885 INFO L442 BuchiCegarLoop]: ======== Iteration 7============ [2018-11-28 10:35:12,885 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 31 states and 36 transitions. [2018-11-28 10:35:12,886 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 9 [2018-11-28 10:35:12,886 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2018-11-28 10:35:12,886 INFO L119 BuchiIsEmpty]: Starting construction of run [2018-11-28 10:35:12,886 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 10:35:12,886 INFO L867 BuchiCegarLoop]: Counterexample loop histogram [1, 1, 1, 1] [2018-11-28 10:35:12,887 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 10:35:12,887 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~mem14;havoc strstr_#t~mem15;havoc strstr_#t~ret16;havoc strstr_#t~short17;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 10:35:12,887 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-28 10:35:12,887 INFO L82 PathProgramCache]: Analyzing trace with hash -1624521053, now seen corresponding path program 1 times [2018-11-28 10:35:12,887 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-28 10:35:12,887 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-28 10:35:12,888 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 10:35:12,888 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-28 10:35:12,888 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 10:35:12,901 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-28 10:35:12,909 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-28 10:35:12,913 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-28 10:35:12,914 INFO L82 PathProgramCache]: Analyzing trace with hash 3227613, now seen corresponding path program 4 times [2018-11-28 10:35:12,914 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-28 10:35:12,914 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-28 10:35:12,914 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 10:35:12,914 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-28 10:35:12,914 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 10:35:12,916 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-28 10:35:12,918 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-28 10:35:12,920 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-28 10:35:12,920 INFO L82 PathProgramCache]: Analyzing trace with hash 16049535, now seen corresponding path program 1 times [2018-11-28 10:35:12,920 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-28 10:35:12,920 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-28 10:35:12,921 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 10:35:12,921 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-28 10:35:12,921 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 10:35:12,929 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-28 10:35:12,936 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-28 10:35:13,451 WARN L180 SmtUtils]: Spent 436.00 ms on a formula simplification. DAG size of input: 207 DAG size of output: 159 [2018-11-28 10:35:13,551 INFO L216 LassoAnalysis]: Preferences: [2018-11-28 10:35:13,551 INFO L124 ssoRankerPreferences]: Compute integeral hull: false [2018-11-28 10:35:13,551 INFO L125 ssoRankerPreferences]: Enable LassoPartitioneer: true [2018-11-28 10:35:13,551 INFO L126 ssoRankerPreferences]: Term annotations enabled: false [2018-11-28 10:35:13,551 INFO L127 ssoRankerPreferences]: Use exernal solver: false [2018-11-28 10:35:13,552 INFO L128 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2018-11-28 10:35:13,552 INFO L129 ssoRankerPreferences]: Dump SMT script to file: false [2018-11-28 10:35:13,552 INFO L130 ssoRankerPreferences]: Path of dumped script: [2018-11-28 10:35:13,552 INFO L131 ssoRankerPreferences]: Filename of dumped script: strstr_true-termination.c.i_Iteration7_Lasso [2018-11-28 10:35:13,552 INFO L132 ssoRankerPreferences]: MapElimAlgo: Frank [2018-11-28 10:35:13,552 INFO L282 LassoAnalysis]: Starting lasso preprocessing... [2018-11-28 10:35:13,555 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 10:35:13,561 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 10:35:13,562 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 10:35:13,563 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 10:35:13,564 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 10:35:13,565 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 10:35:13,567 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 10:35:13,568 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 10:35:13,569 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 10:35:13,569 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 10:35:13,571 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 10:35:13,579 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 10:35:13,580 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 10:35:13,581 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 10:35:13,582 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 10:35:13,583 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 10:35:13,583 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 10:35:13,589 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 10:35:13,589 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 10:35:13,590 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 10:35:13,591 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 10:35:13,592 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 10:35:13,593 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 10:35:13,594 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 10:35:13,848 WARN L180 SmtUtils]: Spent 132.00 ms on a formula simplification. DAG size of input: 101 DAG size of output: 85 [2018-11-28 10:35:13,928 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 10:35:14,258 INFO L300 LassoAnalysis]: Preprocessing complete. [2018-11-28 10:35:14,258 INFO L497 LassoAnalysis]: Using template 'affine'. [2018-11-28 10:35:14,258 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 10:35:14,261 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 10:35:14,261 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-11-28 10:35:14,261 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 10:35:14,261 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 10:35:14,261 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 10:35:14,262 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-11-28 10:35:14,262 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-11-28 10:35:14,263 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 10:35:14,263 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 10:35:14,263 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 10:35:14,263 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-11-28 10:35:14,267 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 10:35:14,267 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 10:35:14,267 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 10:35:14,267 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-11-28 10:35:14,268 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-11-28 10:35:14,268 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 10:35:14,268 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 10:35:14,269 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 10:35:14,269 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-11-28 10:35:14,269 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 10:35:14,269 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 10:35:14,269 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 10:35:14,269 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-11-28 10:35:14,269 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-11-28 10:35:14,270 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 10:35:14,270 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 10:35:14,270 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 10:35:14,270 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 10:35:14,270 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 10:35:14,270 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 10:35:14,271 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2018-11-28 10:35:14,271 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2018-11-28 10:35:14,272 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 10:35:14,272 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 10:35:14,273 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 10:35:14,273 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-11-28 10:35:14,273 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 10:35:14,273 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 10:35:14,273 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 10:35:14,273 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-11-28 10:35:14,273 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-11-28 10:35:14,274 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 10:35:14,274 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 10:35:14,274 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 10:35:14,274 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-11-28 10:35:14,274 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 10:35:14,275 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 10:35:14,275 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 10:35:14,275 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-11-28 10:35:14,275 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-11-28 10:35:14,275 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 10:35:14,276 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 10:35:14,276 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 10:35:14,276 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-11-28 10:35:14,276 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 10:35:14,276 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 10:35:14,276 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 10:35:14,276 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-11-28 10:35:14,276 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-11-28 10:35:14,277 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 10:35:14,277 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 10:35:14,277 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 10:35:14,277 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-11-28 10:35:14,277 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 10:35:14,278 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 10:35:14,278 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 10:35:14,278 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-11-28 10:35:14,278 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-11-28 10:35:14,278 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 10:35:14,279 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 10:35:14,279 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 10:35:14,279 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-11-28 10:35:14,279 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 10:35:14,279 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 10:35:14,279 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 10:35:14,279 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-11-28 10:35:14,280 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-11-28 10:35:14,280 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 10:35:14,280 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 10:35:14,280 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 10:35:14,281 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-11-28 10:35:14,281 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 10:35:14,281 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 10:35:14,281 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 10:35:14,281 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-11-28 10:35:14,281 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-11-28 10:35:14,281 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 10:35:14,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 10:35:14,282 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 10:35:14,282 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 10:35:14,282 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 10:35:14,282 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 10:35:14,283 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2018-11-28 10:35:14,284 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2018-11-28 10:35:14,291 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 10:35:14,291 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 10:35:14,291 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 10:35:14,291 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 10:35:14,291 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 10:35:14,292 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 10:35:14,292 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2018-11-28 10:35:14,292 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2018-11-28 10:35:14,293 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 10:35:14,293 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 10:35:14,294 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 10:35:14,294 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-11-28 10:35:14,294 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 10:35:14,294 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 10:35:14,294 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 10:35:14,294 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-11-28 10:35:14,294 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-11-28 10:35:14,295 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 10:35:14,295 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 10:35:14,295 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 10:35:14,295 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-11-28 10:35:14,295 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 10:35:14,295 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 10:35:14,295 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 10:35:14,296 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-11-28 10:35:14,296 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-11-28 10:35:14,296 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 10:35:14,296 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 10:35:14,297 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 10:35:14,297 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-11-28 10:35:14,297 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 10:35:14,297 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 10:35:14,297 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 10:35:14,297 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-11-28 10:35:14,297 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-11-28 10:35:14,298 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 10:35:14,298 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 10:35:14,298 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 10:35:14,298 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-11-28 10:35:14,298 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 10:35:14,298 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 10:35:14,299 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 10:35:14,299 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-11-28 10:35:14,299 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-11-28 10:35:14,299 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 10:35:14,299 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 10:35:14,300 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 10:35:14,300 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 10:35:14,300 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 10:35:14,300 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 10:35:14,300 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2018-11-28 10:35:14,301 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2018-11-28 10:35:14,301 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 10:35:14,302 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 10:35:14,302 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 10:35:14,302 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-11-28 10:35:14,302 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 10:35:14,302 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 10:35:14,302 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 10:35:14,303 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-11-28 10:35:14,303 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-11-28 10:35:14,303 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 10:35:14,303 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 10:35:14,303 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 10:35:14,304 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-11-28 10:35:14,304 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 10:35:14,304 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 10:35:14,304 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 10:35:14,304 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-11-28 10:35:14,304 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-11-28 10:35:14,305 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 10:35:14,305 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 10:35:14,305 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 10:35:14,305 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-11-28 10:35:14,305 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 10:35:14,306 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 10:35:14,306 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 10:35:14,306 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-11-28 10:35:14,306 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-11-28 10:35:14,306 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 10:35:14,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 10:35:14,307 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 10:35:14,307 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-11-28 10:35:14,307 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 10:35:14,307 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 10:35:14,307 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 10:35:14,307 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-11-28 10:35:14,307 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-11-28 10:35:14,308 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 10:35:14,308 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 10:35:14,308 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 10:35:14,308 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-11-28 10:35:14,308 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 10:35:14,308 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 10:35:14,309 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 10:35:14,309 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-11-28 10:35:14,309 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-11-28 10:35:14,309 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 10:35:14,309 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 10:35:14,310 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 10:35:14,310 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-11-28 10:35:14,310 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 10:35:14,310 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 10:35:14,310 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 10:35:14,310 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-11-28 10:35:14,310 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-11-28 10:35:14,311 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 10:35:14,311 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 10:35:14,311 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 10:35:14,311 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 10:35:14,311 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 10:35:14,311 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 10:35:14,312 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2018-11-28 10:35:14,312 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2018-11-28 10:35:14,313 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 10:35:14,313 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 10:35:14,313 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 10:35:14,314 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 10:35:14,314 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 10:35:14,314 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 10:35:14,316 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2018-11-28 10:35:14,316 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2018-11-28 10:35:14,337 INFO L421 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2018-11-28 10:35:14,365 INFO L443 ModelExtractionUtils]: Simplification made 7 calls to the SMT solver. [2018-11-28 10:35:14,365 INFO L444 ModelExtractionUtils]: 43 out of 52 variables were initially zero. Simplification set additionally 6 variables to zero. [2018-11-28 10:35:14,366 INFO L437 nArgumentSynthesizer]: Simplifying supporting invariants... [2018-11-28 10:35:14,366 INFO L440 nArgumentSynthesizer]: Removed 2 redundant supporting invariants from a total of 2. [2018-11-28 10:35:14,367 INFO L518 LassoAnalysis]: Proved termination. [2018-11-28 10:35:14,367 INFO L520 LassoAnalysis]: Termination argument consisting of: Ranking function f(v_rep(select #length ULTIMATE.start_main_#t~malloc20.base)_3, ULTIMATE.start_strstr_~haystack.offset) = 1*v_rep(select #length ULTIMATE.start_main_#t~malloc20.base)_3 - 1*ULTIMATE.start_strstr_~haystack.offset Supporting invariants [] [2018-11-28 10:35:14,497 INFO L297 tatePredicateManager]: 30 out of 31 supporting invariants were superfluous and have been removed [2018-11-28 10:35:14,499 WARN L1298 BoogieBacktranslator]: unknown boogie variable #length [2018-11-28 10:35:14,517 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-28 10:35:14,534 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-28 10:35:14,535 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-28 10:35:14,551 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-28 10:35:14,551 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-28 10:35:14,573 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 10:35:14,574 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 10:35:14,574 INFO L72 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 31 states and 36 transitions. cyclomatic complexity: 8 Second operand 6 states. [2018-11-28 10:35:14,609 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 10:35:14,610 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 10:35:14,610 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-11-28 10:35:14,610 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 33 transitions. [2018-11-28 10:35:14,610 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 6 states and 33 transitions. Stem has 22 letters. Loop has 4 letters. [2018-11-28 10:35:14,610 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2018-11-28 10:35:14,610 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 6 states and 33 transitions. Stem has 26 letters. Loop has 4 letters. [2018-11-28 10:35:14,611 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2018-11-28 10:35:14,611 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 6 states and 33 transitions. Stem has 22 letters. Loop has 8 letters. [2018-11-28 10:35:14,611 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2018-11-28 10:35:14,611 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 41 states and 51 transitions. [2018-11-28 10:35:14,612 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 3 [2018-11-28 10:35:14,612 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 41 states to 38 states and 45 transitions. [2018-11-28 10:35:14,612 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 21 [2018-11-28 10:35:14,612 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 23 [2018-11-28 10:35:14,612 INFO L73 IsDeterministic]: Start isDeterministic. Operand 38 states and 45 transitions. [2018-11-28 10:35:14,613 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2018-11-28 10:35:14,613 INFO L705 BuchiCegarLoop]: Abstraction has 38 states and 45 transitions. [2018-11-28 10:35:14,613 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 38 states and 45 transitions. [2018-11-28 10:35:14,614 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 38 to 37. [2018-11-28 10:35:14,614 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 37 states. [2018-11-28 10:35:14,614 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 44 transitions. [2018-11-28 10:35:14,614 INFO L728 BuchiCegarLoop]: Abstraction has 37 states and 44 transitions. [2018-11-28 10:35:14,616 INFO L608 BuchiCegarLoop]: Abstraction has 37 states and 44 transitions. [2018-11-28 10:35:14,616 INFO L442 BuchiCegarLoop]: ======== Iteration 8============ [2018-11-28 10:35:14,616 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 37 states and 44 transitions. [2018-11-28 10:35:14,616 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 3 [2018-11-28 10:35:14,616 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2018-11-28 10:35:14,616 INFO L119 BuchiIsEmpty]: Starting construction of run [2018-11-28 10:35:14,617 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 10:35:14,617 INFO L867 BuchiCegarLoop]: Counterexample loop histogram [1, 1, 1] [2018-11-28 10:35:14,617 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 10:35:14,617 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~mem7;havoc memcmp_#t~mem8;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 10:35:14,617 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-28 10:35:14,617 INFO L82 PathProgramCache]: Analyzing trace with hash -2091601114, now seen corresponding path program 1 times [2018-11-28 10:35:14,617 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-28 10:35:14,617 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-28 10:35:14,618 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 10:35:14,618 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-28 10:35:14,618 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 10:35:14,628 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-28 10:35:14,636 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-28 10:35:14,639 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-28 10:35:14,639 INFO L82 PathProgramCache]: Analyzing trace with hash 111382, now seen corresponding path program 1 times [2018-11-28 10:35:14,640 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-28 10:35:14,640 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-28 10:35:14,640 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 10:35:14,640 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-28 10:35:14,640 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 10:35:14,642 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-28 10:35:14,646 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-28 10:35:14,648 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-28 10:35:14,648 INFO L82 PathProgramCache]: Analyzing trace with hash 496824785, now seen corresponding path program 1 times [2018-11-28 10:35:14,648 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-28 10:35:14,648 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-28 10:35:14,648 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 10:35:14,648 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-28 10:35:14,648 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 10:35:14,657 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-28 10:35:14,667 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-28 10:35:15,402 WARN L180 SmtUtils]: Spent 663.00 ms on a formula simplification. DAG size of input: 266 DAG size of output: 197 [2018-11-28 10:35:15,569 WARN L180 SmtUtils]: Spent 163.00 ms on a formula simplification that was a NOOP. DAG size: 146 [2018-11-28 10:35:15,571 INFO L216 LassoAnalysis]: Preferences: [2018-11-28 10:35:15,571 INFO L124 ssoRankerPreferences]: Compute integeral hull: false [2018-11-28 10:35:15,571 INFO L125 ssoRankerPreferences]: Enable LassoPartitioneer: true [2018-11-28 10:35:15,572 INFO L126 ssoRankerPreferences]: Term annotations enabled: false [2018-11-28 10:35:15,572 INFO L127 ssoRankerPreferences]: Use exernal solver: false [2018-11-28 10:35:15,572 INFO L128 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2018-11-28 10:35:15,572 INFO L129 ssoRankerPreferences]: Dump SMT script to file: false [2018-11-28 10:35:15,572 INFO L130 ssoRankerPreferences]: Path of dumped script: [2018-11-28 10:35:15,572 INFO L131 ssoRankerPreferences]: Filename of dumped script: strstr_true-termination.c.i_Iteration8_Lasso [2018-11-28 10:35:15,572 INFO L132 ssoRankerPreferences]: MapElimAlgo: Frank [2018-11-28 10:35:15,572 INFO L282 LassoAnalysis]: Starting lasso preprocessing... [2018-11-28 10:35:15,576 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 10:35:15,583 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 10:35:15,599 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 10:35:15,600 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 10:35:15,601 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 10:35:15,603 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 10:35:15,604 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 10:35:15,605 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 10:35:15,606 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 10:35:16,065 WARN L180 SmtUtils]: Spent 245.00 ms on a formula simplification. DAG size of input: 145 DAG size of output: 120 [2018-11-28 10:35:16,212 WARN L180 SmtUtils]: Spent 120.00 ms on a formula simplification. DAG size of input: 91 DAG size of output: 76 [2018-11-28 10:35:16,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 10:35:16,213 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 10:35:16,214 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 10:35:16,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 10:35:16,216 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 10:35:16,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 10:35:16,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 10:35:16,222 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 10:35:16,232 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 10:35:16,233 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 10:35:16,234 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 10:35:16,235 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 10:35:16,237 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 10:35:16,238 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 10:35:16,238 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 10:35:16,239 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 10:35:16,240 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 10:35:16,241 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 10:35:16,242 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 10:35:16,242 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 10:35:16,243 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 10:35:16,244 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 10:35:16,443 WARN L180 SmtUtils]: Spent 105.00 ms on a formula simplification. DAG size of input: 70 DAG size of output: 65 [2018-11-28 10:35:16,806 INFO L300 LassoAnalysis]: Preprocessing complete. [2018-11-28 10:35:16,806 INFO L497 LassoAnalysis]: Using template 'affine'. [2018-11-28 10:35:16,806 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 10:35:16,807 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 10:35:16,807 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-11-28 10:35:16,807 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 10:35:16,807 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 10:35:16,807 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 10:35:16,807 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-11-28 10:35:16,807 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-11-28 10:35:16,808 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 10:35:16,808 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 10:35:16,808 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 10:35:16,808 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-11-28 10:35:16,808 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 10:35:16,808 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 10:35:16,808 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 10:35:16,808 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-11-28 10:35:16,809 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-11-28 10:35:16,809 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 10:35:16,809 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 10:35:16,809 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 10:35:16,809 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-11-28 10:35:16,809 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 10:35:16,809 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 10:35:16,809 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 10:35:16,809 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-11-28 10:35:16,809 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-11-28 10:35:16,810 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 10:35:16,810 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 10:35:16,810 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 10:35:16,810 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-11-28 10:35:16,810 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 10:35:16,810 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 10:35:16,810 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 10:35:16,810 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-11-28 10:35:16,810 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-11-28 10:35:16,811 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 10:35:16,811 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 10:35:16,811 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 10:35:16,811 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-11-28 10:35:16,811 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 10:35:16,811 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 10:35:16,812 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 10:35:16,812 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-11-28 10:35:16,812 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-11-28 10:35:16,812 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 10:35:16,812 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 10:35:16,812 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 10:35:16,813 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-11-28 10:35:16,813 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 10:35:16,813 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 10:35:16,813 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 10:35:16,813 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-11-28 10:35:16,813 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-11-28 10:35:16,813 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 10:35:16,813 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 10:35:16,814 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 10:35:16,814 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 10:35:16,814 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 10:35:16,814 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 10:35:16,814 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2018-11-28 10:35:16,814 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2018-11-28 10:35:16,815 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 10:35:16,816 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 10:35:16,816 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 10:35:16,816 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-11-28 10:35:16,816 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 10:35:16,816 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 10:35:16,816 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 10:35:16,816 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-11-28 10:35:16,816 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-11-28 10:35:16,817 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 10:35:16,817 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 10:35:16,817 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 10:35:16,817 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 10:35:16,817 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 10:35:16,817 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 10:35:16,818 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2018-11-28 10:35:16,818 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2018-11-28 10:35:16,819 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 10:35:16,819 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 10:35:16,820 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 10:35:16,820 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 10:35:16,820 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 10:35:16,820 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 10:35:16,820 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2018-11-28 10:35:16,820 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2018-11-28 10:35:16,821 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 10:35:16,821 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 10:35:16,822 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 10:35:16,822 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 10:35:16,822 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 10:35:16,822 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 10:35:16,822 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2018-11-28 10:35:16,822 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2018-11-28 10:35:16,823 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 10:35:16,823 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 10:35:16,824 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 10:35:16,824 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 10:35:16,824 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 10:35:16,824 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 10:35:16,825 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2018-11-28 10:35:16,825 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2018-11-28 10:35:16,826 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 10:35:16,826 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 10:35:16,826 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 10:35:16,826 INFO L205 nArgumentSynthesizer]: 2 stem disjuncts [2018-11-28 10:35:16,826 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 10:35:16,826 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 10:35:16,828 INFO L402 nArgumentSynthesizer]: We have 8 Motzkin's Theorem applications. [2018-11-28 10:35:16,828 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2018-11-28 10:35:16,835 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 10:35:16,835 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 10:35:16,835 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 10:35:16,835 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 10:35:16,836 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 10:35:16,836 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 10:35:16,836 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2018-11-28 10:35:16,836 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2018-11-28 10:35:16,837 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 10:35:16,837 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 10:35:16,837 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 10:35:16,838 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 10:35:16,838 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 10:35:16,838 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 10:35:16,839 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2018-11-28 10:35:16,839 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2018-11-28 10:35:16,841 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 10:35:16,842 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 10:35:16,842 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 10:35:16,842 INFO L205 nArgumentSynthesizer]: 2 stem disjuncts [2018-11-28 10:35:16,842 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 10:35:16,842 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 10:35:16,844 INFO L402 nArgumentSynthesizer]: We have 8 Motzkin's Theorem applications. [2018-11-28 10:35:16,844 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2018-11-28 10:35:16,851 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 10:35:16,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 10:35:16,851 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 10:35:16,852 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 10:35:16,852 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 10:35:16,852 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 10:35:16,855 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2018-11-28 10:35:16,855 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2018-11-28 10:35:16,877 INFO L421 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2018-11-28 10:35:16,898 INFO L443 ModelExtractionUtils]: Simplification made 4 calls to the SMT solver. [2018-11-28 10:35:16,898 INFO L444 ModelExtractionUtils]: 66 out of 70 variables were initially zero. Simplification set additionally 1 variables to zero. [2018-11-28 10:35:16,898 INFO L437 nArgumentSynthesizer]: Simplifying supporting invariants... [2018-11-28 10:35:16,899 INFO L440 nArgumentSynthesizer]: Removed 2 redundant supporting invariants from a total of 2. [2018-11-28 10:35:16,899 INFO L518 LassoAnalysis]: Proved termination. [2018-11-28 10:35:16,899 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 10:35:17,066 INFO L297 tatePredicateManager]: 45 out of 45 supporting invariants were superfluous and have been removed [2018-11-28 10:35:17,066 WARN L1298 BoogieBacktranslator]: unknown boogie variable #length [2018-11-28 10:35:17,075 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-28 10:35:17,097 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-28 10:35:17,099 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-28 10:35:17,106 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-28 10:35:17,106 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-28 10:35:17,112 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 10:35:17,113 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 10:35:17,113 INFO L72 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 37 states and 44 transitions. cyclomatic complexity: 11 Second operand 4 states. [2018-11-28 10:35:17,136 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 10:35:17,139 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 10:35:17,139 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-28 10:35:17,139 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 41 transitions. [2018-11-28 10:35:17,139 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 4 states and 41 transitions. Stem has 24 letters. Loop has 3 letters. [2018-11-28 10:35:17,139 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2018-11-28 10:35:17,140 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 4 states and 41 transitions. Stem has 27 letters. Loop has 3 letters. [2018-11-28 10:35:17,140 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2018-11-28 10:35:17,140 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 4 states and 41 transitions. Stem has 24 letters. Loop has 6 letters. [2018-11-28 10:35:17,140 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2018-11-28 10:35:17,140 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 84 states and 102 transitions. [2018-11-28 10:35:17,141 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 3 [2018-11-28 10:35:17,151 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 84 states to 61 states and 74 transitions. [2018-11-28 10:35:17,151 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 26 [2018-11-28 10:35:17,151 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 26 [2018-11-28 10:35:17,151 INFO L73 IsDeterministic]: Start isDeterministic. Operand 61 states and 74 transitions. [2018-11-28 10:35:17,151 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2018-11-28 10:35:17,151 INFO L705 BuchiCegarLoop]: Abstraction has 61 states and 74 transitions. [2018-11-28 10:35:17,151 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 61 states and 74 transitions. [2018-11-28 10:35:17,153 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 61 to 46. [2018-11-28 10:35:17,154 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 46 states. [2018-11-28 10:35:17,154 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 46 states to 46 states and 55 transitions. [2018-11-28 10:35:17,154 INFO L728 BuchiCegarLoop]: Abstraction has 46 states and 55 transitions. [2018-11-28 10:35:17,154 INFO L608 BuchiCegarLoop]: Abstraction has 46 states and 55 transitions. [2018-11-28 10:35:17,154 INFO L442 BuchiCegarLoop]: ======== Iteration 9============ [2018-11-28 10:35:17,159 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 46 states and 55 transitions. [2018-11-28 10:35:17,160 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 3 [2018-11-28 10:35:17,160 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2018-11-28 10:35:17,160 INFO L119 BuchiIsEmpty]: Starting construction of run [2018-11-28 10:35:17,162 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 10:35:17,162 INFO L867 BuchiCegarLoop]: Counterexample loop histogram [1, 1, 1] [2018-11-28 10:35:17,163 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~mem14;havoc strstr_#t~mem15;havoc strstr_#t~ret16;havoc strstr_#t~short17;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 10:35:17,163 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~mem7;havoc memcmp_#t~mem8;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 10:35:17,163 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-28 10:35:17,163 INFO L82 PathProgramCache]: Analyzing trace with hash 1259680368, now seen corresponding path program 1 times [2018-11-28 10:35:17,163 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-28 10:35:17,163 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-28 10:35:17,164 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 10:35:17,164 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-28 10:35:17,164 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 10:35:17,170 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-28 10:35:17,201 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 10:35:17,201 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-28 10:35:17,201 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2018-11-28 10:35:17,202 INFO L799 eck$LassoCheckResult]: stem already infeasible [2018-11-28 10:35:17,202 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-28 10:35:17,202 INFO L82 PathProgramCache]: Analyzing trace with hash 111382, now seen corresponding path program 2 times [2018-11-28 10:35:17,202 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-28 10:35:17,202 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-28 10:35:17,203 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 10:35:17,203 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-28 10:35:17,203 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 10:35:17,205 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-28 10:35:17,207 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-28 10:35:17,290 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2018-11-28 10:35:17,290 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2018-11-28 10:35:17,290 INFO L87 Difference]: Start difference. First operand 46 states and 55 transitions. cyclomatic complexity: 15 Second operand 4 states. [2018-11-28 10:35:17,303 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-28 10:35:17,303 INFO L93 Difference]: Finished difference Result 48 states and 56 transitions. [2018-11-28 10:35:17,304 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2018-11-28 10:35:17,304 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 48 states and 56 transitions. [2018-11-28 10:35:17,304 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 3 [2018-11-28 10:35:17,305 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 48 states to 45 states and 52 transitions. [2018-11-28 10:35:17,305 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 22 [2018-11-28 10:35:17,305 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 22 [2018-11-28 10:35:17,305 INFO L73 IsDeterministic]: Start isDeterministic. Operand 45 states and 52 transitions. [2018-11-28 10:35:17,305 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2018-11-28 10:35:17,305 INFO L705 BuchiCegarLoop]: Abstraction has 45 states and 52 transitions. [2018-11-28 10:35:17,306 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 45 states and 52 transitions. [2018-11-28 10:35:17,307 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 45 to 45. [2018-11-28 10:35:17,307 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 45 states. [2018-11-28 10:35:17,307 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 45 states to 45 states and 52 transitions. [2018-11-28 10:35:17,307 INFO L728 BuchiCegarLoop]: Abstraction has 45 states and 52 transitions. [2018-11-28 10:35:17,307 INFO L608 BuchiCegarLoop]: Abstraction has 45 states and 52 transitions. [2018-11-28 10:35:17,308 INFO L442 BuchiCegarLoop]: ======== Iteration 10============ [2018-11-28 10:35:17,308 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 45 states and 52 transitions. [2018-11-28 10:35:17,308 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 3 [2018-11-28 10:35:17,308 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2018-11-28 10:35:17,308 INFO L119 BuchiIsEmpty]: Starting construction of run [2018-11-28 10:35:17,309 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 10:35:17,309 INFO L867 BuchiCegarLoop]: Counterexample loop histogram [1, 1, 1] [2018-11-28 10:35:17,309 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~mem7;havoc memcmp_#t~mem8;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~mem14;havoc strstr_#t~mem15;havoc strstr_#t~ret16;havoc strstr_#t~short17;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 10:35:17,309 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~mem7;havoc memcmp_#t~mem8;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 10:35:17,309 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-28 10:35:17,309 INFO L82 PathProgramCache]: Analyzing trace with hash -1432054472, now seen corresponding path program 1 times [2018-11-28 10:35:17,309 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-28 10:35:17,309 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-28 10:35:17,310 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 10:35:17,310 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-28 10:35:17,310 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 10:35:17,319 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-28 10:35:17,435 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 10:35:17,435 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-28 10:35:17,436 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_d8835e7f-0f14-44c8-8143-7cccf656c234/bin-2019/uautomizer/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 10:35:17,441 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-28 10:35:17,462 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-28 10:35:17,464 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-28 10:35:17,483 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 10:35:17,484 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 10:35:17,484 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-28 10:35:17,486 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-28 10:35:17,487 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 10:35:17,488 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 3 variables, input treesize:14, output treesize:10 [2018-11-28 10:35:17,571 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 10:35:17,578 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 10:35:17,579 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 2 xjuncts. [2018-11-28 10:35:17,604 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 10:35:17,605 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 4 xjuncts. [2018-11-28 10:35:17,616 INFO L267 ElimStorePlain]: Start of recursive call 2: 3 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-28 10:35:17,617 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 10:35:17,618 INFO L202 ElimStorePlain]: Needed 4 recursive calls to eliminate 7 variables, input treesize:39, output treesize:3 [2018-11-28 10:35:17,632 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 10:35:17,647 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 1 imperfect interpolant sequences. [2018-11-28 10:35:17,647 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [6] imperfect sequences [12] total 16 [2018-11-28 10:35:17,647 INFO L799 eck$LassoCheckResult]: stem already infeasible [2018-11-28 10:35:17,647 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-28 10:35:17,647 INFO L82 PathProgramCache]: Analyzing trace with hash 111382, now seen corresponding path program 3 times [2018-11-28 10:35:17,647 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-28 10:35:17,647 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-28 10:35:17,648 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 10:35:17,648 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-28 10:35:17,648 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 10:35:17,651 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-28 10:35:17,652 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-28 10:35:17,706 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2018-11-28 10:35:17,707 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=32, Invalid=208, Unknown=0, NotChecked=0, Total=240 [2018-11-28 10:35:17,707 INFO L87 Difference]: Start difference. First operand 45 states and 52 transitions. cyclomatic complexity: 13 Second operand 16 states. [2018-11-28 10:35:18,604 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-28 10:35:18,604 INFO L93 Difference]: Finished difference Result 182 states and 203 transitions. [2018-11-28 10:35:18,604 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 29 states. [2018-11-28 10:35:18,604 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 182 states and 203 transitions. [2018-11-28 10:35:18,605 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 9 [2018-11-28 10:35:18,606 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 182 states to 151 states and 171 transitions. [2018-11-28 10:35:18,606 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 58 [2018-11-28 10:35:18,606 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 58 [2018-11-28 10:35:18,607 INFO L73 IsDeterministic]: Start isDeterministic. Operand 151 states and 171 transitions. [2018-11-28 10:35:18,607 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2018-11-28 10:35:18,607 INFO L705 BuchiCegarLoop]: Abstraction has 151 states and 171 transitions. [2018-11-28 10:35:18,607 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 151 states and 171 transitions. [2018-11-28 10:35:18,609 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 151 to 60. [2018-11-28 10:35:18,609 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 60 states. [2018-11-28 10:35:18,610 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 60 states to 60 states and 68 transitions. [2018-11-28 10:35:18,610 INFO L728 BuchiCegarLoop]: Abstraction has 60 states and 68 transitions. [2018-11-28 10:35:18,610 INFO L608 BuchiCegarLoop]: Abstraction has 60 states and 68 transitions. [2018-11-28 10:35:18,610 INFO L442 BuchiCegarLoop]: ======== Iteration 11============ [2018-11-28 10:35:18,610 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 60 states and 68 transitions. [2018-11-28 10:35:18,610 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 3 [2018-11-28 10:35:18,611 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2018-11-28 10:35:18,611 INFO L119 BuchiIsEmpty]: Starting construction of run [2018-11-28 10:35:18,611 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 10:35:18,611 INFO L867 BuchiCegarLoop]: Counterexample loop histogram [1, 1, 1] [2018-11-28 10:35:18,611 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~mem7;havoc memcmp_#t~mem8;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~mem7;havoc memcmp_#t~mem8;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~mem14;havoc strstr_#t~mem15;havoc strstr_#t~ret16;havoc strstr_#t~short17;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 10:35:18,611 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~mem7;havoc memcmp_#t~mem8;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 10:35:18,612 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-28 10:35:18,612 INFO L82 PathProgramCache]: Analyzing trace with hash 1690748232, now seen corresponding path program 1 times [2018-11-28 10:35:18,612 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-28 10:35:18,612 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-28 10:35:18,612 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 10:35:18,612 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-28 10:35:18,612 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 10:35:18,621 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-28 10:35:18,742 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 10:35:18,742 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-28 10:35:18,742 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_d8835e7f-0f14-44c8-8143-7cccf656c234/bin-2019/uautomizer/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 10:35:18,754 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-28 10:35:18,793 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-28 10:35:18,796 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-28 10:35:18,819 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 10:35:18,821 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 10:35:18,821 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-28 10:35:18,823 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-28 10:35:18,828 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 10:35:18,828 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 3 variables, input treesize:24, output treesize:20 [2018-11-28 10:35:19,054 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 10:35:19,069 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-28 10:35:19,069 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 12] total 23 [2018-11-28 10:35:19,069 INFO L799 eck$LassoCheckResult]: stem already infeasible [2018-11-28 10:35:19,069 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-28 10:35:19,069 INFO L82 PathProgramCache]: Analyzing trace with hash 111382, now seen corresponding path program 4 times [2018-11-28 10:35:19,069 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-28 10:35:19,069 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-28 10:35:19,070 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 10:35:19,070 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-28 10:35:19,070 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 10:35:19,072 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-28 10:35:19,074 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-28 10:35:19,124 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 23 interpolants. [2018-11-28 10:35:19,124 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=51, Invalid=455, Unknown=0, NotChecked=0, Total=506 [2018-11-28 10:35:19,125 INFO L87 Difference]: Start difference. First operand 60 states and 68 transitions. cyclomatic complexity: 14 Second operand 23 states. [2018-11-28 10:35:20,491 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-28 10:35:20,491 INFO L93 Difference]: Finished difference Result 286 states and 329 transitions. [2018-11-28 10:35:20,492 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 47 states. [2018-11-28 10:35:20,492 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 286 states and 329 transitions. [2018-11-28 10:35:20,493 INFO L131 ngComponentsAnalysis]: Automaton has 5 accepting balls. 15 [2018-11-28 10:35:20,494 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 286 states to 279 states and 322 transitions. [2018-11-28 10:35:20,495 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 76 [2018-11-28 10:35:20,495 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 76 [2018-11-28 10:35:20,495 INFO L73 IsDeterministic]: Start isDeterministic. Operand 279 states and 322 transitions. [2018-11-28 10:35:20,495 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2018-11-28 10:35:20,495 INFO L705 BuchiCegarLoop]: Abstraction has 279 states and 322 transitions. [2018-11-28 10:35:20,495 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 279 states and 322 transitions. [2018-11-28 10:35:20,500 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 279 to 88. [2018-11-28 10:35:20,500 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 88 states. [2018-11-28 10:35:20,501 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 88 states to 88 states and 100 transitions. [2018-11-28 10:35:20,501 INFO L728 BuchiCegarLoop]: Abstraction has 88 states and 100 transitions. [2018-11-28 10:35:20,501 INFO L608 BuchiCegarLoop]: Abstraction has 88 states and 100 transitions. [2018-11-28 10:35:20,501 INFO L442 BuchiCegarLoop]: ======== Iteration 12============ [2018-11-28 10:35:20,501 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 88 states and 100 transitions. [2018-11-28 10:35:20,501 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 3 [2018-11-28 10:35:20,502 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2018-11-28 10:35:20,502 INFO L119 BuchiIsEmpty]: Starting construction of run [2018-11-28 10:35:20,502 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 10:35:20,502 INFO L867 BuchiCegarLoop]: Counterexample loop histogram [1, 1, 1] [2018-11-28 10:35:20,503 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~mem7;havoc memcmp_#t~mem8;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~mem7;havoc memcmp_#t~mem8;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~mem14;havoc strstr_#t~mem15;havoc strstr_#t~ret16;havoc strstr_#t~short17;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 10:35:20,503 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~mem7;havoc memcmp_#t~mem8;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 10:35:20,503 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-28 10:35:20,503 INFO L82 PathProgramCache]: Analyzing trace with hash -2138077336, now seen corresponding path program 2 times [2018-11-28 10:35:20,503 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-28 10:35:20,503 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-28 10:35:20,504 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 10:35:20,504 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-28 10:35:20,504 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 10:35:20,514 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-28 10:35:20,631 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 10:35:20,631 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-28 10:35:20,631 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_d8835e7f-0f14-44c8-8143-7cccf656c234/bin-2019/uautomizer/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 10:35:20,653 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-28 10:35:20,686 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-28 10:35:20,686 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-28 10:35:20,688 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-28 10:35:20,707 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 10:35:20,722 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-28 10:35:20,722 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 10 [2018-11-28 10:35:20,722 INFO L799 eck$LassoCheckResult]: stem already infeasible [2018-11-28 10:35:20,723 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-28 10:35:20,723 INFO L82 PathProgramCache]: Analyzing trace with hash 111382, now seen corresponding path program 5 times [2018-11-28 10:35:20,723 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-28 10:35:20,723 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-28 10:35:20,723 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 10:35:20,723 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-28 10:35:20,724 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 10:35:20,725 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-28 10:35:20,728 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-28 10:35:20,801 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2018-11-28 10:35:20,801 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=18, Invalid=72, Unknown=0, NotChecked=0, Total=90 [2018-11-28 10:35:20,801 INFO L87 Difference]: Start difference. First operand 88 states and 100 transitions. cyclomatic complexity: 19 Second operand 10 states. [2018-11-28 10:35:20,882 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-28 10:35:20,882 INFO L93 Difference]: Finished difference Result 143 states and 161 transitions. [2018-11-28 10:35:20,882 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2018-11-28 10:35:20,882 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 143 states and 161 transitions. [2018-11-28 10:35:20,883 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2018-11-28 10:35:20,884 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 143 states to 115 states and 131 transitions. [2018-11-28 10:35:20,884 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 38 [2018-11-28 10:35:20,884 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 38 [2018-11-28 10:35:20,884 INFO L73 IsDeterministic]: Start isDeterministic. Operand 115 states and 131 transitions. [2018-11-28 10:35:20,884 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2018-11-28 10:35:20,884 INFO L705 BuchiCegarLoop]: Abstraction has 115 states and 131 transitions. [2018-11-28 10:35:20,884 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 115 states and 131 transitions. [2018-11-28 10:35:20,887 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 115 to 88. [2018-11-28 10:35:20,887 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 88 states. [2018-11-28 10:35:20,887 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 88 states to 88 states and 99 transitions. [2018-11-28 10:35:20,887 INFO L728 BuchiCegarLoop]: Abstraction has 88 states and 99 transitions. [2018-11-28 10:35:20,888 INFO L608 BuchiCegarLoop]: Abstraction has 88 states and 99 transitions. [2018-11-28 10:35:20,888 INFO L442 BuchiCegarLoop]: ======== Iteration 13============ [2018-11-28 10:35:20,888 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 88 states and 99 transitions. [2018-11-28 10:35:20,888 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 3 [2018-11-28 10:35:20,888 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2018-11-28 10:35:20,888 INFO L119 BuchiIsEmpty]: Starting construction of run [2018-11-28 10:35:20,889 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 10:35:20,889 INFO L867 BuchiCegarLoop]: Counterexample loop histogram [1, 1, 1] [2018-11-28 10:35:20,889 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~mem7;havoc memcmp_#t~mem8;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~mem7;havoc memcmp_#t~mem8;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~mem14;havoc strstr_#t~mem15;havoc strstr_#t~ret16;havoc strstr_#t~short17;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 10:35:20,889 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~mem7;havoc memcmp_#t~mem8;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 10:35:20,889 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-28 10:35:20,889 INFO L82 PathProgramCache]: Analyzing trace with hash 1050158307, now seen corresponding path program 3 times [2018-11-28 10:35:20,889 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-28 10:35:20,889 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-28 10:35:20,890 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 10:35:20,890 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-28 10:35:20,890 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 10:35:20,898 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-28 10:35:21,025 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 10:35:21,025 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-28 10:35:21,025 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_d8835e7f-0f14-44c8-8143-7cccf656c234/bin-2019/uautomizer/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 10:35:21,031 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-11-28 10:35:21,067 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 3 check-sat command(s) [2018-11-28 10:35:21,067 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-28 10:35:21,069 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-28 10:35:21,137 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 10:35:21,151 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-28 10:35:21,152 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 14] total 19 [2018-11-28 10:35:21,152 INFO L799 eck$LassoCheckResult]: stem already infeasible [2018-11-28 10:35:21,152 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-28 10:35:21,152 INFO L82 PathProgramCache]: Analyzing trace with hash 111382, now seen corresponding path program 6 times [2018-11-28 10:35:21,152 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-28 10:35:21,152 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-28 10:35:21,152 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 10:35:21,153 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-28 10:35:21,153 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 10:35:21,155 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-28 10:35:21,157 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-28 10:35:21,206 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2018-11-28 10:35:21,206 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=49, Invalid=293, Unknown=0, NotChecked=0, Total=342 [2018-11-28 10:35:21,206 INFO L87 Difference]: Start difference. First operand 88 states and 99 transitions. cyclomatic complexity: 18 Second operand 19 states. [2018-11-28 10:35:21,373 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-28 10:35:21,373 INFO L93 Difference]: Finished difference Result 211 states and 240 transitions. [2018-11-28 10:35:21,373 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2018-11-28 10:35:21,373 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 211 states and 240 transitions. [2018-11-28 10:35:21,374 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 12 [2018-11-28 10:35:21,375 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 211 states to 190 states and 218 transitions. [2018-11-28 10:35:21,375 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 60 [2018-11-28 10:35:21,375 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 60 [2018-11-28 10:35:21,375 INFO L73 IsDeterministic]: Start isDeterministic. Operand 190 states and 218 transitions. [2018-11-28 10:35:21,376 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2018-11-28 10:35:21,376 INFO L705 BuchiCegarLoop]: Abstraction has 190 states and 218 transitions. [2018-11-28 10:35:21,376 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 190 states and 218 transitions. [2018-11-28 10:35:21,378 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 190 to 91. [2018-11-28 10:35:21,378 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 91 states. [2018-11-28 10:35:21,379 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 91 states to 91 states and 102 transitions. [2018-11-28 10:35:21,379 INFO L728 BuchiCegarLoop]: Abstraction has 91 states and 102 transitions. [2018-11-28 10:35:21,379 INFO L608 BuchiCegarLoop]: Abstraction has 91 states and 102 transitions. [2018-11-28 10:35:21,379 INFO L442 BuchiCegarLoop]: ======== Iteration 14============ [2018-11-28 10:35:21,379 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 91 states and 102 transitions. [2018-11-28 10:35:21,380 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 3 [2018-11-28 10:35:21,380 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2018-11-28 10:35:21,380 INFO L119 BuchiIsEmpty]: Starting construction of run [2018-11-28 10:35:21,380 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 10:35:21,381 INFO L867 BuchiCegarLoop]: Counterexample loop histogram [1, 1, 1] [2018-11-28 10:35:21,381 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~mem7;havoc memcmp_#t~mem8;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~mem7;havoc memcmp_#t~mem8;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~mem14;havoc strstr_#t~mem15;havoc strstr_#t~ret16;havoc strstr_#t~short17;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 10:35:21,381 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~mem7;havoc memcmp_#t~mem8;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 10:35:21,381 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-28 10:35:21,381 INFO L82 PathProgramCache]: Analyzing trace with hash -224601240, now seen corresponding path program 4 times [2018-11-28 10:35:21,381 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-28 10:35:21,381 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-28 10:35:21,382 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 10:35:21,382 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-28 10:35:21,382 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 10:35:21,399 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-28 10:35:21,416 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-28 10:35:21,421 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-28 10:35:21,422 INFO L82 PathProgramCache]: Analyzing trace with hash 111382, now seen corresponding path program 7 times [2018-11-28 10:35:21,422 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-28 10:35:21,422 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-28 10:35:21,422 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 10:35:21,422 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-28 10:35:21,422 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 10:35:21,424 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-28 10:35:21,426 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-28 10:35:21,427 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-28 10:35:21,427 INFO L82 PathProgramCache]: Analyzing trace with hash 463587919, now seen corresponding path program 5 times [2018-11-28 10:35:21,427 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-28 10:35:21,427 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-28 10:35:21,427 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 10:35:21,427 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-28 10:35:21,428 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-28 10:35:21,443 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-28 10:35:21,460 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-28 10:35:23,402 WARN L180 SmtUtils]: Spent 1.84 s on a formula simplification. DAG size of input: 472 DAG size of output: 340 [2018-11-28 10:35:23,616 WARN L180 SmtUtils]: Spent 206.00 ms on a formula simplification that was a NOOP. DAG size: 167 [2018-11-28 10:35:23,618 INFO L216 LassoAnalysis]: Preferences: [2018-11-28 10:35:23,618 INFO L124 ssoRankerPreferences]: Compute integeral hull: false [2018-11-28 10:35:23,618 INFO L125 ssoRankerPreferences]: Enable LassoPartitioneer: true [2018-11-28 10:35:23,618 INFO L126 ssoRankerPreferences]: Term annotations enabled: false [2018-11-28 10:35:23,618 INFO L127 ssoRankerPreferences]: Use exernal solver: false [2018-11-28 10:35:23,618 INFO L128 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2018-11-28 10:35:23,618 INFO L129 ssoRankerPreferences]: Dump SMT script to file: false [2018-11-28 10:35:23,618 INFO L130 ssoRankerPreferences]: Path of dumped script: [2018-11-28 10:35:23,618 INFO L131 ssoRankerPreferences]: Filename of dumped script: strstr_true-termination.c.i_Iteration14_Lasso [2018-11-28 10:35:23,619 INFO L132 ssoRankerPreferences]: MapElimAlgo: Frank [2018-11-28 10:35:23,619 INFO L282 LassoAnalysis]: Starting lasso preprocessing... [2018-11-28 10:35:23,622 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 10:35:23,631 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 10:35:23,632 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 10:35:23,633 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 10:35:23,634 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 10:35:23,636 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 10:35:24,354 WARN L180 SmtUtils]: Spent 323.00 ms on a formula simplification. DAG size of input: 178 DAG size of output: 140 [2018-11-28 10:35:24,548 WARN L180 SmtUtils]: Spent 133.00 ms on a formula simplification. DAG size of input: 115 DAG size of output: 92 [2018-11-28 10:35:24,548 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 10:35:24,550 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 10:35:24,551 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 10:35:24,555 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 10:35:24,556 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 10:35:24,557 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 10:35:24,558 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 10:35:24,559 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 10:35:24,560 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 10:35:24,560 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 10:35:24,561 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 10:35:24,562 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 10:35:24,563 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 10:35:24,564 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 10:35:24,566 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 10:35:24,575 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 10:35:24,576 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 10:35:24,577 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 10:35:24,578 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 10:35:24,579 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 10:35:24,580 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 10:35:24,580 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 10:35:24,581 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 10:35:24,582 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 10:35:24,587 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 10:35:24,588 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 10:35:25,231 WARN L180 SmtUtils]: Spent 336.00 ms on a formula simplification. DAG size of input: 66 DAG size of output: 62 [2018-11-28 10:35:25,500 INFO L300 LassoAnalysis]: Preprocessing complete. [2018-11-28 10:35:25,500 INFO L497 LassoAnalysis]: Using template 'affine'. [2018-11-28 10:35:25,501 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 10:35:25,501 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 10:35:25,501 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-11-28 10:35:25,501 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 10:35:25,502 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 10:35:25,502 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 10:35:25,502 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-11-28 10:35:25,502 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-11-28 10:35:25,502 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 10:35:25,503 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 10:35:25,503 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 10:35:25,503 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-11-28 10:35:25,503 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 10:35:25,503 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 10:35:25,503 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 10:35:25,503 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-11-28 10:35:25,504 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-11-28 10:35:25,504 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 10:35:25,504 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 10:35:25,504 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 10:35:25,504 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-11-28 10:35:25,504 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 10:35:25,505 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 10:35:25,505 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 10:35:25,505 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-11-28 10:35:25,505 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-11-28 10:35:25,505 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 10:35:25,505 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 10:35:25,506 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 10:35:25,506 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-11-28 10:35:25,506 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 10:35:25,506 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 10:35:25,506 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 10:35:25,506 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-11-28 10:35:25,506 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-11-28 10:35:25,507 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 10:35:25,507 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 10:35:25,507 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 10:35:25,507 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-11-28 10:35:25,507 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 10:35:25,507 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 10:35:25,508 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 10:35:25,508 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-11-28 10:35:25,508 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-11-28 10:35:25,508 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 10:35:25,508 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 10:35:25,509 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 10:35:25,509 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 10:35:25,509 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 10:35:25,509 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 10:35:25,509 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2018-11-28 10:35:25,509 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2018-11-28 10:35:25,510 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 10:35:25,511 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 10:35:25,511 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 10:35:25,511 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 10:35:25,511 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 10:35:25,511 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 10:35:25,512 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2018-11-28 10:35:25,512 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2018-11-28 10:35:25,512 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 10:35:25,513 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 10:35:25,513 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 10:35:25,513 INFO L205 nArgumentSynthesizer]: 4 stem disjuncts [2018-11-28 10:35:25,513 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 10:35:25,513 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 10:35:25,516 INFO L402 nArgumentSynthesizer]: We have 12 Motzkin's Theorem applications. [2018-11-28 10:35:25,516 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2018-11-28 10:35:25,528 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 10:35:25,529 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 10:35:25,529 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 10:35:25,529 INFO L205 nArgumentSynthesizer]: 2 stem disjuncts [2018-11-28 10:35:25,529 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 10:35:25,529 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 10:35:25,530 INFO L402 nArgumentSynthesizer]: We have 8 Motzkin's Theorem applications. [2018-11-28 10:35:25,530 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2018-11-28 10:35:25,535 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 10:35:25,536 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 10:35:25,536 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 10:35:25,536 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 10:35:25,536 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 10:35:25,536 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 10:35:25,537 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2018-11-28 10:35:25,537 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2018-11-28 10:35:25,539 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 10:35:25,540 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 10:35:25,540 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 10:35:25,540 INFO L205 nArgumentSynthesizer]: 2 stem disjuncts [2018-11-28 10:35:25,540 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 10:35:25,540 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 10:35:25,542 INFO L402 nArgumentSynthesizer]: We have 8 Motzkin's Theorem applications. [2018-11-28 10:35:25,542 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2018-11-28 10:35:25,548 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 10:35:25,548 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 10:35:25,549 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 10:35:25,549 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 10:35:25,549 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 10:35:25,549 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 10:35:25,550 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2018-11-28 10:35:25,550 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2018-11-28 10:35:25,552 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 10:35:25,552 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 10:35:25,553 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 10:35:25,553 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 10:35:25,553 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 10:35:25,553 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 10:35:25,553 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2018-11-28 10:35:25,553 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2018-11-28 10:35:25,554 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-11-28 10:35:25,554 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 10:35:25,555 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-11-28 10:35:25,555 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-11-28 10:35:25,555 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-11-28 10:35:25,555 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-11-28 10:35:25,558 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2018-11-28 10:35:25,558 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2018-11-28 10:35:25,579 INFO L421 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2018-11-28 10:35:25,594 INFO L443 ModelExtractionUtils]: Simplification made 4 calls to the SMT solver. [2018-11-28 10:35:25,594 INFO L444 ModelExtractionUtils]: 72 out of 76 variables were initially zero. Simplification set additionally 1 variables to zero. [2018-11-28 10:35:25,594 INFO L437 nArgumentSynthesizer]: Simplifying supporting invariants... [2018-11-28 10:35:25,595 INFO L440 nArgumentSynthesizer]: Removed 2 redundant supporting invariants from a total of 2. [2018-11-28 10:35:25,595 INFO L518 LassoAnalysis]: Proved termination. [2018-11-28 10:35:25,595 INFO L520 LassoAnalysis]: Termination argument consisting of: Ranking function f(ULTIMATE.start_memcmp_~d~0.offset, v_rep(select #length ULTIMATE.start_strstr_#in~haystack.base)_1) = -1*ULTIMATE.start_memcmp_~d~0.offset + 1*v_rep(select #length ULTIMATE.start_strstr_#in~haystack.base)_1 Supporting invariants [] [2018-11-28 10:35:25,950 INFO L297 tatePredicateManager]: 92 out of 94 supporting invariants were superfluous and have been removed [2018-11-28 10:35:25,952 WARN L1298 BoogieBacktranslator]: unknown boogie variable #length [2018-11-28 10:35:25,965 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-28 10:35:25,990 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-28 10:35:25,992 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-28 10:35:26,021 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-28 10:35:26,022 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-28 10:35:26,032 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 10:35:26,032 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 10:35:26,032 INFO L72 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 91 states and 102 transitions. cyclomatic complexity: 18 Second operand 6 states. [2018-11-28 10:35:26,081 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 10:35:26,081 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 10:35:26,082 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-11-28 10:35:26,082 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 34 transitions. [2018-11-28 10:35:26,082 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 6 states and 34 transitions. Stem has 44 letters. Loop has 3 letters. [2018-11-28 10:35:26,082 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2018-11-28 10:35:26,082 INFO L642 RefineBuchi]: Bad chosen interpolant automaton: word not accepted [2018-11-28 10:35:26,098 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-28 10:35:26,137 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-28 10:35:26,139 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-28 10:35:26,162 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-28 10:35:26,164 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-28 10:35:26,175 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 10:35:26,175 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 10:35:26,175 INFO L72 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 91 states and 102 transitions. cyclomatic complexity: 18 Second operand 6 states. [2018-11-28 10:35:26,222 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 10:35:26,223 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 10:35:26,223 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-11-28 10:35:26,223 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 34 transitions. [2018-11-28 10:35:26,223 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 6 states and 34 transitions. Stem has 44 letters. Loop has 3 letters. [2018-11-28 10:35:26,223 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2018-11-28 10:35:26,223 INFO L642 RefineBuchi]: Bad chosen interpolant automaton: word not accepted [2018-11-28 10:35:26,240 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-28 10:35:26,269 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-28 10:35:26,271 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-28 10:35:26,291 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-28 10:35:26,292 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-28 10:35:26,303 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 10:35:26,303 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 10:35:26,304 INFO L72 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 91 states and 102 transitions. cyclomatic complexity: 18 Second operand 6 states. [2018-11-28 10:35:26,347 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 10:35:26,348 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 10:35:26,348 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-11-28 10:35:26,348 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 40 transitions. [2018-11-28 10:35:26,348 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 6 states and 40 transitions. Stem has 44 letters. Loop has 3 letters. [2018-11-28 10:35:26,349 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2018-11-28 10:35:26,349 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 6 states and 40 transitions. Stem has 47 letters. Loop has 3 letters. [2018-11-28 10:35:26,352 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2018-11-28 10:35:26,352 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 6 states and 40 transitions. Stem has 44 letters. Loop has 6 letters. [2018-11-28 10:35:26,352 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2018-11-28 10:35:26,352 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 118 states and 135 transitions. [2018-11-28 10:35:26,354 INFO L131 ngComponentsAnalysis]: Automaton has 0 accepting balls. 0 [2018-11-28 10:35:26,354 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 118 states to 0 states and 0 transitions. [2018-11-28 10:35:26,355 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 0 [2018-11-28 10:35:26,355 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 0 [2018-11-28 10:35:26,355 INFO L73 IsDeterministic]: Start isDeterministic. Operand 0 states and 0 transitions. [2018-11-28 10:35:26,355 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2018-11-28 10:35:26,355 INFO L705 BuchiCegarLoop]: Abstraction has 0 states and 0 transitions. [2018-11-28 10:35:26,355 INFO L728 BuchiCegarLoop]: Abstraction has 0 states and 0 transitions. [2018-11-28 10:35:26,355 INFO L608 BuchiCegarLoop]: Abstraction has 0 states and 0 transitions. [2018-11-28 10:35:26,355 INFO L442 BuchiCegarLoop]: ======== Iteration 15============ [2018-11-28 10:35:26,355 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 0 states and 0 transitions. [2018-11-28 10:35:26,355 INFO L131 ngComponentsAnalysis]: Automaton has 0 accepting balls. 0 [2018-11-28 10:35:26,355 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is true [2018-11-28 10:35:26,368 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer CFG 28.11 10:35:26 BoogieIcfgContainer [2018-11-28 10:35:26,368 INFO L132 PluginConnector]: ------------------------ END BuchiAutomizer---------------------------- [2018-11-28 10:35:26,369 INFO L113 PluginConnector]: ------------------------Witness Printer---------------------------- [2018-11-28 10:35:26,369 INFO L271 PluginConnector]: Initializing Witness Printer... [2018-11-28 10:35:26,369 INFO L276 PluginConnector]: Witness Printer initialized [2018-11-28 10:35:26,369 INFO L185 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.11 10:35:09" (3/4) ... [2018-11-28 10:35:26,372 INFO L147 WitnessPrinter]: No result that supports witness generation found [2018-11-28 10:35:26,372 INFO L132 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2018-11-28 10:35:26,373 INFO L168 Benchmark]: Toolchain (without parser) took 17818.78 ms. Allocated memory was 1.0 GB in the beginning and 1.4 GB in the end (delta: 377.0 MB). Free memory was 949.6 MB in the beginning and 895.5 MB in the end (delta: 54.0 MB). Peak memory consumption was 431.0 MB. Max. memory is 11.5 GB. [2018-11-28 10:35:26,373 INFO L168 Benchmark]: CDTParser took 0.14 ms. Allocated memory is still 1.0 GB. Free memory is still 979.6 MB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-28 10:35:26,374 INFO L168 Benchmark]: CACSL2BoogieTranslator took 335.76 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 143.7 MB). Free memory was 949.6 MB in the beginning and 1.1 GB in the end (delta: -180.9 MB). Peak memory consumption was 24.7 MB. Max. memory is 11.5 GB. [2018-11-28 10:35:26,374 INFO L168 Benchmark]: Boogie Procedure Inliner took 39.84 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 10:35:26,374 INFO L168 Benchmark]: Boogie Preprocessor took 25.76 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: 2.7 MB). Peak memory consumption was 2.7 MB. Max. memory is 11.5 GB. [2018-11-28 10:35:26,375 INFO L168 Benchmark]: RCFGBuilder took 353.55 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: 27.8 MB). Peak memory consumption was 27.8 MB. Max. memory is 11.5 GB. [2018-11-28 10:35:26,376 INFO L168 Benchmark]: BuchiAutomizer took 17057.25 ms. Allocated memory was 1.2 GB in the beginning and 1.4 GB in the end (delta: 233.3 MB). Free memory was 1.1 GB in the beginning and 895.5 MB in the end (delta: 204.4 MB). Peak memory consumption was 437.8 MB. Max. memory is 11.5 GB. [2018-11-28 10:35:26,376 INFO L168 Benchmark]: Witness Printer took 3.55 ms. Allocated memory is still 1.4 GB. Free memory is still 895.5 MB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-28 10:35:26,380 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.14 ms. Allocated memory is still 1.0 GB. Free memory is still 979.6 MB. There was no memory consumed. Max. memory is 11.5 GB. * CACSL2BoogieTranslator took 335.76 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 143.7 MB). Free memory was 949.6 MB in the beginning and 1.1 GB in the end (delta: -180.9 MB). Peak memory consumption was 24.7 MB. Max. memory is 11.5 GB. * Boogie Procedure Inliner took 39.84 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 25.76 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: 2.7 MB). Peak memory consumption was 2.7 MB. Max. memory is 11.5 GB. * RCFGBuilder took 353.55 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: 27.8 MB). Peak memory consumption was 27.8 MB. Max. memory is 11.5 GB. * BuchiAutomizer took 17057.25 ms. Allocated memory was 1.2 GB in the beginning and 1.4 GB in the end (delta: 233.3 MB). Free memory was 1.1 GB in the beginning and 895.5 MB in the end (delta: 204.4 MB). Peak memory consumption was 437.8 MB. Max. memory is 11.5 GB. * Witness Printer took 3.55 ms. Allocated memory is still 1.4 GB. Free memory is still 895.5 MB. 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 unknown-#length-unknown[__builtin_alloca (out_len)] + -1 * s 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 unknown-#length-unknown[__builtin_alloca (in_len)] + -1 * haystack 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 -1 * d + unknown-#length-unknown[haystack] 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 17.0s and 15 iterations. TraceHistogramMax:4. Analysis of lassos took 13.1s. Construction of modules took 0.9s. Büchi inclusion checks took 2.6s. Highest rank in rank-based complementation 3. Minimization of det autom 1. Minimization of nondet autom 13. Automata minimization 0.0s 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, 0.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: 15ms 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...