java -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata ./data -tc ../../../trunk/examples/toolchains/AutomizerC.xml -s ../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default.epf --traceabstraction.trace.refinement.strategy SIFA_TAIPAN --sifa.abstract.domain CompoundDomain --rcfgbuilder.size.of.a.code.block LoopFreeBlock --sifa.call.summarizer TopInputCallSummarizer --sifa.fluid SizeLimitFluid --sifa.simplification.technique SIMPLIFY_QUICK -i ../../../trunk/examples/svcomp/loops/string-2.i -------------------------------------------------------------------------------- This is Ultimate 0.1.24-36ac518-m [2019-10-07 13:46:16,281 INFO L177 SettingsManager]: Resetting all preferences to default values... [2019-10-07 13:46:16,283 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2019-10-07 13:46:16,295 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2019-10-07 13:46:16,296 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2019-10-07 13:46:16,297 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2019-10-07 13:46:16,298 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2019-10-07 13:46:16,300 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2019-10-07 13:46:16,302 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2019-10-07 13:46:16,303 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2019-10-07 13:46:16,304 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2019-10-07 13:46:16,305 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2019-10-07 13:46:16,306 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2019-10-07 13:46:16,307 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2019-10-07 13:46:16,308 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2019-10-07 13:46:16,309 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2019-10-07 13:46:16,310 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2019-10-07 13:46:16,311 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2019-10-07 13:46:16,313 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2019-10-07 13:46:16,315 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2019-10-07 13:46:16,317 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2019-10-07 13:46:16,318 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2019-10-07 13:46:16,320 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2019-10-07 13:46:16,321 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2019-10-07 13:46:16,324 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2019-10-07 13:46:16,324 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2019-10-07 13:46:16,324 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2019-10-07 13:46:16,325 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2019-10-07 13:46:16,326 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2019-10-07 13:46:16,327 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2019-10-07 13:46:16,327 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2019-10-07 13:46:16,328 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2019-10-07 13:46:16,329 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2019-10-07 13:46:16,330 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2019-10-07 13:46:16,331 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2019-10-07 13:46:16,331 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2019-10-07 13:46:16,332 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2019-10-07 13:46:16,332 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2019-10-07 13:46:16,332 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2019-10-07 13:46:16,333 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2019-10-07 13:46:16,334 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2019-10-07 13:46:16,335 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default.epf [2019-10-07 13:46:16,351 INFO L113 SettingsManager]: Loading preferences was successful [2019-10-07 13:46:16,351 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2019-10-07 13:46:16,352 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2019-10-07 13:46:16,353 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2019-10-07 13:46:16,353 INFO L138 SettingsManager]: * Use SBE=true [2019-10-07 13:46:16,353 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2019-10-07 13:46:16,353 INFO L138 SettingsManager]: * sizeof long=4 [2019-10-07 13:46:16,353 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2019-10-07 13:46:16,354 INFO L138 SettingsManager]: * sizeof POINTER=4 [2019-10-07 13:46:16,354 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2019-10-07 13:46:16,354 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2019-10-07 13:46:16,356 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2019-10-07 13:46:16,356 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2019-10-07 13:46:16,356 INFO L138 SettingsManager]: * sizeof long double=12 [2019-10-07 13:46:16,356 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2019-10-07 13:46:16,357 INFO L138 SettingsManager]: * Use constant arrays=true [2019-10-07 13:46:16,357 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2019-10-07 13:46:16,357 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2019-10-07 13:46:16,357 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2019-10-07 13:46:16,357 INFO L138 SettingsManager]: * To the following directory=./dump/ [2019-10-07 13:46:16,358 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2019-10-07 13:46:16,358 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2019-10-07 13:46:16,358 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2019-10-07 13:46:16,358 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2019-10-07 13:46:16,358 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2019-10-07 13:46:16,359 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2019-10-07 13:46:16,359 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2019-10-07 13:46:16,359 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2019-10-07 13:46:16,359 INFO L138 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: Trace refinement strategy -> SIFA_TAIPAN Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.sifa: Abstract Domain -> CompoundDomain Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder: Size of a code block -> LoopFreeBlock Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.sifa: Call Summarizer -> TopInputCallSummarizer Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.sifa: Fluid -> SizeLimitFluid Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.sifa: Simplification Technique -> SIMPLIFY_QUICK [2019-10-07 13:46:16,661 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2019-10-07 13:46:16,673 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2019-10-07 13:46:16,677 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2019-10-07 13:46:16,678 INFO L271 PluginConnector]: Initializing CDTParser... [2019-10-07 13:46:16,679 INFO L275 PluginConnector]: CDTParser initialized [2019-10-07 13:46:16,679 INFO L428 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/loops/string-2.i [2019-10-07 13:46:16,754 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/7e0179d77/611b32f339824a7184bf39476fba1e27/FLAG9c98e312a [2019-10-07 13:46:17,265 INFO L306 CDTParser]: Found 1 translation units. [2019-10-07 13:46:17,266 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/loops/string-2.i [2019-10-07 13:46:17,272 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/7e0179d77/611b32f339824a7184bf39476fba1e27/FLAG9c98e312a [2019-10-07 13:46:17,653 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/7e0179d77/611b32f339824a7184bf39476fba1e27 [2019-10-07 13:46:17,663 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2019-10-07 13:46:17,665 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2019-10-07 13:46:17,666 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2019-10-07 13:46:17,666 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2019-10-07 13:46:17,669 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2019-10-07 13:46:17,670 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 07.10 01:46:17" (1/1) ... [2019-10-07 13:46:17,672 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@40a632ad and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.10 01:46:17, skipping insertion in model container [2019-10-07 13:46:17,672 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 07.10 01:46:17" (1/1) ... [2019-10-07 13:46:17,679 INFO L142 MainTranslator]: Starting translation in SV-COMP mode [2019-10-07 13:46:17,695 INFO L173 MainTranslator]: Built tables and reachable declarations [2019-10-07 13:46:17,896 INFO L206 PostProcessor]: Analyzing one entry point: main [2019-10-07 13:46:17,901 INFO L188 MainTranslator]: Completed pre-run [2019-10-07 13:46:17,926 INFO L206 PostProcessor]: Analyzing one entry point: main [2019-10-07 13:46:18,033 INFO L192 MainTranslator]: Completed translation [2019-10-07 13:46:18,033 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.10 01:46:18 WrapperNode [2019-10-07 13:46:18,034 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2019-10-07 13:46:18,034 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2019-10-07 13:46:18,034 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2019-10-07 13:46:18,034 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2019-10-07 13:46:18,044 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.10 01:46:18" (1/1) ... [2019-10-07 13:46:18,044 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.10 01:46:18" (1/1) ... [2019-10-07 13:46:18,052 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.10 01:46:18" (1/1) ... [2019-10-07 13:46:18,052 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.10 01:46:18" (1/1) ... [2019-10-07 13:46:18,063 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.10 01:46:18" (1/1) ... [2019-10-07 13:46:18,070 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.10 01:46:18" (1/1) ... [2019-10-07 13:46:18,072 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.10 01:46:18" (1/1) ... [2019-10-07 13:46:18,075 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2019-10-07 13:46:18,075 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2019-10-07 13:46:18,076 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2019-10-07 13:46:18,076 INFO L275 PluginConnector]: RCFGBuilder initialized [2019-10-07 13:46:18,077 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.10 01:46:18" (1/1) ... No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2019-10-07 13:46:18,141 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2019-10-07 13:46:18,142 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2019-10-07 13:46:18,142 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2019-10-07 13:46:18,142 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2019-10-07 13:46:18,142 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_error [2019-10-07 13:46:18,143 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assume [2019-10-07 13:46:18,144 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2019-10-07 13:46:18,144 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_char [2019-10-07 13:46:18,145 INFO L130 BoogieDeclarations]: Found specification of procedure main [2019-10-07 13:46:18,145 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2019-10-07 13:46:18,145 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2019-10-07 13:46:18,146 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2019-10-07 13:46:18,146 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2019-10-07 13:46:18,146 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2019-10-07 13:46:18,147 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2019-10-07 13:46:18,577 INFO L279 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2019-10-07 13:46:18,577 INFO L284 CfgBuilder]: Removed 5 assume(true) statements. [2019-10-07 13:46:18,579 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 07.10 01:46:18 BoogieIcfgContainer [2019-10-07 13:46:18,579 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2019-10-07 13:46:18,580 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2019-10-07 13:46:18,580 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2019-10-07 13:46:18,583 INFO L275 PluginConnector]: TraceAbstraction initialized [2019-10-07 13:46:18,583 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 07.10 01:46:17" (1/3) ... [2019-10-07 13:46:18,584 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@2645fe00 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 07.10 01:46:18, skipping insertion in model container [2019-10-07 13:46:18,585 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.10 01:46:18" (2/3) ... [2019-10-07 13:46:18,585 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@2645fe00 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 07.10 01:46:18, skipping insertion in model container [2019-10-07 13:46:18,585 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 07.10 01:46:18" (3/3) ... [2019-10-07 13:46:18,587 INFO L109 eAbstractionObserver]: Analyzing ICFG string-2.i [2019-10-07 13:46:18,597 INFO L152 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2019-10-07 13:46:18,605 INFO L164 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2019-10-07 13:46:18,617 INFO L249 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2019-10-07 13:46:18,642 INFO L373 AbstractCegarLoop]: Interprodecural is true [2019-10-07 13:46:18,643 INFO L374 AbstractCegarLoop]: Hoare is true [2019-10-07 13:46:18,643 INFO L375 AbstractCegarLoop]: Compute interpolants for FPandBP [2019-10-07 13:46:18,643 INFO L376 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2019-10-07 13:46:18,643 INFO L377 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2019-10-07 13:46:18,643 INFO L378 AbstractCegarLoop]: Difference is false [2019-10-07 13:46:18,643 INFO L379 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2019-10-07 13:46:18,643 INFO L383 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2019-10-07 13:46:18,659 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states. [2019-10-07 13:46:18,664 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 19 [2019-10-07 13:46:18,665 INFO L377 BasicCegarLoop]: Found error trace [2019-10-07 13:46:18,666 INFO L385 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-10-07 13:46:18,668 INFO L410 AbstractCegarLoop]: === Iteration 1 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2019-10-07 13:46:18,672 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-10-07 13:46:18,673 INFO L82 PathProgramCache]: Analyzing trace with hash 68001464, now seen corresponding path program 1 times [2019-10-07 13:46:18,680 INFO L150 tionRefinementEngine]: Executing refinement strategy SIFA_TAIPAN [2019-10-07 13:46:18,681 INFO L231 tionRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2019-10-07 13:46:18,681 INFO L117 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-10-07 13:46:18,681 INFO L117 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-10-07 13:46:18,681 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-10-07 13:46:18,775 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-10-07 13:46:18,821 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-10-07 13:46:18,822 INFO L286 tionRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2019-10-07 13:46:18,822 INFO L211 tionRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2019-10-07 13:46:18,823 INFO L224 tionRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2019-10-07 13:46:18,827 INFO L442 AbstractCegarLoop]: Interpolant automaton has 2 states [2019-10-07 13:46:18,853 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2019-10-07 13:46:18,854 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2019-10-07 13:46:18,857 INFO L87 Difference]: Start difference. First operand 28 states. Second operand 2 states. [2019-10-07 13:46:18,879 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-10-07 13:46:18,879 INFO L93 Difference]: Finished difference Result 45 states and 60 transitions. [2019-10-07 13:46:18,879 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2019-10-07 13:46:18,881 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 18 [2019-10-07 13:46:18,881 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-10-07 13:46:18,890 INFO L225 Difference]: With dead ends: 45 [2019-10-07 13:46:18,890 INFO L226 Difference]: Without dead ends: 21 [2019-10-07 13:46:18,894 INFO L606 BasicCegarLoop]: 0 DeclaredPredicates, 2 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2019-10-07 13:46:18,911 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 21 states. [2019-10-07 13:46:18,930 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 21 to 21. [2019-10-07 13:46:18,931 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 21 states. [2019-10-07 13:46:18,933 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 25 transitions. [2019-10-07 13:46:18,935 INFO L78 Accepts]: Start accepts. Automaton has 21 states and 25 transitions. Word has length 18 [2019-10-07 13:46:18,935 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-10-07 13:46:18,935 INFO L462 AbstractCegarLoop]: Abstraction has 21 states and 25 transitions. [2019-10-07 13:46:18,935 INFO L463 AbstractCegarLoop]: Interpolant automaton has 2 states. [2019-10-07 13:46:18,936 INFO L276 IsEmpty]: Start isEmpty. Operand 21 states and 25 transitions. [2019-10-07 13:46:18,937 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 21 [2019-10-07 13:46:18,937 INFO L377 BasicCegarLoop]: Found error trace [2019-10-07 13:46:18,937 INFO L385 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-10-07 13:46:18,937 INFO L410 AbstractCegarLoop]: === Iteration 2 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2019-10-07 13:46:18,938 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-10-07 13:46:18,938 INFO L82 PathProgramCache]: Analyzing trace with hash 687739182, now seen corresponding path program 1 times [2019-10-07 13:46:18,939 INFO L150 tionRefinementEngine]: Executing refinement strategy SIFA_TAIPAN [2019-10-07 13:46:18,939 INFO L231 tionRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2019-10-07 13:46:18,939 INFO L117 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-10-07 13:46:18,939 INFO L117 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-10-07 13:46:18,940 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-10-07 13:46:18,959 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-10-07 13:46:18,998 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-10-07 13:46:18,998 INFO L286 tionRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2019-10-07 13:46:19,000 INFO L211 tionRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2019-10-07 13:46:19,000 INFO L224 tionRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2019-10-07 13:46:19,002 INFO L442 AbstractCegarLoop]: Interpolant automaton has 3 states [2019-10-07 13:46:19,002 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2019-10-07 13:46:19,002 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2019-10-07 13:46:19,003 INFO L87 Difference]: Start difference. First operand 21 states and 25 transitions. Second operand 3 states. [2019-10-07 13:46:19,063 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-10-07 13:46:19,064 INFO L93 Difference]: Finished difference Result 40 states and 50 transitions. [2019-10-07 13:46:19,065 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2019-10-07 13:46:19,065 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 20 [2019-10-07 13:46:19,065 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-10-07 13:46:19,068 INFO L225 Difference]: With dead ends: 40 [2019-10-07 13:46:19,069 INFO L226 Difference]: Without dead ends: 25 [2019-10-07 13:46:19,071 INFO L606 BasicCegarLoop]: 0 DeclaredPredicates, 3 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2019-10-07 13:46:19,072 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 25 states. [2019-10-07 13:46:19,083 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 25 to 23. [2019-10-07 13:46:19,083 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 23 states. [2019-10-07 13:46:19,084 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 27 transitions. [2019-10-07 13:46:19,085 INFO L78 Accepts]: Start accepts. Automaton has 23 states and 27 transitions. Word has length 20 [2019-10-07 13:46:19,085 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-10-07 13:46:19,085 INFO L462 AbstractCegarLoop]: Abstraction has 23 states and 27 transitions. [2019-10-07 13:46:19,085 INFO L463 AbstractCegarLoop]: Interpolant automaton has 3 states. [2019-10-07 13:46:19,085 INFO L276 IsEmpty]: Start isEmpty. Operand 23 states and 27 transitions. [2019-10-07 13:46:19,086 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2019-10-07 13:46:19,086 INFO L377 BasicCegarLoop]: Found error trace [2019-10-07 13:46:19,087 INFO L385 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-10-07 13:46:19,087 INFO L410 AbstractCegarLoop]: === Iteration 3 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2019-10-07 13:46:19,087 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-10-07 13:46:19,087 INFO L82 PathProgramCache]: Analyzing trace with hash -316546354, now seen corresponding path program 1 times [2019-10-07 13:46:19,088 INFO L150 tionRefinementEngine]: Executing refinement strategy SIFA_TAIPAN [2019-10-07 13:46:19,088 INFO L231 tionRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2019-10-07 13:46:19,088 INFO L117 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-10-07 13:46:19,088 INFO L117 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-10-07 13:46:19,089 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-10-07 13:46:19,136 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-10-07 13:46:19,202 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2019-10-07 13:46:19,202 INFO L286 tionRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2019-10-07 13:46:19,202 INFO L286 tionRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2019-10-07 13:46:19,203 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 2 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 2 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2019-10-07 13:46:19,257 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-10-07 13:46:19,259 INFO L256 TraceCheckSpWp]: Trace formula consists of 95 conjuncts, 3 conjunts are in the unsatisfiable core [2019-10-07 13:46:19,266 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-10-07 13:46:19,304 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2019-10-07 13:46:19,305 INFO L322 TraceCheckSpWp]: Computing backward predicates... [2019-10-07 13:46:19,339 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2019-10-07 13:46:19,340 INFO L286 tionRefinementEngine]: Using interpolant generator IpTcStrategyModuleSifa [2019-10-07 13:46:19,389 INFO L162 IcfgInterpreter]: Started Sifa with 21 locations of interest [2019-10-07 13:46:19,389 INFO L169 IcfgInterpreter]: Building call graph [2019-10-07 13:46:19,398 INFO L174 IcfgInterpreter]: Initial procedures are [ULTIMATE.start] [2019-10-07 13:46:19,404 INFO L179 IcfgInterpreter]: Starting interpretation [2019-10-07 13:46:19,405 INFO L199 IcfgInterpreter]: Interpreting procedure ULTIMATE.start with input of size 1 for LOIs [2019-10-07 13:46:19,554 INFO L199 IcfgInterpreter]: Interpreting procedure main with input of size 21 for LOIs [2019-10-07 13:46:20,124 INFO L199 IcfgInterpreter]: Interpreting procedure __VERIFIER_assert with input of size 24 for LOIs [2019-10-07 13:46:20,156 INFO L199 IcfgInterpreter]: Interpreting procedure ULTIMATE.init with input of size 10 for LOIs [2019-10-07 13:46:20,167 INFO L183 IcfgInterpreter]: Interpretation finished [2019-10-07 13:46:20,167 INFO L191 IcfgInterpreter]: Final predicates for locations of interest are: [2019-10-07 13:46:20,167 INFO L193 IcfgInterpreter]: Reachable states at location L25-3 satisfy 117#(<= 0 main_~i~0) [2019-10-07 13:46:20,168 INFO L193 IcfgInterpreter]: Reachable states at location L34-1 satisfy 147#(and (<= 0 main_~nc_A~0) (<= 0 main_~i~0) (= (select (select |#memory_int| |main_~#string_B~0.base|) (+ |main_~#string_B~0.offset| main_~nc_B~0)) |main_#t~mem9|) (<= 0 main_~nc_B~0) (<= 5 main_~i~0) (= 0 (select (select |#memory_int| |main_~#string_A~0.base|) (+ main_~nc_A~0 |main_~#string_A~0.offset|))) (= (select (select |#memory_int| |main_~#string_B~0.base|) (+ |main_~#string_B~0.offset| 4)) 0) (= main_~nc_B~0 0) (not (< main_~i~0 5)) (<= main_~nc_A~0 0) (= main_~nc_A~0 0) (<= main_~nc_B~0 0)) [2019-10-07 13:46:20,168 INFO L193 IcfgInterpreter]: Reachable states at location ULTIMATE.initENTRY satisfy 186#(and (= |old(#NULL.base)| |#NULL.base|) (= |#valid| |old(#valid)|) (= |#NULL.offset| |old(#NULL.offset)|)) [2019-10-07 13:46:20,168 INFO L193 IcfgInterpreter]: Reachable states at location L23 satisfy 73#(and (= (select (select |#memory_int| |main_~#string_A~0.base|) (+ |main_~#string_A~0.offset| 4)) |main_#t~mem3|) (<= 5 main_~i~0) (not (< main_~i~0 5))) [2019-10-07 13:46:20,169 INFO L193 IcfgInterpreter]: Reachable states at location L57 satisfy 162#(and (<= 0 main_~j~0) (<= 0 main_~nc_A~0) (<= 0 main_~i~0) (<= 0 main_~nc_B~0) (or (and (= main_~i~0 main_~j~0) (= (select (select |#memory_int| |main_~#string_B~0.base|) (+ |main_~#string_B~0.offset| main_~nc_B~0)) 0) (<= main_~nc_A~0 main_~nc_B~0) (not (< main_~j~0 main_~nc_B~0)) (= main_~j~0 0) (= 0 (select (select |#memory_int| |main_~#string_A~0.base|) (+ main_~nc_A~0 |main_~#string_A~0.offset|))) (= (select (select |#memory_int| |main_~#string_B~0.base|) (+ |main_~#string_B~0.offset| 4)) 0) (= main_~nc_B~0 0) (= main_~nc_A~0 0)) (and (= main_~i~0 main_~j~0) (= (select (select |#memory_int| |main_~#string_B~0.base|) (+ |main_~#string_B~0.offset| main_~nc_B~0)) 0) (<= main_~nc_A~0 main_~nc_B~0) (= main_~j~0 0) (= 0 (select (select |#memory_int| |main_~#string_A~0.base|) (+ main_~nc_A~0 |main_~#string_A~0.offset|))) (= (select (select |#memory_int| |main_~#string_B~0.base|) (+ |main_~#string_B~0.offset| 4)) 0) (= main_~nc_B~0 0) (not (< main_~i~0 main_~nc_A~0)) (= main_~nc_A~0 0))) (<= main_~i~0 0) (<= main_~j~0 0) (<= main_~nc_A~0 0) (<= main_~nc_B~0 0)) [2019-10-07 13:46:20,169 INFO L193 IcfgInterpreter]: Reachable states at location L30-4 satisfy 137#(and (<= 0 main_~nc_A~0) (<= 0 main_~i~0) (<= 5 main_~i~0) (= 0 (select (select |#memory_int| |main_~#string_A~0.base|) (+ main_~nc_A~0 |main_~#string_A~0.offset|))) (= (select (select |#memory_int| |main_~#string_B~0.base|) (+ |main_~#string_B~0.offset| 4)) 0) (not (< main_~i~0 5)) (<= main_~nc_A~0 0) (= main_~nc_A~0 0)) [2019-10-07 13:46:20,169 INFO L193 IcfgInterpreter]: Reachable states at location L-1 satisfy 23#(and (= 0 |#NULL.base|) (<= |#NULL.base| 0) (= 0 (select |#valid| 0)) (<= 0 |#NULL.base|) (= |#NULL.offset| 0) (<= 0 |#NULL.offset|) (<= |#NULL.offset| 0)) [2019-10-07 13:46:20,170 INFO L193 IcfgInterpreter]: Reachable states at location mainENTRY satisfy 33#(and (= 0 |#NULL.base|) (<= |#NULL.base| 0) (= |#valid| |old(#valid)|) (<= 0 |#NULL.base|) (= |#memory_int| |old(#memory_int)|) (= |#NULL.offset| 0) (= |old(#length)| |#length|) (= 0 (select |old(#valid)| 0)) (<= 0 |#NULL.offset|) (<= |#NULL.offset| 0)) [2019-10-07 13:46:20,170 INFO L193 IcfgInterpreter]: Reachable states at location L27 satisfy 122#(and (= (select (select |#memory_int| |main_~#string_B~0.base|) (+ |main_~#string_B~0.offset| 4)) |main_#t~mem6|) (<= 0 main_~i~0) (<= 5 main_~i~0) (not (< main_~i~0 5))) [2019-10-07 13:46:20,170 INFO L193 IcfgInterpreter]: Reachable states at location L30-3 satisfy 127#(and (<= 0 main_~nc_A~0) (<= 0 main_~i~0) (<= 5 main_~i~0) (= (select (select |#memory_int| |main_~#string_B~0.base|) (+ |main_~#string_B~0.offset| 4)) 0) (not (< main_~i~0 5)) (<= main_~nc_A~0 0) (= main_~nc_A~0 0)) [2019-10-07 13:46:20,170 INFO L193 IcfgInterpreter]: Reachable states at location ULTIMATE.initEXIT satisfy 191#(and (= |#valid| (store |old(#valid)| 0 0)) (= 0 |#NULL.base|) (<= |#NULL.base| 0) (<= 0 |#NULL.base|) (= |#NULL.offset| 0) (<= 0 |#NULL.offset|) (<= |#NULL.offset| 0)) [2019-10-07 13:46:20,171 INFO L193 IcfgInterpreter]: Reachable states at location ULTIMATE.startENTRY satisfy 6#true [2019-10-07 13:46:20,171 INFO L193 IcfgInterpreter]: Reachable states at location L6 satisfy 177#(and (<= __VERIFIER_assert_~cond 0) (<= 0 |__VERIFIER_assert_#in~cond|) (<= |__VERIFIER_assert_#in~cond| 0) (exists ((|v_main_~#string_A~0.offset_BEFORE_CALL_1| Int) (|v_main_~#string_B~0.base_BEFORE_CALL_1| Int) (|v_main_~#string_A~0.base_BEFORE_CALL_1| Int) (|v_main_~#string_B~0.offset_BEFORE_CALL_1| Int)) (or (and (= 0 (select (select |#memory_int| |v_main_~#string_A~0.base_BEFORE_CALL_1|) |v_main_~#string_A~0.offset_BEFORE_CALL_1|)) (= |__VERIFIER_assert_#in~cond| 1) (= (select (select |#memory_int| |v_main_~#string_B~0.base_BEFORE_CALL_1|) (+ |v_main_~#string_B~0.offset_BEFORE_CALL_1| 4)) 0) (= (select (select |#memory_int| |v_main_~#string_B~0.base_BEFORE_CALL_1|) |v_main_~#string_B~0.offset_BEFORE_CALL_1|) 0)) (and (= 0 (select (select |#memory_int| |v_main_~#string_A~0.base_BEFORE_CALL_1|) |v_main_~#string_A~0.offset_BEFORE_CALL_1|)) (= |__VERIFIER_assert_#in~cond| 0) (= (select (select |#memory_int| |v_main_~#string_B~0.base_BEFORE_CALL_1|) (+ |v_main_~#string_B~0.offset_BEFORE_CALL_1| 4)) 0) (= (select (select |#memory_int| |v_main_~#string_B~0.base_BEFORE_CALL_1|) |v_main_~#string_B~0.offset_BEFORE_CALL_1|) 0)))) (<= 0 __VERIFIER_assert_~cond) (= 0 __VERIFIER_assert_~cond) (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)) [2019-10-07 13:46:20,172 INFO L193 IcfgInterpreter]: Reachable states at location L21-3 satisfy 68#true [2019-10-07 13:46:20,172 INFO L193 IcfgInterpreter]: Reachable states at location L30-1 satisfy 132#(and (<= 0 main_~nc_A~0) (<= 0 main_~i~0) (<= 5 main_~i~0) (= (select (select |#memory_int| |main_~#string_A~0.base|) (+ main_~nc_A~0 |main_~#string_A~0.offset|)) |main_#t~mem7|) (= (select (select |#memory_int| |main_~#string_B~0.base|) (+ |main_~#string_B~0.offset| 4)) 0) (not (< main_~i~0 5)) (<= main_~nc_A~0 0) (= main_~nc_A~0 0)) [2019-10-07 13:46:20,173 INFO L193 IcfgInterpreter]: Reachable states at location L5 satisfy 172#(and (exists ((|v_main_~#string_A~0.offset_BEFORE_CALL_1| Int) (|v_main_~#string_B~0.base_BEFORE_CALL_1| Int) (|v_main_~#string_A~0.base_BEFORE_CALL_1| Int) (|v_main_~#string_B~0.offset_BEFORE_CALL_1| Int)) (or (and (= 0 (select (select |#memory_int| |v_main_~#string_A~0.base_BEFORE_CALL_1|) |v_main_~#string_A~0.offset_BEFORE_CALL_1|)) (= |__VERIFIER_assert_#in~cond| 1) (= (select (select |#memory_int| |v_main_~#string_B~0.base_BEFORE_CALL_1|) (+ |v_main_~#string_B~0.offset_BEFORE_CALL_1| 4)) 0) (= (select (select |#memory_int| |v_main_~#string_B~0.base_BEFORE_CALL_1|) |v_main_~#string_B~0.offset_BEFORE_CALL_1|) 0)) (and (= 0 (select (select |#memory_int| |v_main_~#string_A~0.base_BEFORE_CALL_1|) |v_main_~#string_A~0.offset_BEFORE_CALL_1|)) (= |__VERIFIER_assert_#in~cond| 0) (= (select (select |#memory_int| |v_main_~#string_B~0.base_BEFORE_CALL_1|) (+ |v_main_~#string_B~0.offset_BEFORE_CALL_1| 4)) 0) (= (select (select |#memory_int| |v_main_~#string_B~0.base_BEFORE_CALL_1|) |v_main_~#string_B~0.offset_BEFORE_CALL_1|) 0)))) (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)) [2019-10-07 13:46:20,174 INFO L193 IcfgInterpreter]: Reachable states at location __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION satisfy 182#(and (<= __VERIFIER_assert_~cond 0) (<= 0 |__VERIFIER_assert_#in~cond|) (<= |__VERIFIER_assert_#in~cond| 0) (exists ((|v_main_~#string_A~0.offset_BEFORE_CALL_1| Int) (|v_main_~#string_B~0.base_BEFORE_CALL_1| Int) (|v_main_~#string_A~0.base_BEFORE_CALL_1| Int) (|v_main_~#string_B~0.offset_BEFORE_CALL_1| Int)) (or (and (= 0 (select (select |#memory_int| |v_main_~#string_A~0.base_BEFORE_CALL_1|) |v_main_~#string_A~0.offset_BEFORE_CALL_1|)) (= |__VERIFIER_assert_#in~cond| 1) (= (select (select |#memory_int| |v_main_~#string_B~0.base_BEFORE_CALL_1|) (+ |v_main_~#string_B~0.offset_BEFORE_CALL_1| 4)) 0) (= (select (select |#memory_int| |v_main_~#string_B~0.base_BEFORE_CALL_1|) |v_main_~#string_B~0.offset_BEFORE_CALL_1|) 0)) (and (= 0 (select (select |#memory_int| |v_main_~#string_A~0.base_BEFORE_CALL_1|) |v_main_~#string_A~0.offset_BEFORE_CALL_1|)) (= |__VERIFIER_assert_#in~cond| 0) (= (select (select |#memory_int| |v_main_~#string_B~0.base_BEFORE_CALL_1|) (+ |v_main_~#string_B~0.offset_BEFORE_CALL_1| 4)) 0) (= (select (select |#memory_int| |v_main_~#string_B~0.base_BEFORE_CALL_1|) |v_main_~#string_B~0.offset_BEFORE_CALL_1|) 0)))) (<= 0 __VERIFIER_assert_~cond) (= 0 __VERIFIER_assert_~cond) (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)) [2019-10-07 13:46:20,174 INFO L193 IcfgInterpreter]: Reachable states at location __VERIFIER_assertENTRY satisfy 167#(exists ((|v_main_~#string_A~0.offset_BEFORE_CALL_1| Int) (|v_main_~#string_B~0.base_BEFORE_CALL_1| Int) (|v_main_~#string_A~0.base_BEFORE_CALL_1| Int) (|v_main_~#string_B~0.offset_BEFORE_CALL_1| Int)) (or (and (= 0 (select (select |#memory_int| |v_main_~#string_A~0.base_BEFORE_CALL_1|) |v_main_~#string_A~0.offset_BEFORE_CALL_1|)) (= |__VERIFIER_assert_#in~cond| 1) (= (select (select |#memory_int| |v_main_~#string_B~0.base_BEFORE_CALL_1|) (+ |v_main_~#string_B~0.offset_BEFORE_CALL_1| 4)) 0) (= (select (select |#memory_int| |v_main_~#string_B~0.base_BEFORE_CALL_1|) |v_main_~#string_B~0.offset_BEFORE_CALL_1|) 0)) (and (= 0 (select (select |#memory_int| |v_main_~#string_A~0.base_BEFORE_CALL_1|) |v_main_~#string_A~0.offset_BEFORE_CALL_1|)) (= |__VERIFIER_assert_#in~cond| 0) (= (select (select |#memory_int| |v_main_~#string_B~0.base_BEFORE_CALL_1|) (+ |v_main_~#string_B~0.offset_BEFORE_CALL_1| 4)) 0) (= (select (select |#memory_int| |v_main_~#string_B~0.base_BEFORE_CALL_1|) |v_main_~#string_B~0.offset_BEFORE_CALL_1|) 0)))) [2019-10-07 13:46:20,174 INFO L193 IcfgInterpreter]: Reachable states at location L34-4 satisfy 152#(and (<= 0 main_~nc_A~0) (<= 0 main_~i~0) (<= 0 main_~nc_B~0) (= (select (select |#memory_int| |main_~#string_B~0.base|) (+ |main_~#string_B~0.offset| main_~nc_B~0)) 0) (<= 5 main_~i~0) (= 0 (select (select |#memory_int| |main_~#string_A~0.base|) (+ main_~nc_A~0 |main_~#string_A~0.offset|))) (= (select (select |#memory_int| |main_~#string_B~0.base|) (+ |main_~#string_B~0.offset| 4)) 0) (= main_~nc_B~0 0) (not (< main_~i~0 5)) (<= main_~nc_A~0 0) (= main_~nc_A~0 0) (<= main_~nc_B~0 0)) [2019-10-07 13:46:20,175 INFO L193 IcfgInterpreter]: Reachable states at location L43-2 satisfy 157#(and (<= 0 main_~j~0) (<= 0 main_~nc_A~0) (<= 0 main_~i~0) (= (select (select |#memory_int| |main_~#string_B~0.base|) (+ |main_~#string_B~0.offset| 4)) 0) (<= main_~i~0 0) (= main_~i~0 main_~j~0) (<= 0 main_~nc_B~0) (= (select (select |#memory_int| |main_~#string_B~0.base|) (+ |main_~#string_B~0.offset| main_~nc_B~0)) 0) (<= main_~nc_A~0 main_~nc_B~0) (= main_~j~0 0) (= 0 (select (select |#memory_int| |main_~#string_A~0.base|) (+ main_~nc_A~0 |main_~#string_A~0.offset|))) (= main_~nc_B~0 0) (<= main_~j~0 0) (<= main_~nc_A~0 0) (= main_~nc_A~0 0) (<= main_~nc_B~0 0)) [2019-10-07 13:46:20,175 INFO L193 IcfgInterpreter]: Reachable states at location L34-3 satisfy 142#(and (<= 0 main_~nc_A~0) (<= 0 main_~i~0) (<= 0 main_~nc_B~0) (<= 5 main_~i~0) (= 0 (select (select |#memory_int| |main_~#string_A~0.base|) (+ main_~nc_A~0 |main_~#string_A~0.offset|))) (= (select (select |#memory_int| |main_~#string_B~0.base|) (+ |main_~#string_B~0.offset| 4)) 0) (= main_~nc_B~0 0) (not (< main_~i~0 5)) (<= main_~nc_A~0 0) (= main_~nc_A~0 0) (<= main_~nc_B~0 0)) [2019-10-07 13:46:20,974 INFO L211 tionRefinementEngine]: Constructing automaton from 0 perfect and 4 imperfect interpolant sequences. [2019-10-07 13:46:20,974 INFO L224 tionRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4, 18] total 24 [2019-10-07 13:46:20,975 INFO L442 AbstractCegarLoop]: Interpolant automaton has 24 states [2019-10-07 13:46:20,976 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 24 interpolants. [2019-10-07 13:46:20,977 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=86, Invalid=466, Unknown=0, NotChecked=0, Total=552 [2019-10-07 13:46:20,977 INFO L87 Difference]: Start difference. First operand 23 states and 27 transitions. Second operand 24 states. [2019-10-07 13:46:21,979 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-10-07 13:46:21,979 INFO L93 Difference]: Finished difference Result 62 states and 79 transitions. [2019-10-07 13:46:21,980 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 23 states. [2019-10-07 13:46:21,980 INFO L78 Accepts]: Start accepts. Automaton has 24 states. Word has length 22 [2019-10-07 13:46:21,980 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-10-07 13:46:21,981 INFO L225 Difference]: With dead ends: 62 [2019-10-07 13:46:21,981 INFO L226 Difference]: Without dead ends: 46 [2019-10-07 13:46:21,982 INFO L606 BasicCegarLoop]: 0 DeclaredPredicates, 93 GetRequests, 52 SyntacticMatches, 1 SemanticMatches, 40 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 458 ImplicationChecksByTransitivity, 1.4s TimeCoverageRelationStatistics Valid=246, Invalid=1476, Unknown=0, NotChecked=0, Total=1722 [2019-10-07 13:46:21,983 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 46 states. [2019-10-07 13:46:21,998 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 46 to 36. [2019-10-07 13:46:21,999 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 36 states. [2019-10-07 13:46:22,000 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 36 states to 36 states and 42 transitions. [2019-10-07 13:46:22,000 INFO L78 Accepts]: Start accepts. Automaton has 36 states and 42 transitions. Word has length 22 [2019-10-07 13:46:22,000 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-10-07 13:46:22,000 INFO L462 AbstractCegarLoop]: Abstraction has 36 states and 42 transitions. [2019-10-07 13:46:22,001 INFO L463 AbstractCegarLoop]: Interpolant automaton has 24 states. [2019-10-07 13:46:22,001 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 42 transitions. [2019-10-07 13:46:22,002 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2019-10-07 13:46:22,002 INFO L377 BasicCegarLoop]: Found error trace [2019-10-07 13:46:22,002 INFO L385 BasicCegarLoop]: trace histogram [4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-10-07 13:46:22,206 WARN L499 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 2 z3 -smt2 -in SMTLIB2_COMPLIANT=true [2019-10-07 13:46:22,206 INFO L410 AbstractCegarLoop]: === Iteration 4 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2019-10-07 13:46:22,207 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-10-07 13:46:22,207 INFO L82 PathProgramCache]: Analyzing trace with hash -339653586, now seen corresponding path program 2 times [2019-10-07 13:46:22,207 INFO L150 tionRefinementEngine]: Executing refinement strategy SIFA_TAIPAN [2019-10-07 13:46:22,207 INFO L231 tionRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2019-10-07 13:46:22,208 INFO L117 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-10-07 13:46:22,208 INFO L117 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-10-07 13:46:22,208 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-10-07 13:46:22,235 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-10-07 13:46:22,312 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2019-10-07 13:46:22,312 INFO L286 tionRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2019-10-07 13:46:22,312 INFO L286 tionRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2019-10-07 13:46:22,312 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 3 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 3 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2019-10-07 13:46:22,369 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 3 check-sat command(s) [2019-10-07 13:46:22,370 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2019-10-07 13:46:22,371 INFO L256 TraceCheckSpWp]: Trace formula consists of 131 conjuncts, 6 conjunts are in the unsatisfiable core [2019-10-07 13:46:22,373 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-10-07 13:46:22,383 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2019-10-07 13:46:22,384 INFO L322 TraceCheckSpWp]: Computing backward predicates... [2019-10-07 13:46:22,415 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2019-10-07 13:46:22,416 INFO L286 tionRefinementEngine]: Using interpolant generator IpTcStrategyModuleSifa [2019-10-07 13:46:22,418 INFO L162 IcfgInterpreter]: Started Sifa with 21 locations of interest [2019-10-07 13:46:22,418 INFO L169 IcfgInterpreter]: Building call graph [2019-10-07 13:46:22,418 INFO L174 IcfgInterpreter]: Initial procedures are [ULTIMATE.start] [2019-10-07 13:46:22,419 INFO L179 IcfgInterpreter]: Starting interpretation [2019-10-07 13:46:22,419 INFO L199 IcfgInterpreter]: Interpreting procedure ULTIMATE.start with input of size 1 for LOIs [2019-10-07 13:46:22,448 INFO L199 IcfgInterpreter]: Interpreting procedure main with input of size 21 for LOIs [2019-10-07 13:46:22,670 INFO L199 IcfgInterpreter]: Interpreting procedure __VERIFIER_assert with input of size 24 for LOIs [2019-10-07 13:46:22,681 INFO L199 IcfgInterpreter]: Interpreting procedure ULTIMATE.init with input of size 10 for LOIs [2019-10-07 13:46:22,686 INFO L183 IcfgInterpreter]: Interpretation finished [2019-10-07 13:46:22,686 INFO L191 IcfgInterpreter]: Final predicates for locations of interest are: [2019-10-07 13:46:22,686 INFO L193 IcfgInterpreter]: Reachable states at location L25-3 satisfy 117#(<= 0 main_~i~0) [2019-10-07 13:46:22,687 INFO L193 IcfgInterpreter]: Reachable states at location L34-1 satisfy 147#(and (<= 0 main_~nc_A~0) (<= 0 main_~i~0) (= (select (select |#memory_int| |main_~#string_B~0.base|) (+ |main_~#string_B~0.offset| main_~nc_B~0)) |main_#t~mem9|) (<= 0 main_~nc_B~0) (<= 5 main_~i~0) (= 0 (select (select |#memory_int| |main_~#string_A~0.base|) (+ main_~nc_A~0 |main_~#string_A~0.offset|))) (= (select (select |#memory_int| |main_~#string_B~0.base|) (+ |main_~#string_B~0.offset| 4)) 0) (= main_~nc_B~0 0) (not (< main_~i~0 5)) (<= main_~nc_A~0 0) (= main_~nc_A~0 0) (<= main_~nc_B~0 0)) [2019-10-07 13:46:22,687 INFO L193 IcfgInterpreter]: Reachable states at location L23 satisfy 73#(and (= (select (select |#memory_int| |main_~#string_A~0.base|) (+ |main_~#string_A~0.offset| 4)) |main_#t~mem3|) (<= 5 main_~i~0) (not (< main_~i~0 5))) [2019-10-07 13:46:22,687 INFO L193 IcfgInterpreter]: Reachable states at location ULTIMATE.initENTRY satisfy 186#(and (= |old(#NULL.base)| |#NULL.base|) (= |#valid| |old(#valid)|) (= |#NULL.offset| |old(#NULL.offset)|)) [2019-10-07 13:46:22,687 INFO L193 IcfgInterpreter]: Reachable states at location L57 satisfy 162#(and (<= 0 main_~j~0) (<= 0 main_~nc_A~0) (<= 0 main_~i~0) (<= 0 main_~nc_B~0) (or (and (= main_~i~0 main_~j~0) (= (select (select |#memory_int| |main_~#string_B~0.base|) (+ |main_~#string_B~0.offset| main_~nc_B~0)) 0) (<= main_~nc_A~0 main_~nc_B~0) (not (< main_~j~0 main_~nc_B~0)) (= main_~j~0 0) (= 0 (select (select |#memory_int| |main_~#string_A~0.base|) (+ main_~nc_A~0 |main_~#string_A~0.offset|))) (= (select (select |#memory_int| |main_~#string_B~0.base|) (+ |main_~#string_B~0.offset| 4)) 0) (= main_~nc_B~0 0) (= main_~nc_A~0 0)) (and (= main_~i~0 main_~j~0) (= (select (select |#memory_int| |main_~#string_B~0.base|) (+ |main_~#string_B~0.offset| main_~nc_B~0)) 0) (<= main_~nc_A~0 main_~nc_B~0) (= main_~j~0 0) (= 0 (select (select |#memory_int| |main_~#string_A~0.base|) (+ main_~nc_A~0 |main_~#string_A~0.offset|))) (= (select (select |#memory_int| |main_~#string_B~0.base|) (+ |main_~#string_B~0.offset| 4)) 0) (= main_~nc_B~0 0) (not (< main_~i~0 main_~nc_A~0)) (= main_~nc_A~0 0))) (<= main_~i~0 0) (<= main_~j~0 0) (<= main_~nc_A~0 0) (<= main_~nc_B~0 0)) [2019-10-07 13:46:22,688 INFO L193 IcfgInterpreter]: Reachable states at location L30-4 satisfy 137#(and (<= 0 main_~nc_A~0) (<= 0 main_~i~0) (<= 5 main_~i~0) (= 0 (select (select |#memory_int| |main_~#string_A~0.base|) (+ main_~nc_A~0 |main_~#string_A~0.offset|))) (= (select (select |#memory_int| |main_~#string_B~0.base|) (+ |main_~#string_B~0.offset| 4)) 0) (not (< main_~i~0 5)) (<= main_~nc_A~0 0) (= main_~nc_A~0 0)) [2019-10-07 13:46:22,688 INFO L193 IcfgInterpreter]: Reachable states at location L-1 satisfy 23#(and (= 0 |#NULL.base|) (<= |#NULL.base| 0) (= 0 (select |#valid| 0)) (<= 0 |#NULL.base|) (= |#NULL.offset| 0) (<= 0 |#NULL.offset|) (<= |#NULL.offset| 0)) [2019-10-07 13:46:22,688 INFO L193 IcfgInterpreter]: Reachable states at location mainENTRY satisfy 33#(and (= 0 |#NULL.base|) (<= |#NULL.base| 0) (= |#valid| |old(#valid)|) (<= 0 |#NULL.base|) (= |#memory_int| |old(#memory_int)|) (= |#NULL.offset| 0) (= |old(#length)| |#length|) (= 0 (select |old(#valid)| 0)) (<= 0 |#NULL.offset|) (<= |#NULL.offset| 0)) [2019-10-07 13:46:22,688 INFO L193 IcfgInterpreter]: Reachable states at location L27 satisfy 122#(and (= (select (select |#memory_int| |main_~#string_B~0.base|) (+ |main_~#string_B~0.offset| 4)) |main_#t~mem6|) (<= 0 main_~i~0) (<= 5 main_~i~0) (not (< main_~i~0 5))) [2019-10-07 13:46:22,688 INFO L193 IcfgInterpreter]: Reachable states at location L30-3 satisfy 127#(and (<= 0 main_~nc_A~0) (<= 0 main_~i~0) (<= 5 main_~i~0) (= (select (select |#memory_int| |main_~#string_B~0.base|) (+ |main_~#string_B~0.offset| 4)) 0) (not (< main_~i~0 5)) (<= main_~nc_A~0 0) (= main_~nc_A~0 0)) [2019-10-07 13:46:22,689 INFO L193 IcfgInterpreter]: Reachable states at location ULTIMATE.initEXIT satisfy 191#(and (= |#valid| (store |old(#valid)| 0 0)) (= 0 |#NULL.base|) (<= |#NULL.base| 0) (<= 0 |#NULL.base|) (= |#NULL.offset| 0) (<= 0 |#NULL.offset|) (<= |#NULL.offset| 0)) [2019-10-07 13:46:22,689 INFO L193 IcfgInterpreter]: Reachable states at location ULTIMATE.startENTRY satisfy 6#true [2019-10-07 13:46:22,689 INFO L193 IcfgInterpreter]: Reachable states at location L6 satisfy 177#(and (<= __VERIFIER_assert_~cond 0) (<= 0 |__VERIFIER_assert_#in~cond|) (<= |__VERIFIER_assert_#in~cond| 0) (exists ((|v_main_~#string_A~0.offset_BEFORE_CALL_2| Int) (|v_main_~#string_B~0.base_BEFORE_CALL_2| Int) (|v_main_~#string_B~0.offset_BEFORE_CALL_2| Int) (|v_main_~#string_A~0.base_BEFORE_CALL_2| Int)) (or (and (= (select (select |#memory_int| |v_main_~#string_B~0.base_BEFORE_CALL_2|) (+ |v_main_~#string_B~0.offset_BEFORE_CALL_2| 4)) 0) (= |__VERIFIER_assert_#in~cond| 1) (= (select (select |#memory_int| |v_main_~#string_B~0.base_BEFORE_CALL_2|) |v_main_~#string_B~0.offset_BEFORE_CALL_2|) 0) (= (select (select |#memory_int| |v_main_~#string_A~0.base_BEFORE_CALL_2|) |v_main_~#string_A~0.offset_BEFORE_CALL_2|) 0)) (and (= (select (select |#memory_int| |v_main_~#string_B~0.base_BEFORE_CALL_2|) (+ |v_main_~#string_B~0.offset_BEFORE_CALL_2| 4)) 0) (= |__VERIFIER_assert_#in~cond| 0) (= (select (select |#memory_int| |v_main_~#string_B~0.base_BEFORE_CALL_2|) |v_main_~#string_B~0.offset_BEFORE_CALL_2|) 0) (= (select (select |#memory_int| |v_main_~#string_A~0.base_BEFORE_CALL_2|) |v_main_~#string_A~0.offset_BEFORE_CALL_2|) 0)))) (<= 0 __VERIFIER_assert_~cond) (= 0 __VERIFIER_assert_~cond) (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)) [2019-10-07 13:46:22,689 INFO L193 IcfgInterpreter]: Reachable states at location L21-3 satisfy 68#true [2019-10-07 13:46:22,690 INFO L193 IcfgInterpreter]: Reachable states at location L30-1 satisfy 132#(and (<= 0 main_~nc_A~0) (<= 0 main_~i~0) (<= 5 main_~i~0) (= (select (select |#memory_int| |main_~#string_A~0.base|) (+ main_~nc_A~0 |main_~#string_A~0.offset|)) |main_#t~mem7|) (= (select (select |#memory_int| |main_~#string_B~0.base|) (+ |main_~#string_B~0.offset| 4)) 0) (not (< main_~i~0 5)) (<= main_~nc_A~0 0) (= main_~nc_A~0 0)) [2019-10-07 13:46:22,690 INFO L193 IcfgInterpreter]: Reachable states at location L5 satisfy 172#(and (exists ((|v_main_~#string_A~0.offset_BEFORE_CALL_2| Int) (|v_main_~#string_B~0.base_BEFORE_CALL_2| Int) (|v_main_~#string_B~0.offset_BEFORE_CALL_2| Int) (|v_main_~#string_A~0.base_BEFORE_CALL_2| Int)) (or (and (= (select (select |#memory_int| |v_main_~#string_B~0.base_BEFORE_CALL_2|) (+ |v_main_~#string_B~0.offset_BEFORE_CALL_2| 4)) 0) (= |__VERIFIER_assert_#in~cond| 1) (= (select (select |#memory_int| |v_main_~#string_B~0.base_BEFORE_CALL_2|) |v_main_~#string_B~0.offset_BEFORE_CALL_2|) 0) (= (select (select |#memory_int| |v_main_~#string_A~0.base_BEFORE_CALL_2|) |v_main_~#string_A~0.offset_BEFORE_CALL_2|) 0)) (and (= (select (select |#memory_int| |v_main_~#string_B~0.base_BEFORE_CALL_2|) (+ |v_main_~#string_B~0.offset_BEFORE_CALL_2| 4)) 0) (= |__VERIFIER_assert_#in~cond| 0) (= (select (select |#memory_int| |v_main_~#string_B~0.base_BEFORE_CALL_2|) |v_main_~#string_B~0.offset_BEFORE_CALL_2|) 0) (= (select (select |#memory_int| |v_main_~#string_A~0.base_BEFORE_CALL_2|) |v_main_~#string_A~0.offset_BEFORE_CALL_2|) 0)))) (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)) [2019-10-07 13:46:22,690 INFO L193 IcfgInterpreter]: Reachable states at location __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION satisfy 182#(and (<= __VERIFIER_assert_~cond 0) (<= 0 |__VERIFIER_assert_#in~cond|) (<= |__VERIFIER_assert_#in~cond| 0) (exists ((|v_main_~#string_A~0.offset_BEFORE_CALL_2| Int) (|v_main_~#string_B~0.base_BEFORE_CALL_2| Int) (|v_main_~#string_B~0.offset_BEFORE_CALL_2| Int) (|v_main_~#string_A~0.base_BEFORE_CALL_2| Int)) (or (and (= (select (select |#memory_int| |v_main_~#string_B~0.base_BEFORE_CALL_2|) (+ |v_main_~#string_B~0.offset_BEFORE_CALL_2| 4)) 0) (= |__VERIFIER_assert_#in~cond| 1) (= (select (select |#memory_int| |v_main_~#string_B~0.base_BEFORE_CALL_2|) |v_main_~#string_B~0.offset_BEFORE_CALL_2|) 0) (= (select (select |#memory_int| |v_main_~#string_A~0.base_BEFORE_CALL_2|) |v_main_~#string_A~0.offset_BEFORE_CALL_2|) 0)) (and (= (select (select |#memory_int| |v_main_~#string_B~0.base_BEFORE_CALL_2|) (+ |v_main_~#string_B~0.offset_BEFORE_CALL_2| 4)) 0) (= |__VERIFIER_assert_#in~cond| 0) (= (select (select |#memory_int| |v_main_~#string_B~0.base_BEFORE_CALL_2|) |v_main_~#string_B~0.offset_BEFORE_CALL_2|) 0) (= (select (select |#memory_int| |v_main_~#string_A~0.base_BEFORE_CALL_2|) |v_main_~#string_A~0.offset_BEFORE_CALL_2|) 0)))) (<= 0 __VERIFIER_assert_~cond) (= 0 __VERIFIER_assert_~cond) (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)) [2019-10-07 13:46:22,690 INFO L193 IcfgInterpreter]: Reachable states at location __VERIFIER_assertENTRY satisfy 167#(exists ((|v_main_~#string_A~0.offset_BEFORE_CALL_2| Int) (|v_main_~#string_B~0.base_BEFORE_CALL_2| Int) (|v_main_~#string_B~0.offset_BEFORE_CALL_2| Int) (|v_main_~#string_A~0.base_BEFORE_CALL_2| Int)) (or (and (= (select (select |#memory_int| |v_main_~#string_B~0.base_BEFORE_CALL_2|) (+ |v_main_~#string_B~0.offset_BEFORE_CALL_2| 4)) 0) (= |__VERIFIER_assert_#in~cond| 1) (= (select (select |#memory_int| |v_main_~#string_B~0.base_BEFORE_CALL_2|) |v_main_~#string_B~0.offset_BEFORE_CALL_2|) 0) (= (select (select |#memory_int| |v_main_~#string_A~0.base_BEFORE_CALL_2|) |v_main_~#string_A~0.offset_BEFORE_CALL_2|) 0)) (and (= (select (select |#memory_int| |v_main_~#string_B~0.base_BEFORE_CALL_2|) (+ |v_main_~#string_B~0.offset_BEFORE_CALL_2| 4)) 0) (= |__VERIFIER_assert_#in~cond| 0) (= (select (select |#memory_int| |v_main_~#string_B~0.base_BEFORE_CALL_2|) |v_main_~#string_B~0.offset_BEFORE_CALL_2|) 0) (= (select (select |#memory_int| |v_main_~#string_A~0.base_BEFORE_CALL_2|) |v_main_~#string_A~0.offset_BEFORE_CALL_2|) 0)))) [2019-10-07 13:46:22,690 INFO L193 IcfgInterpreter]: Reachable states at location L34-4 satisfy 152#(and (<= 0 main_~nc_A~0) (<= 0 main_~i~0) (<= 0 main_~nc_B~0) (= (select (select |#memory_int| |main_~#string_B~0.base|) (+ |main_~#string_B~0.offset| main_~nc_B~0)) 0) (<= 5 main_~i~0) (= 0 (select (select |#memory_int| |main_~#string_A~0.base|) (+ main_~nc_A~0 |main_~#string_A~0.offset|))) (= (select (select |#memory_int| |main_~#string_B~0.base|) (+ |main_~#string_B~0.offset| 4)) 0) (= main_~nc_B~0 0) (not (< main_~i~0 5)) (<= main_~nc_A~0 0) (= main_~nc_A~0 0) (<= main_~nc_B~0 0)) [2019-10-07 13:46:22,691 INFO L193 IcfgInterpreter]: Reachable states at location L43-2 satisfy 157#(and (<= 0 main_~j~0) (<= 0 main_~nc_A~0) (<= 0 main_~i~0) (= (select (select |#memory_int| |main_~#string_B~0.base|) (+ |main_~#string_B~0.offset| 4)) 0) (<= main_~i~0 0) (= main_~i~0 main_~j~0) (<= 0 main_~nc_B~0) (= (select (select |#memory_int| |main_~#string_B~0.base|) (+ |main_~#string_B~0.offset| main_~nc_B~0)) 0) (<= main_~nc_A~0 main_~nc_B~0) (= main_~j~0 0) (= 0 (select (select |#memory_int| |main_~#string_A~0.base|) (+ main_~nc_A~0 |main_~#string_A~0.offset|))) (= main_~nc_B~0 0) (<= main_~j~0 0) (<= main_~nc_A~0 0) (= main_~nc_A~0 0) (<= main_~nc_B~0 0)) [2019-10-07 13:46:22,691 INFO L193 IcfgInterpreter]: Reachable states at location L34-3 satisfy 142#(and (<= 0 main_~nc_A~0) (<= 0 main_~i~0) (<= 0 main_~nc_B~0) (<= 5 main_~i~0) (= 0 (select (select |#memory_int| |main_~#string_A~0.base|) (+ main_~nc_A~0 |main_~#string_A~0.offset|))) (= (select (select |#memory_int| |main_~#string_B~0.base|) (+ |main_~#string_B~0.offset| 4)) 0) (= main_~nc_B~0 0) (not (< main_~i~0 5)) (<= main_~nc_A~0 0) (= main_~nc_A~0 0) (<= main_~nc_B~0 0)) [2019-10-07 13:46:23,429 INFO L211 tionRefinementEngine]: Constructing automaton from 0 perfect and 4 imperfect interpolant sequences. [2019-10-07 13:46:23,429 INFO L224 tionRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7, 7, 18] total 25 [2019-10-07 13:46:23,430 INFO L442 AbstractCegarLoop]: Interpolant automaton has 25 states [2019-10-07 13:46:23,431 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 25 interpolants. [2019-10-07 13:46:23,431 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=94, Invalid=506, Unknown=0, NotChecked=0, Total=600 [2019-10-07 13:46:23,431 INFO L87 Difference]: Start difference. First operand 36 states and 42 transitions. Second operand 25 states. [2019-10-07 13:46:24,412 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-10-07 13:46:24,413 INFO L93 Difference]: Finished difference Result 74 states and 88 transitions. [2019-10-07 13:46:24,413 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 24 states. [2019-10-07 13:46:24,414 INFO L78 Accepts]: Start accepts. Automaton has 25 states. Word has length 28 [2019-10-07 13:46:24,414 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-10-07 13:46:24,415 INFO L225 Difference]: With dead ends: 74 [2019-10-07 13:46:24,416 INFO L226 Difference]: Without dead ends: 48 [2019-10-07 13:46:24,417 INFO L606 BasicCegarLoop]: 0 DeclaredPredicates, 116 GetRequests, 68 SyntacticMatches, 6 SemanticMatches, 42 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 497 ImplicationChecksByTransitivity, 1.4s TimeCoverageRelationStatistics Valid=270, Invalid=1622, Unknown=0, NotChecked=0, Total=1892 [2019-10-07 13:46:24,418 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 48 states. [2019-10-07 13:46:24,425 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 48 to 38. [2019-10-07 13:46:24,425 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 38 states. [2019-10-07 13:46:24,427 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 38 states to 38 states and 44 transitions. [2019-10-07 13:46:24,427 INFO L78 Accepts]: Start accepts. Automaton has 38 states and 44 transitions. Word has length 28 [2019-10-07 13:46:24,427 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-10-07 13:46:24,427 INFO L462 AbstractCegarLoop]: Abstraction has 38 states and 44 transitions. [2019-10-07 13:46:24,427 INFO L463 AbstractCegarLoop]: Interpolant automaton has 25 states. [2019-10-07 13:46:24,428 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 44 transitions. [2019-10-07 13:46:24,429 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 31 [2019-10-07 13:46:24,429 INFO L377 BasicCegarLoop]: Found error trace [2019-10-07 13:46:24,429 INFO L385 BasicCegarLoop]: trace histogram [5, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-10-07 13:46:24,638 WARN L499 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 z3 -smt2 -in SMTLIB2_COMPLIANT=true [2019-10-07 13:46:24,639 INFO L410 AbstractCegarLoop]: === Iteration 5 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2019-10-07 13:46:24,640 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-10-07 13:46:24,640 INFO L82 PathProgramCache]: Analyzing trace with hash -1384059442, now seen corresponding path program 3 times [2019-10-07 13:46:24,640 INFO L150 tionRefinementEngine]: Executing refinement strategy SIFA_TAIPAN [2019-10-07 13:46:24,641 INFO L231 tionRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2019-10-07 13:46:24,641 INFO L117 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-10-07 13:46:24,641 INFO L117 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-10-07 13:46:24,641 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-10-07 13:46:24,737 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2019-10-07 13:46:24,791 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2019-10-07 13:46:24,837 INFO L161 tionRefinementEngine]: Strategy SIFA_TAIPAN found a feasible trace [2019-10-07 13:46:24,837 INFO L451 BasicCegarLoop]: Counterexample might be feasible [2019-10-07 13:46:24,891 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 07.10 01:46:24 BoogieIcfgContainer [2019-10-07 13:46:24,891 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2019-10-07 13:46:24,893 INFO L168 Benchmark]: Toolchain (without parser) took 7228.07 ms. Allocated memory was 143.7 MB in the beginning and 292.0 MB in the end (delta: 148.4 MB). Free memory was 101.8 MB in the beginning and 256.3 MB in the end (delta: -154.5 MB). There was no memory consumed. Max. memory is 7.1 GB. [2019-10-07 13:46:24,894 INFO L168 Benchmark]: CDTParser took 0.22 ms. Allocated memory is still 143.7 MB. Free memory was 120.0 MB in the beginning and 119.8 MB in the end (delta: 210.0 kB). Peak memory consumption was 210.0 kB. Max. memory is 7.1 GB. [2019-10-07 13:46:24,895 INFO L168 Benchmark]: CACSL2BoogieTranslator took 368.18 ms. Allocated memory was 143.7 MB in the beginning and 200.3 MB in the end (delta: 56.6 MB). Free memory was 101.6 MB in the beginning and 179.5 MB in the end (delta: -77.9 MB). Peak memory consumption was 19.7 MB. Max. memory is 7.1 GB. [2019-10-07 13:46:24,897 INFO L168 Benchmark]: Boogie Preprocessor took 40.80 ms. Allocated memory is still 200.3 MB. Free memory was 179.5 MB in the beginning and 177.1 MB in the end (delta: 2.5 MB). Peak memory consumption was 2.5 MB. Max. memory is 7.1 GB. [2019-10-07 13:46:24,898 INFO L168 Benchmark]: RCFGBuilder took 503.49 ms. Allocated memory is still 200.3 MB. Free memory was 177.1 MB in the beginning and 153.1 MB in the end (delta: 24.0 MB). Peak memory consumption was 24.0 MB. Max. memory is 7.1 GB. [2019-10-07 13:46:24,898 INFO L168 Benchmark]: TraceAbstraction took 6311.30 ms. Allocated memory was 200.3 MB in the beginning and 292.0 MB in the end (delta: 91.8 MB). Free memory was 152.4 MB in the beginning and 256.3 MB in the end (delta: -103.9 MB). There was no memory consumed. Max. memory is 7.1 GB. [2019-10-07 13:46:24,905 INFO L335 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.22 ms. Allocated memory is still 143.7 MB. Free memory was 120.0 MB in the beginning and 119.8 MB in the end (delta: 210.0 kB). Peak memory consumption was 210.0 kB. Max. memory is 7.1 GB. * CACSL2BoogieTranslator took 368.18 ms. Allocated memory was 143.7 MB in the beginning and 200.3 MB in the end (delta: 56.6 MB). Free memory was 101.6 MB in the beginning and 179.5 MB in the end (delta: -77.9 MB). Peak memory consumption was 19.7 MB. Max. memory is 7.1 GB. * Boogie Preprocessor took 40.80 ms. Allocated memory is still 200.3 MB. Free memory was 179.5 MB in the beginning and 177.1 MB in the end (delta: 2.5 MB). Peak memory consumption was 2.5 MB. Max. memory is 7.1 GB. * RCFGBuilder took 503.49 ms. Allocated memory is still 200.3 MB. Free memory was 177.1 MB in the beginning and 153.1 MB in the end (delta: 24.0 MB). Peak memory consumption was 24.0 MB. Max. memory is 7.1 GB. * TraceAbstraction took 6311.30 ms. Allocated memory was 200.3 MB in the beginning and 292.0 MB in the end (delta: 91.8 MB). Free memory was 152.4 MB in the beginning and 256.3 MB in the end (delta: -103.9 MB). There was no memory consumed. Max. memory is 7.1 GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - UnprovableResult [Line: 6]: Unable to prove that call of __VERIFIER_error() unreachable Unable to prove that call of __VERIFIER_error() unreachable Reason: overapproximation of shiftLeft at line 55. Possible FailurePath: [L17] char string_A[5], string_B[5]; [L18] int i, j, nc_A, nc_B, found=0; [L21] i=0 VAL [found=0, i=0, string_A={1:0}, string_B={-1:0}] [L21] COND TRUE i<5 [L22] string_A[i]=__VERIFIER_nondet_char() [L21] i++ VAL [found=0, i=1, string_A={1:0}, string_B={-1:0}] [L21] COND TRUE i<5 [L22] string_A[i]=__VERIFIER_nondet_char() [L21] i++ VAL [found=0, i=2, string_A={1:0}, string_B={-1:0}] [L21] COND TRUE i<5 [L22] string_A[i]=__VERIFIER_nondet_char() [L21] i++ VAL [found=0, i=3, string_A={1:0}, string_B={-1:0}] [L21] COND TRUE i<5 [L22] string_A[i]=__VERIFIER_nondet_char() [L21] i++ VAL [found=0, i=4, string_A={1:0}, string_B={-1:0}] [L21] COND TRUE i<5 [L22] string_A[i]=__VERIFIER_nondet_char() [L21] i++ VAL [found=0, i=5, string_A={1:0}, string_B={-1:0}] [L21] COND FALSE !(i<5) [L23] EXPR string_A[5 -1] VAL [found=0, i=5, string_A={1:0}, string_A[5 -1]=0, string_B={-1:0}] [L23] COND FALSE !(!(string_A[5 -1]=='\0')) [L25] i=0 VAL [found=0, i=0, string_A={1:0}, string_B={-1:0}] [L25] COND TRUE i<5 [L26] string_B[i]=__VERIFIER_nondet_char() [L25] i++ VAL [found=0, i=1, string_A={1:0}, string_B={-1:0}] [L25] COND TRUE i<5 [L26] string_B[i]=__VERIFIER_nondet_char() [L25] i++ VAL [found=0, i=2, string_A={1:0}, string_B={-1:0}] [L25] COND TRUE i<5 [L26] string_B[i]=__VERIFIER_nondet_char() [L25] i++ VAL [found=0, i=3, string_A={1:0}, string_B={-1:0}] [L25] COND TRUE i<5 [L26] string_B[i]=__VERIFIER_nondet_char() [L25] i++ VAL [found=0, i=4, string_A={1:0}, string_B={-1:0}] [L25] COND TRUE i<5 [L26] string_B[i]=__VERIFIER_nondet_char() [L25] i++ VAL [found=0, i=5, string_A={1:0}, string_B={-1:0}] [L25] COND FALSE !(i<5) [L27] EXPR string_B[5 -1] VAL [found=0, i=5, string_A={1:0}, string_B={-1:0}, string_B[5 -1]=0] [L27] COND FALSE !(!(string_B[5 -1]=='\0')) [L29] nc_A = 0 VAL [found=0, i=5, nc_A=0, string_A={1:0}, string_B={-1:0}] [L30] EXPR string_A[nc_A] VAL [found=0, i=5, nc_A=0, string_A={1:0}, string_A[nc_A]=0, string_B={-1:0}] [L30] COND FALSE !(string_A[nc_A]!='\0') [L33] nc_B = 0 VAL [found=0, i=5, nc_A=0, nc_B=0, string_A={1:0}, string_B={-1:0}] [L34] EXPR string_B[nc_B] VAL [found=0, i=5, nc_A=0, nc_B=0, string_A={1:0}, string_B={-1:0}, string_B[nc_B]=0] [L34] COND FALSE !(string_B[nc_B]!='\0') [L37] COND FALSE !(!(nc_B >= nc_A)) [L40] EXPR j=0 [L40] i=j=0 VAL [found=0, i=0, j=0, nc_A=0, nc_B=0, string_A={1:0}, string_B={-1:0}] [L41] COND FALSE !((inc_B-1)<