./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 635dfa2a Calling Ultimate with: java -Dosgi.configuration.area=/tmp/vcloud-vcloud-master/worker/working_dir_94c0e2a3-1d75-4fe2-89b5-26f2790c7975/bin-2019/uautomizer/data/config -Xmx12G -Xms1G -jar /tmp/vcloud-vcloud-master/worker/working_dir_94c0e2a3-1d75-4fe2-89b5-26f2790c7975/bin-2019/uautomizer/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /tmp/vcloud-vcloud-master/worker/working_dir_94c0e2a3-1d75-4fe2-89b5-26f2790c7975/bin-2019/uautomizer/data -tc /tmp/vcloud-vcloud-master/worker/working_dir_94c0e2a3-1d75-4fe2-89b5-26f2790c7975/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_94c0e2a3-1d75-4fe2-89b5-26f2790c7975/bin-2019/uautomizer/config/svcomp-Termination-64bit-Automizer_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /tmp/vcloud-vcloud-master/worker/working_dir_94c0e2a3-1d75-4fe2-89b5-26f2790c7975/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-635dfa2 [2018-12-08 10:54:57,706 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-12-08 10:54:57,707 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-12-08 10:54:57,713 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-12-08 10:54:57,713 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-12-08 10:54:57,714 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-12-08 10:54:57,714 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-12-08 10:54:57,715 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-12-08 10:54:57,716 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-12-08 10:54:57,716 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-12-08 10:54:57,717 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-12-08 10:54:57,717 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-12-08 10:54:57,717 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-12-08 10:54:57,718 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-12-08 10:54:57,718 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-12-08 10:54:57,719 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-12-08 10:54:57,719 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-12-08 10:54:57,720 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-12-08 10:54:57,721 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-12-08 10:54:57,722 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-12-08 10:54:57,722 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-12-08 10:54:57,723 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-12-08 10:54:57,724 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-12-08 10:54:57,724 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-12-08 10:54:57,724 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-12-08 10:54:57,725 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-12-08 10:54:57,725 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-12-08 10:54:57,725 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-12-08 10:54:57,726 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-12-08 10:54:57,726 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-12-08 10:54:57,726 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-12-08 10:54:57,727 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-12-08 10:54:57,727 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-12-08 10:54:57,727 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-12-08 10:54:57,728 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-12-08 10:54:57,728 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-12-08 10:54:57,728 INFO L98 SettingsManager]: Beginning loading settings from /tmp/vcloud-vcloud-master/worker/working_dir_94c0e2a3-1d75-4fe2-89b5-26f2790c7975/bin-2019/uautomizer/config/svcomp-Termination-64bit-Automizer_Default.epf [2018-12-08 10:54:57,736 INFO L110 SettingsManager]: Loading preferences was successful [2018-12-08 10:54:57,736 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-12-08 10:54:57,736 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-12-08 10:54:57,736 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-12-08 10:54:57,737 INFO L133 SettingsManager]: * Use SBE=true [2018-12-08 10:54:57,737 INFO L131 SettingsManager]: Preferences of BuchiAutomizer differ from their defaults: [2018-12-08 10:54:57,737 INFO L133 SettingsManager]: * NCSB implementation=INTSET_LAZY3 [2018-12-08 10:54:57,737 INFO L133 SettingsManager]: * Use old map elimination=false [2018-12-08 10:54:57,737 INFO L133 SettingsManager]: * Use external solver (rank synthesis)=false [2018-12-08 10:54:57,737 INFO L133 SettingsManager]: * Use only trivial implications for array writes=true [2018-12-08 10:54:57,737 INFO L133 SettingsManager]: * Rank analysis=LINEAR_WITH_GUESSES [2018-12-08 10:54:57,737 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-12-08 10:54:57,737 INFO L133 SettingsManager]: * Check unreachability of error function in SV-COMP mode=false [2018-12-08 10:54:57,737 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2018-12-08 10:54:57,738 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-12-08 10:54:57,738 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=ASSUME [2018-12-08 10:54:57,738 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=ASSUME [2018-12-08 10:54:57,738 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=ASSUME [2018-12-08 10:54:57,738 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-12-08 10:54:57,738 INFO L133 SettingsManager]: * Assume nondeterminstic values are in range=false [2018-12-08 10:54:57,738 INFO L133 SettingsManager]: * Use constant arrays=true [2018-12-08 10:54:57,738 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=ASSUME [2018-12-08 10:54:57,738 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-12-08 10:54:57,738 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-12-08 10:54:57,738 INFO L133 SettingsManager]: * To the following directory=/home/matthias/ultimate/dump [2018-12-08 10:54:57,739 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-12-08 10:54:57,739 INFO L133 SettingsManager]: * Trace refinement strategy=CAMEL [2018-12-08 10:54:57,739 INFO L133 SettingsManager]: * Dump automata to the following directory=/home/matthias/ultimate/dump/auto [2018-12-08 10:54:57,739 INFO L131 SettingsManager]: Preferences of IcfgTransformer differ from their defaults: [2018-12-08 10:54:57,739 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_94c0e2a3-1d75-4fe2-89b5-26f2790c7975/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-12-08 10:54:57,756 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-12-08 10:54:57,766 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-12-08 10:54:57,768 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-12-08 10:54:57,769 INFO L271 PluginConnector]: Initializing CDTParser... [2018-12-08 10:54:57,770 INFO L276 PluginConnector]: CDTParser initialized [2018-12-08 10:54:57,770 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /tmp/vcloud-vcloud-master/worker/working_dir_94c0e2a3-1d75-4fe2-89b5-26f2790c7975/bin-2019/uautomizer/../../sv-benchmarks/c/termination-libowfat/strstr_true-termination.c.i [2018-12-08 10:54:57,813 INFO L221 CDTParser]: Created temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_94c0e2a3-1d75-4fe2-89b5-26f2790c7975/bin-2019/uautomizer/data/44fad510b/5e9704963ab14c4e96b2a68a915e2e86/FLAG9a7b2555f [2018-12-08 10:54:58,218 INFO L307 CDTParser]: Found 1 translation units. [2018-12-08 10:54:58,219 INFO L161 CDTParser]: Scanning /tmp/vcloud-vcloud-master/worker/working_dir_94c0e2a3-1d75-4fe2-89b5-26f2790c7975/sv-benchmarks/c/termination-libowfat/strstr_true-termination.c.i [2018-12-08 10:54:58,225 INFO L355 CDTParser]: About to delete temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_94c0e2a3-1d75-4fe2-89b5-26f2790c7975/bin-2019/uautomizer/data/44fad510b/5e9704963ab14c4e96b2a68a915e2e86/FLAG9a7b2555f [2018-12-08 10:54:58,233 INFO L363 CDTParser]: Successfully deleted /tmp/vcloud-vcloud-master/worker/working_dir_94c0e2a3-1d75-4fe2-89b5-26f2790c7975/bin-2019/uautomizer/data/44fad510b/5e9704963ab14c4e96b2a68a915e2e86 [2018-12-08 10:54:58,234 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-12-08 10:54:58,235 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-12-08 10:54:58,236 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-12-08 10:54:58,236 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-12-08 10:54:58,238 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-12-08 10:54:58,238 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.12 10:54:58" (1/1) ... [2018-12-08 10:54:58,240 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@4e3263b2 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.12 10:54:58, skipping insertion in model container [2018-12-08 10:54:58,240 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.12 10:54:58" (1/1) ... [2018-12-08 10:54:58,244 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-12-08 10:54:58,262 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-12-08 10:54:58,406 INFO L203 PostProcessor]: Analyzing one entry point: main [2018-12-08 10:54:58,412 INFO L191 MainTranslator]: Completed pre-run [2018-12-08 10:54:58,476 INFO L203 PostProcessor]: Analyzing one entry point: main [2018-12-08 10:54:58,497 INFO L195 MainTranslator]: Completed translation [2018-12-08 10:54:58,497 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.12 10:54:58 WrapperNode [2018-12-08 10:54:58,497 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-12-08 10:54:58,498 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-12-08 10:54:58,498 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-12-08 10:54:58,498 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-12-08 10:54:58,503 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.12 10:54:58" (1/1) ... [2018-12-08 10:54:58,511 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.12 10:54:58" (1/1) ... [2018-12-08 10:54:58,525 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-12-08 10:54:58,525 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-12-08 10:54:58,525 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-12-08 10:54:58,525 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-12-08 10:54:58,531 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.12 10:54:58" (1/1) ... [2018-12-08 10:54:58,531 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.12 10:54:58" (1/1) ... [2018-12-08 10:54:58,533 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.12 10:54:58" (1/1) ... [2018-12-08 10:54:58,533 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.12 10:54:58" (1/1) ... [2018-12-08 10:54:58,537 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.12 10:54:58" (1/1) ... [2018-12-08 10:54:58,540 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.12 10:54:58" (1/1) ... [2018-12-08 10:54:58,541 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.12 10:54:58" (1/1) ... [2018-12-08 10:54:58,542 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-12-08 10:54:58,542 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-12-08 10:54:58,542 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-12-08 10:54:58,542 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-12-08 10:54:58,543 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.12 10:54:58" (1/1) ... No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_94c0e2a3-1d75-4fe2-89b5-26f2790c7975/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-12-08 10:54:58,578 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-12-08 10:54:58,578 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2018-12-08 10:54:58,578 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2018-12-08 10:54:58,578 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-12-08 10:54:58,579 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-12-08 10:54:58,579 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-12-08 10:54:58,775 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-12-08 10:54:58,775 INFO L280 CfgBuilder]: Removed 16 assue(true) statements. [2018-12-08 10:54:58,775 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.12 10:54:58 BoogieIcfgContainer [2018-12-08 10:54:58,775 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-12-08 10:54:58,776 INFO L113 PluginConnector]: ------------------------BuchiAutomizer---------------------------- [2018-12-08 10:54:58,776 INFO L271 PluginConnector]: Initializing BuchiAutomizer... [2018-12-08 10:54:58,778 INFO L276 PluginConnector]: BuchiAutomizer initialized [2018-12-08 10:54:58,779 INFO L102 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2018-12-08 10:54:58,779 INFO L185 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "CDTParser AST 08.12 10:54:58" (1/3) ... [2018-12-08 10:54:58,779 INFO L205 PluginConnector]: Invalid model from BuchiAutomizer for observer de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver@4b5d181f and model type de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer AST 08.12 10:54:58, skipping insertion in model container [2018-12-08 10:54:58,779 INFO L102 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2018-12-08 10:54:58,780 INFO L185 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.12 10:54:58" (2/3) ... [2018-12-08 10:54:58,780 INFO L205 PluginConnector]: Invalid model from BuchiAutomizer for observer de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver@4b5d181f and model type de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer AST 08.12 10:54:58, skipping insertion in model container [2018-12-08 10:54:58,780 INFO L102 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2018-12-08 10:54:58,780 INFO L185 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.12 10:54:58" (3/3) ... [2018-12-08 10:54:58,781 INFO L375 chiAutomizerObserver]: Analyzing ICFG strstr_true-termination.c.i [2018-12-08 10:54:58,811 INFO L133 ementStrategyFactory]: Using default assertion order modulation [2018-12-08 10:54:58,811 INFO L374 BuchiCegarLoop]: Interprodecural is true [2018-12-08 10:54:58,811 INFO L375 BuchiCegarLoop]: Hoare is false [2018-12-08 10:54:58,812 INFO L376 BuchiCegarLoop]: Compute interpolants for ForwardPredicates [2018-12-08 10:54:58,812 INFO L377 BuchiCegarLoop]: Backedges is STRAIGHT_LINE [2018-12-08 10:54:58,812 INFO L378 BuchiCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-12-08 10:54:58,812 INFO L379 BuchiCegarLoop]: Difference is false [2018-12-08 10:54:58,812 INFO L380 BuchiCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-12-08 10:54:58,812 INFO L383 BuchiCegarLoop]: ======== Iteration 0==of CEGAR loop == BuchiCegarLoop======== [2018-12-08 10:54:58,820 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 33 states. [2018-12-08 10:54:58,833 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 15 [2018-12-08 10:54:58,833 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2018-12-08 10:54:58,833 INFO L119 BuchiIsEmpty]: Starting construction of run [2018-12-08 10:54:58,837 INFO L866 BuchiCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1] [2018-12-08 10:54:58,837 INFO L867 BuchiCegarLoop]: Counterexample loop histogram [1, 1, 1] [2018-12-08 10:54:58,837 INFO L442 BuchiCegarLoop]: ======== Iteration 1============ [2018-12-08 10:54:58,837 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 33 states. [2018-12-08 10:54:58,839 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 15 [2018-12-08 10:54:58,839 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2018-12-08 10:54:58,839 INFO L119 BuchiIsEmpty]: Starting construction of run [2018-12-08 10:54:58,839 INFO L866 BuchiCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1] [2018-12-08 10:54:58,839 INFO L867 BuchiCegarLoop]: Counterexample loop histogram [1, 1, 1] [2018-12-08 10:54:58,843 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-12-08 10:54:58,844 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-12-08 10:54:58,847 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-12-08 10:54:58,847 INFO L82 PathProgramCache]: Analyzing trace with hash 28695849, now seen corresponding path program 1 times [2018-12-08 10:54:58,848 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-12-08 10:54:58,848 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-12-08 10:54:58,875 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-08 10:54:58,876 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-08 10:54:58,876 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-08 10:54:58,903 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-12-08 10:54:58,913 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-12-08 10:54:58,926 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-12-08 10:54:58,927 INFO L82 PathProgramCache]: Analyzing trace with hash 50806, now seen corresponding path program 1 times [2018-12-08 10:54:58,927 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-12-08 10:54:58,927 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-12-08 10:54:58,927 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-08 10:54:58,927 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-08 10:54:58,928 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-08 10:54:58,930 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-12-08 10:54:58,932 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-12-08 10:54:58,934 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-12-08 10:54:58,934 INFO L82 PathProgramCache]: Analyzing trace with hash 179566670, now seen corresponding path program 1 times [2018-12-08 10:54:58,934 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-12-08 10:54:58,934 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-12-08 10:54:58,935 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-08 10:54:58,935 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-08 10:54:58,935 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-08 10:54:58,948 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-12-08 10:54:58,958 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-12-08 10:54:59,207 WARN L180 SmtUtils]: Spent 205.00 ms on a formula simplification. DAG size of input: 113 DAG size of output: 96 [2018-12-08 10:54:59,282 INFO L216 LassoAnalysis]: Preferences: [2018-12-08 10:54:59,283 INFO L124 ssoRankerPreferences]: Compute integeral hull: false [2018-12-08 10:54:59,283 INFO L125 ssoRankerPreferences]: Enable LassoPartitioneer: true [2018-12-08 10:54:59,283 INFO L126 ssoRankerPreferences]: Term annotations enabled: false [2018-12-08 10:54:59,283 INFO L127 ssoRankerPreferences]: Use exernal solver: false [2018-12-08 10:54:59,283 INFO L128 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2018-12-08 10:54:59,283 INFO L129 ssoRankerPreferences]: Dump SMT script to file: false [2018-12-08 10:54:59,284 INFO L130 ssoRankerPreferences]: Path of dumped script: [2018-12-08 10:54:59,284 INFO L131 ssoRankerPreferences]: Filename of dumped script: strstr_true-termination.c.i_Iteration1_Lasso [2018-12-08 10:54:59,284 INFO L132 ssoRankerPreferences]: MapElimAlgo: Frank [2018-12-08 10:54:59,284 INFO L282 LassoAnalysis]: Starting lasso preprocessing... [2018-12-08 10:54:59,304 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:54:59,308 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:54:59,309 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:54:59,495 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:54:59,497 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:54:59,498 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:54:59,499 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:54:59,500 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:54:59,501 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:54:59,502 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:54:59,503 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:54:59,504 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:54:59,506 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:54:59,507 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:54:59,508 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:54:59,509 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:54:59,510 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:54:59,511 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:54:59,512 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:54:59,515 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:54:59,516 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:54:59,517 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:54:59,518 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:54:59,519 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:54:59,520 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:54:59,521 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:54:59,522 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:54:59,524 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:54:59,779 INFO L300 LassoAnalysis]: Preprocessing complete. [2018-12-08 10:54:59,782 INFO L497 LassoAnalysis]: Using template 'affine'. [2018-12-08 10:54:59,783 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-12-08 10:54:59,784 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-12-08 10:54:59,784 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-12-08 10:54:59,784 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-12-08 10:54:59,785 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-12-08 10:54:59,785 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-12-08 10:54:59,786 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-12-08 10:54:59,786 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-12-08 10:54:59,787 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-12-08 10:54:59,787 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-12-08 10:54:59,788 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-12-08 10:54:59,788 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-12-08 10:54:59,788 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-12-08 10:54:59,788 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-12-08 10:54:59,788 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-12-08 10:54:59,788 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-12-08 10:54:59,788 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-12-08 10:54:59,789 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-12-08 10:54:59,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-12-08 10:54:59,789 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-12-08 10:54:59,790 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-12-08 10:54:59,790 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-12-08 10:54:59,790 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-12-08 10:54:59,792 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2018-12-08 10:54:59,792 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2018-12-08 10:54:59,799 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-12-08 10:54:59,800 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-12-08 10:54:59,800 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-12-08 10:54:59,800 INFO L205 nArgumentSynthesizer]: 2 stem disjuncts [2018-12-08 10:54:59,800 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-12-08 10:54:59,800 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-12-08 10:54:59,802 INFO L402 nArgumentSynthesizer]: We have 8 Motzkin's Theorem applications. [2018-12-08 10:54:59,802 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2018-12-08 10:54:59,809 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-12-08 10:54:59,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-12-08 10:54:59,810 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-12-08 10:54:59,810 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-12-08 10:54:59,810 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-12-08 10:54:59,810 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-12-08 10:54:59,813 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2018-12-08 10:54:59,813 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2018-12-08 10:54:59,840 INFO L421 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2018-12-08 10:54:59,855 INFO L443 ModelExtractionUtils]: Simplification made 5 calls to the SMT solver. [2018-12-08 10:54:59,856 INFO L444 ModelExtractionUtils]: 25 out of 31 variables were initially zero. Simplification set additionally 3 variables to zero. [2018-12-08 10:54:59,857 INFO L437 nArgumentSynthesizer]: Simplifying supporting invariants... [2018-12-08 10:54:59,858 INFO L440 nArgumentSynthesizer]: Removed 2 redundant supporting invariants from a total of 2. [2018-12-08 10:54:59,858 INFO L518 LassoAnalysis]: Proved termination. [2018-12-08 10:54:59,859 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-12-08 10:54:59,889 INFO L297 tatePredicateManager]: 8 out of 9 supporting invariants were superfluous and have been removed [2018-12-08 10:54:59,895 WARN L1298 BoogieBacktranslator]: unknown boogie variable #length [2018-12-08 10:54:59,915 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-12-08 10:54:59,927 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-08 10:54:59,930 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-08 10:54:59,939 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-08 10:54:59,939 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-08 10:54:59,952 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-08 10:54:59,961 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-12-08 10:54:59,962 INFO L72 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 33 states. Second operand 4 states. [2018-12-08 10:55:00,022 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-12-08 10:55:00,023 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-12-08 10:55:00,024 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-12-08 10:55:00,025 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 85 transitions. [2018-12-08 10:55:00,025 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 5 states and 85 transitions. Stem has 5 letters. Loop has 3 letters. [2018-12-08 10:55:00,026 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2018-12-08 10:55:00,026 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 5 states and 85 transitions. Stem has 8 letters. Loop has 3 letters. [2018-12-08 10:55:00,026 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2018-12-08 10:55:00,027 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 5 states and 85 transitions. Stem has 5 letters. Loop has 6 letters. [2018-12-08 10:55:00,027 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2018-12-08 10:55:00,027 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 90 states and 130 transitions. [2018-12-08 10:55:00,029 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 24 [2018-12-08 10:55:00,032 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 90 states to 47 states and 62 transitions. [2018-12-08 10:55:00,032 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 43 [2018-12-08 10:55:00,033 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 44 [2018-12-08 10:55:00,033 INFO L73 IsDeterministic]: Start isDeterministic. Operand 47 states and 62 transitions. [2018-12-08 10:55:00,033 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2018-12-08 10:55:00,033 INFO L705 BuchiCegarLoop]: Abstraction has 47 states and 62 transitions. [2018-12-08 10:55:00,043 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 47 states and 62 transitions. [2018-12-08 10:55:00,049 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 47 to 47. [2018-12-08 10:55:00,049 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 47 states. [2018-12-08 10:55:00,050 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 47 states to 47 states and 62 transitions. [2018-12-08 10:55:00,051 INFO L728 BuchiCegarLoop]: Abstraction has 47 states and 62 transitions. [2018-12-08 10:55:00,051 INFO L608 BuchiCegarLoop]: Abstraction has 47 states and 62 transitions. [2018-12-08 10:55:00,051 INFO L442 BuchiCegarLoop]: ======== Iteration 2============ [2018-12-08 10:55:00,051 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 47 states and 62 transitions. [2018-12-08 10:55:00,052 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 24 [2018-12-08 10:55:00,052 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2018-12-08 10:55:00,052 INFO L119 BuchiIsEmpty]: Starting construction of run [2018-12-08 10:55:00,052 INFO L866 BuchiCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1, 1, 1] [2018-12-08 10:55:00,052 INFO L867 BuchiCegarLoop]: Counterexample loop histogram [1, 1, 1] [2018-12-08 10:55:00,052 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-12-08 10:55:00,053 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-12-08 10:55:00,053 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-12-08 10:55:00,053 INFO L82 PathProgramCache]: Analyzing trace with hash 1806906284, now seen corresponding path program 1 times [2018-12-08 10:55:00,053 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-12-08 10:55:00,053 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-12-08 10:55:00,054 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-08 10:55:00,054 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-08 10:55:00,054 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-08 10:55:00,070 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-08 10:55:00,092 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-08 10:55:00,093 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-12-08 10:55:00,094 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2018-12-08 10:55:00,094 INFO L799 eck$LassoCheckResult]: stem already infeasible [2018-12-08 10:55:00,095 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-12-08 10:55:00,095 INFO L82 PathProgramCache]: Analyzing trace with hash 72652, now seen corresponding path program 1 times [2018-12-08 10:55:00,095 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-12-08 10:55:00,095 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-12-08 10:55:00,095 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-08 10:55:00,095 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-08 10:55:00,095 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-08 10:55:00,097 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-12-08 10:55:00,098 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-12-08 10:55:00,121 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-12-08 10:55:00,122 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-12-08 10:55:00,122 INFO L87 Difference]: Start difference. First operand 47 states and 62 transitions. cyclomatic complexity: 20 Second operand 3 states. [2018-12-08 10:55:00,132 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-08 10:55:00,132 INFO L93 Difference]: Finished difference Result 29 states and 36 transitions. [2018-12-08 10:55:00,132 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-12-08 10:55:00,133 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 29 states and 36 transitions. [2018-12-08 10:55:00,133 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 12 [2018-12-08 10:55:00,134 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 29 states to 29 states and 36 transitions. [2018-12-08 10:55:00,134 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 26 [2018-12-08 10:55:00,134 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 26 [2018-12-08 10:55:00,134 INFO L73 IsDeterministic]: Start isDeterministic. Operand 29 states and 36 transitions. [2018-12-08 10:55:00,134 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2018-12-08 10:55:00,134 INFO L705 BuchiCegarLoop]: Abstraction has 29 states and 36 transitions. [2018-12-08 10:55:00,134 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 29 states and 36 transitions. [2018-12-08 10:55:00,135 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 29 to 29. [2018-12-08 10:55:00,135 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 29 states. [2018-12-08 10:55:00,135 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 36 transitions. [2018-12-08 10:55:00,135 INFO L728 BuchiCegarLoop]: Abstraction has 29 states and 36 transitions. [2018-12-08 10:55:00,135 INFO L608 BuchiCegarLoop]: Abstraction has 29 states and 36 transitions. [2018-12-08 10:55:00,135 INFO L442 BuchiCegarLoop]: ======== Iteration 3============ [2018-12-08 10:55:00,136 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 29 states and 36 transitions. [2018-12-08 10:55:00,136 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 12 [2018-12-08 10:55:00,136 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2018-12-08 10:55:00,136 INFO L119 BuchiIsEmpty]: Starting construction of run [2018-12-08 10:55:00,136 INFO L866 BuchiCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-12-08 10:55:00,136 INFO L867 BuchiCegarLoop]: Counterexample loop histogram [1, 1, 1] [2018-12-08 10:55:00,136 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-12-08 10:55:00,136 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-12-08 10:55:00,137 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-12-08 10:55:00,137 INFO L82 PathProgramCache]: Analyzing trace with hash 764823385, now seen corresponding path program 1 times [2018-12-08 10:55:00,137 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-12-08 10:55:00,137 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-12-08 10:55:00,137 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-08 10:55:00,137 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-08 10:55:00,137 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-08 10:55:00,142 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-12-08 10:55:00,147 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-12-08 10:55:00,150 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-12-08 10:55:00,150 INFO L82 PathProgramCache]: Analyzing trace with hash 72652, now seen corresponding path program 2 times [2018-12-08 10:55:00,150 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-12-08 10:55:00,150 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-12-08 10:55:00,151 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-08 10:55:00,151 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-08 10:55:00,151 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-08 10:55:00,152 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-12-08 10:55:00,153 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-12-08 10:55:00,154 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-12-08 10:55:00,154 INFO L82 PathProgramCache]: Analyzing trace with hash 52000116, now seen corresponding path program 1 times [2018-12-08 10:55:00,154 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-12-08 10:55:00,154 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-12-08 10:55:00,155 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-08 10:55:00,155 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-12-08 10:55:00,155 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-08 10:55:00,166 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-12-08 10:55:00,172 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-12-08 10:55:00,426 WARN L180 SmtUtils]: Spent 225.00 ms on a formula simplification. DAG size of input: 143 DAG size of output: 115 [2018-12-08 10:55:00,493 INFO L216 LassoAnalysis]: Preferences: [2018-12-08 10:55:00,494 INFO L124 ssoRankerPreferences]: Compute integeral hull: false [2018-12-08 10:55:00,494 INFO L125 ssoRankerPreferences]: Enable LassoPartitioneer: true [2018-12-08 10:55:00,494 INFO L126 ssoRankerPreferences]: Term annotations enabled: false [2018-12-08 10:55:00,494 INFO L127 ssoRankerPreferences]: Use exernal solver: false [2018-12-08 10:55:00,494 INFO L128 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2018-12-08 10:55:00,494 INFO L129 ssoRankerPreferences]: Dump SMT script to file: false [2018-12-08 10:55:00,494 INFO L130 ssoRankerPreferences]: Path of dumped script: [2018-12-08 10:55:00,494 INFO L131 ssoRankerPreferences]: Filename of dumped script: strstr_true-termination.c.i_Iteration3_Lasso [2018-12-08 10:55:00,494 INFO L132 ssoRankerPreferences]: MapElimAlgo: Frank [2018-12-08 10:55:00,494 INFO L282 LassoAnalysis]: Starting lasso preprocessing... [2018-12-08 10:55:00,497 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:55:00,499 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:55:00,500 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:55:00,501 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:55:00,502 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:55:00,503 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:55:00,504 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:55:00,506 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:55:00,507 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:55:00,508 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:55:00,509 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:55:00,510 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:55:00,511 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:55:00,512 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:55:00,513 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:55:00,515 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:55:00,519 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:55:00,521 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:55:00,523 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:55:00,527 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:55:00,528 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:55:00,529 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:55:00,530 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:55:00,531 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:55:00,532 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:55:00,532 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:55:00,533 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:55:00,692 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:55:00,944 INFO L300 LassoAnalysis]: Preprocessing complete. [2018-12-08 10:55:00,944 INFO L497 LassoAnalysis]: Using template 'affine'. [2018-12-08 10:55:00,944 INFO L122 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSES Number of strict supporting invariants: 0 Number of non-strict supporting invariants: 1 Consider only non-deceasing supporting invariants: true Simplify termination arguments: true Simplify supporting invariants: trueOverapproximate stem: false [2018-12-08 10:55:00,945 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-12-08 10:55:00,945 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-12-08 10:55:00,945 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-12-08 10:55:00,945 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-12-08 10:55:00,945 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-12-08 10:55:00,945 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-12-08 10:55:00,945 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-12-08 10:55:00,946 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-12-08 10:55:00,946 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-12-08 10:55:00,946 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-12-08 10:55:00,946 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-12-08 10:55:00,946 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-12-08 10:55:00,947 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-12-08 10:55:00,947 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-12-08 10:55:00,947 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-12-08 10:55:00,947 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-12-08 10:55:00,947 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-12-08 10:55:00,947 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-12-08 10:55:00,948 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-12-08 10:55:00,948 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-12-08 10:55:00,948 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-12-08 10:55:00,948 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-12-08 10:55:00,948 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-12-08 10:55:00,948 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-12-08 10:55:00,948 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-12-08 10:55:00,949 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-12-08 10:55:00,949 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-12-08 10:55:00,949 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-12-08 10:55:00,949 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-12-08 10:55:00,949 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-12-08 10:55:00,949 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-12-08 10:55:00,949 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-12-08 10:55:00,950 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-12-08 10:55:00,950 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-12-08 10:55:00,950 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-12-08 10:55:00,950 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-12-08 10:55:00,951 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-12-08 10:55:00,951 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-12-08 10:55:00,951 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-12-08 10:55:00,951 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-12-08 10:55:00,951 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2018-12-08 10:55:00,951 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2018-12-08 10:55:00,953 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-12-08 10:55:00,953 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-12-08 10:55:00,953 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-12-08 10:55:00,953 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-12-08 10:55:00,953 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-12-08 10:55:00,953 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-12-08 10:55:00,953 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-12-08 10:55:00,954 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-12-08 10:55:00,954 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-12-08 10:55:00,954 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-12-08 10:55:00,954 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-12-08 10:55:00,955 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-12-08 10:55:00,955 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-12-08 10:55:00,955 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-12-08 10:55:00,955 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-12-08 10:55:00,955 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2018-12-08 10:55:00,955 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2018-12-08 10:55:00,957 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-12-08 10:55:00,957 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-12-08 10:55:00,958 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-12-08 10:55:00,958 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-12-08 10:55:00,958 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-12-08 10:55:00,958 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-12-08 10:55:00,958 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-12-08 10:55:00,958 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-12-08 10:55:00,958 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-12-08 10:55:00,959 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-12-08 10:55:00,959 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-12-08 10:55:00,960 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-12-08 10:55:00,960 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-12-08 10:55:00,960 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-12-08 10:55:00,960 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-12-08 10:55:00,960 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-12-08 10:55:00,961 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-12-08 10:55:00,961 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-12-08 10:55:00,961 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-12-08 10:55:00,962 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-12-08 10:55:00,962 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-12-08 10:55:00,962 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-12-08 10:55:00,962 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-12-08 10:55:00,962 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-12-08 10:55:00,962 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-12-08 10:55:00,963 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-12-08 10:55:00,963 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-12-08 10:55:00,963 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-12-08 10:55:00,964 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-12-08 10:55:00,964 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-12-08 10:55:00,964 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-12-08 10:55:00,964 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-12-08 10:55:00,964 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-12-08 10:55:00,964 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-12-08 10:55:00,965 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-12-08 10:55:00,965 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-12-08 10:55:00,965 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-12-08 10:55:00,966 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-12-08 10:55:00,966 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-12-08 10:55:00,966 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-12-08 10:55:00,966 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-12-08 10:55:00,966 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-12-08 10:55:00,966 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-12-08 10:55:00,967 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-12-08 10:55:00,967 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-12-08 10:55:00,967 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-12-08 10:55:00,967 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-12-08 10:55:00,968 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-12-08 10:55:00,968 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-12-08 10:55:00,968 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-12-08 10:55:00,968 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-12-08 10:55:00,968 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-12-08 10:55:00,968 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-12-08 10:55:00,969 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-12-08 10:55:00,969 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-12-08 10:55:00,969 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-12-08 10:55:00,970 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-12-08 10:55:00,970 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-12-08 10:55:00,970 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-12-08 10:55:00,970 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-12-08 10:55:00,970 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-12-08 10:55:00,970 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-12-08 10:55:00,970 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-12-08 10:55:00,971 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-12-08 10:55:00,971 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-12-08 10:55:00,972 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-12-08 10:55:00,972 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-12-08 10:55:00,972 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-12-08 10:55:00,972 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-12-08 10:55:00,973 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2018-12-08 10:55:00,973 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2018-12-08 10:55:00,974 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-12-08 10:55:00,975 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-12-08 10:55:00,975 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-12-08 10:55:00,975 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-12-08 10:55:00,975 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-12-08 10:55:00,975 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-12-08 10:55:00,975 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-12-08 10:55:00,976 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-12-08 10:55:00,976 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-12-08 10:55:00,976 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-12-08 10:55:00,977 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-12-08 10:55:00,977 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-12-08 10:55:00,977 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-12-08 10:55:00,977 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-12-08 10:55:00,977 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-12-08 10:55:00,978 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-12-08 10:55:00,978 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-12-08 10:55:00,978 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-12-08 10:55:00,979 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-12-08 10:55:00,979 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-12-08 10:55:00,979 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-12-08 10:55:00,979 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-12-08 10:55:00,980 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-12-08 10:55:00,980 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-12-08 10:55:00,980 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2018-12-08 10:55:00,980 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2018-12-08 10:55:00,985 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-12-08 10:55:00,986 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-12-08 10:55:00,986 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-12-08 10:55:00,986 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-12-08 10:55:00,986 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-12-08 10:55:00,987 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-12-08 10:55:00,987 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-12-08 10:55:00,987 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-12-08 10:55:00,987 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-12-08 10:55:00,988 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-12-08 10:55:00,988 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-12-08 10:55:00,988 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-12-08 10:55:00,988 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-12-08 10:55:00,989 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-12-08 10:55:00,989 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-12-08 10:55:00,989 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-12-08 10:55:00,989 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-12-08 10:55:00,989 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-12-08 10:55:00,990 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-12-08 10:55:00,990 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-12-08 10:55:00,990 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-12-08 10:55:00,990 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-12-08 10:55:00,991 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-12-08 10:55:00,991 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-12-08 10:55:00,991 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-12-08 10:55:00,991 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-12-08 10:55:00,991 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-12-08 10:55:00,991 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-12-08 10:55:00,992 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-12-08 10:55:00,992 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-12-08 10:55:00,992 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-12-08 10:55:00,992 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-12-08 10:55:00,992 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-12-08 10:55:00,992 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-12-08 10:55:00,993 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-12-08 10:55:00,993 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-12-08 10:55:00,993 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-12-08 10:55:00,994 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-12-08 10:55:00,994 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-12-08 10:55:00,994 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-12-08 10:55:00,994 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-12-08 10:55:00,994 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-12-08 10:55:00,994 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-12-08 10:55:00,995 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-12-08 10:55:00,995 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-12-08 10:55:00,995 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-12-08 10:55:00,996 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-12-08 10:55:00,996 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-12-08 10:55:00,996 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-12-08 10:55:00,996 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-12-08 10:55:00,996 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-12-08 10:55:00,996 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-12-08 10:55:00,997 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-12-08 10:55:00,997 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-12-08 10:55:00,998 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-12-08 10:55:00,998 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-12-08 10:55:00,998 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-12-08 10:55:00,998 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-12-08 10:55:00,999 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-12-08 10:55:00,999 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-12-08 10:55:00,999 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-12-08 10:55:00,999 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-12-08 10:55:00,999 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-12-08 10:55:01,000 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-12-08 10:55:01,000 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-12-08 10:55:01,000 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-12-08 10:55:01,000 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-12-08 10:55:01,000 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-12-08 10:55:01,001 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-12-08 10:55:01,001 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-12-08 10:55:01,001 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-12-08 10:55:01,001 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-12-08 10:55:01,002 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-12-08 10:55:01,002 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-12-08 10:55:01,002 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-12-08 10:55:01,002 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-12-08 10:55:01,002 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-12-08 10:55:01,002 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-12-08 10:55:01,003 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2018-12-08 10:55:01,003 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2018-12-08 10:55:01,006 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-12-08 10:55:01,006 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-12-08 10:55:01,006 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-12-08 10:55:01,007 INFO L205 nArgumentSynthesizer]: 2 stem disjuncts [2018-12-08 10:55:01,007 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-12-08 10:55:01,007 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-12-08 10:55:01,008 INFO L402 nArgumentSynthesizer]: We have 8 Motzkin's Theorem applications. [2018-12-08 10:55:01,008 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2018-12-08 10:55:01,015 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-12-08 10:55:01,016 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-12-08 10:55:01,016 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-12-08 10:55:01,016 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-12-08 10:55:01,016 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-12-08 10:55:01,017 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-12-08 10:55:01,017 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2018-12-08 10:55:01,017 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2018-12-08 10:55:01,018 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-12-08 10:55:01,019 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-12-08 10:55:01,019 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-12-08 10:55:01,019 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-12-08 10:55:01,020 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-12-08 10:55:01,020 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-12-08 10:55:01,022 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2018-12-08 10:55:01,022 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2018-12-08 10:55:01,035 INFO L421 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2018-12-08 10:55:01,050 INFO L443 ModelExtractionUtils]: Simplification made 5 calls to the SMT solver. [2018-12-08 10:55:01,050 INFO L444 ModelExtractionUtils]: 44 out of 49 variables were initially zero. Simplification set additionally 2 variables to zero. [2018-12-08 10:55:01,051 INFO L437 nArgumentSynthesizer]: Simplifying supporting invariants... [2018-12-08 10:55:01,051 INFO L440 nArgumentSynthesizer]: Removed 2 redundant supporting invariants from a total of 2. [2018-12-08 10:55:01,052 INFO L518 LassoAnalysis]: Proved termination. [2018-12-08 10:55:01,052 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-12-08 10:55:01,089 INFO L297 tatePredicateManager]: 11 out of 12 supporting invariants were superfluous and have been removed [2018-12-08 10:55:01,091 WARN L1298 BoogieBacktranslator]: unknown boogie variable #length [2018-12-08 10:55:01,106 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-12-08 10:55:01,118 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-08 10:55:01,119 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-08 10:55:01,133 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-08 10:55:01,134 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-08 10:55:01,143 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-08 10:55:01,144 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-12-08 10:55:01,144 INFO L72 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 29 states and 36 transitions. cyclomatic complexity: 10 Second operand 6 states. [2018-12-08 10:55:01,206 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-12-08 10:55:01,206 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-12-08 10:55:01,206 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-12-08 10:55:01,207 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 48 transitions. [2018-12-08 10:55:01,207 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 6 states and 48 transitions. Stem has 10 letters. Loop has 3 letters. [2018-12-08 10:55:01,207 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2018-12-08 10:55:01,207 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 6 states and 48 transitions. Stem has 13 letters. Loop has 3 letters. [2018-12-08 10:55:01,207 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2018-12-08 10:55:01,207 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 6 states and 48 transitions. Stem has 10 letters. Loop has 6 letters. [2018-12-08 10:55:01,208 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2018-12-08 10:55:01,208 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 57 states and 72 transitions. [2018-12-08 10:55:01,209 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 18 [2018-12-08 10:55:01,209 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 57 states to 43 states and 54 transitions. [2018-12-08 10:55:01,209 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 36 [2018-12-08 10:55:01,210 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 37 [2018-12-08 10:55:01,210 INFO L73 IsDeterministic]: Start isDeterministic. Operand 43 states and 54 transitions. [2018-12-08 10:55:01,210 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2018-12-08 10:55:01,210 INFO L705 BuchiCegarLoop]: Abstraction has 43 states and 54 transitions. [2018-12-08 10:55:01,210 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 43 states and 54 transitions. [2018-12-08 10:55:01,212 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 43 to 31. [2018-12-08 10:55:01,212 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 31 states. [2018-12-08 10:55:01,212 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 39 transitions. [2018-12-08 10:55:01,212 INFO L728 BuchiCegarLoop]: Abstraction has 31 states and 39 transitions. [2018-12-08 10:55:01,212 INFO L608 BuchiCegarLoop]: Abstraction has 31 states and 39 transitions. [2018-12-08 10:55:01,212 INFO L442 BuchiCegarLoop]: ======== Iteration 4============ [2018-12-08 10:55:01,213 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 31 states and 39 transitions. [2018-12-08 10:55:01,213 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 9 [2018-12-08 10:55:01,213 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2018-12-08 10:55:01,213 INFO L119 BuchiIsEmpty]: Starting construction of run [2018-12-08 10:55:01,214 INFO L866 BuchiCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-12-08 10:55:01,214 INFO L867 BuchiCegarLoop]: Counterexample loop histogram [1, 1, 1, 1] [2018-12-08 10:55:01,214 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-12-08 10:55:01,214 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-12-08 10:55:01,214 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-12-08 10:55:01,215 INFO L82 PathProgramCache]: Analyzing trace with hash 51953446, now seen corresponding path program 1 times [2018-12-08 10:55:01,215 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-12-08 10:55:01,215 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-12-08 10:55:01,215 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-08 10:55:01,216 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-08 10:55:01,216 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-08 10:55:01,223 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-08 10:55:01,248 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-08 10:55:01,248 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-12-08 10:55:01,248 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2018-12-08 10:55:01,249 INFO L799 eck$LassoCheckResult]: stem already infeasible [2018-12-08 10:55:01,249 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-12-08 10:55:01,249 INFO L82 PathProgramCache]: Analyzing trace with hash 3227613, now seen corresponding path program 1 times [2018-12-08 10:55:01,249 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-12-08 10:55:01,249 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-12-08 10:55:01,249 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-08 10:55:01,250 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-08 10:55:01,250 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-08 10:55:01,252 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-12-08 10:55:01,254 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-12-08 10:55:01,328 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2018-12-08 10:55:01,328 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2018-12-08 10:55:01,328 INFO L87 Difference]: Start difference. First operand 31 states and 39 transitions. cyclomatic complexity: 11 Second operand 5 states. [2018-12-08 10:55:01,354 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-08 10:55:01,354 INFO L93 Difference]: Finished difference Result 31 states and 38 transitions. [2018-12-08 10:55:01,354 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2018-12-08 10:55:01,354 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 31 states and 38 transitions. [2018-12-08 10:55:01,355 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 9 [2018-12-08 10:55:01,355 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 31 states to 31 states and 38 transitions. [2018-12-08 10:55:01,355 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 25 [2018-12-08 10:55:01,356 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 25 [2018-12-08 10:55:01,356 INFO L73 IsDeterministic]: Start isDeterministic. Operand 31 states and 38 transitions. [2018-12-08 10:55:01,356 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2018-12-08 10:55:01,356 INFO L705 BuchiCegarLoop]: Abstraction has 31 states and 38 transitions. [2018-12-08 10:55:01,356 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 31 states and 38 transitions. [2018-12-08 10:55:01,357 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 31 to 31. [2018-12-08 10:55:01,357 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 31 states. [2018-12-08 10:55:01,358 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 38 transitions. [2018-12-08 10:55:01,358 INFO L728 BuchiCegarLoop]: Abstraction has 31 states and 38 transitions. [2018-12-08 10:55:01,358 INFO L608 BuchiCegarLoop]: Abstraction has 31 states and 38 transitions. [2018-12-08 10:55:01,358 INFO L442 BuchiCegarLoop]: ======== Iteration 5============ [2018-12-08 10:55:01,358 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 31 states and 38 transitions. [2018-12-08 10:55:01,359 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 9 [2018-12-08 10:55:01,359 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2018-12-08 10:55:01,359 INFO L119 BuchiIsEmpty]: Starting construction of run [2018-12-08 10:55:01,359 INFO L866 BuchiCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-12-08 10:55:01,359 INFO L867 BuchiCegarLoop]: Counterexample loop histogram [1, 1, 1, 1] [2018-12-08 10:55:01,359 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-12-08 10:55:01,360 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-12-08 10:55:01,360 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-12-08 10:55:01,360 INFO L82 PathProgramCache]: Analyzing trace with hash -1349410205, now seen corresponding path program 1 times [2018-12-08 10:55:01,360 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-12-08 10:55:01,360 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-12-08 10:55:01,361 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-08 10:55:01,361 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-08 10:55:01,361 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-08 10:55:01,367 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-08 10:55:01,395 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-08 10:55:01,395 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-12-08 10:55:01,395 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2018-12-08 10:55:01,395 INFO L799 eck$LassoCheckResult]: stem already infeasible [2018-12-08 10:55:01,395 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-12-08 10:55:01,395 INFO L82 PathProgramCache]: Analyzing trace with hash 3227613, now seen corresponding path program 2 times [2018-12-08 10:55:01,395 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-12-08 10:55:01,395 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-12-08 10:55:01,396 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-08 10:55:01,396 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-08 10:55:01,396 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-08 10:55:01,398 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-12-08 10:55:01,400 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-12-08 10:55:01,470 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2018-12-08 10:55:01,470 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2018-12-08 10:55:01,470 INFO L87 Difference]: Start difference. First operand 31 states and 38 transitions. cyclomatic complexity: 10 Second operand 5 states. [2018-12-08 10:55:01,507 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-08 10:55:01,507 INFO L93 Difference]: Finished difference Result 64 states and 74 transitions. [2018-12-08 10:55:01,507 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-12-08 10:55:01,508 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 64 states and 74 transitions. [2018-12-08 10:55:01,509 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 18 [2018-12-08 10:55:01,509 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 64 states to 47 states and 56 transitions. [2018-12-08 10:55:01,509 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 39 [2018-12-08 10:55:01,509 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 39 [2018-12-08 10:55:01,509 INFO L73 IsDeterministic]: Start isDeterministic. Operand 47 states and 56 transitions. [2018-12-08 10:55:01,510 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2018-12-08 10:55:01,510 INFO L705 BuchiCegarLoop]: Abstraction has 47 states and 56 transitions. [2018-12-08 10:55:01,510 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 47 states and 56 transitions. [2018-12-08 10:55:01,511 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 47 to 31. [2018-12-08 10:55:01,511 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 31 states. [2018-12-08 10:55:01,512 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 37 transitions. [2018-12-08 10:55:01,512 INFO L728 BuchiCegarLoop]: Abstraction has 31 states and 37 transitions. [2018-12-08 10:55:01,512 INFO L608 BuchiCegarLoop]: Abstraction has 31 states and 37 transitions. [2018-12-08 10:55:01,512 INFO L442 BuchiCegarLoop]: ======== Iteration 6============ [2018-12-08 10:55:01,512 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 31 states and 37 transitions. [2018-12-08 10:55:01,512 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 9 [2018-12-08 10:55:01,512 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2018-12-08 10:55:01,513 INFO L119 BuchiIsEmpty]: Starting construction of run [2018-12-08 10:55:01,513 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-12-08 10:55:01,513 INFO L867 BuchiCegarLoop]: Counterexample loop histogram [1, 1, 1, 1] [2018-12-08 10:55:01,513 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-12-08 10:55:01,513 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-12-08 10:55:01,514 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-12-08 10:55:01,514 INFO L82 PathProgramCache]: Analyzing trace with hash -1796108770, now seen corresponding path program 1 times [2018-12-08 10:55:01,514 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-12-08 10:55:01,514 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-12-08 10:55:01,514 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-08 10:55:01,515 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-12-08 10:55:01,515 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-08 10:55:01,526 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-08 10:55:01,652 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-08 10:55:01,652 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-08 10:55:01,652 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_94c0e2a3-1d75-4fe2-89b5-26f2790c7975/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-12-08 10:55:01,659 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-08 10:55:01,673 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-08 10:55:01,674 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-08 10:55:01,697 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2018-12-08 10:55:01,714 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 1 imperfect interpolant sequences. [2018-12-08 10:55:01,714 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [5] imperfect sequences [9] total 12 [2018-12-08 10:55:01,714 INFO L799 eck$LassoCheckResult]: stem already infeasible [2018-12-08 10:55:01,715 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-12-08 10:55:01,715 INFO L82 PathProgramCache]: Analyzing trace with hash 3227613, now seen corresponding path program 3 times [2018-12-08 10:55:01,715 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-12-08 10:55:01,715 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-12-08 10:55:01,715 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-08 10:55:01,715 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-08 10:55:01,715 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-08 10:55:01,717 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-12-08 10:55:01,720 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-12-08 10:55:01,797 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2018-12-08 10:55:01,797 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=32, Invalid=124, Unknown=0, NotChecked=0, Total=156 [2018-12-08 10:55:01,797 INFO L87 Difference]: Start difference. First operand 31 states and 37 transitions. cyclomatic complexity: 9 Second operand 13 states. [2018-12-08 10:55:01,994 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-08 10:55:01,994 INFO L93 Difference]: Finished difference Result 103 states and 121 transitions. [2018-12-08 10:55:01,994 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2018-12-08 10:55:01,994 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 103 states and 121 transitions. [2018-12-08 10:55:01,995 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 36 [2018-12-08 10:55:01,995 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 103 states to 93 states and 111 transitions. [2018-12-08 10:55:01,995 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 72 [2018-12-08 10:55:01,996 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 72 [2018-12-08 10:55:01,996 INFO L73 IsDeterministic]: Start isDeterministic. Operand 93 states and 111 transitions. [2018-12-08 10:55:01,996 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2018-12-08 10:55:01,996 INFO L705 BuchiCegarLoop]: Abstraction has 93 states and 111 transitions. [2018-12-08 10:55:01,996 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 93 states and 111 transitions. [2018-12-08 10:55:01,997 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 93 to 31. [2018-12-08 10:55:01,997 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 31 states. [2018-12-08 10:55:01,997 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 36 transitions. [2018-12-08 10:55:01,997 INFO L728 BuchiCegarLoop]: Abstraction has 31 states and 36 transitions. [2018-12-08 10:55:01,997 INFO L608 BuchiCegarLoop]: Abstraction has 31 states and 36 transitions. [2018-12-08 10:55:01,997 INFO L442 BuchiCegarLoop]: ======== Iteration 7============ [2018-12-08 10:55:01,997 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 31 states and 36 transitions. [2018-12-08 10:55:01,998 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 9 [2018-12-08 10:55:01,998 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2018-12-08 10:55:01,998 INFO L119 BuchiIsEmpty]: Starting construction of run [2018-12-08 10:55:01,998 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-12-08 10:55:01,998 INFO L867 BuchiCegarLoop]: Counterexample loop histogram [1, 1, 1, 1] [2018-12-08 10:55:01,998 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-12-08 10:55:01,998 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-12-08 10:55:01,998 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-12-08 10:55:01,998 INFO L82 PathProgramCache]: Analyzing trace with hash -1624521053, now seen corresponding path program 1 times [2018-12-08 10:55:01,999 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-12-08 10:55:01,999 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-12-08 10:55:01,999 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-08 10:55:01,999 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-12-08 10:55:01,999 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-08 10:55:02,008 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-12-08 10:55:02,017 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-12-08 10:55:02,021 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-12-08 10:55:02,021 INFO L82 PathProgramCache]: Analyzing trace with hash 3227613, now seen corresponding path program 4 times [2018-12-08 10:55:02,022 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-12-08 10:55:02,022 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-12-08 10:55:02,022 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-08 10:55:02,022 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-08 10:55:02,022 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-08 10:55:02,024 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-12-08 10:55:02,026 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-12-08 10:55:02,027 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-12-08 10:55:02,027 INFO L82 PathProgramCache]: Analyzing trace with hash 16049535, now seen corresponding path program 1 times [2018-12-08 10:55:02,028 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-12-08 10:55:02,028 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-12-08 10:55:02,028 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-08 10:55:02,028 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-12-08 10:55:02,028 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-08 10:55:02,035 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-12-08 10:55:02,041 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-12-08 10:55:02,556 WARN L180 SmtUtils]: Spent 447.00 ms on a formula simplification. DAG size of input: 207 DAG size of output: 159 [2018-12-08 10:55:02,652 INFO L216 LassoAnalysis]: Preferences: [2018-12-08 10:55:02,652 INFO L124 ssoRankerPreferences]: Compute integeral hull: false [2018-12-08 10:55:02,652 INFO L125 ssoRankerPreferences]: Enable LassoPartitioneer: true [2018-12-08 10:55:02,652 INFO L126 ssoRankerPreferences]: Term annotations enabled: false [2018-12-08 10:55:02,652 INFO L127 ssoRankerPreferences]: Use exernal solver: false [2018-12-08 10:55:02,652 INFO L128 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2018-12-08 10:55:02,652 INFO L129 ssoRankerPreferences]: Dump SMT script to file: false [2018-12-08 10:55:02,652 INFO L130 ssoRankerPreferences]: Path of dumped script: [2018-12-08 10:55:02,652 INFO L131 ssoRankerPreferences]: Filename of dumped script: strstr_true-termination.c.i_Iteration7_Lasso [2018-12-08 10:55:02,652 INFO L132 ssoRankerPreferences]: MapElimAlgo: Frank [2018-12-08 10:55:02,652 INFO L282 LassoAnalysis]: Starting lasso preprocessing... [2018-12-08 10:55:02,655 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:55:02,656 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:55:02,658 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:55:02,658 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:55:02,660 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:55:02,661 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:55:02,663 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:55:02,664 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:55:02,665 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:55:02,666 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:55:02,667 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:55:02,675 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:55:02,676 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:55:02,677 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:55:02,678 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:55:02,679 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:55:02,679 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:55:02,681 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:55:02,681 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:55:02,682 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:55:02,683 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:55:02,684 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:55:02,685 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:55:02,685 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:55:02,947 WARN L180 SmtUtils]: Spent 125.00 ms on a formula simplification. DAG size of input: 101 DAG size of output: 85 [2018-12-08 10:55:03,017 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:55:03,367 INFO L300 LassoAnalysis]: Preprocessing complete. [2018-12-08 10:55:03,367 INFO L497 LassoAnalysis]: Using template 'affine'. [2018-12-08 10:55:03,368 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-12-08 10:55:03,368 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-12-08 10:55:03,368 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-12-08 10:55:03,368 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-12-08 10:55:03,368 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-12-08 10:55:03,368 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-12-08 10:55:03,369 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-12-08 10:55:03,369 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-12-08 10:55:03,369 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-12-08 10:55:03,369 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-12-08 10:55:03,370 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-12-08 10:55:03,370 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-12-08 10:55:03,370 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-12-08 10:55:03,370 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-12-08 10:55:03,370 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-12-08 10:55:03,370 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-12-08 10:55:03,370 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-12-08 10:55:03,371 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-12-08 10:55:03,371 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-12-08 10:55:03,371 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-12-08 10:55:03,371 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-12-08 10:55:03,372 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-12-08 10:55:03,372 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-12-08 10:55:03,372 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-12-08 10:55:03,372 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-12-08 10:55:03,372 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-12-08 10:55:03,372 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-12-08 10:55:03,372 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-12-08 10:55:03,373 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-12-08 10:55:03,373 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-12-08 10:55:03,373 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-12-08 10:55:03,373 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-12-08 10:55:03,373 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2018-12-08 10:55:03,373 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2018-12-08 10:55:03,374 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-12-08 10:55:03,374 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-12-08 10:55:03,375 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-12-08 10:55:03,375 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-12-08 10:55:03,375 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-12-08 10:55:03,375 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-12-08 10:55:03,375 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-12-08 10:55:03,375 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-12-08 10:55:03,375 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-12-08 10:55:03,376 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-12-08 10:55:03,376 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-12-08 10:55:03,376 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-12-08 10:55:03,376 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-12-08 10:55:03,377 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-12-08 10:55:03,377 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-12-08 10:55:03,377 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-12-08 10:55:03,377 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-12-08 10:55:03,377 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-12-08 10:55:03,377 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-12-08 10:55:03,378 INFO L122 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSES Number of strict supporting invariants: 0 Number of non-strict supporting invariants: 1 Consider only non-deceasing supporting invariants: true Simplify termination arguments: true Simplify supporting invariants: trueOverapproximate stem: false [2018-12-08 10:55:03,378 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-12-08 10:55:03,378 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-12-08 10:55:03,378 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-12-08 10:55:03,378 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-12-08 10:55:03,378 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-12-08 10:55:03,379 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-12-08 10:55:03,379 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-12-08 10:55:03,379 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-12-08 10:55:03,379 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-12-08 10:55:03,380 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-12-08 10:55:03,380 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-12-08 10:55:03,380 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-12-08 10:55:03,380 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-12-08 10:55:03,380 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-12-08 10:55:03,380 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-12-08 10:55:03,380 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-12-08 10:55:03,381 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-12-08 10:55:03,381 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-12-08 10:55:03,381 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-12-08 10:55:03,381 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-12-08 10:55:03,381 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-12-08 10:55:03,381 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-12-08 10:55:03,382 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-12-08 10:55:03,382 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-12-08 10:55:03,382 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-12-08 10:55:03,382 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-12-08 10:55:03,383 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-12-08 10:55:03,383 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-12-08 10:55:03,383 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-12-08 10:55:03,383 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-12-08 10:55:03,383 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-12-08 10:55:03,383 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-12-08 10:55:03,383 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-12-08 10:55:03,384 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-12-08 10:55:03,384 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-12-08 10:55:03,384 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-12-08 10:55:03,384 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-12-08 10:55:03,385 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-12-08 10:55:03,385 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-12-08 10:55:03,385 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-12-08 10:55:03,386 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2018-12-08 10:55:03,386 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2018-12-08 10:55:03,395 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-12-08 10:55:03,395 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-12-08 10:55:03,395 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-12-08 10:55:03,395 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-12-08 10:55:03,396 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-12-08 10:55:03,396 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-12-08 10:55:03,396 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2018-12-08 10:55:03,396 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2018-12-08 10:55:03,397 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-12-08 10:55:03,398 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-12-08 10:55:03,398 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-12-08 10:55:03,398 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-12-08 10:55:03,398 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-12-08 10:55:03,398 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-12-08 10:55:03,398 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-12-08 10:55:03,399 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-12-08 10:55:03,399 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-12-08 10:55:03,399 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-12-08 10:55:03,399 INFO L122 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSES Number of strict supporting invariants: 0 Number of non-strict supporting invariants: 1 Consider only non-deceasing supporting invariants: true Simplify termination arguments: true Simplify supporting invariants: trueOverapproximate stem: false [2018-12-08 10:55:03,399 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-12-08 10:55:03,400 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-12-08 10:55:03,400 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-12-08 10:55:03,400 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-12-08 10:55:03,400 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-12-08 10:55:03,400 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-12-08 10:55:03,400 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-12-08 10:55:03,400 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-12-08 10:55:03,401 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-12-08 10:55:03,401 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-12-08 10:55:03,401 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-12-08 10:55:03,401 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-12-08 10:55:03,401 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-12-08 10:55:03,401 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-12-08 10:55:03,402 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-12-08 10:55:03,402 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-12-08 10:55:03,402 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-12-08 10:55:03,402 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-12-08 10:55:03,403 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-12-08 10:55:03,403 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-12-08 10:55:03,403 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-12-08 10:55:03,403 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-12-08 10:55:03,403 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-12-08 10:55:03,403 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-12-08 10:55:03,403 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-12-08 10:55:03,404 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-12-08 10:55:03,404 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-12-08 10:55:03,404 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-12-08 10:55:03,404 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-12-08 10:55:03,404 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-12-08 10:55:03,404 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-12-08 10:55:03,405 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2018-12-08 10:55:03,405 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2018-12-08 10:55:03,406 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-12-08 10:55:03,406 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-12-08 10:55:03,406 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-12-08 10:55:03,407 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-12-08 10:55:03,407 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-12-08 10:55:03,407 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-12-08 10:55:03,407 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-12-08 10:55:03,407 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-12-08 10:55:03,407 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-12-08 10:55:03,408 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-12-08 10:55:03,408 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-12-08 10:55:03,408 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-12-08 10:55:03,408 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-12-08 10:55:03,408 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-12-08 10:55:03,409 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-12-08 10:55:03,409 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-12-08 10:55:03,409 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-12-08 10:55:03,409 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-12-08 10:55:03,409 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-12-08 10:55:03,410 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-12-08 10:55:03,410 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-12-08 10:55:03,410 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-12-08 10:55:03,410 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-12-08 10:55:03,410 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-12-08 10:55:03,410 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-12-08 10:55:03,410 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-12-08 10:55:03,411 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-12-08 10:55:03,411 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-12-08 10:55:03,411 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-12-08 10:55:03,411 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-12-08 10:55:03,411 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-12-08 10:55:03,412 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-12-08 10:55:03,412 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-12-08 10:55:03,412 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-12-08 10:55:03,412 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-12-08 10:55:03,412 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-12-08 10:55:03,412 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-12-08 10:55:03,413 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-12-08 10:55:03,413 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-12-08 10:55:03,413 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-12-08 10:55:03,413 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-12-08 10:55:03,413 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-12-08 10:55:03,413 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-12-08 10:55:03,413 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-12-08 10:55:03,414 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-12-08 10:55:03,414 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-12-08 10:55:03,414 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-12-08 10:55:03,414 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-12-08 10:55:03,414 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-12-08 10:55:03,415 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-12-08 10:55:03,415 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-12-08 10:55:03,415 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-12-08 10:55:03,415 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-12-08 10:55:03,415 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-12-08 10:55:03,415 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-12-08 10:55:03,416 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-12-08 10:55:03,416 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-12-08 10:55:03,416 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-12-08 10:55:03,416 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-12-08 10:55:03,416 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-12-08 10:55:03,417 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2018-12-08 10:55:03,417 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2018-12-08 10:55:03,418 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-12-08 10:55:03,418 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-12-08 10:55:03,418 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-12-08 10:55:03,419 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-12-08 10:55:03,419 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-12-08 10:55:03,419 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-12-08 10:55:03,422 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2018-12-08 10:55:03,422 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2018-12-08 10:55:03,443 INFO L421 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2018-12-08 10:55:03,471 INFO L443 ModelExtractionUtils]: Simplification made 7 calls to the SMT solver. [2018-12-08 10:55:03,471 INFO L444 ModelExtractionUtils]: 43 out of 52 variables were initially zero. Simplification set additionally 6 variables to zero. [2018-12-08 10:55:03,471 INFO L437 nArgumentSynthesizer]: Simplifying supporting invariants... [2018-12-08 10:55:03,472 INFO L440 nArgumentSynthesizer]: Removed 2 redundant supporting invariants from a total of 2. [2018-12-08 10:55:03,472 INFO L518 LassoAnalysis]: Proved termination. [2018-12-08 10:55:03,473 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-12-08 10:55:03,556 INFO L297 tatePredicateManager]: 30 out of 31 supporting invariants were superfluous and have been removed [2018-12-08 10:55:03,558 WARN L1298 BoogieBacktranslator]: unknown boogie variable #length [2018-12-08 10:55:03,572 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-12-08 10:55:03,589 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-08 10:55:03,590 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-08 10:55:03,602 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-08 10:55:03,603 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-08 10:55:03,630 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-08 10:55:03,630 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-12-08 10:55:03,630 INFO L72 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 31 states and 36 transitions. cyclomatic complexity: 8 Second operand 6 states. [2018-12-08 10:55:03,663 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-12-08 10:55:03,663 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-12-08 10:55:03,663 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-12-08 10:55:03,663 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 33 transitions. [2018-12-08 10:55:03,664 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 6 states and 33 transitions. Stem has 22 letters. Loop has 4 letters. [2018-12-08 10:55:03,664 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2018-12-08 10:55:03,664 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 6 states and 33 transitions. Stem has 26 letters. Loop has 4 letters. [2018-12-08 10:55:03,664 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2018-12-08 10:55:03,664 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 6 states and 33 transitions. Stem has 22 letters. Loop has 8 letters. [2018-12-08 10:55:03,664 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2018-12-08 10:55:03,664 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 41 states and 51 transitions. [2018-12-08 10:55:03,665 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 3 [2018-12-08 10:55:03,665 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 41 states to 38 states and 45 transitions. [2018-12-08 10:55:03,665 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 21 [2018-12-08 10:55:03,665 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 23 [2018-12-08 10:55:03,665 INFO L73 IsDeterministic]: Start isDeterministic. Operand 38 states and 45 transitions. [2018-12-08 10:55:03,665 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2018-12-08 10:55:03,665 INFO L705 BuchiCegarLoop]: Abstraction has 38 states and 45 transitions. [2018-12-08 10:55:03,665 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 38 states and 45 transitions. [2018-12-08 10:55:03,666 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 38 to 37. [2018-12-08 10:55:03,666 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 37 states. [2018-12-08 10:55:03,666 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 44 transitions. [2018-12-08 10:55:03,666 INFO L728 BuchiCegarLoop]: Abstraction has 37 states and 44 transitions. [2018-12-08 10:55:03,666 INFO L608 BuchiCegarLoop]: Abstraction has 37 states and 44 transitions. [2018-12-08 10:55:03,666 INFO L442 BuchiCegarLoop]: ======== Iteration 8============ [2018-12-08 10:55:03,666 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 37 states and 44 transitions. [2018-12-08 10:55:03,667 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 3 [2018-12-08 10:55:03,667 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2018-12-08 10:55:03,667 INFO L119 BuchiIsEmpty]: Starting construction of run [2018-12-08 10:55:03,667 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-12-08 10:55:03,667 INFO L867 BuchiCegarLoop]: Counterexample loop histogram [1, 1, 1] [2018-12-08 10:55:03,667 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-12-08 10:55:03,667 INFO L796 eck$LassoCheckResult]: Loop: 1223#L517-3 memcmp_#t~pre6 := memcmp_~count - 1;memcmp_~count := memcmp_~count - 1; 1218#L517-1 assume !!(0 != memcmp_#t~pre6 % 4294967296);havoc memcmp_#t~pre6;call memcmp_#t~mem7 := read~int(memcmp_~d~0.base, memcmp_~d~0.offset, 1);call memcmp_#t~mem8 := read~int(memcmp_~s~0.base, memcmp_~s~0.offset, 1);memcmp_~r~0 := memcmp_#t~mem7 % 256 - memcmp_#t~mem8 % 256; 1219#L518 assume !(0 != memcmp_~r~0);havoc memcmp_#t~mem8;havoc memcmp_#t~mem7;memcmp_#t~pre9.base, memcmp_#t~pre9.offset := memcmp_~d~0.base, 1 + memcmp_~d~0.offset;memcmp_~d~0.base, memcmp_~d~0.offset := memcmp_~d~0.base, 1 + memcmp_~d~0.offset;havoc memcmp_#t~pre9.base, memcmp_#t~pre9.offset;memcmp_#t~pre10.base, memcmp_#t~pre10.offset := memcmp_~s~0.base, 1 + memcmp_~s~0.offset;memcmp_~s~0.base, memcmp_~s~0.offset := memcmp_~s~0.base, 1 + memcmp_~s~0.offset;havoc memcmp_#t~pre10.base, memcmp_#t~pre10.offset; 1223#L517-3 [2018-12-08 10:55:03,667 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-12-08 10:55:03,668 INFO L82 PathProgramCache]: Analyzing trace with hash -2091601114, now seen corresponding path program 1 times [2018-12-08 10:55:03,668 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-12-08 10:55:03,668 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-12-08 10:55:03,668 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-08 10:55:03,668 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-08 10:55:03,668 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-08 10:55:03,674 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-12-08 10:55:03,680 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-12-08 10:55:03,683 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-12-08 10:55:03,683 INFO L82 PathProgramCache]: Analyzing trace with hash 111382, now seen corresponding path program 1 times [2018-12-08 10:55:03,683 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-12-08 10:55:03,683 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-12-08 10:55:03,684 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-08 10:55:03,684 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-08 10:55:03,684 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-08 10:55:03,686 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-12-08 10:55:03,688 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-12-08 10:55:03,689 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-12-08 10:55:03,689 INFO L82 PathProgramCache]: Analyzing trace with hash 496824785, now seen corresponding path program 1 times [2018-12-08 10:55:03,689 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-12-08 10:55:03,689 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-12-08 10:55:03,690 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-08 10:55:03,690 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-08 10:55:03,690 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-08 10:55:03,696 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-12-08 10:55:03,703 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-12-08 10:55:04,479 WARN L180 SmtUtils]: Spent 712.00 ms on a formula simplification. DAG size of input: 266 DAG size of output: 197 [2018-12-08 10:55:04,648 WARN L180 SmtUtils]: Spent 167.00 ms on a formula simplification that was a NOOP. DAG size: 146 [2018-12-08 10:55:04,650 INFO L216 LassoAnalysis]: Preferences: [2018-12-08 10:55:04,651 INFO L124 ssoRankerPreferences]: Compute integeral hull: false [2018-12-08 10:55:04,651 INFO L125 ssoRankerPreferences]: Enable LassoPartitioneer: true [2018-12-08 10:55:04,651 INFO L126 ssoRankerPreferences]: Term annotations enabled: false [2018-12-08 10:55:04,651 INFO L127 ssoRankerPreferences]: Use exernal solver: false [2018-12-08 10:55:04,651 INFO L128 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2018-12-08 10:55:04,651 INFO L129 ssoRankerPreferences]: Dump SMT script to file: false [2018-12-08 10:55:04,651 INFO L130 ssoRankerPreferences]: Path of dumped script: [2018-12-08 10:55:04,651 INFO L131 ssoRankerPreferences]: Filename of dumped script: strstr_true-termination.c.i_Iteration8_Lasso [2018-12-08 10:55:04,651 INFO L132 ssoRankerPreferences]: MapElimAlgo: Frank [2018-12-08 10:55:04,651 INFO L282 LassoAnalysis]: Starting lasso preprocessing... [2018-12-08 10:55:04,653 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:55:04,655 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:55:04,656 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:55:04,657 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:55:04,658 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:55:04,659 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:55:04,661 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:55:04,662 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:55:04,663 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:55:05,138 WARN L180 SmtUtils]: Spent 231.00 ms on a formula simplification. DAG size of input: 145 DAG size of output: 120 [2018-12-08 10:55:05,276 WARN L180 SmtUtils]: Spent 111.00 ms on a formula simplification. DAG size of input: 91 DAG size of output: 76 [2018-12-08 10:55:05,276 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:55:05,277 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:55:05,278 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:55:05,279 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:55:05,280 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:55:05,281 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:55:05,281 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:55:05,283 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:55:05,292 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:55:05,293 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:55:05,294 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:55:05,295 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:55:05,296 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:55:05,296 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:55:05,297 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:55:05,298 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:55:05,299 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:55:05,299 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:55:05,300 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:55:05,301 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:55:05,302 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:55:05,303 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:55:05,503 WARN L180 SmtUtils]: Spent 111.00 ms on a formula simplification. DAG size of input: 70 DAG size of output: 65 [2018-12-08 10:55:05,873 INFO L300 LassoAnalysis]: Preprocessing complete. [2018-12-08 10:55:05,873 INFO L497 LassoAnalysis]: Using template 'affine'. [2018-12-08 10:55:05,874 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-12-08 10:55:05,874 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-12-08 10:55:05,874 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-12-08 10:55:05,874 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-12-08 10:55:05,874 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-12-08 10:55:05,875 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-12-08 10:55:05,875 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-12-08 10:55:05,875 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-12-08 10:55:05,875 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-12-08 10:55:05,876 INFO L122 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSES Number of strict supporting invariants: 0 Number of non-strict supporting invariants: 1 Consider only non-deceasing supporting invariants: true Simplify termination arguments: true Simplify supporting invariants: trueOverapproximate stem: false [2018-12-08 10:55:05,876 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-12-08 10:55:05,876 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-12-08 10:55:05,876 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-12-08 10:55:05,876 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-12-08 10:55:05,876 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-12-08 10:55:05,877 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-12-08 10:55:05,877 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-12-08 10:55:05,877 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-12-08 10:55:05,877 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-12-08 10:55:05,877 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-12-08 10:55:05,878 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-12-08 10:55:05,878 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-12-08 10:55:05,878 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-12-08 10:55:05,878 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-12-08 10:55:05,878 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-12-08 10:55:05,878 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-12-08 10:55:05,878 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-12-08 10:55:05,879 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-12-08 10:55:05,879 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-12-08 10:55:05,879 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-12-08 10:55:05,879 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-12-08 10:55:05,879 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-12-08 10:55:05,879 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-12-08 10:55:05,879 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-12-08 10:55:05,880 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-12-08 10:55:05,880 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-12-08 10:55:05,880 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-12-08 10:55:05,880 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-12-08 10:55:05,880 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-12-08 10:55:05,880 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-12-08 10:55:05,880 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-12-08 10:55:05,881 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-12-08 10:55:05,881 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-12-08 10:55:05,881 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-12-08 10:55:05,881 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-12-08 10:55:05,881 INFO L122 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSES Number of strict supporting invariants: 0 Number of non-strict supporting invariants: 1 Consider only non-deceasing supporting invariants: true Simplify termination arguments: true Simplify supporting invariants: trueOverapproximate stem: false [2018-12-08 10:55:05,881 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-12-08 10:55:05,881 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-12-08 10:55:05,881 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-12-08 10:55:05,881 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-12-08 10:55:05,881 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-12-08 10:55:05,882 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-12-08 10:55:05,882 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-12-08 10:55:05,882 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-12-08 10:55:05,882 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-12-08 10:55:05,882 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-12-08 10:55:05,882 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-12-08 10:55:05,882 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-12-08 10:55:05,882 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-12-08 10:55:05,883 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2018-12-08 10:55:05,883 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2018-12-08 10:55:05,884 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-12-08 10:55:05,884 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-12-08 10:55:05,884 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-12-08 10:55:05,884 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-12-08 10:55:05,884 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-12-08 10:55:05,884 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-12-08 10:55:05,884 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-12-08 10:55:05,884 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-12-08 10:55:05,884 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-12-08 10:55:05,885 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-12-08 10:55:05,885 INFO L122 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSES Number of strict supporting invariants: 0 Number of non-strict supporting invariants: 1 Consider only non-deceasing supporting invariants: true Simplify termination arguments: true Simplify supporting invariants: trueOverapproximate stem: false [2018-12-08 10:55:05,885 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-12-08 10:55:05,885 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-12-08 10:55:05,885 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-12-08 10:55:05,885 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-12-08 10:55:05,886 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2018-12-08 10:55:05,886 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2018-12-08 10:55:05,886 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-12-08 10:55:05,887 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-12-08 10:55:05,887 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-12-08 10:55:05,887 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-12-08 10:55:05,887 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-12-08 10:55:05,887 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-12-08 10:55:05,887 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2018-12-08 10:55:05,887 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2018-12-08 10:55:05,888 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-12-08 10:55:05,888 INFO L122 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSES Number of strict supporting invariants: 0 Number of non-strict supporting invariants: 1 Consider only non-deceasing supporting invariants: true Simplify termination arguments: true Simplify supporting invariants: trueOverapproximate stem: false [2018-12-08 10:55:05,888 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-12-08 10:55:05,889 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-12-08 10:55:05,889 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-12-08 10:55:05,889 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-12-08 10:55:05,889 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2018-12-08 10:55:05,889 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2018-12-08 10:55:05,889 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-12-08 10:55:05,890 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-12-08 10:55:05,890 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-12-08 10:55:05,890 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-12-08 10:55:05,890 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-12-08 10:55:05,890 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-12-08 10:55:05,890 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2018-12-08 10:55:05,890 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2018-12-08 10:55:05,891 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-12-08 10:55:05,891 INFO L122 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSES Number of strict supporting invariants: 0 Number of non-strict supporting invariants: 1 Consider only non-deceasing supporting invariants: true Simplify termination arguments: true Simplify supporting invariants: trueOverapproximate stem: false [2018-12-08 10:55:05,892 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-12-08 10:55:05,892 INFO L205 nArgumentSynthesizer]: 2 stem disjuncts [2018-12-08 10:55:05,892 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-12-08 10:55:05,892 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-12-08 10:55:05,893 INFO L402 nArgumentSynthesizer]: We have 8 Motzkin's Theorem applications. [2018-12-08 10:55:05,893 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2018-12-08 10:55:05,899 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-12-08 10:55:05,899 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-12-08 10:55:05,899 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-12-08 10:55:05,900 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-12-08 10:55:05,900 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-12-08 10:55:05,900 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-12-08 10:55:05,900 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2018-12-08 10:55:05,900 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2018-12-08 10:55:05,901 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-12-08 10:55:05,901 INFO L122 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSES Number of strict supporting invariants: 0 Number of non-strict supporting invariants: 1 Consider only non-deceasing supporting invariants: true Simplify termination arguments: true Simplify supporting invariants: trueOverapproximate stem: false [2018-12-08 10:55:05,902 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-12-08 10:55:05,902 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-12-08 10:55:05,902 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-12-08 10:55:05,902 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-12-08 10:55:05,903 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2018-12-08 10:55:05,903 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2018-12-08 10:55:05,906 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-12-08 10:55:05,906 INFO L122 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSES Number of strict supporting invariants: 0 Number of non-strict supporting invariants: 1 Consider only non-deceasing supporting invariants: true Simplify termination arguments: true Simplify supporting invariants: trueOverapproximate stem: false [2018-12-08 10:55:05,906 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-12-08 10:55:05,907 INFO L205 nArgumentSynthesizer]: 2 stem disjuncts [2018-12-08 10:55:05,907 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-12-08 10:55:05,907 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-12-08 10:55:05,908 INFO L402 nArgumentSynthesizer]: We have 8 Motzkin's Theorem applications. [2018-12-08 10:55:05,908 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2018-12-08 10:55:05,915 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-12-08 10:55:05,916 INFO L122 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSES Number of strict supporting invariants: 0 Number of non-strict supporting invariants: 1 Consider only non-deceasing supporting invariants: true Simplify termination arguments: true Simplify supporting invariants: trueOverapproximate stem: false [2018-12-08 10:55:05,916 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-12-08 10:55:05,916 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-12-08 10:55:05,916 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-12-08 10:55:05,916 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-12-08 10:55:05,919 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2018-12-08 10:55:05,919 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2018-12-08 10:55:05,943 INFO L421 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2018-12-08 10:55:05,963 INFO L443 ModelExtractionUtils]: Simplification made 4 calls to the SMT solver. [2018-12-08 10:55:05,963 INFO L444 ModelExtractionUtils]: 66 out of 70 variables were initially zero. Simplification set additionally 1 variables to zero. [2018-12-08 10:55:05,963 INFO L437 nArgumentSynthesizer]: Simplifying supporting invariants... [2018-12-08 10:55:05,964 INFO L440 nArgumentSynthesizer]: Removed 2 redundant supporting invariants from a total of 2. [2018-12-08 10:55:05,964 INFO L518 LassoAnalysis]: Proved termination. [2018-12-08 10:55:05,964 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-12-08 10:55:06,116 INFO L297 tatePredicateManager]: 45 out of 45 supporting invariants were superfluous and have been removed [2018-12-08 10:55:06,117 WARN L1298 BoogieBacktranslator]: unknown boogie variable #length [2018-12-08 10:55:06,123 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-12-08 10:55:06,137 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-08 10:55:06,138 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-08 10:55:06,143 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-08 10:55:06,143 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-08 10:55:06,152 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-08 10:55:06,153 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-12-08 10:55:06,153 INFO L72 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 37 states and 44 transitions. cyclomatic complexity: 11 Second operand 4 states. [2018-12-08 10:55:06,167 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-12-08 10:55:06,168 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-12-08 10:55:06,168 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-12-08 10:55:06,168 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 41 transitions. [2018-12-08 10:55:06,168 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 4 states and 41 transitions. Stem has 24 letters. Loop has 3 letters. [2018-12-08 10:55:06,168 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2018-12-08 10:55:06,168 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 4 states and 41 transitions. Stem has 27 letters. Loop has 3 letters. [2018-12-08 10:55:06,169 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2018-12-08 10:55:06,169 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 4 states and 41 transitions. Stem has 24 letters. Loop has 6 letters. [2018-12-08 10:55:06,169 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2018-12-08 10:55:06,169 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 84 states and 102 transitions. [2018-12-08 10:55:06,170 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 3 [2018-12-08 10:55:06,171 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 84 states to 61 states and 74 transitions. [2018-12-08 10:55:06,171 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 26 [2018-12-08 10:55:06,171 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 26 [2018-12-08 10:55:06,171 INFO L73 IsDeterministic]: Start isDeterministic. Operand 61 states and 74 transitions. [2018-12-08 10:55:06,171 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2018-12-08 10:55:06,172 INFO L705 BuchiCegarLoop]: Abstraction has 61 states and 74 transitions. [2018-12-08 10:55:06,172 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 61 states and 74 transitions. [2018-12-08 10:55:06,173 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 61 to 46. [2018-12-08 10:55:06,173 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 46 states. [2018-12-08 10:55:06,174 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 46 states to 46 states and 55 transitions. [2018-12-08 10:55:06,174 INFO L728 BuchiCegarLoop]: Abstraction has 46 states and 55 transitions. [2018-12-08 10:55:06,174 INFO L608 BuchiCegarLoop]: Abstraction has 46 states and 55 transitions. [2018-12-08 10:55:06,174 INFO L442 BuchiCegarLoop]: ======== Iteration 9============ [2018-12-08 10:55:06,174 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 46 states and 55 transitions. [2018-12-08 10:55:06,174 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 3 [2018-12-08 10:55:06,174 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2018-12-08 10:55:06,174 INFO L119 BuchiIsEmpty]: Starting construction of run [2018-12-08 10:55:06,175 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-12-08 10:55:06,175 INFO L867 BuchiCegarLoop]: Counterexample loop histogram [1, 1, 1] [2018-12-08 10:55:06,175 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-12-08 10:55:06,176 INFO L796 eck$LassoCheckResult]: Loop: 1628#L517-3 memcmp_#t~pre6 := memcmp_~count - 1;memcmp_~count := memcmp_~count - 1; 1624#L517-1 assume !!(0 != memcmp_#t~pre6 % 4294967296);havoc memcmp_#t~pre6;call memcmp_#t~mem7 := read~int(memcmp_~d~0.base, memcmp_~d~0.offset, 1);call memcmp_#t~mem8 := read~int(memcmp_~s~0.base, memcmp_~s~0.offset, 1);memcmp_~r~0 := memcmp_#t~mem7 % 256 - memcmp_#t~mem8 % 256; 1625#L518 assume !(0 != memcmp_~r~0);havoc memcmp_#t~mem8;havoc memcmp_#t~mem7;memcmp_#t~pre9.base, memcmp_#t~pre9.offset := memcmp_~d~0.base, 1 + memcmp_~d~0.offset;memcmp_~d~0.base, memcmp_~d~0.offset := memcmp_~d~0.base, 1 + memcmp_~d~0.offset;havoc memcmp_#t~pre9.base, memcmp_#t~pre9.offset;memcmp_#t~pre10.base, memcmp_#t~pre10.offset := memcmp_~s~0.base, 1 + memcmp_~s~0.offset;memcmp_~s~0.base, memcmp_~s~0.offset := memcmp_~s~0.base, 1 + memcmp_~s~0.offset;havoc memcmp_#t~pre10.base, memcmp_#t~pre10.offset; 1628#L517-3 [2018-12-08 10:55:06,176 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-12-08 10:55:06,176 INFO L82 PathProgramCache]: Analyzing trace with hash 1259680368, now seen corresponding path program 1 times [2018-12-08 10:55:06,176 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-12-08 10:55:06,176 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-12-08 10:55:06,177 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-08 10:55:06,177 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-08 10:55:06,177 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-08 10:55:06,184 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-08 10:55:06,205 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2018-12-08 10:55:06,205 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-12-08 10:55:06,205 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2018-12-08 10:55:06,205 INFO L799 eck$LassoCheckResult]: stem already infeasible [2018-12-08 10:55:06,205 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-12-08 10:55:06,205 INFO L82 PathProgramCache]: Analyzing trace with hash 111382, now seen corresponding path program 2 times [2018-12-08 10:55:06,205 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-12-08 10:55:06,205 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-12-08 10:55:06,206 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-08 10:55:06,206 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-08 10:55:06,206 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-08 10:55:06,208 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-12-08 10:55:06,210 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-12-08 10:55:06,256 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2018-12-08 10:55:06,256 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2018-12-08 10:55:06,257 INFO L87 Difference]: Start difference. First operand 46 states and 55 transitions. cyclomatic complexity: 15 Second operand 4 states. [2018-12-08 10:55:06,268 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-08 10:55:06,268 INFO L93 Difference]: Finished difference Result 48 states and 56 transitions. [2018-12-08 10:55:06,268 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2018-12-08 10:55:06,268 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 48 states and 56 transitions. [2018-12-08 10:55:06,268 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 3 [2018-12-08 10:55:06,269 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 48 states to 45 states and 52 transitions. [2018-12-08 10:55:06,269 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 22 [2018-12-08 10:55:06,269 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 22 [2018-12-08 10:55:06,269 INFO L73 IsDeterministic]: Start isDeterministic. Operand 45 states and 52 transitions. [2018-12-08 10:55:06,269 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2018-12-08 10:55:06,269 INFO L705 BuchiCegarLoop]: Abstraction has 45 states and 52 transitions. [2018-12-08 10:55:06,269 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 45 states and 52 transitions. [2018-12-08 10:55:06,270 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 45 to 45. [2018-12-08 10:55:06,270 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 45 states. [2018-12-08 10:55:06,270 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 45 states to 45 states and 52 transitions. [2018-12-08 10:55:06,270 INFO L728 BuchiCegarLoop]: Abstraction has 45 states and 52 transitions. [2018-12-08 10:55:06,270 INFO L608 BuchiCegarLoop]: Abstraction has 45 states and 52 transitions. [2018-12-08 10:55:06,270 INFO L442 BuchiCegarLoop]: ======== Iteration 10============ [2018-12-08 10:55:06,270 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 45 states and 52 transitions. [2018-12-08 10:55:06,271 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 3 [2018-12-08 10:55:06,271 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2018-12-08 10:55:06,271 INFO L119 BuchiIsEmpty]: Starting construction of run [2018-12-08 10:55:06,271 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-12-08 10:55:06,271 INFO L867 BuchiCegarLoop]: Counterexample loop histogram [1, 1, 1] [2018-12-08 10:55:06,271 INFO L794 eck$LassoCheckResult]: Stem: 1760#ULTIMATE.startENTRY #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; 1734#L-1 havoc main_#res;havoc main_#t~nondet19, main_#t~malloc20.base, main_#t~malloc20.offset, main_#t~nondet21, main_#t~malloc22.base, main_#t~malloc22.offset, main_#t~ret23.base, main_#t~ret23.offset, main_~in_len~0, main_~hay~0.base, main_~hay~0.offset, main_~out_len~0, main_~needle~0.base, main_~needle~0.offset;main_~in_len~0 := main_#t~nondet19;havoc main_#t~nondet19; 1735#L541 assume !(main_~in_len~0 < 1);call main_#t~malloc20.base, main_#t~malloc20.offset := #Ultimate.alloc(main_~in_len~0);main_~hay~0.base, main_~hay~0.offset := main_#t~malloc20.base, main_#t~malloc20.offset;call write~int(0, main_~hay~0.base, main_~hay~0.offset + (main_~in_len~0 - 1), 1);main_~out_len~0 := main_#t~nondet21;havoc main_#t~nondet21; 1746#L545 assume !(main_~out_len~0 < 1);call main_#t~malloc22.base, main_#t~malloc22.offset := #Ultimate.alloc(main_~out_len~0);main_~needle~0.base, main_~needle~0.offset := main_#t~malloc22.base, main_#t~malloc22.offset;call write~int(0, main_~needle~0.base, main_~needle~0.offset + (main_~out_len~0 - 1), 1);strstr_#in~haystack.base, strstr_#in~haystack.offset, strstr_#in~needle.base, strstr_#in~needle.offset := main_~hay~0.base, main_~hay~0.offset, main_~needle~0.base, main_~needle~0.offset;havoc strstr_#res.base, strstr_#res.offset;havoc strstr_#t~ret11, strstr_#t~ret12, strstr_#t~mem14, strstr_#t~mem15, strstr_#t~ret16, strstr_#t~short17, strstr_#t~pre18.base, strstr_#t~pre18.offset, strstr_#t~pre13, strstr_~haystack.base, strstr_~haystack.offset, strstr_~needle.base, strstr_~needle.offset, strstr_~nl~0, strstr_~hl~0, strstr_~i~1;strstr_~haystack.base, strstr_~haystack.offset := strstr_#in~haystack.base, strstr_#in~haystack.offset;strstr_~needle.base, strstr_~needle.offset := strstr_#in~needle.base, strstr_#in~needle.offset;strlen_#in~s.base, strlen_#in~s.offset := strstr_~needle.base, strstr_~needle.offset;havoc strlen_#res;havoc strlen_#t~pre3, strlen_#t~pre2.base, strlen_#t~pre2.offset, strlen_#t~mem4, strlen_~s.base, strlen_~s.offset, strlen_~i~0;strlen_~s.base, strlen_~s.offset := strlen_#in~s.base, strlen_#in~s.offset;havoc strlen_~i~0; 1753#L508 assume !(strlen_~s.base == 0 && strlen_~s.offset == 0);strlen_~i~0 := 0; 1754#L509-4 call strlen_#t~mem4 := read~int(strlen_~s.base, strlen_~s.offset, 1); 1755#L509-1 assume !!(0 != strlen_#t~mem4);havoc strlen_#t~mem4;strlen_#t~pre3 := 1 + strlen_~i~0;strlen_~i~0 := 1 + strlen_~i~0;havoc strlen_#t~pre3; 1761#L509-3 strlen_#t~pre2.base, strlen_#t~pre2.offset := strlen_~s.base, 1 + strlen_~s.offset;strlen_~s.base, strlen_~s.offset := strlen_~s.base, 1 + strlen_~s.offset;havoc strlen_#t~pre2.base, strlen_#t~pre2.offset; 1756#L509-4 call strlen_#t~mem4 := read~int(strlen_~s.base, strlen_~s.offset, 1); 1757#L509-1 assume !(0 != strlen_#t~mem4);havoc strlen_#t~mem4; 1758#L509-5 strlen_#res := strlen_~i~0; 1741#L510 strstr_#t~ret11 := strlen_#res;strstr_~nl~0 := strstr_#t~ret11;havoc strstr_#t~ret11;strlen_#in~s.base, strlen_#in~s.offset := strstr_~haystack.base, strstr_~haystack.offset;havoc strlen_#res;havoc strlen_#t~pre3, strlen_#t~pre2.base, strlen_#t~pre2.offset, strlen_#t~mem4, strlen_~s.base, strlen_~s.offset, strlen_~i~0;strlen_~s.base, strlen_~s.offset := strlen_#in~s.base, strlen_#in~s.offset;havoc strlen_~i~0; 1742#L508-2 assume !(strlen_~s.base == 0 && strlen_~s.offset == 0);strlen_~i~0 := 0; 1743#L509-10 call strlen_#t~mem4 := read~int(strlen_~s.base, strlen_~s.offset, 1); 1744#L509-7 assume !!(0 != strlen_#t~mem4);havoc strlen_#t~mem4;strlen_#t~pre3 := 1 + strlen_~i~0;strlen_~i~0 := 1 + strlen_~i~0;havoc strlen_#t~pre3; 1736#L509-9 strlen_#t~pre2.base, strlen_#t~pre2.offset := strlen_~s.base, 1 + strlen_~s.offset;strlen_~s.base, strlen_~s.offset := strlen_~s.base, 1 + strlen_~s.offset;havoc strlen_#t~pre2.base, strlen_#t~pre2.offset; 1737#L509-10 call strlen_#t~mem4 := read~int(strlen_~s.base, strlen_~s.offset, 1); 1745#L509-7 assume !(0 != strlen_#t~mem4);havoc strlen_#t~mem4; 1749#L509-11 strlen_#res := strlen_~i~0; 1747#L510-1 strstr_#t~ret12 := strlen_#res;strstr_~hl~0 := strstr_#t~ret12;havoc strstr_#t~ret12;havoc strstr_~i~1; 1748#L529 assume !(0 == strstr_~nl~0 % 4294967296); 1750#L530 assume !(strstr_~nl~0 % 4294967296 > strstr_~hl~0 % 4294967296);strstr_~i~1 := 1 + (strstr_~hl~0 - strstr_~nl~0); 1751#L531-3 assume !!(0 != strstr_~i~1 % 4294967296);call strstr_#t~mem14 := read~int(strstr_~haystack.base, strstr_~haystack.offset, 1);call strstr_#t~mem15 := read~int(strstr_~needle.base, strstr_~needle.offset, 1);strstr_#t~short17 := strstr_#t~mem14 == strstr_#t~mem15; 1767#L532 assume strstr_#t~short17;memcmp_#in~dst.base, memcmp_#in~dst.offset, memcmp_#in~src.base, memcmp_#in~src.offset, memcmp_#in~count := strstr_~haystack.base, strstr_~haystack.offset, strstr_~needle.base, strstr_~needle.offset, strstr_~nl~0;havoc memcmp_#res;havoc memcmp_#t~pre5, memcmp_#t~mem7, memcmp_#t~mem8, memcmp_#t~pre9.base, memcmp_#t~pre9.offset, memcmp_#t~pre10.base, memcmp_#t~pre10.offset, memcmp_#t~pre6, memcmp_~dst.base, memcmp_~dst.offset, memcmp_~src.base, memcmp_~src.offset, memcmp_~count, memcmp_~r~0, memcmp_~d~0.base, memcmp_~d~0.offset, memcmp_~s~0.base, memcmp_~s~0.offset;memcmp_~dst.base, memcmp_~dst.offset := memcmp_#in~dst.base, memcmp_#in~dst.offset;memcmp_~src.base, memcmp_~src.offset := memcmp_#in~src.base, memcmp_#in~src.offset;memcmp_~count := memcmp_#in~count;havoc memcmp_~r~0;memcmp_~d~0.base, memcmp_~d~0.offset := memcmp_~dst.base, memcmp_~dst.offset;memcmp_~s~0.base, memcmp_~s~0.offset := memcmp_~src.base, memcmp_~src.offset;memcmp_#t~pre5 := 1 + memcmp_~count;memcmp_~count := 1 + memcmp_~count;havoc memcmp_#t~pre5; 1765#L517-3 memcmp_#t~pre6 := memcmp_~count - 1;memcmp_~count := memcmp_~count - 1; 1729#L517-1 assume !!(0 != memcmp_#t~pre6 % 4294967296);havoc memcmp_#t~pre6;call memcmp_#t~mem7 := read~int(memcmp_~d~0.base, memcmp_~d~0.offset, 1);call memcmp_#t~mem8 := read~int(memcmp_~s~0.base, memcmp_~s~0.offset, 1);memcmp_~r~0 := memcmp_#t~mem7 % 256 - memcmp_#t~mem8 % 256; 1730#L518 assume 0 != memcmp_~r~0;havoc memcmp_#t~mem8;havoc memcmp_#t~mem7;memcmp_#res := memcmp_~r~0; 1759#L523 strstr_#t~ret16 := memcmp_#res;strstr_#t~short17 := 0 == strstr_#t~ret16; 1740#L532-2 assume !strstr_#t~short17;havoc strstr_#t~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-12-08 10:55:06,271 INFO L796 eck$LassoCheckResult]: Loop: 1731#L517-3 memcmp_#t~pre6 := memcmp_~count - 1;memcmp_~count := memcmp_~count - 1; 1727#L517-1 assume !!(0 != memcmp_#t~pre6 % 4294967296);havoc memcmp_#t~pre6;call memcmp_#t~mem7 := read~int(memcmp_~d~0.base, memcmp_~d~0.offset, 1);call memcmp_#t~mem8 := read~int(memcmp_~s~0.base, memcmp_~s~0.offset, 1);memcmp_~r~0 := memcmp_#t~mem7 % 256 - memcmp_#t~mem8 % 256; 1728#L518 assume !(0 != memcmp_~r~0);havoc memcmp_#t~mem8;havoc memcmp_#t~mem7;memcmp_#t~pre9.base, memcmp_#t~pre9.offset := memcmp_~d~0.base, 1 + memcmp_~d~0.offset;memcmp_~d~0.base, memcmp_~d~0.offset := memcmp_~d~0.base, 1 + memcmp_~d~0.offset;havoc memcmp_#t~pre9.base, memcmp_#t~pre9.offset;memcmp_#t~pre10.base, memcmp_#t~pre10.offset := memcmp_~s~0.base, 1 + memcmp_~s~0.offset;memcmp_~s~0.base, memcmp_~s~0.offset := memcmp_~s~0.base, 1 + memcmp_~s~0.offset;havoc memcmp_#t~pre10.base, memcmp_#t~pre10.offset; 1731#L517-3 [2018-12-08 10:55:06,272 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-12-08 10:55:06,272 INFO L82 PathProgramCache]: Analyzing trace with hash -1432054472, now seen corresponding path program 1 times [2018-12-08 10:55:06,272 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-12-08 10:55:06,272 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-12-08 10:55:06,272 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-08 10:55:06,272 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-12-08 10:55:06,272 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-08 10:55:06,278 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-08 10:55:06,376 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 1 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-08 10:55:06,376 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-08 10:55:06,376 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_94c0e2a3-1d75-4fe2-89b5-26f2790c7975/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-12-08 10:55:06,403 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-08 10:55:06,424 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-08 10:55:06,426 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-08 10:55:06,439 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-12-08 10:55:06,440 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-12-08 10:55:06,441 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-12-08 10:55:06,442 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-08 10:55:06,444 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-12-08 10:55:06,444 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 3 variables, input treesize:14, output treesize:10 [2018-12-08 10:55:06,547 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-12-08 10:55:06,556 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-12-08 10:55:06,556 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 2 xjuncts. [2018-12-08 10:55:06,570 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 21 [2018-12-08 10:55:06,571 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-0 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-12-08 10:55:06,573 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 8 [2018-12-08 10:55:06,573 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-12-08 10:55:06,592 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-12-08 10:55:06,593 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 4 xjuncts. [2018-12-08 10:55:06,601 INFO L267 ElimStorePlain]: Start of recursive call 2: 3 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-08 10:55:06,602 INFO L267 ElimStorePlain]: Start of recursive call 1: 6 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-12-08 10:55:06,602 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 7 variables, input treesize:39, output treesize:3 [2018-12-08 10:55:06,619 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2018-12-08 10:55:06,642 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 1 imperfect interpolant sequences. [2018-12-08 10:55:06,643 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [6] imperfect sequences [12] total 16 [2018-12-08 10:55:06,643 INFO L799 eck$LassoCheckResult]: stem already infeasible [2018-12-08 10:55:06,643 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-12-08 10:55:06,643 INFO L82 PathProgramCache]: Analyzing trace with hash 111382, now seen corresponding path program 3 times [2018-12-08 10:55:06,643 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-12-08 10:55:06,643 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-12-08 10:55:06,643 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-08 10:55:06,643 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-08 10:55:06,644 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-08 10:55:06,645 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-12-08 10:55:06,647 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-12-08 10:55:06,696 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2018-12-08 10:55:06,697 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=32, Invalid=208, Unknown=0, NotChecked=0, Total=240 [2018-12-08 10:55:06,697 INFO L87 Difference]: Start difference. First operand 45 states and 52 transitions. cyclomatic complexity: 13 Second operand 16 states. [2018-12-08 10:55:07,529 WARN L180 SmtUtils]: Spent 259.00 ms on a formula simplification. DAG size of input: 59 DAG size of output: 54 [2018-12-08 10:55:07,708 WARN L180 SmtUtils]: Spent 109.00 ms on a formula simplification that was a NOOP. DAG size: 44 [2018-12-08 10:55:08,633 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-08 10:55:08,633 INFO L93 Difference]: Finished difference Result 182 states and 203 transitions. [2018-12-08 10:55:08,633 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 29 states. [2018-12-08 10:55:08,633 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 182 states and 203 transitions. [2018-12-08 10:55:08,634 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 9 [2018-12-08 10:55:08,635 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 182 states to 151 states and 171 transitions. [2018-12-08 10:55:08,635 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 58 [2018-12-08 10:55:08,635 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 58 [2018-12-08 10:55:08,635 INFO L73 IsDeterministic]: Start isDeterministic. Operand 151 states and 171 transitions. [2018-12-08 10:55:08,635 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2018-12-08 10:55:08,635 INFO L705 BuchiCegarLoop]: Abstraction has 151 states and 171 transitions. [2018-12-08 10:55:08,635 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 151 states and 171 transitions. [2018-12-08 10:55:08,637 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 151 to 60. [2018-12-08 10:55:08,637 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 60 states. [2018-12-08 10:55:08,638 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 60 states to 60 states and 68 transitions. [2018-12-08 10:55:08,638 INFO L728 BuchiCegarLoop]: Abstraction has 60 states and 68 transitions. [2018-12-08 10:55:08,638 INFO L608 BuchiCegarLoop]: Abstraction has 60 states and 68 transitions. [2018-12-08 10:55:08,638 INFO L442 BuchiCegarLoop]: ======== Iteration 11============ [2018-12-08 10:55:08,638 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 60 states and 68 transitions. [2018-12-08 10:55:08,638 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 3 [2018-12-08 10:55:08,638 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2018-12-08 10:55:08,639 INFO L119 BuchiIsEmpty]: Starting construction of run [2018-12-08 10:55:08,639 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-12-08 10:55:08,639 INFO L867 BuchiCegarLoop]: Counterexample loop histogram [1, 1, 1] [2018-12-08 10:55:08,639 INFO L794 eck$LassoCheckResult]: Stem: 2155#ULTIMATE.startENTRY #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; 2126#L-1 havoc main_#res;havoc main_#t~nondet19, main_#t~malloc20.base, main_#t~malloc20.offset, main_#t~nondet21, main_#t~malloc22.base, main_#t~malloc22.offset, main_#t~ret23.base, main_#t~ret23.offset, main_~in_len~0, main_~hay~0.base, main_~hay~0.offset, main_~out_len~0, main_~needle~0.base, main_~needle~0.offset;main_~in_len~0 := main_#t~nondet19;havoc main_#t~nondet19; 2127#L541 assume !(main_~in_len~0 < 1);call main_#t~malloc20.base, main_#t~malloc20.offset := #Ultimate.alloc(main_~in_len~0);main_~hay~0.base, main_~hay~0.offset := main_#t~malloc20.base, main_#t~malloc20.offset;call write~int(0, main_~hay~0.base, main_~hay~0.offset + (main_~in_len~0 - 1), 1);main_~out_len~0 := main_#t~nondet21;havoc main_#t~nondet21; 2135#L545 assume !(main_~out_len~0 < 1);call main_#t~malloc22.base, main_#t~malloc22.offset := #Ultimate.alloc(main_~out_len~0);main_~needle~0.base, main_~needle~0.offset := main_#t~malloc22.base, main_#t~malloc22.offset;call write~int(0, main_~needle~0.base, main_~needle~0.offset + (main_~out_len~0 - 1), 1);strstr_#in~haystack.base, strstr_#in~haystack.offset, strstr_#in~needle.base, strstr_#in~needle.offset := main_~hay~0.base, main_~hay~0.offset, main_~needle~0.base, main_~needle~0.offset;havoc strstr_#res.base, strstr_#res.offset;havoc strstr_#t~ret11, strstr_#t~ret12, strstr_#t~mem14, strstr_#t~mem15, strstr_#t~ret16, strstr_#t~short17, strstr_#t~pre18.base, strstr_#t~pre18.offset, strstr_#t~pre13, strstr_~haystack.base, strstr_~haystack.offset, strstr_~needle.base, strstr_~needle.offset, strstr_~nl~0, strstr_~hl~0, strstr_~i~1;strstr_~haystack.base, strstr_~haystack.offset := strstr_#in~haystack.base, strstr_#in~haystack.offset;strstr_~needle.base, strstr_~needle.offset := strstr_#in~needle.base, strstr_#in~needle.offset;strlen_#in~s.base, strlen_#in~s.offset := strstr_~needle.base, strstr_~needle.offset;havoc strlen_#res;havoc strlen_#t~pre3, strlen_#t~pre2.base, strlen_#t~pre2.offset, strlen_#t~mem4, strlen_~s.base, strlen_~s.offset, strlen_~i~0;strlen_~s.base, strlen_~s.offset := strlen_#in~s.base, strlen_#in~s.offset;havoc strlen_~i~0; 2143#L508 assume !(strlen_~s.base == 0 && strlen_~s.offset == 0);strlen_~i~0 := 0; 2144#L509-4 call strlen_#t~mem4 := read~int(strlen_~s.base, strlen_~s.offset, 1); 2147#L509-1 assume !!(0 != strlen_#t~mem4);havoc strlen_#t~mem4;strlen_#t~pre3 := 1 + strlen_~i~0;strlen_~i~0 := 1 + strlen_~i~0;havoc strlen_#t~pre3; 2158#L509-3 strlen_#t~pre2.base, strlen_#t~pre2.offset := strlen_~s.base, 1 + strlen_~s.offset;strlen_~s.base, strlen_~s.offset := strlen_~s.base, 1 + strlen_~s.offset;havoc strlen_#t~pre2.base, strlen_#t~pre2.offset; 2148#L509-4 call strlen_#t~mem4 := read~int(strlen_~s.base, strlen_~s.offset, 1); 2149#L509-1 assume !!(0 != strlen_#t~mem4);havoc strlen_#t~mem4;strlen_#t~pre3 := 1 + strlen_~i~0;strlen_~i~0 := 1 + strlen_~i~0;havoc strlen_#t~pre3; 2164#L509-3 strlen_#t~pre2.base, strlen_#t~pre2.offset := strlen_~s.base, 1 + strlen_~s.offset;strlen_~s.base, strlen_~s.offset := strlen_~s.base, 1 + strlen_~s.offset;havoc strlen_#t~pre2.base, strlen_#t~pre2.offset; 2165#L509-4 call strlen_#t~mem4 := read~int(strlen_~s.base, strlen_~s.offset, 1); 2156#L509-1 assume !(0 != strlen_#t~mem4);havoc strlen_#t~mem4; 2157#L509-5 strlen_#res := strlen_~i~0; 2130#L510 strstr_#t~ret11 := strlen_#res;strstr_~nl~0 := strstr_#t~ret11;havoc strstr_#t~ret11;strlen_#in~s.base, strlen_#in~s.offset := strstr_~haystack.base, strstr_~haystack.offset;havoc strlen_#res;havoc strlen_#t~pre3, strlen_#t~pre2.base, strlen_#t~pre2.offset, strlen_#t~mem4, strlen_~s.base, strlen_~s.offset, strlen_~i~0;strlen_~s.base, strlen_~s.offset := strlen_#in~s.base, strlen_#in~s.offset;havoc strlen_~i~0; 2131#L508-2 assume !(strlen_~s.base == 0 && strlen_~s.offset == 0);strlen_~i~0 := 0; 2132#L509-10 call strlen_#t~mem4 := read~int(strlen_~s.base, strlen_~s.offset, 1); 2133#L509-7 assume !!(0 != strlen_#t~mem4);havoc strlen_#t~mem4;strlen_#t~pre3 := 1 + strlen_~i~0;strlen_~i~0 := 1 + strlen_~i~0;havoc strlen_#t~pre3; 2128#L509-9 strlen_#t~pre2.base, strlen_#t~pre2.offset := strlen_~s.base, 1 + strlen_~s.offset;strlen_~s.base, strlen_~s.offset := strlen_~s.base, 1 + strlen_~s.offset;havoc strlen_#t~pre2.base, strlen_#t~pre2.offset; 2129#L509-10 call strlen_#t~mem4 := read~int(strlen_~s.base, strlen_~s.offset, 1); 2153#L509-7 assume !(0 != strlen_#t~mem4);havoc strlen_#t~mem4; 2140#L509-11 strlen_#res := strlen_~i~0; 2136#L510-1 strstr_#t~ret12 := strlen_#res;strstr_~hl~0 := strstr_#t~ret12;havoc strstr_#t~ret12;havoc strstr_~i~1; 2137#L529 assume !(0 == strstr_~nl~0 % 4294967296); 2141#L530 assume !(strstr_~nl~0 % 4294967296 > strstr_~hl~0 % 4294967296);strstr_~i~1 := 1 + (strstr_~hl~0 - strstr_~nl~0); 2142#L531-3 assume !!(0 != strstr_~i~1 % 4294967296);call strstr_#t~mem14 := read~int(strstr_~haystack.base, strstr_~haystack.offset, 1);call strstr_#t~mem15 := read~int(strstr_~needle.base, strstr_~needle.offset, 1);strstr_#t~short17 := strstr_#t~mem14 == strstr_#t~mem15; 2162#L532 assume strstr_#t~short17;memcmp_#in~dst.base, memcmp_#in~dst.offset, memcmp_#in~src.base, memcmp_#in~src.offset, memcmp_#in~count := strstr_~haystack.base, strstr_~haystack.offset, strstr_~needle.base, strstr_~needle.offset, strstr_~nl~0;havoc memcmp_#res;havoc memcmp_#t~pre5, memcmp_#t~mem7, memcmp_#t~mem8, memcmp_#t~pre9.base, memcmp_#t~pre9.offset, memcmp_#t~pre10.base, memcmp_#t~pre10.offset, memcmp_#t~pre6, memcmp_~dst.base, memcmp_~dst.offset, memcmp_~src.base, memcmp_~src.offset, memcmp_~count, memcmp_~r~0, memcmp_~d~0.base, memcmp_~d~0.offset, memcmp_~s~0.base, memcmp_~s~0.offset;memcmp_~dst.base, memcmp_~dst.offset := memcmp_#in~dst.base, memcmp_#in~dst.offset;memcmp_~src.base, memcmp_~src.offset := memcmp_#in~src.base, memcmp_#in~src.offset;memcmp_~count := memcmp_#in~count;havoc memcmp_~r~0;memcmp_~d~0.base, memcmp_~d~0.offset := memcmp_~dst.base, memcmp_~dst.offset;memcmp_~s~0.base, memcmp_~s~0.offset := memcmp_~src.base, memcmp_~src.offset;memcmp_#t~pre5 := 1 + memcmp_~count;memcmp_~count := 1 + memcmp_~count;havoc memcmp_#t~pre5; 2121#L517-3 memcmp_#t~pre6 := memcmp_~count - 1;memcmp_~count := memcmp_~count - 1; 2118#L517-1 assume !!(0 != memcmp_#t~pre6 % 4294967296);havoc memcmp_#t~pre6;call memcmp_#t~mem7 := read~int(memcmp_~d~0.base, memcmp_~d~0.offset, 1);call memcmp_#t~mem8 := read~int(memcmp_~s~0.base, memcmp_~s~0.offset, 1);memcmp_~r~0 := memcmp_#t~mem7 % 256 - memcmp_#t~mem8 % 256; 2119#L518 assume !(0 != memcmp_~r~0);havoc memcmp_#t~mem8;havoc memcmp_#t~mem7;memcmp_#t~pre9.base, memcmp_#t~pre9.offset := memcmp_~d~0.base, 1 + memcmp_~d~0.offset;memcmp_~d~0.base, memcmp_~d~0.offset := memcmp_~d~0.base, 1 + memcmp_~d~0.offset;havoc memcmp_#t~pre9.base, memcmp_#t~pre9.offset;memcmp_#t~pre10.base, memcmp_#t~pre10.offset := memcmp_~s~0.base, 1 + memcmp_~s~0.offset;memcmp_~s~0.base, memcmp_~s~0.offset := memcmp_~s~0.base, 1 + memcmp_~s~0.offset;havoc memcmp_#t~pre10.base, memcmp_#t~pre10.offset; 2174#L517-3 memcmp_#t~pre6 := memcmp_~count - 1;memcmp_~count := memcmp_~count - 1; 2173#L517-1 assume !!(0 != memcmp_#t~pre6 % 4294967296);havoc memcmp_#t~pre6;call memcmp_#t~mem7 := read~int(memcmp_~d~0.base, memcmp_~d~0.offset, 1);call memcmp_#t~mem8 := read~int(memcmp_~s~0.base, memcmp_~s~0.offset, 1);memcmp_~r~0 := memcmp_#t~mem7 % 256 - memcmp_#t~mem8 % 256; 2168#L518 assume 0 != memcmp_~r~0;havoc memcmp_#t~mem8;havoc memcmp_#t~mem7;memcmp_#res := memcmp_~r~0; 2154#L523 strstr_#t~ret16 := memcmp_#res;strstr_#t~short17 := 0 == strstr_#t~ret16; 2124#L532-2 assume !strstr_#t~short17;havoc strstr_#t~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-12-08 10:55:08,639 INFO L796 eck$LassoCheckResult]: Loop: 2120#L517-3 memcmp_#t~pre6 := memcmp_~count - 1;memcmp_~count := memcmp_~count - 1; 2116#L517-1 assume !!(0 != memcmp_#t~pre6 % 4294967296);havoc memcmp_#t~pre6;call memcmp_#t~mem7 := read~int(memcmp_~d~0.base, memcmp_~d~0.offset, 1);call memcmp_#t~mem8 := read~int(memcmp_~s~0.base, memcmp_~s~0.offset, 1);memcmp_~r~0 := memcmp_#t~mem7 % 256 - memcmp_#t~mem8 % 256; 2117#L518 assume !(0 != memcmp_~r~0);havoc memcmp_#t~mem8;havoc memcmp_#t~mem7;memcmp_#t~pre9.base, memcmp_#t~pre9.offset := memcmp_~d~0.base, 1 + memcmp_~d~0.offset;memcmp_~d~0.base, memcmp_~d~0.offset := memcmp_~d~0.base, 1 + memcmp_~d~0.offset;havoc memcmp_#t~pre9.base, memcmp_#t~pre9.offset;memcmp_#t~pre10.base, memcmp_#t~pre10.offset := memcmp_~s~0.base, 1 + memcmp_~s~0.offset;memcmp_~s~0.base, memcmp_~s~0.offset := memcmp_~s~0.base, 1 + memcmp_~s~0.offset;havoc memcmp_#t~pre10.base, memcmp_#t~pre10.offset; 2120#L517-3 [2018-12-08 10:55:08,639 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-12-08 10:55:08,640 INFO L82 PathProgramCache]: Analyzing trace with hash 1690748232, now seen corresponding path program 1 times [2018-12-08 10:55:08,640 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-12-08 10:55:08,640 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-12-08 10:55:08,640 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-08 10:55:08,640 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-12-08 10:55:08,640 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-08 10:55:08,648 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-08 10:55:08,730 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 1 proven. 9 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2018-12-08 10:55:08,730 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-08 10:55:08,730 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_94c0e2a3-1d75-4fe2-89b5-26f2790c7975/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-12-08 10:55:08,736 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-08 10:55:08,766 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-08 10:55:08,768 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-08 10:55:08,780 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-12-08 10:55:08,781 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-12-08 10:55:08,782 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-12-08 10:55:08,783 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-08 10:55:08,788 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-12-08 10:55:08,789 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 3 variables, input treesize:24, output treesize:20 [2018-12-08 10:55:09,019 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 0 proven. 11 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2018-12-08 10:55:09,034 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-12-08 10:55:09,034 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 12] total 23 [2018-12-08 10:55:09,034 INFO L799 eck$LassoCheckResult]: stem already infeasible [2018-12-08 10:55:09,034 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-12-08 10:55:09,034 INFO L82 PathProgramCache]: Analyzing trace with hash 111382, now seen corresponding path program 4 times [2018-12-08 10:55:09,034 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-12-08 10:55:09,035 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-12-08 10:55:09,035 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-08 10:55:09,035 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-08 10:55:09,035 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-08 10:55:09,036 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-12-08 10:55:09,038 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-12-08 10:55:09,078 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 23 interpolants. [2018-12-08 10:55:09,078 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=51, Invalid=455, Unknown=0, NotChecked=0, Total=506 [2018-12-08 10:55:09,078 INFO L87 Difference]: Start difference. First operand 60 states and 68 transitions. cyclomatic complexity: 14 Second operand 23 states. [2018-12-08 10:55:09,945 WARN L180 SmtUtils]: Spent 103.00 ms on a formula simplification. DAG size of input: 36 DAG size of output: 33 [2018-12-08 10:55:11,285 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-08 10:55:11,285 INFO L93 Difference]: Finished difference Result 286 states and 329 transitions. [2018-12-08 10:55:11,285 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 47 states. [2018-12-08 10:55:11,285 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 286 states and 329 transitions. [2018-12-08 10:55:11,286 INFO L131 ngComponentsAnalysis]: Automaton has 5 accepting balls. 15 [2018-12-08 10:55:11,287 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 286 states to 279 states and 322 transitions. [2018-12-08 10:55:11,288 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 76 [2018-12-08 10:55:11,288 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 76 [2018-12-08 10:55:11,288 INFO L73 IsDeterministic]: Start isDeterministic. Operand 279 states and 322 transitions. [2018-12-08 10:55:11,288 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2018-12-08 10:55:11,288 INFO L705 BuchiCegarLoop]: Abstraction has 279 states and 322 transitions. [2018-12-08 10:55:11,288 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 279 states and 322 transitions. [2018-12-08 10:55:11,291 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 279 to 88. [2018-12-08 10:55:11,291 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 88 states. [2018-12-08 10:55:11,291 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 88 states to 88 states and 100 transitions. [2018-12-08 10:55:11,291 INFO L728 BuchiCegarLoop]: Abstraction has 88 states and 100 transitions. [2018-12-08 10:55:11,292 INFO L608 BuchiCegarLoop]: Abstraction has 88 states and 100 transitions. [2018-12-08 10:55:11,292 INFO L442 BuchiCegarLoop]: ======== Iteration 12============ [2018-12-08 10:55:11,292 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 88 states and 100 transitions. [2018-12-08 10:55:11,292 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 3 [2018-12-08 10:55:11,292 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2018-12-08 10:55:11,292 INFO L119 BuchiIsEmpty]: Starting construction of run [2018-12-08 10:55:11,293 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-12-08 10:55:11,293 INFO L867 BuchiCegarLoop]: Counterexample loop histogram [1, 1, 1] [2018-12-08 10:55:11,293 INFO L794 eck$LassoCheckResult]: Stem: 2724#ULTIMATE.startENTRY #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; 2696#L-1 havoc main_#res;havoc main_#t~nondet19, main_#t~malloc20.base, main_#t~malloc20.offset, main_#t~nondet21, main_#t~malloc22.base, main_#t~malloc22.offset, main_#t~ret23.base, main_#t~ret23.offset, main_~in_len~0, main_~hay~0.base, main_~hay~0.offset, main_~out_len~0, main_~needle~0.base, main_~needle~0.offset;main_~in_len~0 := main_#t~nondet19;havoc main_#t~nondet19; 2697#L541 assume !(main_~in_len~0 < 1);call main_#t~malloc20.base, main_#t~malloc20.offset := #Ultimate.alloc(main_~in_len~0);main_~hay~0.base, main_~hay~0.offset := main_#t~malloc20.base, main_#t~malloc20.offset;call write~int(0, main_~hay~0.base, main_~hay~0.offset + (main_~in_len~0 - 1), 1);main_~out_len~0 := main_#t~nondet21;havoc main_#t~nondet21; 2706#L545 assume !(main_~out_len~0 < 1);call main_#t~malloc22.base, main_#t~malloc22.offset := #Ultimate.alloc(main_~out_len~0);main_~needle~0.base, main_~needle~0.offset := main_#t~malloc22.base, main_#t~malloc22.offset;call write~int(0, main_~needle~0.base, main_~needle~0.offset + (main_~out_len~0 - 1), 1);strstr_#in~haystack.base, strstr_#in~haystack.offset, strstr_#in~needle.base, strstr_#in~needle.offset := main_~hay~0.base, main_~hay~0.offset, main_~needle~0.base, main_~needle~0.offset;havoc strstr_#res.base, strstr_#res.offset;havoc strstr_#t~ret11, strstr_#t~ret12, strstr_#t~mem14, strstr_#t~mem15, strstr_#t~ret16, strstr_#t~short17, strstr_#t~pre18.base, strstr_#t~pre18.offset, strstr_#t~pre13, strstr_~haystack.base, strstr_~haystack.offset, strstr_~needle.base, strstr_~needle.offset, strstr_~nl~0, strstr_~hl~0, strstr_~i~1;strstr_~haystack.base, strstr_~haystack.offset := strstr_#in~haystack.base, strstr_#in~haystack.offset;strstr_~needle.base, strstr_~needle.offset := strstr_#in~needle.base, strstr_#in~needle.offset;strlen_#in~s.base, strlen_#in~s.offset := strstr_~needle.base, strstr_~needle.offset;havoc strlen_#res;havoc strlen_#t~pre3, strlen_#t~pre2.base, strlen_#t~pre2.offset, strlen_#t~mem4, strlen_~s.base, strlen_~s.offset, strlen_~i~0;strlen_~s.base, strlen_~s.offset := strlen_#in~s.base, strlen_#in~s.offset;havoc strlen_~i~0; 2714#L508 assume !(strlen_~s.base == 0 && strlen_~s.offset == 0);strlen_~i~0 := 0; 2715#L509-4 call strlen_#t~mem4 := read~int(strlen_~s.base, strlen_~s.offset, 1); 2717#L509-1 assume !!(0 != strlen_#t~mem4);havoc strlen_#t~mem4;strlen_#t~pre3 := 1 + strlen_~i~0;strlen_~i~0 := 1 + strlen_~i~0;havoc strlen_#t~pre3; 2725#L509-3 strlen_#t~pre2.base, strlen_#t~pre2.offset := strlen_~s.base, 1 + strlen_~s.offset;strlen_~s.base, strlen_~s.offset := strlen_~s.base, 1 + strlen_~s.offset;havoc strlen_#t~pre2.base, strlen_#t~pre2.offset; 2741#L509-4 call strlen_#t~mem4 := read~int(strlen_~s.base, strlen_~s.offset, 1); 2720#L509-1 assume !(0 != strlen_#t~mem4);havoc strlen_#t~mem4; 2721#L509-5 strlen_#res := strlen_~i~0; 2700#L510 strstr_#t~ret11 := strlen_#res;strstr_~nl~0 := strstr_#t~ret11;havoc strstr_#t~ret11;strlen_#in~s.base, strlen_#in~s.offset := strstr_~haystack.base, strstr_~haystack.offset;havoc strlen_#res;havoc strlen_#t~pre3, strlen_#t~pre2.base, strlen_#t~pre2.offset, strlen_#t~mem4, strlen_~s.base, strlen_~s.offset, strlen_~i~0;strlen_~s.base, strlen_~s.offset := strlen_#in~s.base, strlen_#in~s.offset;havoc strlen_~i~0; 2701#L508-2 assume !(strlen_~s.base == 0 && strlen_~s.offset == 0);strlen_~i~0 := 0; 2716#L509-10 call strlen_#t~mem4 := read~int(strlen_~s.base, strlen_~s.offset, 1); 2734#L509-7 assume !!(0 != strlen_#t~mem4);havoc strlen_#t~mem4;strlen_#t~pre3 := 1 + strlen_~i~0;strlen_~i~0 := 1 + strlen_~i~0;havoc strlen_#t~pre3; 2733#L509-9 strlen_#t~pre2.base, strlen_#t~pre2.offset := strlen_~s.base, 1 + strlen_~s.offset;strlen_~s.base, strlen_~s.offset := strlen_~s.base, 1 + strlen_~s.offset;havoc strlen_#t~pre2.base, strlen_#t~pre2.offset; 2704#L509-10 call strlen_#t~mem4 := read~int(strlen_~s.base, strlen_~s.offset, 1); 2705#L509-7 assume !!(0 != strlen_#t~mem4);havoc strlen_#t~mem4;strlen_#t~pre3 := 1 + strlen_~i~0;strlen_~i~0 := 1 + strlen_~i~0;havoc strlen_#t~pre3; 2698#L509-9 strlen_#t~pre2.base, strlen_#t~pre2.offset := strlen_~s.base, 1 + strlen_~s.offset;strlen_~s.base, strlen_~s.offset := strlen_~s.base, 1 + strlen_~s.offset;havoc strlen_#t~pre2.base, strlen_#t~pre2.offset; 2699#L509-10 call strlen_#t~mem4 := read~int(strlen_~s.base, strlen_~s.offset, 1); 2722#L509-7 assume !(0 != strlen_#t~mem4);havoc strlen_#t~mem4; 2711#L509-11 strlen_#res := strlen_~i~0; 2707#L510-1 strstr_#t~ret12 := strlen_#res;strstr_~hl~0 := strstr_#t~ret12;havoc strstr_#t~ret12;havoc strstr_~i~1; 2708#L529 assume !(0 == strstr_~nl~0 % 4294967296); 2712#L530 assume !(strstr_~nl~0 % 4294967296 > strstr_~hl~0 % 4294967296);strstr_~i~1 := 1 + (strstr_~hl~0 - strstr_~nl~0); 2713#L531-3 assume !!(0 != strstr_~i~1 % 4294967296);call strstr_#t~mem14 := read~int(strstr_~haystack.base, strstr_~haystack.offset, 1);call strstr_#t~mem15 := read~int(strstr_~needle.base, strstr_~needle.offset, 1);strstr_#t~short17 := strstr_#t~mem14 == strstr_#t~mem15; 2728#L532 assume strstr_#t~short17;memcmp_#in~dst.base, memcmp_#in~dst.offset, memcmp_#in~src.base, memcmp_#in~src.offset, memcmp_#in~count := strstr_~haystack.base, strstr_~haystack.offset, strstr_~needle.base, strstr_~needle.offset, strstr_~nl~0;havoc memcmp_#res;havoc memcmp_#t~pre5, memcmp_#t~mem7, memcmp_#t~mem8, memcmp_#t~pre9.base, memcmp_#t~pre9.offset, memcmp_#t~pre10.base, memcmp_#t~pre10.offset, memcmp_#t~pre6, memcmp_~dst.base, memcmp_~dst.offset, memcmp_~src.base, memcmp_~src.offset, memcmp_~count, memcmp_~r~0, memcmp_~d~0.base, memcmp_~d~0.offset, memcmp_~s~0.base, memcmp_~s~0.offset;memcmp_~dst.base, memcmp_~dst.offset := memcmp_#in~dst.base, memcmp_#in~dst.offset;memcmp_~src.base, memcmp_~src.offset := memcmp_#in~src.base, memcmp_#in~src.offset;memcmp_~count := memcmp_#in~count;havoc memcmp_~r~0;memcmp_~d~0.base, memcmp_~d~0.offset := memcmp_~dst.base, memcmp_~dst.offset;memcmp_~s~0.base, memcmp_~s~0.offset := memcmp_~src.base, memcmp_~src.offset;memcmp_#t~pre5 := 1 + memcmp_~count;memcmp_~count := 1 + memcmp_~count;havoc memcmp_#t~pre5; 2692#L517-3 memcmp_#t~pre6 := memcmp_~count - 1;memcmp_~count := memcmp_~count - 1; 2689#L517-1 assume !!(0 != memcmp_#t~pre6 % 4294967296);havoc memcmp_#t~pre6;call memcmp_#t~mem7 := read~int(memcmp_~d~0.base, memcmp_~d~0.offset, 1);call memcmp_#t~mem8 := read~int(memcmp_~s~0.base, memcmp_~s~0.offset, 1);memcmp_~r~0 := memcmp_#t~mem7 % 256 - memcmp_#t~mem8 % 256; 2690#L518 assume !(0 != memcmp_~r~0);havoc memcmp_#t~mem8;havoc memcmp_#t~mem7;memcmp_#t~pre9.base, memcmp_#t~pre9.offset := memcmp_~d~0.base, 1 + memcmp_~d~0.offset;memcmp_~d~0.base, memcmp_~d~0.offset := memcmp_~d~0.base, 1 + memcmp_~d~0.offset;havoc memcmp_#t~pre9.base, memcmp_#t~pre9.offset;memcmp_#t~pre10.base, memcmp_#t~pre10.offset := memcmp_~s~0.base, 1 + memcmp_~s~0.offset;memcmp_~s~0.base, memcmp_~s~0.offset := memcmp_~s~0.base, 1 + memcmp_~s~0.offset;havoc memcmp_#t~pre10.base, memcmp_#t~pre10.offset; 2727#L517-3 memcmp_#t~pre6 := memcmp_~count - 1;memcmp_~count := memcmp_~count - 1; 2766#L517-1 assume !!(0 != memcmp_#t~pre6 % 4294967296);havoc memcmp_#t~pre6;call memcmp_#t~mem7 := read~int(memcmp_~d~0.base, memcmp_~d~0.offset, 1);call memcmp_#t~mem8 := read~int(memcmp_~s~0.base, memcmp_~s~0.offset, 1);memcmp_~r~0 := memcmp_#t~mem7 % 256 - memcmp_#t~mem8 % 256; 2743#L518 assume 0 != memcmp_~r~0;havoc memcmp_#t~mem8;havoc memcmp_#t~mem7;memcmp_#res := memcmp_~r~0; 2723#L523 strstr_#t~ret16 := memcmp_#res;strstr_#t~short17 := 0 == strstr_#t~ret16; 2695#L532-2 assume !strstr_#t~short17;havoc strstr_#t~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-12-08 10:55:11,293 INFO L796 eck$LassoCheckResult]: Loop: 2691#L517-3 memcmp_#t~pre6 := memcmp_~count - 1;memcmp_~count := memcmp_~count - 1; 2687#L517-1 assume !!(0 != memcmp_#t~pre6 % 4294967296);havoc memcmp_#t~pre6;call memcmp_#t~mem7 := read~int(memcmp_~d~0.base, memcmp_~d~0.offset, 1);call memcmp_#t~mem8 := read~int(memcmp_~s~0.base, memcmp_~s~0.offset, 1);memcmp_~r~0 := memcmp_#t~mem7 % 256 - memcmp_#t~mem8 % 256; 2688#L518 assume !(0 != memcmp_~r~0);havoc memcmp_#t~mem8;havoc memcmp_#t~mem7;memcmp_#t~pre9.base, memcmp_#t~pre9.offset := memcmp_~d~0.base, 1 + memcmp_~d~0.offset;memcmp_~d~0.base, memcmp_~d~0.offset := memcmp_~d~0.base, 1 + memcmp_~d~0.offset;havoc memcmp_#t~pre9.base, memcmp_#t~pre9.offset;memcmp_#t~pre10.base, memcmp_#t~pre10.offset := memcmp_~s~0.base, 1 + memcmp_~s~0.offset;memcmp_~s~0.base, memcmp_~s~0.offset := memcmp_~s~0.base, 1 + memcmp_~s~0.offset;havoc memcmp_#t~pre10.base, memcmp_#t~pre10.offset; 2691#L517-3 [2018-12-08 10:55:11,293 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-12-08 10:55:11,294 INFO L82 PathProgramCache]: Analyzing trace with hash -2138077336, now seen corresponding path program 2 times [2018-12-08 10:55:11,294 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-12-08 10:55:11,294 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-12-08 10:55:11,294 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-08 10:55:11,294 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-12-08 10:55:11,294 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-08 10:55:11,302 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-08 10:55:11,366 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 3 proven. 4 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2018-12-08 10:55:11,366 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-08 10:55:11,366 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_94c0e2a3-1d75-4fe2-89b5-26f2790c7975/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-12-08 10:55:11,373 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-12-08 10:55:11,401 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-12-08 10:55:11,401 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-12-08 10:55:11,403 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-08 10:55:11,428 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 3 proven. 4 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2018-12-08 10:55:11,443 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-12-08 10:55:11,443 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 10 [2018-12-08 10:55:11,443 INFO L799 eck$LassoCheckResult]: stem already infeasible [2018-12-08 10:55:11,443 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-12-08 10:55:11,443 INFO L82 PathProgramCache]: Analyzing trace with hash 111382, now seen corresponding path program 5 times [2018-12-08 10:55:11,443 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-12-08 10:55:11,443 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-12-08 10:55:11,444 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-08 10:55:11,444 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-12-08 10:55:11,444 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-08 10:55:11,445 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-12-08 10:55:11,446 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-12-08 10:55:11,496 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2018-12-08 10:55:11,496 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=18, Invalid=72, Unknown=0, NotChecked=0, Total=90 [2018-12-08 10:55:11,496 INFO L87 Difference]: Start difference. First operand 88 states and 100 transitions. cyclomatic complexity: 19 Second operand 10 states. [2018-12-08 10:55:11,569 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-08 10:55:11,569 INFO L93 Difference]: Finished difference Result 143 states and 161 transitions. [2018-12-08 10:55:11,569 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2018-12-08 10:55:11,569 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 143 states and 161 transitions. [2018-12-08 10:55:11,570 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 6 [2018-12-08 10:55:11,570 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 143 states to 115 states and 131 transitions. [2018-12-08 10:55:11,570 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 38 [2018-12-08 10:55:11,570 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 38 [2018-12-08 10:55:11,570 INFO L73 IsDeterministic]: Start isDeterministic. Operand 115 states and 131 transitions. [2018-12-08 10:55:11,571 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2018-12-08 10:55:11,571 INFO L705 BuchiCegarLoop]: Abstraction has 115 states and 131 transitions. [2018-12-08 10:55:11,571 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 115 states and 131 transitions. [2018-12-08 10:55:11,572 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 115 to 88. [2018-12-08 10:55:11,572 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 88 states. [2018-12-08 10:55:11,572 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 88 states to 88 states and 99 transitions. [2018-12-08 10:55:11,572 INFO L728 BuchiCegarLoop]: Abstraction has 88 states and 99 transitions. [2018-12-08 10:55:11,572 INFO L608 BuchiCegarLoop]: Abstraction has 88 states and 99 transitions. [2018-12-08 10:55:11,572 INFO L442 BuchiCegarLoop]: ======== Iteration 13============ [2018-12-08 10:55:11,573 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 88 states and 99 transitions. [2018-12-08 10:55:11,573 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 3 [2018-12-08 10:55:11,573 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2018-12-08 10:55:11,573 INFO L119 BuchiIsEmpty]: Starting construction of run [2018-12-08 10:55:11,573 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-12-08 10:55:11,573 INFO L867 BuchiCegarLoop]: Counterexample loop histogram [1, 1, 1] [2018-12-08 10:55:11,573 INFO L794 eck$LassoCheckResult]: Stem: 3094#ULTIMATE.startENTRY #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; 3060#L-1 havoc main_#res;havoc main_#t~nondet19, main_#t~malloc20.base, main_#t~malloc20.offset, main_#t~nondet21, main_#t~malloc22.base, main_#t~malloc22.offset, main_#t~ret23.base, main_#t~ret23.offset, main_~in_len~0, main_~hay~0.base, main_~hay~0.offset, main_~out_len~0, main_~needle~0.base, main_~needle~0.offset;main_~in_len~0 := main_#t~nondet19;havoc main_#t~nondet19; 3061#L541 assume !(main_~in_len~0 < 1);call main_#t~malloc20.base, main_#t~malloc20.offset := #Ultimate.alloc(main_~in_len~0);main_~hay~0.base, main_~hay~0.offset := main_#t~malloc20.base, main_#t~malloc20.offset;call write~int(0, main_~hay~0.base, main_~hay~0.offset + (main_~in_len~0 - 1), 1);main_~out_len~0 := main_#t~nondet21;havoc main_#t~nondet21; 3072#L545 assume !(main_~out_len~0 < 1);call main_#t~malloc22.base, main_#t~malloc22.offset := #Ultimate.alloc(main_~out_len~0);main_~needle~0.base, main_~needle~0.offset := main_#t~malloc22.base, main_#t~malloc22.offset;call write~int(0, main_~needle~0.base, main_~needle~0.offset + (main_~out_len~0 - 1), 1);strstr_#in~haystack.base, strstr_#in~haystack.offset, strstr_#in~needle.base, strstr_#in~needle.offset := main_~hay~0.base, main_~hay~0.offset, main_~needle~0.base, main_~needle~0.offset;havoc strstr_#res.base, strstr_#res.offset;havoc strstr_#t~ret11, strstr_#t~ret12, strstr_#t~mem14, strstr_#t~mem15, strstr_#t~ret16, strstr_#t~short17, strstr_#t~pre18.base, strstr_#t~pre18.offset, strstr_#t~pre13, strstr_~haystack.base, strstr_~haystack.offset, strstr_~needle.base, strstr_~needle.offset, strstr_~nl~0, strstr_~hl~0, strstr_~i~1;strstr_~haystack.base, strstr_~haystack.offset := strstr_#in~haystack.base, strstr_#in~haystack.offset;strstr_~needle.base, strstr_~needle.offset := strstr_#in~needle.base, strstr_#in~needle.offset;strlen_#in~s.base, strlen_#in~s.offset := strstr_~needle.base, strstr_~needle.offset;havoc strlen_#res;havoc strlen_#t~pre3, strlen_#t~pre2.base, strlen_#t~pre2.offset, strlen_#t~mem4, strlen_~s.base, strlen_~s.offset, strlen_~i~0;strlen_~s.base, strlen_~s.offset := strlen_#in~s.base, strlen_#in~s.offset;havoc strlen_~i~0; 3080#L508 assume !(strlen_~s.base == 0 && strlen_~s.offset == 0);strlen_~i~0 := 0; 3081#L509-4 call strlen_#t~mem4 := read~int(strlen_~s.base, strlen_~s.offset, 1); 3084#L509-1 assume !!(0 != strlen_#t~mem4);havoc strlen_#t~mem4;strlen_#t~pre3 := 1 + strlen_~i~0;strlen_~i~0 := 1 + strlen_~i~0;havoc strlen_#t~pre3; 3108#L509-3 strlen_#t~pre2.base, strlen_#t~pre2.offset := strlen_~s.base, 1 + strlen_~s.offset;strlen_~s.base, strlen_~s.offset := strlen_~s.base, 1 + strlen_~s.offset;havoc strlen_#t~pre2.base, strlen_#t~pre2.offset; 3085#L509-4 call strlen_#t~mem4 := read~int(strlen_~s.base, strlen_~s.offset, 1); 3086#L509-1 assume !!(0 != strlen_#t~mem4);havoc strlen_#t~mem4;strlen_#t~pre3 := 1 + strlen_~i~0;strlen_~i~0 := 1 + strlen_~i~0;havoc strlen_#t~pre3; 3117#L509-3 strlen_#t~pre2.base, strlen_#t~pre2.offset := strlen_~s.base, 1 + strlen_~s.offset;strlen_~s.base, strlen_~s.offset := strlen_~s.base, 1 + strlen_~s.offset;havoc strlen_#t~pre2.base, strlen_#t~pre2.offset; 3109#L509-4 call strlen_#t~mem4 := read~int(strlen_~s.base, strlen_~s.offset, 1); 3110#L509-1 assume !(0 != strlen_#t~mem4);havoc strlen_#t~mem4; 3087#L509-5 strlen_#res := strlen_~i~0; 3088#L510 strstr_#t~ret11 := strlen_#res;strstr_~nl~0 := strstr_#t~ret11;havoc strstr_#t~ret11;strlen_#in~s.base, strlen_#in~s.offset := strstr_~haystack.base, strstr_~haystack.offset;havoc strlen_#res;havoc strlen_#t~pre3, strlen_#t~pre2.base, strlen_#t~pre2.offset, strlen_#t~mem4, strlen_~s.base, strlen_~s.offset, strlen_~i~0;strlen_~s.base, strlen_~s.offset := strlen_#in~s.base, strlen_#in~s.offset;havoc strlen_~i~0; 3082#L508-2 assume !(strlen_~s.base == 0 && strlen_~s.offset == 0);strlen_~i~0 := 0; 3083#L509-10 call strlen_#t~mem4 := read~int(strlen_~s.base, strlen_~s.offset, 1); 3116#L509-7 assume !!(0 != strlen_#t~mem4);havoc strlen_#t~mem4;strlen_#t~pre3 := 1 + strlen_~i~0;strlen_~i~0 := 1 + strlen_~i~0;havoc strlen_#t~pre3; 3062#L509-9 strlen_#t~pre2.base, strlen_#t~pre2.offset := strlen_~s.base, 1 + strlen_~s.offset;strlen_~s.base, strlen_~s.offset := strlen_~s.base, 1 + strlen_~s.offset;havoc strlen_#t~pre2.base, strlen_#t~pre2.offset; 3063#L509-10 call strlen_#t~mem4 := read~int(strlen_~s.base, strlen_~s.offset, 1); 3071#L509-7 assume !!(0 != strlen_#t~mem4);havoc strlen_#t~mem4;strlen_#t~pre3 := 1 + strlen_~i~0;strlen_~i~0 := 1 + strlen_~i~0;havoc strlen_#t~pre3; 3091#L509-9 strlen_#t~pre2.base, strlen_#t~pre2.offset := strlen_~s.base, 1 + strlen_~s.offset;strlen_~s.base, strlen_~s.offset := strlen_~s.base, 1 + strlen_~s.offset;havoc strlen_#t~pre2.base, strlen_#t~pre2.offset; 3112#L509-10 call strlen_#t~mem4 := read~int(strlen_~s.base, strlen_~s.offset, 1); 3113#L509-7 assume !(0 != strlen_#t~mem4);havoc strlen_#t~mem4; 3075#L509-11 strlen_#res := strlen_~i~0; 3076#L510-1 strstr_#t~ret12 := strlen_#res;strstr_~hl~0 := strstr_#t~ret12;havoc strstr_#t~ret12;havoc strstr_~i~1; 3099#L529 assume !(0 == strstr_~nl~0 % 4294967296); 3100#L530 assume !(strstr_~nl~0 % 4294967296 > strstr_~hl~0 % 4294967296);strstr_~i~1 := 1 + (strstr_~hl~0 - strstr_~nl~0); 3104#L531-3 assume !!(0 != strstr_~i~1 % 4294967296);call strstr_#t~mem14 := read~int(strstr_~haystack.base, strstr_~haystack.offset, 1);call strstr_#t~mem15 := read~int(strstr_~needle.base, strstr_~needle.offset, 1);strstr_#t~short17 := strstr_#t~mem14 == strstr_#t~mem15; 3105#L532 assume strstr_#t~short17;memcmp_#in~dst.base, memcmp_#in~dst.offset, memcmp_#in~src.base, memcmp_#in~src.offset, memcmp_#in~count := strstr_~haystack.base, strstr_~haystack.offset, strstr_~needle.base, strstr_~needle.offset, strstr_~nl~0;havoc memcmp_#res;havoc memcmp_#t~pre5, memcmp_#t~mem7, memcmp_#t~mem8, memcmp_#t~pre9.base, memcmp_#t~pre9.offset, memcmp_#t~pre10.base, memcmp_#t~pre10.offset, memcmp_#t~pre6, memcmp_~dst.base, memcmp_~dst.offset, memcmp_~src.base, memcmp_~src.offset, memcmp_~count, memcmp_~r~0, memcmp_~d~0.base, memcmp_~d~0.offset, memcmp_~s~0.base, memcmp_~s~0.offset;memcmp_~dst.base, memcmp_~dst.offset := memcmp_#in~dst.base, memcmp_#in~dst.offset;memcmp_~src.base, memcmp_~src.offset := memcmp_#in~src.base, memcmp_#in~src.offset;memcmp_~count := memcmp_#in~count;havoc memcmp_~r~0;memcmp_~d~0.base, memcmp_~d~0.offset := memcmp_~dst.base, memcmp_~dst.offset;memcmp_~s~0.base, memcmp_~s~0.offset := memcmp_~src.base, memcmp_~src.offset;memcmp_#t~pre5 := 1 + memcmp_~count;memcmp_~count := 1 + memcmp_~count;havoc memcmp_#t~pre5; 3059#L517-3 memcmp_#t~pre6 := memcmp_~count - 1;memcmp_~count := memcmp_~count - 1; 3056#L517-1 assume !!(0 != memcmp_#t~pre6 % 4294967296);havoc memcmp_#t~pre6;call memcmp_#t~mem7 := read~int(memcmp_~d~0.base, memcmp_~d~0.offset, 1);call memcmp_#t~mem8 := read~int(memcmp_~s~0.base, memcmp_~s~0.offset, 1);memcmp_~r~0 := memcmp_#t~mem7 % 256 - memcmp_#t~mem8 % 256; 3057#L518 assume !(0 != memcmp_~r~0);havoc memcmp_#t~mem8;havoc memcmp_#t~mem7;memcmp_#t~pre9.base, memcmp_#t~pre9.offset := memcmp_~d~0.base, 1 + memcmp_~d~0.offset;memcmp_~d~0.base, memcmp_~d~0.offset := memcmp_~d~0.base, 1 + memcmp_~d~0.offset;havoc memcmp_#t~pre9.base, memcmp_#t~pre9.offset;memcmp_#t~pre10.base, memcmp_#t~pre10.offset := memcmp_~s~0.base, 1 + memcmp_~s~0.offset;memcmp_~s~0.base, memcmp_~s~0.offset := memcmp_~s~0.base, 1 + memcmp_~s~0.offset;havoc memcmp_#t~pre10.base, memcmp_#t~pre10.offset; 3103#L517-3 memcmp_#t~pre6 := memcmp_~count - 1;memcmp_~count := memcmp_~count - 1; 3136#L517-1 assume !!(0 != memcmp_#t~pre6 % 4294967296);havoc memcmp_#t~pre6;call memcmp_#t~mem7 := read~int(memcmp_~d~0.base, memcmp_~d~0.offset, 1);call memcmp_#t~mem8 := read~int(memcmp_~s~0.base, memcmp_~s~0.offset, 1);memcmp_~r~0 := memcmp_#t~mem7 % 256 - memcmp_#t~mem8 % 256; 3120#L518 assume 0 != memcmp_~r~0;havoc memcmp_#t~mem8;havoc memcmp_#t~mem7;memcmp_#res := memcmp_~r~0; 3121#L523 strstr_#t~ret16 := memcmp_#res;strstr_#t~short17 := 0 == strstr_#t~ret16; 3122#L532-2 assume !strstr_#t~short17;havoc strstr_#t~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-12-08 10:55:11,574 INFO L796 eck$LassoCheckResult]: Loop: 3058#L517-3 memcmp_#t~pre6 := memcmp_~count - 1;memcmp_~count := memcmp_~count - 1; 3054#L517-1 assume !!(0 != memcmp_#t~pre6 % 4294967296);havoc memcmp_#t~pre6;call memcmp_#t~mem7 := read~int(memcmp_~d~0.base, memcmp_~d~0.offset, 1);call memcmp_#t~mem8 := read~int(memcmp_~s~0.base, memcmp_~s~0.offset, 1);memcmp_~r~0 := memcmp_#t~mem7 % 256 - memcmp_#t~mem8 % 256; 3055#L518 assume !(0 != memcmp_~r~0);havoc memcmp_#t~mem8;havoc memcmp_#t~mem7;memcmp_#t~pre9.base, memcmp_#t~pre9.offset := memcmp_~d~0.base, 1 + memcmp_~d~0.offset;memcmp_~d~0.base, memcmp_~d~0.offset := memcmp_~d~0.base, 1 + memcmp_~d~0.offset;havoc memcmp_#t~pre9.base, memcmp_#t~pre9.offset;memcmp_#t~pre10.base, memcmp_#t~pre10.offset := memcmp_~s~0.base, 1 + memcmp_~s~0.offset;memcmp_~s~0.base, memcmp_~s~0.offset := memcmp_~s~0.base, 1 + memcmp_~s~0.offset;havoc memcmp_#t~pre10.base, memcmp_#t~pre10.offset; 3058#L517-3 [2018-12-08 10:55:11,574 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-12-08 10:55:11,574 INFO L82 PathProgramCache]: Analyzing trace with hash 1050158307, now seen corresponding path program 3 times [2018-12-08 10:55:11,574 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-12-08 10:55:11,574 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-12-08 10:55:11,574 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-08 10:55:11,574 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-12-08 10:55:11,574 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-08 10:55:11,580 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-08 10:55:11,684 INFO L134 CoverageAnalysis]: Checked inductivity of 19 backedges. 1 proven. 15 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2018-12-08 10:55:11,685 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-08 10:55:11,685 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_94c0e2a3-1d75-4fe2-89b5-26f2790c7975/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-12-08 10:55:11,691 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-12-08 10:55:11,728 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 3 check-sat command(s) [2018-12-08 10:55:11,728 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-12-08 10:55:11,731 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-08 10:55:11,830 INFO L134 CoverageAnalysis]: Checked inductivity of 19 backedges. 1 proven. 15 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2018-12-08 10:55:11,846 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-12-08 10:55:11,846 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 14] total 19 [2018-12-08 10:55:11,846 INFO L799 eck$LassoCheckResult]: stem already infeasible [2018-12-08 10:55:11,846 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-12-08 10:55:11,846 INFO L82 PathProgramCache]: Analyzing trace with hash 111382, now seen corresponding path program 6 times [2018-12-08 10:55:11,846 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-12-08 10:55:11,846 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-12-08 10:55:11,847 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-08 10:55:11,847 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-12-08 10:55:11,847 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-08 10:55:11,849 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-12-08 10:55:11,850 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-12-08 10:55:11,897 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2018-12-08 10:55:11,897 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=49, Invalid=293, Unknown=0, NotChecked=0, Total=342 [2018-12-08 10:55:11,898 INFO L87 Difference]: Start difference. First operand 88 states and 99 transitions. cyclomatic complexity: 18 Second operand 19 states. [2018-12-08 10:55:12,059 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-08 10:55:12,059 INFO L93 Difference]: Finished difference Result 211 states and 240 transitions. [2018-12-08 10:55:12,059 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2018-12-08 10:55:12,059 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 211 states and 240 transitions. [2018-12-08 10:55:12,060 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 12 [2018-12-08 10:55:12,060 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 211 states to 190 states and 218 transitions. [2018-12-08 10:55:12,060 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 60 [2018-12-08 10:55:12,060 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 60 [2018-12-08 10:55:12,060 INFO L73 IsDeterministic]: Start isDeterministic. Operand 190 states and 218 transitions. [2018-12-08 10:55:12,060 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2018-12-08 10:55:12,061 INFO L705 BuchiCegarLoop]: Abstraction has 190 states and 218 transitions. [2018-12-08 10:55:12,061 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 190 states and 218 transitions. [2018-12-08 10:55:12,063 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 190 to 91. [2018-12-08 10:55:12,063 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 91 states. [2018-12-08 10:55:12,063 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 91 states to 91 states and 102 transitions. [2018-12-08 10:55:12,064 INFO L728 BuchiCegarLoop]: Abstraction has 91 states and 102 transitions. [2018-12-08 10:55:12,064 INFO L608 BuchiCegarLoop]: Abstraction has 91 states and 102 transitions. [2018-12-08 10:55:12,064 INFO L442 BuchiCegarLoop]: ======== Iteration 14============ [2018-12-08 10:55:12,064 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 91 states and 102 transitions. [2018-12-08 10:55:12,064 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 3 [2018-12-08 10:55:12,064 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2018-12-08 10:55:12,064 INFO L119 BuchiIsEmpty]: Starting construction of run [2018-12-08 10:55:12,065 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-12-08 10:55:12,065 INFO L867 BuchiCegarLoop]: Counterexample loop histogram [1, 1, 1] [2018-12-08 10:55:12,065 INFO L794 eck$LassoCheckResult]: Stem: 3544#ULTIMATE.startENTRY #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; 3516#L-1 havoc main_#res;havoc main_#t~nondet19, main_#t~malloc20.base, main_#t~malloc20.offset, main_#t~nondet21, main_#t~malloc22.base, main_#t~malloc22.offset, main_#t~ret23.base, main_#t~ret23.offset, main_~in_len~0, main_~hay~0.base, main_~hay~0.offset, main_~out_len~0, main_~needle~0.base, main_~needle~0.offset;main_~in_len~0 := main_#t~nondet19;havoc main_#t~nondet19; 3517#L541 assume !(main_~in_len~0 < 1);call main_#t~malloc20.base, main_#t~malloc20.offset := #Ultimate.alloc(main_~in_len~0);main_~hay~0.base, main_~hay~0.offset := main_#t~malloc20.base, main_#t~malloc20.offset;call write~int(0, main_~hay~0.base, main_~hay~0.offset + (main_~in_len~0 - 1), 1);main_~out_len~0 := main_#t~nondet21;havoc main_#t~nondet21; 3526#L545 assume !(main_~out_len~0 < 1);call main_#t~malloc22.base, main_#t~malloc22.offset := #Ultimate.alloc(main_~out_len~0);main_~needle~0.base, main_~needle~0.offset := main_#t~malloc22.base, main_#t~malloc22.offset;call write~int(0, main_~needle~0.base, main_~needle~0.offset + (main_~out_len~0 - 1), 1);strstr_#in~haystack.base, strstr_#in~haystack.offset, strstr_#in~needle.base, strstr_#in~needle.offset := main_~hay~0.base, main_~hay~0.offset, main_~needle~0.base, main_~needle~0.offset;havoc strstr_#res.base, strstr_#res.offset;havoc strstr_#t~ret11, strstr_#t~ret12, strstr_#t~mem14, strstr_#t~mem15, strstr_#t~ret16, strstr_#t~short17, strstr_#t~pre18.base, strstr_#t~pre18.offset, strstr_#t~pre13, strstr_~haystack.base, strstr_~haystack.offset, strstr_~needle.base, strstr_~needle.offset, strstr_~nl~0, strstr_~hl~0, strstr_~i~1;strstr_~haystack.base, strstr_~haystack.offset := strstr_#in~haystack.base, strstr_#in~haystack.offset;strstr_~needle.base, strstr_~needle.offset := strstr_#in~needle.base, strstr_#in~needle.offset;strlen_#in~s.base, strlen_#in~s.offset := strstr_~needle.base, strstr_~needle.offset;havoc strlen_#res;havoc strlen_#t~pre3, strlen_#t~pre2.base, strlen_#t~pre2.offset, strlen_#t~mem4, strlen_~s.base, strlen_~s.offset, strlen_~i~0;strlen_~s.base, strlen_~s.offset := strlen_#in~s.base, strlen_#in~s.offset;havoc strlen_~i~0; 3532#L508 assume !(strlen_~s.base == 0 && strlen_~s.offset == 0);strlen_~i~0 := 0; 3533#L509-4 call strlen_#t~mem4 := read~int(strlen_~s.base, strlen_~s.offset, 1); 3536#L509-1 assume !!(0 != strlen_#t~mem4);havoc strlen_#t~mem4;strlen_#t~pre3 := 1 + strlen_~i~0;strlen_~i~0 := 1 + strlen_~i~0;havoc strlen_#t~pre3; 3554#L509-3 strlen_#t~pre2.base, strlen_#t~pre2.offset := strlen_~s.base, 1 + strlen_~s.offset;strlen_~s.base, strlen_~s.offset := strlen_~s.base, 1 + strlen_~s.offset;havoc strlen_#t~pre2.base, strlen_#t~pre2.offset; 3537#L509-4 call strlen_#t~mem4 := read~int(strlen_~s.base, strlen_~s.offset, 1); 3538#L509-1 assume !!(0 != strlen_#t~mem4);havoc strlen_#t~mem4;strlen_#t~pre3 := 1 + strlen_~i~0;strlen_~i~0 := 1 + strlen_~i~0;havoc strlen_#t~pre3; 3557#L509-3 strlen_#t~pre2.base, strlen_#t~pre2.offset := strlen_~s.base, 1 + strlen_~s.offset;strlen_~s.base, strlen_~s.offset := strlen_~s.base, 1 + strlen_~s.offset;havoc strlen_#t~pre2.base, strlen_#t~pre2.offset; 3558#L509-4 call strlen_#t~mem4 := read~int(strlen_~s.base, strlen_~s.offset, 1); 3545#L509-1 assume !(0 != strlen_#t~mem4);havoc strlen_#t~mem4; 3546#L509-5 strlen_#res := strlen_~i~0; 3518#L510 strstr_#t~ret11 := strlen_#res;strstr_~nl~0 := strstr_#t~ret11;havoc strstr_#t~ret11;strlen_#in~s.base, strlen_#in~s.offset := strstr_~haystack.base, strstr_~haystack.offset;havoc strlen_#res;havoc strlen_#t~pre3, strlen_#t~pre2.base, strlen_#t~pre2.offset, strlen_#t~mem4, strlen_~s.base, strlen_~s.offset, strlen_~i~0;strlen_~s.base, strlen_~s.offset := strlen_#in~s.base, strlen_#in~s.offset;havoc strlen_~i~0; 3519#L508-2 assume !(strlen_~s.base == 0 && strlen_~s.offset == 0);strlen_~i~0 := 0; 3520#L509-10 call strlen_#t~mem4 := read~int(strlen_~s.base, strlen_~s.offset, 1); 3521#L509-7 assume !!(0 != strlen_#t~mem4);havoc strlen_#t~mem4;strlen_#t~pre3 := 1 + strlen_~i~0;strlen_~i~0 := 1 + strlen_~i~0;havoc strlen_#t~pre3; 3511#L509-9 strlen_#t~pre2.base, strlen_#t~pre2.offset := strlen_~s.base, 1 + strlen_~s.offset;strlen_~s.base, strlen_~s.offset := strlen_~s.base, 1 + strlen_~s.offset;havoc strlen_#t~pre2.base, strlen_#t~pre2.offset; 3512#L509-10 call strlen_#t~mem4 := read~int(strlen_~s.base, strlen_~s.offset, 1); 3565#L509-7 assume !!(0 != strlen_#t~mem4);havoc strlen_#t~mem4;strlen_#t~pre3 := 1 + strlen_~i~0;strlen_~i~0 := 1 + strlen_~i~0;havoc strlen_#t~pre3; 3566#L509-9 strlen_#t~pre2.base, strlen_#t~pre2.offset := strlen_~s.base, 1 + strlen_~s.offset;strlen_~s.base, strlen_~s.offset := strlen_~s.base, 1 + strlen_~s.offset;havoc strlen_#t~pre2.base, strlen_#t~pre2.offset; 3522#L509-10 call strlen_#t~mem4 := read~int(strlen_~s.base, strlen_~s.offset, 1); 3523#L509-7 assume !!(0 != strlen_#t~mem4);havoc strlen_#t~mem4;strlen_#t~pre3 := 1 + strlen_~i~0;strlen_~i~0 := 1 + strlen_~i~0;havoc strlen_#t~pre3; 3542#L509-9 strlen_#t~pre2.base, strlen_#t~pre2.offset := strlen_~s.base, 1 + strlen_~s.offset;strlen_~s.base, strlen_~s.offset := strlen_~s.base, 1 + strlen_~s.offset;havoc strlen_#t~pre2.base, strlen_#t~pre2.offset; 3559#L509-10 call strlen_#t~mem4 := read~int(strlen_~s.base, strlen_~s.offset, 1); 3541#L509-7 assume !(0 != strlen_#t~mem4);havoc strlen_#t~mem4; 3527#L509-11 strlen_#res := strlen_~i~0; 3524#L510-1 strstr_#t~ret12 := strlen_#res;strstr_~hl~0 := strstr_#t~ret12;havoc strstr_#t~ret12;havoc strstr_~i~1; 3525#L529 assume !(0 == strstr_~nl~0 % 4294967296); 3528#L530 assume !(strstr_~nl~0 % 4294967296 > strstr_~hl~0 % 4294967296);strstr_~i~1 := 1 + (strstr_~hl~0 - strstr_~nl~0); 3529#L531-3 assume !!(0 != strstr_~i~1 % 4294967296);call strstr_#t~mem14 := read~int(strstr_~haystack.base, strstr_~haystack.offset, 1);call strstr_#t~mem15 := read~int(strstr_~needle.base, strstr_~needle.offset, 1);strstr_#t~short17 := strstr_#t~mem14 == strstr_#t~mem15; 3551#L532 assume strstr_#t~short17;memcmp_#in~dst.base, memcmp_#in~dst.offset, memcmp_#in~src.base, memcmp_#in~src.offset, memcmp_#in~count := strstr_~haystack.base, strstr_~haystack.offset, strstr_~needle.base, strstr_~needle.offset, strstr_~nl~0;havoc memcmp_#res;havoc memcmp_#t~pre5, memcmp_#t~mem7, memcmp_#t~mem8, memcmp_#t~pre9.base, memcmp_#t~pre9.offset, memcmp_#t~pre10.base, memcmp_#t~pre10.offset, memcmp_#t~pre6, memcmp_~dst.base, memcmp_~dst.offset, memcmp_~src.base, memcmp_~src.offset, memcmp_~count, memcmp_~r~0, memcmp_~d~0.base, memcmp_~d~0.offset, memcmp_~s~0.base, memcmp_~s~0.offset;memcmp_~dst.base, memcmp_~dst.offset := memcmp_#in~dst.base, memcmp_#in~dst.offset;memcmp_~src.base, memcmp_~src.offset := memcmp_#in~src.base, memcmp_#in~src.offset;memcmp_~count := memcmp_#in~count;havoc memcmp_~r~0;memcmp_~d~0.base, memcmp_~d~0.offset := memcmp_~dst.base, memcmp_~dst.offset;memcmp_~s~0.base, memcmp_~s~0.offset := memcmp_~src.base, memcmp_~src.offset;memcmp_#t~pre5 := 1 + memcmp_~count;memcmp_~count := 1 + memcmp_~count;havoc memcmp_#t~pre5; 3510#L517-3 memcmp_#t~pre6 := memcmp_~count - 1;memcmp_~count := memcmp_~count - 1; 3507#L517-1 assume !!(0 != memcmp_#t~pre6 % 4294967296);havoc memcmp_#t~pre6;call memcmp_#t~mem7 := read~int(memcmp_~d~0.base, memcmp_~d~0.offset, 1);call memcmp_#t~mem8 := read~int(memcmp_~s~0.base, memcmp_~s~0.offset, 1);memcmp_~r~0 := memcmp_#t~mem7 % 256 - memcmp_#t~mem8 % 256; 3508#L518 assume !(0 != memcmp_~r~0);havoc memcmp_#t~mem8;havoc memcmp_#t~mem7;memcmp_#t~pre9.base, memcmp_#t~pre9.offset := memcmp_~d~0.base, 1 + memcmp_~d~0.offset;memcmp_~d~0.base, memcmp_~d~0.offset := memcmp_~d~0.base, 1 + memcmp_~d~0.offset;havoc memcmp_#t~pre9.base, memcmp_#t~pre9.offset;memcmp_#t~pre10.base, memcmp_#t~pre10.offset := memcmp_~s~0.base, 1 + memcmp_~s~0.offset;memcmp_~s~0.base, memcmp_~s~0.offset := memcmp_~s~0.base, 1 + memcmp_~s~0.offset;havoc memcmp_#t~pre10.base, memcmp_#t~pre10.offset; 3550#L517-3 memcmp_#t~pre6 := memcmp_~count - 1;memcmp_~count := memcmp_~count - 1; 3590#L517-1 assume !!(0 != memcmp_#t~pre6 % 4294967296);havoc memcmp_#t~pre6;call memcmp_#t~mem7 := read~int(memcmp_~d~0.base, memcmp_~d~0.offset, 1);call memcmp_#t~mem8 := read~int(memcmp_~s~0.base, memcmp_~s~0.offset, 1);memcmp_~r~0 := memcmp_#t~mem7 % 256 - memcmp_#t~mem8 % 256; 3584#L518 assume 0 != memcmp_~r~0;havoc memcmp_#t~mem8;havoc memcmp_#t~mem7;memcmp_#res := memcmp_~r~0; 3563#L523 strstr_#t~ret16 := memcmp_#res;strstr_#t~short17 := 0 == strstr_#t~ret16; 3562#L532-2 assume !strstr_#t~short17;havoc strstr_#t~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-12-08 10:55:12,065 INFO L796 eck$LassoCheckResult]: Loop: 3509#L517-3 memcmp_#t~pre6 := memcmp_~count - 1;memcmp_~count := memcmp_~count - 1; 3505#L517-1 assume !!(0 != memcmp_#t~pre6 % 4294967296);havoc memcmp_#t~pre6;call memcmp_#t~mem7 := read~int(memcmp_~d~0.base, memcmp_~d~0.offset, 1);call memcmp_#t~mem8 := read~int(memcmp_~s~0.base, memcmp_~s~0.offset, 1);memcmp_~r~0 := memcmp_#t~mem7 % 256 - memcmp_#t~mem8 % 256; 3506#L518 assume !(0 != memcmp_~r~0);havoc memcmp_#t~mem8;havoc memcmp_#t~mem7;memcmp_#t~pre9.base, memcmp_#t~pre9.offset := memcmp_~d~0.base, 1 + memcmp_~d~0.offset;memcmp_~d~0.base, memcmp_~d~0.offset := memcmp_~d~0.base, 1 + memcmp_~d~0.offset;havoc memcmp_#t~pre9.base, memcmp_#t~pre9.offset;memcmp_#t~pre10.base, memcmp_#t~pre10.offset := memcmp_~s~0.base, 1 + memcmp_~s~0.offset;memcmp_~s~0.base, memcmp_~s~0.offset := memcmp_~s~0.base, 1 + memcmp_~s~0.offset;havoc memcmp_#t~pre10.base, memcmp_#t~pre10.offset; 3509#L517-3 [2018-12-08 10:55:12,065 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-12-08 10:55:12,066 INFO L82 PathProgramCache]: Analyzing trace with hash -224601240, now seen corresponding path program 4 times [2018-12-08 10:55:12,066 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-12-08 10:55:12,066 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-12-08 10:55:12,066 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-08 10:55:12,066 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-12-08 10:55:12,066 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-08 10:55:12,083 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-12-08 10:55:12,098 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-12-08 10:55:12,103 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-12-08 10:55:12,103 INFO L82 PathProgramCache]: Analyzing trace with hash 111382, now seen corresponding path program 7 times [2018-12-08 10:55:12,103 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-12-08 10:55:12,103 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-12-08 10:55:12,104 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-08 10:55:12,104 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-12-08 10:55:12,104 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-08 10:55:12,106 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-12-08 10:55:12,107 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-12-08 10:55:12,108 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-12-08 10:55:12,108 INFO L82 PathProgramCache]: Analyzing trace with hash 463587919, now seen corresponding path program 5 times [2018-12-08 10:55:12,109 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-12-08 10:55:12,109 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-12-08 10:55:12,109 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-08 10:55:12,109 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-08 10:55:12,109 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-08 10:55:12,125 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-12-08 10:55:12,142 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-12-08 10:55:14,140 WARN L180 SmtUtils]: Spent 1.93 s on a formula simplification. DAG size of input: 472 DAG size of output: 340 [2018-12-08 10:55:14,370 WARN L180 SmtUtils]: Spent 222.00 ms on a formula simplification that was a NOOP. DAG size: 167 [2018-12-08 10:55:14,373 INFO L216 LassoAnalysis]: Preferences: [2018-12-08 10:55:14,373 INFO L124 ssoRankerPreferences]: Compute integeral hull: false [2018-12-08 10:55:14,373 INFO L125 ssoRankerPreferences]: Enable LassoPartitioneer: true [2018-12-08 10:55:14,373 INFO L126 ssoRankerPreferences]: Term annotations enabled: false [2018-12-08 10:55:14,373 INFO L127 ssoRankerPreferences]: Use exernal solver: false [2018-12-08 10:55:14,373 INFO L128 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2018-12-08 10:55:14,373 INFO L129 ssoRankerPreferences]: Dump SMT script to file: false [2018-12-08 10:55:14,373 INFO L130 ssoRankerPreferences]: Path of dumped script: [2018-12-08 10:55:14,373 INFO L131 ssoRankerPreferences]: Filename of dumped script: strstr_true-termination.c.i_Iteration14_Lasso [2018-12-08 10:55:14,374 INFO L132 ssoRankerPreferences]: MapElimAlgo: Frank [2018-12-08 10:55:14,374 INFO L282 LassoAnalysis]: Starting lasso preprocessing... [2018-12-08 10:55:14,377 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:55:14,379 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:55:14,380 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:55:14,381 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:55:14,383 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:55:14,384 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:55:15,184 WARN L180 SmtUtils]: Spent 326.00 ms on a formula simplification. DAG size of input: 178 DAG size of output: 140 [2018-12-08 10:55:15,402 WARN L180 SmtUtils]: Spent 163.00 ms on a formula simplification. DAG size of input: 115 DAG size of output: 92 [2018-12-08 10:55:15,402 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:55:15,403 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:55:15,404 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:55:15,408 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:55:15,409 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:55:15,410 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:55:15,411 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:55:15,411 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:55:15,413 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:55:15,414 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:55:15,415 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:55:15,416 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:55:15,422 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:55:15,423 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:55:15,424 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:55:15,436 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:55:15,437 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:55:15,438 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:55:15,439 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:55:15,440 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:55:15,441 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:55:15,443 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:55:15,444 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:55:15,447 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:55:15,448 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:55:15,449 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2018-12-08 10:55:16,163 WARN L180 SmtUtils]: Spent 358.00 ms on a formula simplification. DAG size of input: 66 DAG size of output: 62 [2018-12-08 10:55:16,457 INFO L300 LassoAnalysis]: Preprocessing complete. [2018-12-08 10:55:16,457 INFO L497 LassoAnalysis]: Using template 'affine'. [2018-12-08 10:55:16,457 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-12-08 10:55:16,457 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-12-08 10:55:16,458 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-12-08 10:55:16,458 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-12-08 10:55:16,458 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-12-08 10:55:16,458 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-12-08 10:55:16,458 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-12-08 10:55:16,458 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-12-08 10:55:16,458 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-12-08 10:55:16,458 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-12-08 10:55:16,459 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-12-08 10:55:16,459 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-12-08 10:55:16,459 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-12-08 10:55:16,459 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-12-08 10:55:16,459 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-12-08 10:55:16,459 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-12-08 10:55:16,459 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-12-08 10:55:16,459 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-12-08 10:55:16,459 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-12-08 10:55:16,460 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-12-08 10:55:16,460 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-12-08 10:55:16,460 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-12-08 10:55:16,460 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-12-08 10:55:16,460 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-12-08 10:55:16,460 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-12-08 10:55:16,460 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-12-08 10:55:16,460 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-12-08 10:55:16,460 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-12-08 10:55:16,460 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-12-08 10:55:16,461 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-12-08 10:55:16,461 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-12-08 10:55:16,461 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-12-08 10:55:16,461 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-12-08 10:55:16,461 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-12-08 10:55:16,461 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-12-08 10:55:16,461 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-12-08 10:55:16,461 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-12-08 10:55:16,461 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-12-08 10:55:16,461 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2018-12-08 10:55:16,462 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-12-08 10:55:16,462 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-12-08 10:55:16,462 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-12-08 10:55:16,462 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2018-12-08 10:55:16,462 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2018-12-08 10:55:16,462 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-12-08 10:55:16,462 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-12-08 10:55:16,462 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-12-08 10:55:16,462 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-12-08 10:55:16,462 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-12-08 10:55:16,462 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-12-08 10:55:16,463 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2018-12-08 10:55:16,463 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2018-12-08 10:55:16,463 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-12-08 10:55:16,464 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-12-08 10:55:16,464 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-12-08 10:55:16,464 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-12-08 10:55:16,464 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-12-08 10:55:16,464 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-12-08 10:55:16,464 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2018-12-08 10:55:16,464 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2018-12-08 10:55:16,465 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-12-08 10:55:16,465 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-12-08 10:55:16,465 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-12-08 10:55:16,465 INFO L205 nArgumentSynthesizer]: 4 stem disjuncts [2018-12-08 10:55:16,465 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-12-08 10:55:16,465 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-12-08 10:55:16,467 INFO L402 nArgumentSynthesizer]: We have 12 Motzkin's Theorem applications. [2018-12-08 10:55:16,467 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2018-12-08 10:55:16,474 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-12-08 10:55:16,474 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-12-08 10:55:16,475 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-12-08 10:55:16,475 INFO L205 nArgumentSynthesizer]: 2 stem disjuncts [2018-12-08 10:55:16,475 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-12-08 10:55:16,475 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-12-08 10:55:16,476 INFO L402 nArgumentSynthesizer]: We have 8 Motzkin's Theorem applications. [2018-12-08 10:55:16,476 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2018-12-08 10:55:16,478 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-12-08 10:55:16,479 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-12-08 10:55:16,479 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-12-08 10:55:16,479 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-12-08 10:55:16,479 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-12-08 10:55:16,479 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-12-08 10:55:16,480 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2018-12-08 10:55:16,480 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2018-12-08 10:55:16,481 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-12-08 10:55:16,481 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-12-08 10:55:16,481 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-12-08 10:55:16,481 INFO L205 nArgumentSynthesizer]: 2 stem disjuncts [2018-12-08 10:55:16,481 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-12-08 10:55:16,481 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-12-08 10:55:16,482 INFO L402 nArgumentSynthesizer]: We have 8 Motzkin's Theorem applications. [2018-12-08 10:55:16,482 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2018-12-08 10:55:16,486 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-12-08 10:55:16,486 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-12-08 10:55:16,486 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-12-08 10:55:16,486 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-12-08 10:55:16,486 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-12-08 10:55:16,486 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-12-08 10:55:16,487 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2018-12-08 10:55:16,487 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2018-12-08 10:55:16,488 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-12-08 10:55:16,488 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-12-08 10:55:16,489 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-12-08 10:55:16,489 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-12-08 10:55:16,489 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-12-08 10:55:16,489 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-12-08 10:55:16,489 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2018-12-08 10:55:16,489 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2018-12-08 10:55:16,490 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2018-12-08 10:55:16,490 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-12-08 10:55:16,490 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2018-12-08 10:55:16,490 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2018-12-08 10:55:16,490 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2018-12-08 10:55:16,490 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2018-12-08 10:55:16,492 INFO L402 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2018-12-08 10:55:16,492 INFO L403 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2018-12-08 10:55:16,503 INFO L421 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2018-12-08 10:55:16,512 INFO L443 ModelExtractionUtils]: Simplification made 4 calls to the SMT solver. [2018-12-08 10:55:16,512 INFO L444 ModelExtractionUtils]: 72 out of 76 variables were initially zero. Simplification set additionally 1 variables to zero. [2018-12-08 10:55:16,513 INFO L437 nArgumentSynthesizer]: Simplifying supporting invariants... [2018-12-08 10:55:16,513 INFO L440 nArgumentSynthesizer]: Removed 2 redundant supporting invariants from a total of 2. [2018-12-08 10:55:16,513 INFO L518 LassoAnalysis]: Proved termination. [2018-12-08 10:55:16,513 INFO L520 LassoAnalysis]: Termination argument consisting of: Ranking function f(v_rep(select #length ULTIMATE.start_strstr_#in~haystack.base)_1, ULTIMATE.start_memcmp_~d~0.offset) = 1*v_rep(select #length ULTIMATE.start_strstr_#in~haystack.base)_1 - 1*ULTIMATE.start_memcmp_~d~0.offset Supporting invariants [] [2018-12-08 10:55:16,859 INFO L297 tatePredicateManager]: 92 out of 94 supporting invariants were superfluous and have been removed [2018-12-08 10:55:16,861 WARN L1298 BoogieBacktranslator]: unknown boogie variable #length [2018-12-08 10:55:16,873 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-12-08 10:55:16,898 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-08 10:55:16,899 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-08 10:55:16,917 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-08 10:55:16,917 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-08 10:55:16,928 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-08 10:55:16,928 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-12-08 10:55:16,928 INFO L72 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 91 states and 102 transitions. cyclomatic complexity: 18 Second operand 6 states. [2018-12-08 10:55:16,967 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-12-08 10:55:16,967 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-12-08 10:55:16,967 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-12-08 10:55:16,968 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 34 transitions. [2018-12-08 10:55:16,968 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 6 states and 34 transitions. Stem has 44 letters. Loop has 3 letters. [2018-12-08 10:55:16,968 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2018-12-08 10:55:16,968 INFO L642 RefineBuchi]: Bad chosen interpolant automaton: word not accepted [2018-12-08 10:55:16,980 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-12-08 10:55:17,008 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-08 10:55:17,010 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-08 10:55:17,031 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-08 10:55:17,032 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-08 10:55:17,042 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-08 10:55:17,042 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-12-08 10:55:17,042 INFO L72 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 91 states and 102 transitions. cyclomatic complexity: 18 Second operand 6 states. [2018-12-08 10:55:17,077 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-12-08 10:55:17,078 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-12-08 10:55:17,078 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-12-08 10:55:17,078 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 34 transitions. [2018-12-08 10:55:17,078 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 6 states and 34 transitions. Stem has 44 letters. Loop has 3 letters. [2018-12-08 10:55:17,078 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2018-12-08 10:55:17,078 INFO L642 RefineBuchi]: Bad chosen interpolant automaton: word not accepted [2018-12-08 10:55:17,112 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-12-08 10:55:17,136 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-08 10:55:17,138 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-08 10:55:17,155 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-08 10:55:17,156 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-08 10:55:17,178 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-08 10:55:17,178 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-12-08 10:55:17,178 INFO L72 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 91 states and 102 transitions. cyclomatic complexity: 18 Second operand 6 states. [2018-12-08 10:55:17,219 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-12-08 10:55:17,220 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-12-08 10:55:17,220 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-12-08 10:55:17,220 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 40 transitions. [2018-12-08 10:55:17,220 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 6 states and 40 transitions. Stem has 44 letters. Loop has 3 letters. [2018-12-08 10:55:17,221 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2018-12-08 10:55:17,221 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 6 states and 40 transitions. Stem has 47 letters. Loop has 3 letters. [2018-12-08 10:55:17,221 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2018-12-08 10:55:17,221 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 6 states and 40 transitions. Stem has 44 letters. Loop has 6 letters. [2018-12-08 10:55:17,221 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2018-12-08 10:55:17,221 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 118 states and 135 transitions. [2018-12-08 10:55:17,223 INFO L131 ngComponentsAnalysis]: Automaton has 0 accepting balls. 0 [2018-12-08 10:55:17,223 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 118 states to 0 states and 0 transitions. [2018-12-08 10:55:17,223 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 0 [2018-12-08 10:55:17,224 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 0 [2018-12-08 10:55:17,224 INFO L73 IsDeterministic]: Start isDeterministic. Operand 0 states and 0 transitions. [2018-12-08 10:55:17,224 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2018-12-08 10:55:17,224 INFO L705 BuchiCegarLoop]: Abstraction has 0 states and 0 transitions. [2018-12-08 10:55:17,224 INFO L728 BuchiCegarLoop]: Abstraction has 0 states and 0 transitions. [2018-12-08 10:55:17,224 INFO L608 BuchiCegarLoop]: Abstraction has 0 states and 0 transitions. [2018-12-08 10:55:17,224 INFO L442 BuchiCegarLoop]: ======== Iteration 15============ [2018-12-08 10:55:17,224 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 0 states and 0 transitions. [2018-12-08 10:55:17,224 INFO L131 ngComponentsAnalysis]: Automaton has 0 accepting balls. 0 [2018-12-08 10:55:17,224 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is true [2018-12-08 10:55:17,229 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer CFG 08.12 10:55:17 BoogieIcfgContainer [2018-12-08 10:55:17,229 INFO L132 PluginConnector]: ------------------------ END BuchiAutomizer---------------------------- [2018-12-08 10:55:17,230 INFO L113 PluginConnector]: ------------------------Witness Printer---------------------------- [2018-12-08 10:55:17,230 INFO L271 PluginConnector]: Initializing Witness Printer... [2018-12-08 10:55:17,230 INFO L276 PluginConnector]: Witness Printer initialized [2018-12-08 10:55:17,230 INFO L185 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.12 10:54:58" (3/4) ... [2018-12-08 10:55:17,233 INFO L147 WitnessPrinter]: No result that supports witness generation found [2018-12-08 10:55:17,233 INFO L132 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2018-12-08 10:55:17,234 INFO L168 Benchmark]: Toolchain (without parser) took 18999.35 ms. Allocated memory was 1.0 GB in the beginning and 1.6 GB in the end (delta: 556.3 MB). Free memory was 951.7 MB in the beginning and 1.5 GB in the end (delta: -555.0 MB). Peak memory consumption was 1.3 MB. Max. memory is 11.5 GB. [2018-12-08 10:55:17,235 INFO L168 Benchmark]: CDTParser took 0.14 ms. Allocated memory is still 1.0 GB. Free memory is still 976.9 MB. There was no memory consumed. Max. memory is 11.5 GB. [2018-12-08 10:55:17,235 INFO L168 Benchmark]: CACSL2BoogieTranslator took 261.89 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 140.5 MB). Free memory was 951.7 MB in the beginning and 1.1 GB in the end (delta: -172.4 MB). Peak memory consumption was 25.0 MB. Max. memory is 11.5 GB. [2018-12-08 10:55:17,235 INFO L168 Benchmark]: Boogie Procedure Inliner took 26.93 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-12-08 10:55:17,236 INFO L168 Benchmark]: Boogie Preprocessor took 17.19 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: 7.0 MB). Peak memory consumption was 7.0 MB. Max. memory is 11.5 GB. [2018-12-08 10:55:17,236 INFO L168 Benchmark]: RCFGBuilder took 233.31 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 25.6 MB). Peak memory consumption was 25.6 MB. Max. memory is 11.5 GB. [2018-12-08 10:55:17,236 INFO L168 Benchmark]: BuchiAutomizer took 18453.65 ms. Allocated memory was 1.2 GB in the beginning and 1.6 GB in the end (delta: 415.8 MB). Free memory was 1.1 GB in the beginning and 1.5 GB in the end (delta: -415.1 MB). Peak memory consumption was 624.4 kB. Max. memory is 11.5 GB. [2018-12-08 10:55:17,237 INFO L168 Benchmark]: Witness Printer took 3.71 ms. Allocated memory is still 1.6 GB. Free memory is still 1.5 GB. There was no memory consumed. Max. memory is 11.5 GB. [2018-12-08 10:55:17,239 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 976.9 MB. There was no memory consumed. Max. memory is 11.5 GB. * CACSL2BoogieTranslator took 261.89 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 140.5 MB). Free memory was 951.7 MB in the beginning and 1.1 GB in the end (delta: -172.4 MB). Peak memory consumption was 25.0 MB. Max. memory is 11.5 GB. * Boogie Procedure Inliner took 26.93 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 17.19 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: 7.0 MB). Peak memory consumption was 7.0 MB. Max. memory is 11.5 GB. * RCFGBuilder took 233.31 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 25.6 MB). Peak memory consumption was 25.6 MB. Max. memory is 11.5 GB. * BuchiAutomizer took 18453.65 ms. Allocated memory was 1.2 GB in the beginning and 1.6 GB in the end (delta: 415.8 MB). Free memory was 1.1 GB in the beginning and 1.5 GB in the end (delta: -415.1 MB). Peak memory consumption was 624.4 kB. Max. memory is 11.5 GB. * Witness Printer took 3.71 ms. Allocated memory is still 1.6 GB. Free memory is still 1.5 GB. There was no memory consumed. Max. memory is 11.5 GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: - GenericResult: Unfinished Backtranslation unknown boogie variable #length - GenericResult: Unfinished Backtranslation unknown boogie variable #length - GenericResult: Unfinished Backtranslation unknown boogie variable #length - GenericResult: Unfinished Backtranslation unknown boogie variable #length - GenericResult: Unfinished Backtranslation unknown boogie variable #length * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - StatisticsResult: Constructed decomposition of program Your program was decomposed into 14 terminating modules (9 trivial, 4 deterministic, 1 nondeterministic). One deterministic module has affine ranking function 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 unknown-#length-unknown[haystack] + -1 * d and consists of 6 locations. 9 modules have a trivial ranking function, the largest among these consists of 23 locations. - StatisticsResult: Timing statistics BüchiAutomizer plugin needed 18.4s and 15 iterations. TraceHistogramMax:4. Analysis of lassos took 12.8s. Construction of modules took 1.2s. Büchi inclusion checks took 4.1s. 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, 1.2s 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: 9ms 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...