java -ea -Xmx8000000000 -jar /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data -tc ../../../trunk/examples/toolchains/AutomizerCInline_WitnessPrinter.xml -s ../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Bitvector.epf -i ../../../trunk/examples/svcomp/array-examples/relax_true-unreach-call.i -------------------------------------------------------------------------------- This is Ultimate 0.1.23-61f4311 [2018-11-23 09:58:56,360 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-23 09:58:56,363 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-23 09:58:56,381 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-23 09:58:56,382 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-23 09:58:56,383 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-23 09:58:56,384 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-23 09:58:56,386 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-23 09:58:56,388 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-23 09:58:56,388 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-23 09:58:56,389 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-23 09:58:56,390 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-23 09:58:56,391 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-23 09:58:56,392 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-23 09:58:56,393 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-23 09:58:56,394 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-23 09:58:56,394 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-23 09:58:56,396 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-23 09:58:56,398 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-23 09:58:56,400 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-23 09:58:56,401 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-23 09:58:56,402 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-23 09:58:56,405 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-23 09:58:56,405 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-23 09:58:56,405 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-23 09:58:56,406 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-23 09:58:56,407 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-23 09:58:56,408 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-23 09:58:56,409 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-23 09:58:56,410 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-23 09:58:56,410 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-23 09:58:56,411 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-23 09:58:56,411 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-23 09:58:56,411 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-23 09:58:56,412 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-23 09:58:56,413 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-23 09:58:56,413 INFO L98 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Bitvector.epf [2018-11-23 09:58:56,428 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-23 09:58:56,428 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-23 09:58:56,429 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-23 09:58:56,429 INFO L133 SettingsManager]: * ... calls to implemented procedures=ONLY_FOR_CONCURRENT_PROGRAMS [2018-11-23 09:58:56,430 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-23 09:58:56,430 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-23 09:58:56,430 INFO L133 SettingsManager]: * Use SBE=true [2018-11-23 09:58:56,430 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-23 09:58:56,431 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-23 09:58:56,431 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-23 09:58:56,431 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-23 09:58:56,431 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-23 09:58:56,431 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-23 09:58:56,432 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-23 09:58:56,432 INFO L133 SettingsManager]: * Use bitvectors instead of ints=true [2018-11-23 09:58:56,432 INFO L133 SettingsManager]: * Memory model=HoenickeLindenmann_4ByteResolution [2018-11-23 09:58:56,432 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-23 09:58:56,432 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-23 09:58:56,433 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-23 09:58:56,433 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-23 09:58:56,433 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-23 09:58:56,433 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-23 09:58:56,433 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-23 09:58:56,434 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-11-23 09:58:56,434 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 09:58:56,434 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-23 09:58:56,434 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-23 09:58:56,434 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-23 09:58:56,435 INFO L133 SettingsManager]: * Trace refinement strategy=WOLF [2018-11-23 09:58:56,435 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-23 09:58:56,435 INFO L133 SettingsManager]: * Command for external solver=cvc4nyu --tear-down-incremental --rewrite-divk --print-success --lang smt [2018-11-23 09:58:56,435 INFO L133 SettingsManager]: * Logic for external solver=AUFBV [2018-11-23 09:58:56,435 INFO L133 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2018-11-23 09:58:56,496 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-23 09:58:56,510 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-23 09:58:56,515 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-23 09:58:56,516 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-23 09:58:56,517 INFO L276 PluginConnector]: CDTParser initialized [2018-11-23 09:58:56,517 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/array-examples/relax_true-unreach-call.i [2018-11-23 09:58:56,576 INFO L221 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/70dfd235b/f736cb1642454bc58a5eb9558e742297/FLAG845478bf9 [2018-11-23 09:58:57,055 INFO L307 CDTParser]: Found 1 translation units. [2018-11-23 09:58:57,056 INFO L161 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/array-examples/relax_true-unreach-call.i [2018-11-23 09:58:57,072 INFO L355 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/70dfd235b/f736cb1642454bc58a5eb9558e742297/FLAG845478bf9 [2018-11-23 09:58:57,371 INFO L363 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/70dfd235b/f736cb1642454bc58a5eb9558e742297 [2018-11-23 09:58:57,382 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-23 09:58:57,384 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-23 09:58:57,385 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-23 09:58:57,385 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-23 09:58:57,389 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-23 09:58:57,391 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 09:58:57" (1/1) ... [2018-11-23 09:58:57,394 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@78b6fda1 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 09:58:57, skipping insertion in model container [2018-11-23 09:58:57,394 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 09:58:57" (1/1) ... [2018-11-23 09:58:57,405 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-23 09:58:57,478 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-23 09:58:57,941 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 09:58:57,959 INFO L191 MainTranslator]: Completed pre-run [2018-11-23 09:58:58,137 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 09:58:58,202 INFO L195 MainTranslator]: Completed translation [2018-11-23 09:58:58,202 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 09:58:58 WrapperNode [2018-11-23 09:58:58,202 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-23 09:58:58,203 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-23 09:58:58,203 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-23 09:58:58,204 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-23 09:58:58,213 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 09:58:58" (1/1) ... [2018-11-23 09:58:58,247 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 09:58:58" (1/1) ... [2018-11-23 09:58:58,259 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-23 09:58:58,260 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-23 09:58:58,260 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-23 09:58:58,260 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-23 09:58:58,268 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 09:58:58" (1/1) ... [2018-11-23 09:58:58,268 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 09:58:58" (1/1) ... [2018-11-23 09:58:58,273 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 09:58:58" (1/1) ... [2018-11-23 09:58:58,274 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 09:58:58" (1/1) ... [2018-11-23 09:58:58,296 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 09:58:58" (1/1) ... [2018-11-23 09:58:58,306 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 09:58:58" (1/1) ... [2018-11-23 09:58:58,309 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 09:58:58" (1/1) ... [2018-11-23 09:58:58,315 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-23 09:58:58,316 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-23 09:58:58,316 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-23 09:58:58,316 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-23 09:58:58,317 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 09:58:58" (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 [2018-11-23 09:58:58,369 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-23 09:58:58,370 INFO L130 BoogieDeclarations]: Found specification of procedure read~intINTTYPE4 [2018-11-23 09:58:58,370 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2018-11-23 09:58:58,370 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2018-11-23 09:58:58,370 INFO L130 BoogieDeclarations]: Found specification of procedure is_relaxed_prefix [2018-11-23 09:58:58,370 INFO L138 BoogieDeclarations]: Found implementation of procedure is_relaxed_prefix [2018-11-23 09:58:58,370 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-11-23 09:58:58,371 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-11-23 09:58:58,371 INFO L130 BoogieDeclarations]: Found specification of procedure main [2018-11-23 09:58:58,372 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2018-11-23 09:58:58,372 INFO L130 BoogieDeclarations]: Found specification of procedure write~intINTTYPE4 [2018-11-23 09:58:58,372 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-23 09:58:58,372 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-23 09:58:59,474 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-23 09:58:59,474 INFO L280 CfgBuilder]: Removed 5 assue(true) statements. [2018-11-23 09:58:59,475 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 09:58:59 BoogieIcfgContainer [2018-11-23 09:58:59,475 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-23 09:58:59,476 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-11-23 09:58:59,476 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-11-23 09:58:59,479 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-11-23 09:58:59,481 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 23.11 09:58:57" (1/3) ... [2018-11-23 09:58:59,482 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@5d22d586 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 09:58:59, skipping insertion in model container [2018-11-23 09:58:59,482 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 09:58:58" (2/3) ... [2018-11-23 09:58:59,483 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@5d22d586 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 09:58:59, skipping insertion in model container [2018-11-23 09:58:59,483 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 09:58:59" (3/3) ... [2018-11-23 09:58:59,485 INFO L112 eAbstractionObserver]: Analyzing ICFG relax_true-unreach-call.i [2018-11-23 09:58:59,495 INFO L156 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-11-23 09:58:59,505 INFO L168 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2018-11-23 09:58:59,523 INFO L257 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2018-11-23 09:58:59,555 INFO L133 ementStrategyFactory]: Using default assertion order modulation [2018-11-23 09:58:59,555 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-11-23 09:58:59,556 INFO L383 AbstractCegarLoop]: Hoare is true [2018-11-23 09:58:59,556 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-11-23 09:58:59,556 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-23 09:58:59,556 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-23 09:58:59,556 INFO L387 AbstractCegarLoop]: Difference is false [2018-11-23 09:58:59,556 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-23 09:58:59,557 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-11-23 09:58:59,581 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states. [2018-11-23 09:58:59,589 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 20 [2018-11-23 09:58:59,591 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 09:58:59,592 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 09:58:59,594 INFO L423 AbstractCegarLoop]: === Iteration 1 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 09:58:59,601 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 09:58:59,601 INFO L82 PathProgramCache]: Analyzing trace with hash -1802974904, now seen corresponding path program 1 times [2018-11-23 09:58:59,606 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 09:58:59,606 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4nyu Starting monitored process 2 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 2 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk [2018-11-23 09:58:59,628 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 09:58:59,675 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 09:58:59,704 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 09:58:59,708 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 09:58:59,776 INFO L256 TraceCheckUtils]: 0: Hoare triple {53#true} call ULTIMATE.init(); {53#true} is VALID [2018-11-23 09:58:59,779 INFO L273 TraceCheckUtils]: 1: Hoare triple {53#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {53#true} is VALID [2018-11-23 09:58:59,780 INFO L273 TraceCheckUtils]: 2: Hoare triple {53#true} assume true; {53#true} is VALID [2018-11-23 09:58:59,780 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {53#true} {53#true} #156#return; {53#true} is VALID [2018-11-23 09:58:59,781 INFO L256 TraceCheckUtils]: 4: Hoare triple {53#true} call #t~ret28 := main(); {53#true} is VALID [2018-11-23 09:58:59,781 INFO L273 TraceCheckUtils]: 5: Hoare triple {53#true} ~pat_len~0 := #t~nondet6;havoc #t~nondet6;~a_len~0 := #t~nondet7;havoc #t~nondet7;call #t~malloc8.base, #t~malloc8.offset := #Ultimate.alloc(~bvmul32(4bv32, ~pat_len~0));~pat~0.base, ~pat~0.offset := #t~malloc8.base, #t~malloc8.offset;call #t~malloc9.base, #t~malloc9.offset := #Ultimate.alloc(~bvmul32(4bv32, ~a_len~0));~a~0.base, ~a~0.offset := #t~malloc9.base, #t~malloc9.offset;~j~0 := 0bv32; {53#true} is VALID [2018-11-23 09:58:59,782 INFO L273 TraceCheckUtils]: 6: Hoare triple {53#true} assume !true; {54#false} is VALID [2018-11-23 09:58:59,782 INFO L273 TraceCheckUtils]: 7: Hoare triple {54#false} ~j~1 := 0bv32; {54#false} is VALID [2018-11-23 09:58:59,782 INFO L273 TraceCheckUtils]: 8: Hoare triple {54#false} assume !true; {54#false} is VALID [2018-11-23 09:58:59,782 INFO L256 TraceCheckUtils]: 9: Hoare triple {54#false} call #t~ret14 := is_relaxed_prefix(~pat~0.base, ~pat~0.offset, ~pat_len~0, ~a~0.base, ~a~0.offset, ~a_len~0); {54#false} is VALID [2018-11-23 09:58:59,783 INFO L273 TraceCheckUtils]: 10: Hoare triple {54#false} ~pat.base, ~pat.offset := #in~pat.base, #in~pat.offset;~pat_length := #in~pat_length;~a.base, ~a.offset := #in~a.base, #in~a.offset;~a_length := #in~a_length; {54#false} is VALID [2018-11-23 09:58:59,783 INFO L273 TraceCheckUtils]: 11: Hoare triple {54#false} assume ~bvugt32(~pat_length, ~bvadd32(1bv32, ~a_length));#res := 0bv8; {54#false} is VALID [2018-11-23 09:58:59,783 INFO L273 TraceCheckUtils]: 12: Hoare triple {54#false} assume true; {54#false} is VALID [2018-11-23 09:58:59,784 INFO L268 TraceCheckUtils]: 13: Hoare quadruple {54#false} {54#false} #160#return; {54#false} is VALID [2018-11-23 09:58:59,784 INFO L273 TraceCheckUtils]: 14: Hoare triple {54#false} assume 0bv8 != #t~ret14;havoc #t~ret14; {54#false} is VALID [2018-11-23 09:58:59,785 INFO L256 TraceCheckUtils]: 15: Hoare triple {54#false} call __VERIFIER_assert((if ~bvule32(~pat_len~0, ~bvadd32(1bv32, ~a_len~0)) then 1bv32 else 0bv32)); {54#false} is VALID [2018-11-23 09:58:59,786 INFO L273 TraceCheckUtils]: 16: Hoare triple {54#false} ~cond := #in~cond; {54#false} is VALID [2018-11-23 09:58:59,786 INFO L273 TraceCheckUtils]: 17: Hoare triple {54#false} assume 0bv32 == ~cond; {54#false} is VALID [2018-11-23 09:58:59,787 INFO L273 TraceCheckUtils]: 18: Hoare triple {54#false} assume !false; {54#false} is VALID [2018-11-23 09:58:59,790 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 09:58:59,791 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 09:58:59,804 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 09:58:59,805 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2018-11-23 09:58:59,811 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 19 [2018-11-23 09:58:59,815 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 09:58:59,819 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states. [2018-11-23 09:58:59,871 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 19 edges. 19 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 09:58:59,872 INFO L459 AbstractCegarLoop]: Interpolant automaton has 2 states [2018-11-23 09:58:59,882 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2018-11-23 09:58:59,882 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-23 09:58:59,885 INFO L87 Difference]: Start difference. First operand 50 states. Second operand 2 states. [2018-11-23 09:59:00,355 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 09:59:00,355 INFO L93 Difference]: Finished difference Result 92 states and 142 transitions. [2018-11-23 09:59:00,355 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2018-11-23 09:59:00,356 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 19 [2018-11-23 09:59:00,356 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 09:59:00,357 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2018-11-23 09:59:00,372 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 142 transitions. [2018-11-23 09:59:00,372 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2018-11-23 09:59:00,381 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 142 transitions. [2018-11-23 09:59:00,381 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states and 142 transitions. [2018-11-23 09:59:01,346 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 142 edges. 142 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 09:59:01,361 INFO L225 Difference]: With dead ends: 92 [2018-11-23 09:59:01,361 INFO L226 Difference]: Without dead ends: 45 [2018-11-23 09:59:01,365 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 18 GetRequests, 18 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-23 09:59:01,382 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 45 states. [2018-11-23 09:59:01,583 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 45 to 45. [2018-11-23 09:59:01,583 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 09:59:01,584 INFO L82 GeneralOperation]: Start isEquivalent. First operand 45 states. Second operand 45 states. [2018-11-23 09:59:01,584 INFO L74 IsIncluded]: Start isIncluded. First operand 45 states. Second operand 45 states. [2018-11-23 09:59:01,585 INFO L87 Difference]: Start difference. First operand 45 states. Second operand 45 states. [2018-11-23 09:59:01,592 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 09:59:01,593 INFO L93 Difference]: Finished difference Result 45 states and 61 transitions. [2018-11-23 09:59:01,593 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 61 transitions. [2018-11-23 09:59:01,594 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 09:59:01,594 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 09:59:01,594 INFO L74 IsIncluded]: Start isIncluded. First operand 45 states. Second operand 45 states. [2018-11-23 09:59:01,595 INFO L87 Difference]: Start difference. First operand 45 states. Second operand 45 states. [2018-11-23 09:59:01,600 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 09:59:01,601 INFO L93 Difference]: Finished difference Result 45 states and 61 transitions. [2018-11-23 09:59:01,601 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 61 transitions. [2018-11-23 09:59:01,602 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 09:59:01,603 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 09:59:01,603 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 09:59:01,603 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 09:59:01,604 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 45 states. [2018-11-23 09:59:01,608 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 45 states to 45 states and 61 transitions. [2018-11-23 09:59:01,610 INFO L78 Accepts]: Start accepts. Automaton has 45 states and 61 transitions. Word has length 19 [2018-11-23 09:59:01,610 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 09:59:01,610 INFO L480 AbstractCegarLoop]: Abstraction has 45 states and 61 transitions. [2018-11-23 09:59:01,611 INFO L481 AbstractCegarLoop]: Interpolant automaton has 2 states. [2018-11-23 09:59:01,611 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 61 transitions. [2018-11-23 09:59:01,612 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 20 [2018-11-23 09:59:01,612 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 09:59:01,612 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 09:59:01,613 INFO L423 AbstractCegarLoop]: === Iteration 2 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 09:59:01,613 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 09:59:01,613 INFO L82 PathProgramCache]: Analyzing trace with hash -2145750596, now seen corresponding path program 1 times [2018-11-23 09:59:01,614 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 09:59:01,614 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4nyu Starting monitored process 3 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 3 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk [2018-11-23 09:59:01,641 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 09:59:01,668 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 09:59:01,691 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 09:59:01,694 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 09:59:01,780 INFO L256 TraceCheckUtils]: 0: Hoare triple {378#true} call ULTIMATE.init(); {378#true} is VALID [2018-11-23 09:59:01,780 INFO L273 TraceCheckUtils]: 1: Hoare triple {378#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {378#true} is VALID [2018-11-23 09:59:01,781 INFO L273 TraceCheckUtils]: 2: Hoare triple {378#true} assume true; {378#true} is VALID [2018-11-23 09:59:01,781 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {378#true} {378#true} #156#return; {378#true} is VALID [2018-11-23 09:59:01,782 INFO L256 TraceCheckUtils]: 4: Hoare triple {378#true} call #t~ret28 := main(); {378#true} is VALID [2018-11-23 09:59:01,782 INFO L273 TraceCheckUtils]: 5: Hoare triple {378#true} ~pat_len~0 := #t~nondet6;havoc #t~nondet6;~a_len~0 := #t~nondet7;havoc #t~nondet7;call #t~malloc8.base, #t~malloc8.offset := #Ultimate.alloc(~bvmul32(4bv32, ~pat_len~0));~pat~0.base, ~pat~0.offset := #t~malloc8.base, #t~malloc8.offset;call #t~malloc9.base, #t~malloc9.offset := #Ultimate.alloc(~bvmul32(4bv32, ~a_len~0));~a~0.base, ~a~0.offset := #t~malloc9.base, #t~malloc9.offset;~j~0 := 0bv32; {378#true} is VALID [2018-11-23 09:59:01,782 INFO L273 TraceCheckUtils]: 6: Hoare triple {378#true} assume !~bvult32(~j~0, ~pat_len~0); {378#true} is VALID [2018-11-23 09:59:01,783 INFO L273 TraceCheckUtils]: 7: Hoare triple {378#true} ~j~1 := 0bv32; {378#true} is VALID [2018-11-23 09:59:01,783 INFO L273 TraceCheckUtils]: 8: Hoare triple {378#true} assume !~bvult32(~j~1, ~a_len~0); {378#true} is VALID [2018-11-23 09:59:01,783 INFO L256 TraceCheckUtils]: 9: Hoare triple {378#true} call #t~ret14 := is_relaxed_prefix(~pat~0.base, ~pat~0.offset, ~pat_len~0, ~a~0.base, ~a~0.offset, ~a_len~0); {378#true} is VALID [2018-11-23 09:59:01,784 INFO L273 TraceCheckUtils]: 10: Hoare triple {378#true} ~pat.base, ~pat.offset := #in~pat.base, #in~pat.offset;~pat_length := #in~pat_length;~a.base, ~a.offset := #in~a.base, #in~a.offset;~a_length := #in~a_length; {378#true} is VALID [2018-11-23 09:59:01,794 INFO L273 TraceCheckUtils]: 11: Hoare triple {378#true} assume ~bvugt32(~pat_length, ~bvadd32(1bv32, ~a_length));#res := 0bv8; {416#(= |is_relaxed_prefix_#res| (_ bv0 8))} is VALID [2018-11-23 09:59:01,796 INFO L273 TraceCheckUtils]: 12: Hoare triple {416#(= |is_relaxed_prefix_#res| (_ bv0 8))} assume true; {416#(= |is_relaxed_prefix_#res| (_ bv0 8))} is VALID [2018-11-23 09:59:01,798 INFO L268 TraceCheckUtils]: 13: Hoare quadruple {416#(= |is_relaxed_prefix_#res| (_ bv0 8))} {378#true} #160#return; {423#(= (_ bv0 8) |main_#t~ret14|)} is VALID [2018-11-23 09:59:01,815 INFO L273 TraceCheckUtils]: 14: Hoare triple {423#(= (_ bv0 8) |main_#t~ret14|)} assume 0bv8 != #t~ret14;havoc #t~ret14; {379#false} is VALID [2018-11-23 09:59:01,815 INFO L256 TraceCheckUtils]: 15: Hoare triple {379#false} call __VERIFIER_assert((if ~bvule32(~pat_len~0, ~bvadd32(1bv32, ~a_len~0)) then 1bv32 else 0bv32)); {379#false} is VALID [2018-11-23 09:59:01,816 INFO L273 TraceCheckUtils]: 16: Hoare triple {379#false} ~cond := #in~cond; {379#false} is VALID [2018-11-23 09:59:01,816 INFO L273 TraceCheckUtils]: 17: Hoare triple {379#false} assume 0bv32 == ~cond; {379#false} is VALID [2018-11-23 09:59:01,816 INFO L273 TraceCheckUtils]: 18: Hoare triple {379#false} assume !false; {379#false} is VALID [2018-11-23 09:59:01,819 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 09:59:01,819 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 09:59:01,821 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 09:59:01,821 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2018-11-23 09:59:01,823 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 19 [2018-11-23 09:59:01,823 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 09:59:01,824 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2018-11-23 09:59:01,880 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 19 edges. 19 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 09:59:01,880 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2018-11-23 09:59:01,881 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2018-11-23 09:59:01,881 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2018-11-23 09:59:01,881 INFO L87 Difference]: Start difference. First operand 45 states and 61 transitions. Second operand 4 states. [2018-11-23 09:59:02,612 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 09:59:02,612 INFO L93 Difference]: Finished difference Result 65 states and 87 transitions. [2018-11-23 09:59:02,613 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2018-11-23 09:59:02,613 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 19 [2018-11-23 09:59:02,613 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 09:59:02,613 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-23 09:59:02,617 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 87 transitions. [2018-11-23 09:59:02,617 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-23 09:59:02,621 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 87 transitions. [2018-11-23 09:59:02,621 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 87 transitions. [2018-11-23 09:59:02,794 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 87 edges. 87 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 09:59:02,797 INFO L225 Difference]: With dead ends: 65 [2018-11-23 09:59:02,797 INFO L226 Difference]: Without dead ends: 48 [2018-11-23 09:59:02,798 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 18 GetRequests, 16 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2018-11-23 09:59:02,799 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 48 states. [2018-11-23 09:59:02,849 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 48 to 48. [2018-11-23 09:59:02,849 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 09:59:02,849 INFO L82 GeneralOperation]: Start isEquivalent. First operand 48 states. Second operand 48 states. [2018-11-23 09:59:02,849 INFO L74 IsIncluded]: Start isIncluded. First operand 48 states. Second operand 48 states. [2018-11-23 09:59:02,850 INFO L87 Difference]: Start difference. First operand 48 states. Second operand 48 states. [2018-11-23 09:59:02,855 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 09:59:02,855 INFO L93 Difference]: Finished difference Result 48 states and 64 transitions. [2018-11-23 09:59:02,855 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 64 transitions. [2018-11-23 09:59:02,856 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 09:59:02,856 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 09:59:02,856 INFO L74 IsIncluded]: Start isIncluded. First operand 48 states. Second operand 48 states. [2018-11-23 09:59:02,857 INFO L87 Difference]: Start difference. First operand 48 states. Second operand 48 states. [2018-11-23 09:59:02,861 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 09:59:02,861 INFO L93 Difference]: Finished difference Result 48 states and 64 transitions. [2018-11-23 09:59:02,861 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 64 transitions. [2018-11-23 09:59:02,862 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 09:59:02,862 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 09:59:02,862 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 09:59:02,863 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 09:59:02,863 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 48 states. [2018-11-23 09:59:02,866 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 48 states to 48 states and 64 transitions. [2018-11-23 09:59:02,866 INFO L78 Accepts]: Start accepts. Automaton has 48 states and 64 transitions. Word has length 19 [2018-11-23 09:59:02,867 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 09:59:02,867 INFO L480 AbstractCegarLoop]: Abstraction has 48 states and 64 transitions. [2018-11-23 09:59:02,867 INFO L481 AbstractCegarLoop]: Interpolant automaton has 4 states. [2018-11-23 09:59:02,867 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 64 transitions. [2018-11-23 09:59:02,868 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 22 [2018-11-23 09:59:02,868 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 09:59:02,868 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 09:59:02,869 INFO L423 AbstractCegarLoop]: === Iteration 3 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 09:59:02,869 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 09:59:02,869 INFO L82 PathProgramCache]: Analyzing trace with hash 371150438, now seen corresponding path program 1 times [2018-11-23 09:59:02,870 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 09:59:02,870 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4nyu Starting monitored process 4 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 4 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk [2018-11-23 09:59:02,894 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 09:59:02,948 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 09:59:02,974 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 09:59:02,975 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 09:59:03,115 INFO L256 TraceCheckUtils]: 0: Hoare triple {681#true} call ULTIMATE.init(); {681#true} is VALID [2018-11-23 09:59:03,115 INFO L273 TraceCheckUtils]: 1: Hoare triple {681#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {681#true} is VALID [2018-11-23 09:59:03,115 INFO L273 TraceCheckUtils]: 2: Hoare triple {681#true} assume true; {681#true} is VALID [2018-11-23 09:59:03,116 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {681#true} {681#true} #156#return; {681#true} is VALID [2018-11-23 09:59:03,116 INFO L256 TraceCheckUtils]: 4: Hoare triple {681#true} call #t~ret28 := main(); {681#true} is VALID [2018-11-23 09:59:03,117 INFO L273 TraceCheckUtils]: 5: Hoare triple {681#true} ~pat_len~0 := #t~nondet6;havoc #t~nondet6;~a_len~0 := #t~nondet7;havoc #t~nondet7;call #t~malloc8.base, #t~malloc8.offset := #Ultimate.alloc(~bvmul32(4bv32, ~pat_len~0));~pat~0.base, ~pat~0.offset := #t~malloc8.base, #t~malloc8.offset;call #t~malloc9.base, #t~malloc9.offset := #Ultimate.alloc(~bvmul32(4bv32, ~a_len~0));~a~0.base, ~a~0.offset := #t~malloc9.base, #t~malloc9.offset;~j~0 := 0bv32; {701#(= main_~j~0 (_ bv0 32))} is VALID [2018-11-23 09:59:03,117 INFO L273 TraceCheckUtils]: 6: Hoare triple {701#(= main_~j~0 (_ bv0 32))} assume !~bvult32(~j~0, ~pat_len~0); {705#(not (bvult (_ bv0 32) main_~pat_len~0))} is VALID [2018-11-23 09:59:03,119 INFO L273 TraceCheckUtils]: 7: Hoare triple {705#(not (bvult (_ bv0 32) main_~pat_len~0))} ~j~1 := 0bv32; {705#(not (bvult (_ bv0 32) main_~pat_len~0))} is VALID [2018-11-23 09:59:03,119 INFO L273 TraceCheckUtils]: 8: Hoare triple {705#(not (bvult (_ bv0 32) main_~pat_len~0))} assume !~bvult32(~j~1, ~a_len~0); {705#(not (bvult (_ bv0 32) main_~pat_len~0))} is VALID [2018-11-23 09:59:03,119 INFO L256 TraceCheckUtils]: 9: Hoare triple {705#(not (bvult (_ bv0 32) main_~pat_len~0))} call #t~ret14 := is_relaxed_prefix(~pat~0.base, ~pat~0.offset, ~pat_len~0, ~a~0.base, ~a~0.offset, ~a_len~0); {681#true} is VALID [2018-11-23 09:59:03,120 INFO L273 TraceCheckUtils]: 10: Hoare triple {681#true} ~pat.base, ~pat.offset := #in~pat.base, #in~pat.offset;~pat_length := #in~pat_length;~a.base, ~a.offset := #in~a.base, #in~a.offset;~a_length := #in~a_length; {681#true} is VALID [2018-11-23 09:59:03,120 INFO L273 TraceCheckUtils]: 11: Hoare triple {681#true} assume !~bvugt32(~pat_length, ~bvadd32(1bv32, ~a_length));~shift~0 := 0bv32;~i~0 := 0bv32; {681#true} is VALID [2018-11-23 09:59:03,120 INFO L273 TraceCheckUtils]: 12: Hoare triple {681#true} assume !(~bvult32(~i~0, ~pat_length) && ~bvult32(~i~0, ~a_length)); {681#true} is VALID [2018-11-23 09:59:03,121 INFO L273 TraceCheckUtils]: 13: Hoare triple {681#true} assume !(~bvugt32(~pat_length, ~a_length) && 1bv32 == ~shift~0);#res := 1bv8; {681#true} is VALID [2018-11-23 09:59:03,121 INFO L273 TraceCheckUtils]: 14: Hoare triple {681#true} assume true; {681#true} is VALID [2018-11-23 09:59:03,125 INFO L268 TraceCheckUtils]: 15: Hoare quadruple {681#true} {705#(not (bvult (_ bv0 32) main_~pat_len~0))} #160#return; {705#(not (bvult (_ bv0 32) main_~pat_len~0))} is VALID [2018-11-23 09:59:03,125 INFO L273 TraceCheckUtils]: 16: Hoare triple {705#(not (bvult (_ bv0 32) main_~pat_len~0))} assume 0bv8 != #t~ret14;havoc #t~ret14; {705#(not (bvult (_ bv0 32) main_~pat_len~0))} is VALID [2018-11-23 09:59:03,126 INFO L256 TraceCheckUtils]: 17: Hoare triple {705#(not (bvult (_ bv0 32) main_~pat_len~0))} call __VERIFIER_assert((if ~bvule32(~pat_len~0, ~bvadd32(1bv32, ~a_len~0)) then 1bv32 else 0bv32)); {739#(= (bvadd |__VERIFIER_assert_#in~cond| (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 09:59:03,128 INFO L273 TraceCheckUtils]: 18: Hoare triple {739#(= (bvadd |__VERIFIER_assert_#in~cond| (_ bv4294967295 32)) (_ bv0 32))} ~cond := #in~cond; {743#(= (bvadd __VERIFIER_assert_~cond (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 09:59:03,128 INFO L273 TraceCheckUtils]: 19: Hoare triple {743#(= (bvadd __VERIFIER_assert_~cond (_ bv4294967295 32)) (_ bv0 32))} assume 0bv32 == ~cond; {682#false} is VALID [2018-11-23 09:59:03,129 INFO L273 TraceCheckUtils]: 20: Hoare triple {682#false} assume !false; {682#false} is VALID [2018-11-23 09:59:03,131 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 09:59:03,132 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 09:59:03,136 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 09:59:03,136 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2018-11-23 09:59:03,137 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 21 [2018-11-23 09:59:03,137 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 09:59:03,137 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2018-11-23 09:59:03,245 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 21 edges. 21 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 09:59:03,245 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2018-11-23 09:59:03,245 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2018-11-23 09:59:03,245 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2018-11-23 09:59:03,246 INFO L87 Difference]: Start difference. First operand 48 states and 64 transitions. Second operand 6 states. [2018-11-23 09:59:04,308 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 09:59:04,308 INFO L93 Difference]: Finished difference Result 88 states and 119 transitions. [2018-11-23 09:59:04,308 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-11-23 09:59:04,309 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 21 [2018-11-23 09:59:04,309 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 09:59:04,309 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-11-23 09:59:04,313 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 114 transitions. [2018-11-23 09:59:04,313 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-11-23 09:59:04,317 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 114 transitions. [2018-11-23 09:59:04,318 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 114 transitions. [2018-11-23 09:59:04,606 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 114 edges. 114 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 09:59:04,610 INFO L225 Difference]: With dead ends: 88 [2018-11-23 09:59:04,610 INFO L226 Difference]: Without dead ends: 60 [2018-11-23 09:59:04,611 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 22 GetRequests, 16 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=17, Invalid=39, Unknown=0, NotChecked=0, Total=56 [2018-11-23 09:59:04,612 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 60 states. [2018-11-23 09:59:04,664 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 60 to 57. [2018-11-23 09:59:04,664 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 09:59:04,664 INFO L82 GeneralOperation]: Start isEquivalent. First operand 60 states. Second operand 57 states. [2018-11-23 09:59:04,664 INFO L74 IsIncluded]: Start isIncluded. First operand 60 states. Second operand 57 states. [2018-11-23 09:59:04,665 INFO L87 Difference]: Start difference. First operand 60 states. Second operand 57 states. [2018-11-23 09:59:04,668 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 09:59:04,669 INFO L93 Difference]: Finished difference Result 60 states and 80 transitions. [2018-11-23 09:59:04,669 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 80 transitions. [2018-11-23 09:59:04,670 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 09:59:04,670 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 09:59:04,670 INFO L74 IsIncluded]: Start isIncluded. First operand 57 states. Second operand 60 states. [2018-11-23 09:59:04,671 INFO L87 Difference]: Start difference. First operand 57 states. Second operand 60 states. [2018-11-23 09:59:04,675 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 09:59:04,675 INFO L93 Difference]: Finished difference Result 60 states and 80 transitions. [2018-11-23 09:59:04,675 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 80 transitions. [2018-11-23 09:59:04,676 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 09:59:04,676 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 09:59:04,677 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 09:59:04,677 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 09:59:04,677 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 57 states. [2018-11-23 09:59:04,681 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 57 states to 57 states and 77 transitions. [2018-11-23 09:59:04,681 INFO L78 Accepts]: Start accepts. Automaton has 57 states and 77 transitions. Word has length 21 [2018-11-23 09:59:04,681 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 09:59:04,681 INFO L480 AbstractCegarLoop]: Abstraction has 57 states and 77 transitions. [2018-11-23 09:59:04,681 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2018-11-23 09:59:04,682 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 77 transitions. [2018-11-23 09:59:04,683 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2018-11-23 09:59:04,683 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 09:59:04,683 INFO L402 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] [2018-11-23 09:59:04,683 INFO L423 AbstractCegarLoop]: === Iteration 4 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 09:59:04,683 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 09:59:04,684 INFO L82 PathProgramCache]: Analyzing trace with hash 302236443, now seen corresponding path program 1 times [2018-11-23 09:59:04,684 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 09:59:04,684 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4nyu Starting monitored process 5 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 5 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk [2018-11-23 09:59:04,703 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 09:59:04,728 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 09:59:04,743 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 09:59:04,744 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 09:59:04,866 INFO L256 TraceCheckUtils]: 0: Hoare triple {1065#true} call ULTIMATE.init(); {1065#true} is VALID [2018-11-23 09:59:04,867 INFO L273 TraceCheckUtils]: 1: Hoare triple {1065#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {1065#true} is VALID [2018-11-23 09:59:04,867 INFO L273 TraceCheckUtils]: 2: Hoare triple {1065#true} assume true; {1065#true} is VALID [2018-11-23 09:59:04,868 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1065#true} {1065#true} #156#return; {1065#true} is VALID [2018-11-23 09:59:04,868 INFO L256 TraceCheckUtils]: 4: Hoare triple {1065#true} call #t~ret28 := main(); {1065#true} is VALID [2018-11-23 09:59:04,870 INFO L273 TraceCheckUtils]: 5: Hoare triple {1065#true} ~pat_len~0 := #t~nondet6;havoc #t~nondet6;~a_len~0 := #t~nondet7;havoc #t~nondet7;call #t~malloc8.base, #t~malloc8.offset := #Ultimate.alloc(~bvmul32(4bv32, ~pat_len~0));~pat~0.base, ~pat~0.offset := #t~malloc8.base, #t~malloc8.offset;call #t~malloc9.base, #t~malloc9.offset := #Ultimate.alloc(~bvmul32(4bv32, ~a_len~0));~a~0.base, ~a~0.offset := #t~malloc9.base, #t~malloc9.offset;~j~0 := 0bv32; {1085#(= main_~j~0 (_ bv0 32))} is VALID [2018-11-23 09:59:04,871 INFO L273 TraceCheckUtils]: 6: Hoare triple {1085#(= main_~j~0 (_ bv0 32))} assume !~bvult32(~j~0, ~pat_len~0); {1089#(not (bvult (_ bv0 32) main_~pat_len~0))} is VALID [2018-11-23 09:59:04,872 INFO L273 TraceCheckUtils]: 7: Hoare triple {1089#(not (bvult (_ bv0 32) main_~pat_len~0))} ~j~1 := 0bv32; {1089#(not (bvult (_ bv0 32) main_~pat_len~0))} is VALID [2018-11-23 09:59:04,872 INFO L273 TraceCheckUtils]: 8: Hoare triple {1089#(not (bvult (_ bv0 32) main_~pat_len~0))} assume !~bvult32(~j~1, ~a_len~0); {1089#(not (bvult (_ bv0 32) main_~pat_len~0))} is VALID [2018-11-23 09:59:04,873 INFO L256 TraceCheckUtils]: 9: Hoare triple {1089#(not (bvult (_ bv0 32) main_~pat_len~0))} call #t~ret14 := is_relaxed_prefix(~pat~0.base, ~pat~0.offset, ~pat_len~0, ~a~0.base, ~a~0.offset, ~a_len~0); {1065#true} is VALID [2018-11-23 09:59:04,873 INFO L273 TraceCheckUtils]: 10: Hoare triple {1065#true} ~pat.base, ~pat.offset := #in~pat.base, #in~pat.offset;~pat_length := #in~pat_length;~a.base, ~a.offset := #in~a.base, #in~a.offset;~a_length := #in~a_length; {1102#(= |is_relaxed_prefix_#in~pat_length| is_relaxed_prefix_~pat_length)} is VALID [2018-11-23 09:59:04,875 INFO L273 TraceCheckUtils]: 11: Hoare triple {1102#(= |is_relaxed_prefix_#in~pat_length| is_relaxed_prefix_~pat_length)} assume ~bvugt32(~pat_length, ~bvadd32(1bv32, ~a_length));#res := 0bv8; {1106#(exists ((is_relaxed_prefix_~a_length (_ BitVec 32))) (bvugt |is_relaxed_prefix_#in~pat_length| (bvadd is_relaxed_prefix_~a_length (_ bv1 32))))} is VALID [2018-11-23 09:59:04,875 INFO L273 TraceCheckUtils]: 12: Hoare triple {1106#(exists ((is_relaxed_prefix_~a_length (_ BitVec 32))) (bvugt |is_relaxed_prefix_#in~pat_length| (bvadd is_relaxed_prefix_~a_length (_ bv1 32))))} assume true; {1106#(exists ((is_relaxed_prefix_~a_length (_ BitVec 32))) (bvugt |is_relaxed_prefix_#in~pat_length| (bvadd is_relaxed_prefix_~a_length (_ bv1 32))))} is VALID [2018-11-23 09:59:04,877 INFO L268 TraceCheckUtils]: 13: Hoare quadruple {1106#(exists ((is_relaxed_prefix_~a_length (_ BitVec 32))) (bvugt |is_relaxed_prefix_#in~pat_length| (bvadd is_relaxed_prefix_~a_length (_ bv1 32))))} {1089#(not (bvult (_ bv0 32) main_~pat_len~0))} #160#return; {1066#false} is VALID [2018-11-23 09:59:04,877 INFO L273 TraceCheckUtils]: 14: Hoare triple {1066#false} assume !(0bv8 != #t~ret14);havoc #t~ret14; {1066#false} is VALID [2018-11-23 09:59:04,878 INFO L273 TraceCheckUtils]: 15: Hoare triple {1066#false} assume ~bvule32(~pat_len~0, ~bvadd32(1bv32, ~a_len~0));~differences~0 := 0bv32;~i~2 := 0bv32; {1066#false} is VALID [2018-11-23 09:59:04,878 INFO L273 TraceCheckUtils]: 16: Hoare triple {1066#false} assume !(~bvult32(~i~2, ~pat_len~0) && ~bvult32(~i~2, ~a_len~0)); {1066#false} is VALID [2018-11-23 09:59:04,878 INFO L273 TraceCheckUtils]: 17: Hoare triple {1066#false} assume !~bvugt32(~pat_len~0, ~a_len~0); {1066#false} is VALID [2018-11-23 09:59:04,878 INFO L256 TraceCheckUtils]: 18: Hoare triple {1066#false} call __VERIFIER_assert((if ~bvugt32(~differences~0, 1bv32) then 1bv32 else 0bv32)); {1066#false} is VALID [2018-11-23 09:59:04,879 INFO L273 TraceCheckUtils]: 19: Hoare triple {1066#false} ~cond := #in~cond; {1066#false} is VALID [2018-11-23 09:59:04,879 INFO L273 TraceCheckUtils]: 20: Hoare triple {1066#false} assume 0bv32 == ~cond; {1066#false} is VALID [2018-11-23 09:59:04,879 INFO L273 TraceCheckUtils]: 21: Hoare triple {1066#false} assume !false; {1066#false} is VALID [2018-11-23 09:59:04,880 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 09:59:04,881 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 09:59:04,882 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 09:59:04,882 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2018-11-23 09:59:04,883 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 22 [2018-11-23 09:59:04,883 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 09:59:04,883 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2018-11-23 09:59:04,929 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 22 edges. 22 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 09:59:04,929 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2018-11-23 09:59:04,929 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2018-11-23 09:59:04,929 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2018-11-23 09:59:04,930 INFO L87 Difference]: Start difference. First operand 57 states and 77 transitions. Second operand 6 states. [2018-11-23 09:59:05,946 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 09:59:05,947 INFO L93 Difference]: Finished difference Result 74 states and 96 transitions. [2018-11-23 09:59:05,947 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-11-23 09:59:05,947 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 22 [2018-11-23 09:59:05,947 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 09:59:05,947 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-11-23 09:59:05,950 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 92 transitions. [2018-11-23 09:59:05,950 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-11-23 09:59:05,953 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 92 transitions. [2018-11-23 09:59:05,953 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 92 transitions. [2018-11-23 09:59:06,106 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 92 edges. 92 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 09:59:06,109 INFO L225 Difference]: With dead ends: 74 [2018-11-23 09:59:06,110 INFO L226 Difference]: Without dead ends: 63 [2018-11-23 09:59:06,110 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 23 GetRequests, 17 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=17, Invalid=39, Unknown=0, NotChecked=0, Total=56 [2018-11-23 09:59:06,111 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 63 states. [2018-11-23 09:59:06,185 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 63 to 61. [2018-11-23 09:59:06,185 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 09:59:06,185 INFO L82 GeneralOperation]: Start isEquivalent. First operand 63 states. Second operand 61 states. [2018-11-23 09:59:06,186 INFO L74 IsIncluded]: Start isIncluded. First operand 63 states. Second operand 61 states. [2018-11-23 09:59:06,186 INFO L87 Difference]: Start difference. First operand 63 states. Second operand 61 states. [2018-11-23 09:59:06,189 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 09:59:06,190 INFO L93 Difference]: Finished difference Result 63 states and 84 transitions. [2018-11-23 09:59:06,190 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 84 transitions. [2018-11-23 09:59:06,191 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 09:59:06,191 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 09:59:06,191 INFO L74 IsIncluded]: Start isIncluded. First operand 61 states. Second operand 63 states. [2018-11-23 09:59:06,192 INFO L87 Difference]: Start difference. First operand 61 states. Second operand 63 states. [2018-11-23 09:59:06,195 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 09:59:06,196 INFO L93 Difference]: Finished difference Result 63 states and 84 transitions. [2018-11-23 09:59:06,196 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 84 transitions. [2018-11-23 09:59:06,197 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 09:59:06,197 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 09:59:06,197 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 09:59:06,197 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 09:59:06,197 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 61 states. [2018-11-23 09:59:06,200 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 61 states to 61 states and 82 transitions. [2018-11-23 09:59:06,201 INFO L78 Accepts]: Start accepts. Automaton has 61 states and 82 transitions. Word has length 22 [2018-11-23 09:59:06,201 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 09:59:06,201 INFO L480 AbstractCegarLoop]: Abstraction has 61 states and 82 transitions. [2018-11-23 09:59:06,201 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2018-11-23 09:59:06,202 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 82 transitions. [2018-11-23 09:59:06,202 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2018-11-23 09:59:06,203 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 09:59:06,203 INFO L402 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, 1] [2018-11-23 09:59:06,203 INFO L423 AbstractCegarLoop]: === Iteration 5 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 09:59:06,203 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 09:59:06,204 INFO L82 PathProgramCache]: Analyzing trace with hash 822089444, now seen corresponding path program 1 times [2018-11-23 09:59:06,204 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 09:59:06,204 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4nyu Starting monitored process 6 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 6 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk [2018-11-23 09:59:06,225 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 09:59:06,273 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 09:59:06,288 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 09:59:06,290 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 09:59:06,484 INFO L256 TraceCheckUtils]: 0: Hoare triple {1445#true} call ULTIMATE.init(); {1445#true} is VALID [2018-11-23 09:59:06,485 INFO L273 TraceCheckUtils]: 1: Hoare triple {1445#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {1445#true} is VALID [2018-11-23 09:59:06,485 INFO L273 TraceCheckUtils]: 2: Hoare triple {1445#true} assume true; {1445#true} is VALID [2018-11-23 09:59:06,485 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1445#true} {1445#true} #156#return; {1445#true} is VALID [2018-11-23 09:59:06,486 INFO L256 TraceCheckUtils]: 4: Hoare triple {1445#true} call #t~ret28 := main(); {1445#true} is VALID [2018-11-23 09:59:06,487 INFO L273 TraceCheckUtils]: 5: Hoare triple {1445#true} ~pat_len~0 := #t~nondet6;havoc #t~nondet6;~a_len~0 := #t~nondet7;havoc #t~nondet7;call #t~malloc8.base, #t~malloc8.offset := #Ultimate.alloc(~bvmul32(4bv32, ~pat_len~0));~pat~0.base, ~pat~0.offset := #t~malloc8.base, #t~malloc8.offset;call #t~malloc9.base, #t~malloc9.offset := #Ultimate.alloc(~bvmul32(4bv32, ~a_len~0));~a~0.base, ~a~0.offset := #t~malloc9.base, #t~malloc9.offset;~j~0 := 0bv32; {1465#(= main_~j~0 (_ bv0 32))} is VALID [2018-11-23 09:59:06,488 INFO L273 TraceCheckUtils]: 6: Hoare triple {1465#(= main_~j~0 (_ bv0 32))} assume !!~bvult32(~j~0, ~pat_len~0);call write~intINTTYPE4(#t~nondet11, ~pat~0.base, ~bvadd32(~pat~0.offset, ~bvmul32(4bv32, ~j~0)), 4bv32);havoc #t~nondet11; {1465#(= main_~j~0 (_ bv0 32))} is VALID [2018-11-23 09:59:06,489 INFO L273 TraceCheckUtils]: 7: Hoare triple {1465#(= main_~j~0 (_ bv0 32))} #t~post10 := ~j~0;~j~0 := ~bvadd32(1bv32, #t~post10);havoc #t~post10; {1472#(= (bvadd main_~j~0 (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 09:59:06,490 INFO L273 TraceCheckUtils]: 8: Hoare triple {1472#(= (bvadd main_~j~0 (_ bv4294967295 32)) (_ bv0 32))} assume !~bvult32(~j~0, ~pat_len~0); {1476#(not (bvult (_ bv1 32) main_~pat_len~0))} is VALID [2018-11-23 09:59:06,490 INFO L273 TraceCheckUtils]: 9: Hoare triple {1476#(not (bvult (_ bv1 32) main_~pat_len~0))} ~j~1 := 0bv32; {1480#(and (not (bvult (_ bv1 32) main_~pat_len~0)) (= main_~j~1 (_ bv0 32)))} is VALID [2018-11-23 09:59:06,491 INFO L273 TraceCheckUtils]: 10: Hoare triple {1480#(and (not (bvult (_ bv1 32) main_~pat_len~0)) (= main_~j~1 (_ bv0 32)))} assume !~bvult32(~j~1, ~a_len~0); {1484#(and (not (bvult (_ bv1 32) main_~pat_len~0)) (not (bvult (_ bv0 32) main_~a_len~0)))} is VALID [2018-11-23 09:59:06,491 INFO L256 TraceCheckUtils]: 11: Hoare triple {1484#(and (not (bvult (_ bv1 32) main_~pat_len~0)) (not (bvult (_ bv0 32) main_~a_len~0)))} call #t~ret14 := is_relaxed_prefix(~pat~0.base, ~pat~0.offset, ~pat_len~0, ~a~0.base, ~a~0.offset, ~a_len~0); {1445#true} is VALID [2018-11-23 09:59:06,491 INFO L273 TraceCheckUtils]: 12: Hoare triple {1445#true} ~pat.base, ~pat.offset := #in~pat.base, #in~pat.offset;~pat_length := #in~pat_length;~a.base, ~a.offset := #in~a.base, #in~a.offset;~a_length := #in~a_length; {1445#true} is VALID [2018-11-23 09:59:06,492 INFO L273 TraceCheckUtils]: 13: Hoare triple {1445#true} assume !~bvugt32(~pat_length, ~bvadd32(1bv32, ~a_length));~shift~0 := 0bv32;~i~0 := 0bv32; {1445#true} is VALID [2018-11-23 09:59:06,492 INFO L273 TraceCheckUtils]: 14: Hoare triple {1445#true} assume !(~bvult32(~i~0, ~pat_length) && ~bvult32(~i~0, ~a_length)); {1445#true} is VALID [2018-11-23 09:59:06,492 INFO L273 TraceCheckUtils]: 15: Hoare triple {1445#true} assume !(~bvugt32(~pat_length, ~a_length) && 1bv32 == ~shift~0);#res := 1bv8; {1445#true} is VALID [2018-11-23 09:59:06,493 INFO L273 TraceCheckUtils]: 16: Hoare triple {1445#true} assume true; {1445#true} is VALID [2018-11-23 09:59:06,495 INFO L268 TraceCheckUtils]: 17: Hoare quadruple {1445#true} {1484#(and (not (bvult (_ bv1 32) main_~pat_len~0)) (not (bvult (_ bv0 32) main_~a_len~0)))} #160#return; {1484#(and (not (bvult (_ bv1 32) main_~pat_len~0)) (not (bvult (_ bv0 32) main_~a_len~0)))} is VALID [2018-11-23 09:59:06,496 INFO L273 TraceCheckUtils]: 18: Hoare triple {1484#(and (not (bvult (_ bv1 32) main_~pat_len~0)) (not (bvult (_ bv0 32) main_~a_len~0)))} assume 0bv8 != #t~ret14;havoc #t~ret14; {1484#(and (not (bvult (_ bv1 32) main_~pat_len~0)) (not (bvult (_ bv0 32) main_~a_len~0)))} is VALID [2018-11-23 09:59:06,501 INFO L256 TraceCheckUtils]: 19: Hoare triple {1484#(and (not (bvult (_ bv1 32) main_~pat_len~0)) (not (bvult (_ bv0 32) main_~a_len~0)))} call __VERIFIER_assert((if ~bvule32(~pat_len~0, ~bvadd32(1bv32, ~a_len~0)) then 1bv32 else 0bv32)); {1512#(= (bvadd |__VERIFIER_assert_#in~cond| (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 09:59:06,501 INFO L273 TraceCheckUtils]: 20: Hoare triple {1512#(= (bvadd |__VERIFIER_assert_#in~cond| (_ bv4294967295 32)) (_ bv0 32))} ~cond := #in~cond; {1516#(= (bvadd __VERIFIER_assert_~cond (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 09:59:06,502 INFO L273 TraceCheckUtils]: 21: Hoare triple {1516#(= (bvadd __VERIFIER_assert_~cond (_ bv4294967295 32)) (_ bv0 32))} assume 0bv32 == ~cond; {1446#false} is VALID [2018-11-23 09:59:06,502 INFO L273 TraceCheckUtils]: 22: Hoare triple {1446#false} assume !false; {1446#false} is VALID [2018-11-23 09:59:06,504 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 09:59:06,505 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-23 09:59:06,818 INFO L273 TraceCheckUtils]: 22: Hoare triple {1446#false} assume !false; {1446#false} is VALID [2018-11-23 09:59:06,819 INFO L273 TraceCheckUtils]: 21: Hoare triple {1526#(not (= (_ bv0 32) __VERIFIER_assert_~cond))} assume 0bv32 == ~cond; {1446#false} is VALID [2018-11-23 09:59:06,819 INFO L273 TraceCheckUtils]: 20: Hoare triple {1530#(not (= |__VERIFIER_assert_#in~cond| (_ bv0 32)))} ~cond := #in~cond; {1526#(not (= (_ bv0 32) __VERIFIER_assert_~cond))} is VALID [2018-11-23 09:59:06,821 INFO L256 TraceCheckUtils]: 19: Hoare triple {1534#(bvule main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32)))} call __VERIFIER_assert((if ~bvule32(~pat_len~0, ~bvadd32(1bv32, ~a_len~0)) then 1bv32 else 0bv32)); {1530#(not (= |__VERIFIER_assert_#in~cond| (_ bv0 32)))} is VALID [2018-11-23 09:59:06,821 INFO L273 TraceCheckUtils]: 18: Hoare triple {1534#(bvule main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32)))} assume 0bv8 != #t~ret14;havoc #t~ret14; {1534#(bvule main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32)))} is VALID [2018-11-23 09:59:06,824 INFO L268 TraceCheckUtils]: 17: Hoare quadruple {1445#true} {1534#(bvule main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32)))} #160#return; {1534#(bvule main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32)))} is VALID [2018-11-23 09:59:06,825 INFO L273 TraceCheckUtils]: 16: Hoare triple {1445#true} assume true; {1445#true} is VALID [2018-11-23 09:59:06,825 INFO L273 TraceCheckUtils]: 15: Hoare triple {1445#true} assume !(~bvugt32(~pat_length, ~a_length) && 1bv32 == ~shift~0);#res := 1bv8; {1445#true} is VALID [2018-11-23 09:59:06,825 INFO L273 TraceCheckUtils]: 14: Hoare triple {1445#true} assume !(~bvult32(~i~0, ~pat_length) && ~bvult32(~i~0, ~a_length)); {1445#true} is VALID [2018-11-23 09:59:06,826 INFO L273 TraceCheckUtils]: 13: Hoare triple {1445#true} assume !~bvugt32(~pat_length, ~bvadd32(1bv32, ~a_length));~shift~0 := 0bv32;~i~0 := 0bv32; {1445#true} is VALID [2018-11-23 09:59:06,826 INFO L273 TraceCheckUtils]: 12: Hoare triple {1445#true} ~pat.base, ~pat.offset := #in~pat.base, #in~pat.offset;~pat_length := #in~pat_length;~a.base, ~a.offset := #in~a.base, #in~a.offset;~a_length := #in~a_length; {1445#true} is VALID [2018-11-23 09:59:06,826 INFO L256 TraceCheckUtils]: 11: Hoare triple {1534#(bvule main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32)))} call #t~ret14 := is_relaxed_prefix(~pat~0.base, ~pat~0.offset, ~pat_len~0, ~a~0.base, ~a~0.offset, ~a_len~0); {1445#true} is VALID [2018-11-23 09:59:06,828 INFO L273 TraceCheckUtils]: 10: Hoare triple {1562#(forall ((main_~a_len~0 (_ BitVec 32))) (or (bvule main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32))) (bvult main_~j~1 main_~a_len~0)))} assume !~bvult32(~j~1, ~a_len~0); {1534#(bvule main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32)))} is VALID [2018-11-23 09:59:06,829 INFO L273 TraceCheckUtils]: 9: Hoare triple {1476#(not (bvult (_ bv1 32) main_~pat_len~0))} ~j~1 := 0bv32; {1562#(forall ((main_~a_len~0 (_ BitVec 32))) (or (bvule main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32))) (bvult main_~j~1 main_~a_len~0)))} is VALID [2018-11-23 09:59:06,830 INFO L273 TraceCheckUtils]: 8: Hoare triple {1569#(forall ((main_~pat_len~0 (_ BitVec 32))) (or (not (bvult (_ bv1 32) main_~pat_len~0)) (bvult main_~j~0 main_~pat_len~0)))} assume !~bvult32(~j~0, ~pat_len~0); {1476#(not (bvult (_ bv1 32) main_~pat_len~0))} is VALID [2018-11-23 09:59:06,831 INFO L273 TraceCheckUtils]: 7: Hoare triple {1573#(forall ((main_~pat_len~0 (_ BitVec 32))) (or (not (bvult (_ bv1 32) main_~pat_len~0)) (bvult (bvadd main_~j~0 (_ bv1 32)) main_~pat_len~0)))} #t~post10 := ~j~0;~j~0 := ~bvadd32(1bv32, #t~post10);havoc #t~post10; {1569#(forall ((main_~pat_len~0 (_ BitVec 32))) (or (not (bvult (_ bv1 32) main_~pat_len~0)) (bvult main_~j~0 main_~pat_len~0)))} is VALID [2018-11-23 09:59:06,832 INFO L273 TraceCheckUtils]: 6: Hoare triple {1573#(forall ((main_~pat_len~0 (_ BitVec 32))) (or (not (bvult (_ bv1 32) main_~pat_len~0)) (bvult (bvadd main_~j~0 (_ bv1 32)) main_~pat_len~0)))} assume !!~bvult32(~j~0, ~pat_len~0);call write~intINTTYPE4(#t~nondet11, ~pat~0.base, ~bvadd32(~pat~0.offset, ~bvmul32(4bv32, ~j~0)), 4bv32);havoc #t~nondet11; {1573#(forall ((main_~pat_len~0 (_ BitVec 32))) (or (not (bvult (_ bv1 32) main_~pat_len~0)) (bvult (bvadd main_~j~0 (_ bv1 32)) main_~pat_len~0)))} is VALID [2018-11-23 09:59:06,849 INFO L273 TraceCheckUtils]: 5: Hoare triple {1445#true} ~pat_len~0 := #t~nondet6;havoc #t~nondet6;~a_len~0 := #t~nondet7;havoc #t~nondet7;call #t~malloc8.base, #t~malloc8.offset := #Ultimate.alloc(~bvmul32(4bv32, ~pat_len~0));~pat~0.base, ~pat~0.offset := #t~malloc8.base, #t~malloc8.offset;call #t~malloc9.base, #t~malloc9.offset := #Ultimate.alloc(~bvmul32(4bv32, ~a_len~0));~a~0.base, ~a~0.offset := #t~malloc9.base, #t~malloc9.offset;~j~0 := 0bv32; {1573#(forall ((main_~pat_len~0 (_ BitVec 32))) (or (not (bvult (_ bv1 32) main_~pat_len~0)) (bvult (bvadd main_~j~0 (_ bv1 32)) main_~pat_len~0)))} is VALID [2018-11-23 09:59:06,849 INFO L256 TraceCheckUtils]: 4: Hoare triple {1445#true} call #t~ret28 := main(); {1445#true} is VALID [2018-11-23 09:59:06,849 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1445#true} {1445#true} #156#return; {1445#true} is VALID [2018-11-23 09:59:06,851 INFO L273 TraceCheckUtils]: 2: Hoare triple {1445#true} assume true; {1445#true} is VALID [2018-11-23 09:59:06,851 INFO L273 TraceCheckUtils]: 1: Hoare triple {1445#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {1445#true} is VALID [2018-11-23 09:59:06,851 INFO L256 TraceCheckUtils]: 0: Hoare triple {1445#true} call ULTIMATE.init(); {1445#true} is VALID [2018-11-23 09:59:06,852 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 09:59:06,855 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 09:59:06,855 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 15 [2018-11-23 09:59:06,855 INFO L78 Accepts]: Start accepts. Automaton has 15 states. Word has length 23 [2018-11-23 09:59:06,856 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 09:59:06,856 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 15 states. [2018-11-23 09:59:06,924 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 35 edges. 35 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 09:59:06,924 INFO L459 AbstractCegarLoop]: Interpolant automaton has 15 states [2018-11-23 09:59:06,925 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2018-11-23 09:59:06,925 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=37, Invalid=173, Unknown=0, NotChecked=0, Total=210 [2018-11-23 09:59:06,925 INFO L87 Difference]: Start difference. First operand 61 states and 82 transitions. Second operand 15 states. [2018-11-23 09:59:16,783 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 09:59:16,784 INFO L93 Difference]: Finished difference Result 166 states and 235 transitions. [2018-11-23 09:59:16,784 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 20 states. [2018-11-23 09:59:16,784 INFO L78 Accepts]: Start accepts. Automaton has 15 states. Word has length 23 [2018-11-23 09:59:16,784 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 09:59:16,785 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 15 states. [2018-11-23 09:59:16,790 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 217 transitions. [2018-11-23 09:59:16,790 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 15 states. [2018-11-23 09:59:16,795 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 217 transitions. [2018-11-23 09:59:16,795 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 20 states and 217 transitions. [2018-11-23 09:59:17,286 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 217 edges. 217 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 09:59:17,291 INFO L225 Difference]: With dead ends: 166 [2018-11-23 09:59:17,291 INFO L226 Difference]: Without dead ends: 139 [2018-11-23 09:59:17,292 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 58 GetRequests, 31 SyntacticMatches, 1 SemanticMatches, 26 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 102 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=159, Invalid=597, Unknown=0, NotChecked=0, Total=756 [2018-11-23 09:59:17,293 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 139 states. [2018-11-23 09:59:17,389 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 139 to 85. [2018-11-23 09:59:17,390 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 09:59:17,390 INFO L82 GeneralOperation]: Start isEquivalent. First operand 139 states. Second operand 85 states. [2018-11-23 09:59:17,390 INFO L74 IsIncluded]: Start isIncluded. First operand 139 states. Second operand 85 states. [2018-11-23 09:59:17,390 INFO L87 Difference]: Start difference. First operand 139 states. Second operand 85 states. [2018-11-23 09:59:17,397 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 09:59:17,397 INFO L93 Difference]: Finished difference Result 139 states and 195 transitions. [2018-11-23 09:59:17,397 INFO L276 IsEmpty]: Start isEmpty. Operand 139 states and 195 transitions. [2018-11-23 09:59:17,398 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 09:59:17,399 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 09:59:17,399 INFO L74 IsIncluded]: Start isIncluded. First operand 85 states. Second operand 139 states. [2018-11-23 09:59:17,399 INFO L87 Difference]: Start difference. First operand 85 states. Second operand 139 states. [2018-11-23 09:59:17,406 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 09:59:17,406 INFO L93 Difference]: Finished difference Result 139 states and 195 transitions. [2018-11-23 09:59:17,407 INFO L276 IsEmpty]: Start isEmpty. Operand 139 states and 195 transitions. [2018-11-23 09:59:17,408 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 09:59:17,408 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 09:59:17,408 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 09:59:17,408 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 09:59:17,408 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 85 states. [2018-11-23 09:59:17,413 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 85 states to 85 states and 122 transitions. [2018-11-23 09:59:17,413 INFO L78 Accepts]: Start accepts. Automaton has 85 states and 122 transitions. Word has length 23 [2018-11-23 09:59:17,413 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 09:59:17,413 INFO L480 AbstractCegarLoop]: Abstraction has 85 states and 122 transitions. [2018-11-23 09:59:17,413 INFO L481 AbstractCegarLoop]: Interpolant automaton has 15 states. [2018-11-23 09:59:17,414 INFO L276 IsEmpty]: Start isEmpty. Operand 85 states and 122 transitions. [2018-11-23 09:59:17,414 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 25 [2018-11-23 09:59:17,415 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 09:59:17,415 INFO L402 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, 1, 1] [2018-11-23 09:59:17,415 INFO L423 AbstractCegarLoop]: === Iteration 6 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 09:59:17,415 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 09:59:17,415 INFO L82 PathProgramCache]: Analyzing trace with hash -238113231, now seen corresponding path program 1 times [2018-11-23 09:59:17,416 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 09:59:17,416 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4nyu Starting monitored process 7 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 7 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk [2018-11-23 09:59:17,441 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 09:59:17,465 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 09:59:17,482 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 09:59:17,483 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 09:59:17,535 INFO L256 TraceCheckUtils]: 0: Hoare triple {2243#true} call ULTIMATE.init(); {2243#true} is VALID [2018-11-23 09:59:17,536 INFO L273 TraceCheckUtils]: 1: Hoare triple {2243#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {2243#true} is VALID [2018-11-23 09:59:17,536 INFO L273 TraceCheckUtils]: 2: Hoare triple {2243#true} assume true; {2243#true} is VALID [2018-11-23 09:59:17,537 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2243#true} {2243#true} #156#return; {2243#true} is VALID [2018-11-23 09:59:17,537 INFO L256 TraceCheckUtils]: 4: Hoare triple {2243#true} call #t~ret28 := main(); {2243#true} is VALID [2018-11-23 09:59:17,538 INFO L273 TraceCheckUtils]: 5: Hoare triple {2243#true} ~pat_len~0 := #t~nondet6;havoc #t~nondet6;~a_len~0 := #t~nondet7;havoc #t~nondet7;call #t~malloc8.base, #t~malloc8.offset := #Ultimate.alloc(~bvmul32(4bv32, ~pat_len~0));~pat~0.base, ~pat~0.offset := #t~malloc8.base, #t~malloc8.offset;call #t~malloc9.base, #t~malloc9.offset := #Ultimate.alloc(~bvmul32(4bv32, ~a_len~0));~a~0.base, ~a~0.offset := #t~malloc9.base, #t~malloc9.offset;~j~0 := 0bv32; {2243#true} is VALID [2018-11-23 09:59:17,538 INFO L273 TraceCheckUtils]: 6: Hoare triple {2243#true} assume !~bvult32(~j~0, ~pat_len~0); {2243#true} is VALID [2018-11-23 09:59:17,538 INFO L273 TraceCheckUtils]: 7: Hoare triple {2243#true} ~j~1 := 0bv32; {2243#true} is VALID [2018-11-23 09:59:17,539 INFO L273 TraceCheckUtils]: 8: Hoare triple {2243#true} assume !~bvult32(~j~1, ~a_len~0); {2243#true} is VALID [2018-11-23 09:59:17,539 INFO L256 TraceCheckUtils]: 9: Hoare triple {2243#true} call #t~ret14 := is_relaxed_prefix(~pat~0.base, ~pat~0.offset, ~pat_len~0, ~a~0.base, ~a~0.offset, ~a_len~0); {2243#true} is VALID [2018-11-23 09:59:17,539 INFO L273 TraceCheckUtils]: 10: Hoare triple {2243#true} ~pat.base, ~pat.offset := #in~pat.base, #in~pat.offset;~pat_length := #in~pat_length;~a.base, ~a.offset := #in~a.base, #in~a.offset;~a_length := #in~a_length; {2243#true} is VALID [2018-11-23 09:59:17,539 INFO L273 TraceCheckUtils]: 11: Hoare triple {2243#true} assume !~bvugt32(~pat_length, ~bvadd32(1bv32, ~a_length));~shift~0 := 0bv32;~i~0 := 0bv32; {2243#true} is VALID [2018-11-23 09:59:17,540 INFO L273 TraceCheckUtils]: 12: Hoare triple {2243#true} assume !(~bvult32(~i~0, ~pat_length) && ~bvult32(~i~0, ~a_length)); {2243#true} is VALID [2018-11-23 09:59:17,545 INFO L273 TraceCheckUtils]: 13: Hoare triple {2243#true} assume !(~bvugt32(~pat_length, ~a_length) && 1bv32 == ~shift~0);#res := 1bv8; {2287#(= (bvadd |is_relaxed_prefix_#res| (_ bv255 8)) (_ bv0 8))} is VALID [2018-11-23 09:59:17,550 INFO L273 TraceCheckUtils]: 14: Hoare triple {2287#(= (bvadd |is_relaxed_prefix_#res| (_ bv255 8)) (_ bv0 8))} assume true; {2287#(= (bvadd |is_relaxed_prefix_#res| (_ bv255 8)) (_ bv0 8))} is VALID [2018-11-23 09:59:17,551 INFO L268 TraceCheckUtils]: 15: Hoare quadruple {2287#(= (bvadd |is_relaxed_prefix_#res| (_ bv255 8)) (_ bv0 8))} {2243#true} #160#return; {2294#(= (_ bv1 8) |main_#t~ret14|)} is VALID [2018-11-23 09:59:17,552 INFO L273 TraceCheckUtils]: 16: Hoare triple {2294#(= (_ bv1 8) |main_#t~ret14|)} assume !(0bv8 != #t~ret14);havoc #t~ret14; {2244#false} is VALID [2018-11-23 09:59:17,552 INFO L273 TraceCheckUtils]: 17: Hoare triple {2244#false} assume ~bvule32(~pat_len~0, ~bvadd32(1bv32, ~a_len~0));~differences~0 := 0bv32;~i~2 := 0bv32; {2244#false} is VALID [2018-11-23 09:59:17,552 INFO L273 TraceCheckUtils]: 18: Hoare triple {2244#false} assume !(~bvult32(~i~2, ~pat_len~0) && ~bvult32(~i~2, ~a_len~0)); {2244#false} is VALID [2018-11-23 09:59:17,552 INFO L273 TraceCheckUtils]: 19: Hoare triple {2244#false} assume !~bvugt32(~pat_len~0, ~a_len~0); {2244#false} is VALID [2018-11-23 09:59:17,553 INFO L256 TraceCheckUtils]: 20: Hoare triple {2244#false} call __VERIFIER_assert((if ~bvugt32(~differences~0, 1bv32) then 1bv32 else 0bv32)); {2244#false} is VALID [2018-11-23 09:59:17,553 INFO L273 TraceCheckUtils]: 21: Hoare triple {2244#false} ~cond := #in~cond; {2244#false} is VALID [2018-11-23 09:59:17,553 INFO L273 TraceCheckUtils]: 22: Hoare triple {2244#false} assume 0bv32 == ~cond; {2244#false} is VALID [2018-11-23 09:59:17,553 INFO L273 TraceCheckUtils]: 23: Hoare triple {2244#false} assume !false; {2244#false} is VALID [2018-11-23 09:59:17,554 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 09:59:17,554 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 09:59:17,560 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 09:59:17,560 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2018-11-23 09:59:17,560 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 24 [2018-11-23 09:59:17,561 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 09:59:17,561 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2018-11-23 09:59:17,591 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 24 edges. 24 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 09:59:17,592 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2018-11-23 09:59:17,592 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2018-11-23 09:59:17,592 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2018-11-23 09:59:17,592 INFO L87 Difference]: Start difference. First operand 85 states and 122 transitions. Second operand 4 states. [2018-11-23 09:59:17,986 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 09:59:17,986 INFO L93 Difference]: Finished difference Result 100 states and 139 transitions. [2018-11-23 09:59:17,986 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2018-11-23 09:59:17,986 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 24 [2018-11-23 09:59:17,986 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 09:59:17,987 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-23 09:59:17,988 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 78 transitions. [2018-11-23 09:59:17,988 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-23 09:59:17,990 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 78 transitions. [2018-11-23 09:59:17,990 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 78 transitions. [2018-11-23 09:59:18,175 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 78 edges. 78 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 09:59:18,178 INFO L225 Difference]: With dead ends: 100 [2018-11-23 09:59:18,178 INFO L226 Difference]: Without dead ends: 77 [2018-11-23 09:59:18,179 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 23 GetRequests, 21 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2018-11-23 09:59:18,180 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 77 states. [2018-11-23 09:59:18,237 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 77 to 73. [2018-11-23 09:59:18,238 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 09:59:18,238 INFO L82 GeneralOperation]: Start isEquivalent. First operand 77 states. Second operand 73 states. [2018-11-23 09:59:18,238 INFO L74 IsIncluded]: Start isIncluded. First operand 77 states. Second operand 73 states. [2018-11-23 09:59:18,238 INFO L87 Difference]: Start difference. First operand 77 states. Second operand 73 states. [2018-11-23 09:59:18,241 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 09:59:18,242 INFO L93 Difference]: Finished difference Result 77 states and 106 transitions. [2018-11-23 09:59:18,242 INFO L276 IsEmpty]: Start isEmpty. Operand 77 states and 106 transitions. [2018-11-23 09:59:18,242 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 09:59:18,242 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 09:59:18,242 INFO L74 IsIncluded]: Start isIncluded. First operand 73 states. Second operand 77 states. [2018-11-23 09:59:18,242 INFO L87 Difference]: Start difference. First operand 73 states. Second operand 77 states. [2018-11-23 09:59:18,246 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 09:59:18,246 INFO L93 Difference]: Finished difference Result 77 states and 106 transitions. [2018-11-23 09:59:18,246 INFO L276 IsEmpty]: Start isEmpty. Operand 77 states and 106 transitions. [2018-11-23 09:59:18,247 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 09:59:18,247 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 09:59:18,247 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 09:59:18,247 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 09:59:18,247 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 73 states. [2018-11-23 09:59:18,250 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 73 states to 73 states and 98 transitions. [2018-11-23 09:59:18,251 INFO L78 Accepts]: Start accepts. Automaton has 73 states and 98 transitions. Word has length 24 [2018-11-23 09:59:18,251 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 09:59:18,251 INFO L480 AbstractCegarLoop]: Abstraction has 73 states and 98 transitions. [2018-11-23 09:59:18,251 INFO L481 AbstractCegarLoop]: Interpolant automaton has 4 states. [2018-11-23 09:59:18,251 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 98 transitions. [2018-11-23 09:59:18,252 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 25 [2018-11-23 09:59:18,252 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 09:59:18,252 INFO L402 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, 1, 1] [2018-11-23 09:59:18,253 INFO L423 AbstractCegarLoop]: === Iteration 7 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 09:59:18,253 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 09:59:18,253 INFO L82 PathProgramCache]: Analyzing trace with hash 1394596699, now seen corresponding path program 1 times [2018-11-23 09:59:18,253 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 09:59:18,253 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4nyu Starting monitored process 8 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 8 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk [2018-11-23 09:59:18,275 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 09:59:18,320 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 09:59:18,346 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 09:59:18,347 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 09:59:18,529 INFO L256 TraceCheckUtils]: 0: Hoare triple {2707#true} call ULTIMATE.init(); {2707#true} is VALID [2018-11-23 09:59:18,529 INFO L273 TraceCheckUtils]: 1: Hoare triple {2707#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {2707#true} is VALID [2018-11-23 09:59:18,529 INFO L273 TraceCheckUtils]: 2: Hoare triple {2707#true} assume true; {2707#true} is VALID [2018-11-23 09:59:18,529 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2707#true} {2707#true} #156#return; {2707#true} is VALID [2018-11-23 09:59:18,530 INFO L256 TraceCheckUtils]: 4: Hoare triple {2707#true} call #t~ret28 := main(); {2707#true} is VALID [2018-11-23 09:59:18,530 INFO L273 TraceCheckUtils]: 5: Hoare triple {2707#true} ~pat_len~0 := #t~nondet6;havoc #t~nondet6;~a_len~0 := #t~nondet7;havoc #t~nondet7;call #t~malloc8.base, #t~malloc8.offset := #Ultimate.alloc(~bvmul32(4bv32, ~pat_len~0));~pat~0.base, ~pat~0.offset := #t~malloc8.base, #t~malloc8.offset;call #t~malloc9.base, #t~malloc9.offset := #Ultimate.alloc(~bvmul32(4bv32, ~a_len~0));~a~0.base, ~a~0.offset := #t~malloc9.base, #t~malloc9.offset;~j~0 := 0bv32; {2727#(= main_~j~0 (_ bv0 32))} is VALID [2018-11-23 09:59:18,530 INFO L273 TraceCheckUtils]: 6: Hoare triple {2727#(= main_~j~0 (_ bv0 32))} assume !!~bvult32(~j~0, ~pat_len~0);call write~intINTTYPE4(#t~nondet11, ~pat~0.base, ~bvadd32(~pat~0.offset, ~bvmul32(4bv32, ~j~0)), 4bv32);havoc #t~nondet11; {2727#(= main_~j~0 (_ bv0 32))} is VALID [2018-11-23 09:59:18,548 INFO L273 TraceCheckUtils]: 7: Hoare triple {2727#(= main_~j~0 (_ bv0 32))} #t~post10 := ~j~0;~j~0 := ~bvadd32(1bv32, #t~post10);havoc #t~post10; {2734#(= (bvadd main_~j~0 (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 09:59:18,557 INFO L273 TraceCheckUtils]: 8: Hoare triple {2734#(= (bvadd main_~j~0 (_ bv4294967295 32)) (_ bv0 32))} assume !~bvult32(~j~0, ~pat_len~0); {2738#(not (bvult (_ bv1 32) main_~pat_len~0))} is VALID [2018-11-23 09:59:18,568 INFO L273 TraceCheckUtils]: 9: Hoare triple {2738#(not (bvult (_ bv1 32) main_~pat_len~0))} ~j~1 := 0bv32; {2742#(and (not (bvult (_ bv1 32) main_~pat_len~0)) (= main_~j~1 (_ bv0 32)))} is VALID [2018-11-23 09:59:18,569 INFO L273 TraceCheckUtils]: 10: Hoare triple {2742#(and (not (bvult (_ bv1 32) main_~pat_len~0)) (= main_~j~1 (_ bv0 32)))} assume !~bvult32(~j~1, ~a_len~0); {2746#(and (not (bvult (_ bv1 32) main_~pat_len~0)) (not (bvult (_ bv0 32) main_~a_len~0)))} is VALID [2018-11-23 09:59:18,569 INFO L256 TraceCheckUtils]: 11: Hoare triple {2746#(and (not (bvult (_ bv1 32) main_~pat_len~0)) (not (bvult (_ bv0 32) main_~a_len~0)))} call #t~ret14 := is_relaxed_prefix(~pat~0.base, ~pat~0.offset, ~pat_len~0, ~a~0.base, ~a~0.offset, ~a_len~0); {2707#true} is VALID [2018-11-23 09:59:18,570 INFO L273 TraceCheckUtils]: 12: Hoare triple {2707#true} ~pat.base, ~pat.offset := #in~pat.base, #in~pat.offset;~pat_length := #in~pat_length;~a.base, ~a.offset := #in~a.base, #in~a.offset;~a_length := #in~a_length; {2753#(and (= |is_relaxed_prefix_#in~a_length| is_relaxed_prefix_~a_length) (= |is_relaxed_prefix_#in~pat_length| is_relaxed_prefix_~pat_length))} is VALID [2018-11-23 09:59:18,570 INFO L273 TraceCheckUtils]: 13: Hoare triple {2753#(and (= |is_relaxed_prefix_#in~a_length| is_relaxed_prefix_~a_length) (= |is_relaxed_prefix_#in~pat_length| is_relaxed_prefix_~pat_length))} assume ~bvugt32(~pat_length, ~bvadd32(1bv32, ~a_length));#res := 0bv8; {2757#(bvugt |is_relaxed_prefix_#in~pat_length| (bvadd |is_relaxed_prefix_#in~a_length| (_ bv1 32)))} is VALID [2018-11-23 09:59:18,571 INFO L273 TraceCheckUtils]: 14: Hoare triple {2757#(bvugt |is_relaxed_prefix_#in~pat_length| (bvadd |is_relaxed_prefix_#in~a_length| (_ bv1 32)))} assume true; {2757#(bvugt |is_relaxed_prefix_#in~pat_length| (bvadd |is_relaxed_prefix_#in~a_length| (_ bv1 32)))} is VALID [2018-11-23 09:59:18,573 INFO L268 TraceCheckUtils]: 15: Hoare quadruple {2757#(bvugt |is_relaxed_prefix_#in~pat_length| (bvadd |is_relaxed_prefix_#in~a_length| (_ bv1 32)))} {2746#(and (not (bvult (_ bv1 32) main_~pat_len~0)) (not (bvult (_ bv0 32) main_~a_len~0)))} #160#return; {2708#false} is VALID [2018-11-23 09:59:18,573 INFO L273 TraceCheckUtils]: 16: Hoare triple {2708#false} assume !(0bv8 != #t~ret14);havoc #t~ret14; {2708#false} is VALID [2018-11-23 09:59:18,573 INFO L273 TraceCheckUtils]: 17: Hoare triple {2708#false} assume ~bvule32(~pat_len~0, ~bvadd32(1bv32, ~a_len~0));~differences~0 := 0bv32;~i~2 := 0bv32; {2708#false} is VALID [2018-11-23 09:59:18,573 INFO L273 TraceCheckUtils]: 18: Hoare triple {2708#false} assume !(~bvult32(~i~2, ~pat_len~0) && ~bvult32(~i~2, ~a_len~0)); {2708#false} is VALID [2018-11-23 09:59:18,574 INFO L273 TraceCheckUtils]: 19: Hoare triple {2708#false} assume ~bvugt32(~pat_len~0, ~a_len~0);#t~pre27 := ~bvadd32(1bv32, ~differences~0);~differences~0 := ~bvadd32(1bv32, ~differences~0);havoc #t~pre27; {2708#false} is VALID [2018-11-23 09:59:18,574 INFO L256 TraceCheckUtils]: 20: Hoare triple {2708#false} call __VERIFIER_assert((if ~bvugt32(~differences~0, 1bv32) then 1bv32 else 0bv32)); {2708#false} is VALID [2018-11-23 09:59:18,574 INFO L273 TraceCheckUtils]: 21: Hoare triple {2708#false} ~cond := #in~cond; {2708#false} is VALID [2018-11-23 09:59:18,575 INFO L273 TraceCheckUtils]: 22: Hoare triple {2708#false} assume 0bv32 == ~cond; {2708#false} is VALID [2018-11-23 09:59:18,575 INFO L273 TraceCheckUtils]: 23: Hoare triple {2708#false} assume !false; {2708#false} is VALID [2018-11-23 09:59:18,576 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 09:59:18,576 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-23 09:59:19,181 INFO L273 TraceCheckUtils]: 23: Hoare triple {2708#false} assume !false; {2708#false} is VALID [2018-11-23 09:59:19,181 INFO L273 TraceCheckUtils]: 22: Hoare triple {2708#false} assume 0bv32 == ~cond; {2708#false} is VALID [2018-11-23 09:59:19,181 INFO L273 TraceCheckUtils]: 21: Hoare triple {2708#false} ~cond := #in~cond; {2708#false} is VALID [2018-11-23 09:59:19,181 INFO L256 TraceCheckUtils]: 20: Hoare triple {2708#false} call __VERIFIER_assert((if ~bvugt32(~differences~0, 1bv32) then 1bv32 else 0bv32)); {2708#false} is VALID [2018-11-23 09:59:19,182 INFO L273 TraceCheckUtils]: 19: Hoare triple {2708#false} assume ~bvugt32(~pat_len~0, ~a_len~0);#t~pre27 := ~bvadd32(1bv32, ~differences~0);~differences~0 := ~bvadd32(1bv32, ~differences~0);havoc #t~pre27; {2708#false} is VALID [2018-11-23 09:59:19,182 INFO L273 TraceCheckUtils]: 18: Hoare triple {2708#false} assume !(~bvult32(~i~2, ~pat_len~0) && ~bvult32(~i~2, ~a_len~0)); {2708#false} is VALID [2018-11-23 09:59:19,182 INFO L273 TraceCheckUtils]: 17: Hoare triple {2708#false} assume ~bvule32(~pat_len~0, ~bvadd32(1bv32, ~a_len~0));~differences~0 := 0bv32;~i~2 := 0bv32; {2708#false} is VALID [2018-11-23 09:59:19,182 INFO L273 TraceCheckUtils]: 16: Hoare triple {2708#false} assume !(0bv8 != #t~ret14);havoc #t~ret14; {2708#false} is VALID [2018-11-23 09:59:19,184 INFO L268 TraceCheckUtils]: 15: Hoare quadruple {2757#(bvugt |is_relaxed_prefix_#in~pat_length| (bvadd |is_relaxed_prefix_#in~a_length| (_ bv1 32)))} {2812#(not (bvugt main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32))))} #160#return; {2708#false} is VALID [2018-11-23 09:59:19,184 INFO L273 TraceCheckUtils]: 14: Hoare triple {2757#(bvugt |is_relaxed_prefix_#in~pat_length| (bvadd |is_relaxed_prefix_#in~a_length| (_ bv1 32)))} assume true; {2757#(bvugt |is_relaxed_prefix_#in~pat_length| (bvadd |is_relaxed_prefix_#in~a_length| (_ bv1 32)))} is VALID [2018-11-23 09:59:19,185 INFO L273 TraceCheckUtils]: 13: Hoare triple {2822#(or (not (bvugt is_relaxed_prefix_~pat_length (bvadd is_relaxed_prefix_~a_length (_ bv1 32)))) (bvugt |is_relaxed_prefix_#in~pat_length| (bvadd |is_relaxed_prefix_#in~a_length| (_ bv1 32))))} assume ~bvugt32(~pat_length, ~bvadd32(1bv32, ~a_length));#res := 0bv8; {2757#(bvugt |is_relaxed_prefix_#in~pat_length| (bvadd |is_relaxed_prefix_#in~a_length| (_ bv1 32)))} is VALID [2018-11-23 09:59:19,186 INFO L273 TraceCheckUtils]: 12: Hoare triple {2707#true} ~pat.base, ~pat.offset := #in~pat.base, #in~pat.offset;~pat_length := #in~pat_length;~a.base, ~a.offset := #in~a.base, #in~a.offset;~a_length := #in~a_length; {2822#(or (not (bvugt is_relaxed_prefix_~pat_length (bvadd is_relaxed_prefix_~a_length (_ bv1 32)))) (bvugt |is_relaxed_prefix_#in~pat_length| (bvadd |is_relaxed_prefix_#in~a_length| (_ bv1 32))))} is VALID [2018-11-23 09:59:19,186 INFO L256 TraceCheckUtils]: 11: Hoare triple {2812#(not (bvugt main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32))))} call #t~ret14 := is_relaxed_prefix(~pat~0.base, ~pat~0.offset, ~pat_len~0, ~a~0.base, ~a~0.offset, ~a_len~0); {2707#true} is VALID [2018-11-23 09:59:19,189 INFO L273 TraceCheckUtils]: 10: Hoare triple {2829#(forall ((main_~a_len~0 (_ BitVec 32))) (or (not (bvugt main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32)))) (bvult main_~j~1 main_~a_len~0)))} assume !~bvult32(~j~1, ~a_len~0); {2812#(not (bvugt main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32))))} is VALID [2018-11-23 09:59:19,191 INFO L273 TraceCheckUtils]: 9: Hoare triple {2738#(not (bvult (_ bv1 32) main_~pat_len~0))} ~j~1 := 0bv32; {2829#(forall ((main_~a_len~0 (_ BitVec 32))) (or (not (bvugt main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32)))) (bvult main_~j~1 main_~a_len~0)))} is VALID [2018-11-23 09:59:19,192 INFO L273 TraceCheckUtils]: 8: Hoare triple {2836#(forall ((main_~pat_len~0 (_ BitVec 32))) (or (not (bvult (_ bv1 32) main_~pat_len~0)) (bvult main_~j~0 main_~pat_len~0)))} assume !~bvult32(~j~0, ~pat_len~0); {2738#(not (bvult (_ bv1 32) main_~pat_len~0))} is VALID [2018-11-23 09:59:19,194 INFO L273 TraceCheckUtils]: 7: Hoare triple {2840#(forall ((main_~pat_len~0 (_ BitVec 32))) (or (not (bvult (_ bv1 32) main_~pat_len~0)) (bvult (bvadd main_~j~0 (_ bv1 32)) main_~pat_len~0)))} #t~post10 := ~j~0;~j~0 := ~bvadd32(1bv32, #t~post10);havoc #t~post10; {2836#(forall ((main_~pat_len~0 (_ BitVec 32))) (or (not (bvult (_ bv1 32) main_~pat_len~0)) (bvult main_~j~0 main_~pat_len~0)))} is VALID [2018-11-23 09:59:19,196 INFO L273 TraceCheckUtils]: 6: Hoare triple {2840#(forall ((main_~pat_len~0 (_ BitVec 32))) (or (not (bvult (_ bv1 32) main_~pat_len~0)) (bvult (bvadd main_~j~0 (_ bv1 32)) main_~pat_len~0)))} assume !!~bvult32(~j~0, ~pat_len~0);call write~intINTTYPE4(#t~nondet11, ~pat~0.base, ~bvadd32(~pat~0.offset, ~bvmul32(4bv32, ~j~0)), 4bv32);havoc #t~nondet11; {2840#(forall ((main_~pat_len~0 (_ BitVec 32))) (or (not (bvult (_ bv1 32) main_~pat_len~0)) (bvult (bvadd main_~j~0 (_ bv1 32)) main_~pat_len~0)))} is VALID [2018-11-23 09:59:19,197 INFO L273 TraceCheckUtils]: 5: Hoare triple {2707#true} ~pat_len~0 := #t~nondet6;havoc #t~nondet6;~a_len~0 := #t~nondet7;havoc #t~nondet7;call #t~malloc8.base, #t~malloc8.offset := #Ultimate.alloc(~bvmul32(4bv32, ~pat_len~0));~pat~0.base, ~pat~0.offset := #t~malloc8.base, #t~malloc8.offset;call #t~malloc9.base, #t~malloc9.offset := #Ultimate.alloc(~bvmul32(4bv32, ~a_len~0));~a~0.base, ~a~0.offset := #t~malloc9.base, #t~malloc9.offset;~j~0 := 0bv32; {2840#(forall ((main_~pat_len~0 (_ BitVec 32))) (or (not (bvult (_ bv1 32) main_~pat_len~0)) (bvult (bvadd main_~j~0 (_ bv1 32)) main_~pat_len~0)))} is VALID [2018-11-23 09:59:19,198 INFO L256 TraceCheckUtils]: 4: Hoare triple {2707#true} call #t~ret28 := main(); {2707#true} is VALID [2018-11-23 09:59:19,198 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2707#true} {2707#true} #156#return; {2707#true} is VALID [2018-11-23 09:59:19,198 INFO L273 TraceCheckUtils]: 2: Hoare triple {2707#true} assume true; {2707#true} is VALID [2018-11-23 09:59:19,198 INFO L273 TraceCheckUtils]: 1: Hoare triple {2707#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {2707#true} is VALID [2018-11-23 09:59:19,198 INFO L256 TraceCheckUtils]: 0: Hoare triple {2707#true} call ULTIMATE.init(); {2707#true} is VALID [2018-11-23 09:59:19,199 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 09:59:19,201 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 09:59:19,202 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 14 [2018-11-23 09:59:19,202 INFO L78 Accepts]: Start accepts. Automaton has 14 states. Word has length 24 [2018-11-23 09:59:19,203 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 09:59:19,203 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 14 states. [2018-11-23 09:59:19,268 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 34 edges. 34 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 09:59:19,268 INFO L459 AbstractCegarLoop]: Interpolant automaton has 14 states [2018-11-23 09:59:19,268 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2018-11-23 09:59:19,269 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=35, Invalid=147, Unknown=0, NotChecked=0, Total=182 [2018-11-23 09:59:19,269 INFO L87 Difference]: Start difference. First operand 73 states and 98 transitions. Second operand 14 states. [2018-11-23 09:59:24,688 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 09:59:24,688 INFO L93 Difference]: Finished difference Result 128 states and 173 transitions. [2018-11-23 09:59:24,688 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2018-11-23 09:59:24,689 INFO L78 Accepts]: Start accepts. Automaton has 14 states. Word has length 24 [2018-11-23 09:59:24,689 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 09:59:24,689 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 14 states. [2018-11-23 09:59:24,693 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 163 transitions. [2018-11-23 09:59:24,693 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 14 states. [2018-11-23 09:59:24,697 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 163 transitions. [2018-11-23 09:59:24,697 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 15 states and 163 transitions. [2018-11-23 09:59:25,141 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 163 edges. 163 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 09:59:25,145 INFO L225 Difference]: With dead ends: 128 [2018-11-23 09:59:25,145 INFO L226 Difference]: Without dead ends: 112 [2018-11-23 09:59:25,146 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 56 GetRequests, 34 SyntacticMatches, 1 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 54 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=116, Invalid=390, Unknown=0, NotChecked=0, Total=506 [2018-11-23 09:59:25,147 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 112 states. [2018-11-23 09:59:25,195 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 112 to 75. [2018-11-23 09:59:25,196 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 09:59:25,196 INFO L82 GeneralOperation]: Start isEquivalent. First operand 112 states. Second operand 75 states. [2018-11-23 09:59:25,196 INFO L74 IsIncluded]: Start isIncluded. First operand 112 states. Second operand 75 states. [2018-11-23 09:59:25,196 INFO L87 Difference]: Start difference. First operand 112 states. Second operand 75 states. [2018-11-23 09:59:25,203 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 09:59:25,203 INFO L93 Difference]: Finished difference Result 112 states and 153 transitions. [2018-11-23 09:59:25,203 INFO L276 IsEmpty]: Start isEmpty. Operand 112 states and 153 transitions. [2018-11-23 09:59:25,204 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 09:59:25,204 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 09:59:25,204 INFO L74 IsIncluded]: Start isIncluded. First operand 75 states. Second operand 112 states. [2018-11-23 09:59:25,205 INFO L87 Difference]: Start difference. First operand 75 states. Second operand 112 states. [2018-11-23 09:59:25,210 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 09:59:25,210 INFO L93 Difference]: Finished difference Result 112 states and 153 transitions. [2018-11-23 09:59:25,210 INFO L276 IsEmpty]: Start isEmpty. Operand 112 states and 153 transitions. [2018-11-23 09:59:25,211 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 09:59:25,212 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 09:59:25,212 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 09:59:25,212 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 09:59:25,212 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 75 states. [2018-11-23 09:59:25,215 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 75 states to 75 states and 101 transitions. [2018-11-23 09:59:25,216 INFO L78 Accepts]: Start accepts. Automaton has 75 states and 101 transitions. Word has length 24 [2018-11-23 09:59:25,216 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 09:59:25,216 INFO L480 AbstractCegarLoop]: Abstraction has 75 states and 101 transitions. [2018-11-23 09:59:25,216 INFO L481 AbstractCegarLoop]: Interpolant automaton has 14 states. [2018-11-23 09:59:25,216 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 101 transitions. [2018-11-23 09:59:25,217 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 26 [2018-11-23 09:59:25,217 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 09:59:25,217 INFO L402 BasicCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 09:59:25,218 INFO L423 AbstractCegarLoop]: === Iteration 8 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 09:59:25,218 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 09:59:25,218 INFO L82 PathProgramCache]: Analyzing trace with hash 382777314, now seen corresponding path program 2 times [2018-11-23 09:59:25,218 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 09:59:25,218 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4nyu Starting monitored process 9 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 9 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk [2018-11-23 09:59:25,246 INFO L101 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2018-11-23 09:59:25,286 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2018-11-23 09:59:25,286 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 09:59:25,312 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 09:59:25,313 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 09:59:25,484 INFO L256 TraceCheckUtils]: 0: Hoare triple {3378#true} call ULTIMATE.init(); {3378#true} is VALID [2018-11-23 09:59:25,484 INFO L273 TraceCheckUtils]: 1: Hoare triple {3378#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {3378#true} is VALID [2018-11-23 09:59:25,485 INFO L273 TraceCheckUtils]: 2: Hoare triple {3378#true} assume true; {3378#true} is VALID [2018-11-23 09:59:25,485 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3378#true} {3378#true} #156#return; {3378#true} is VALID [2018-11-23 09:59:25,485 INFO L256 TraceCheckUtils]: 4: Hoare triple {3378#true} call #t~ret28 := main(); {3378#true} is VALID [2018-11-23 09:59:25,486 INFO L273 TraceCheckUtils]: 5: Hoare triple {3378#true} ~pat_len~0 := #t~nondet6;havoc #t~nondet6;~a_len~0 := #t~nondet7;havoc #t~nondet7;call #t~malloc8.base, #t~malloc8.offset := #Ultimate.alloc(~bvmul32(4bv32, ~pat_len~0));~pat~0.base, ~pat~0.offset := #t~malloc8.base, #t~malloc8.offset;call #t~malloc9.base, #t~malloc9.offset := #Ultimate.alloc(~bvmul32(4bv32, ~a_len~0));~a~0.base, ~a~0.offset := #t~malloc9.base, #t~malloc9.offset;~j~0 := 0bv32; {3378#true} is VALID [2018-11-23 09:59:25,486 INFO L273 TraceCheckUtils]: 6: Hoare triple {3378#true} assume !!~bvult32(~j~0, ~pat_len~0);call write~intINTTYPE4(#t~nondet11, ~pat~0.base, ~bvadd32(~pat~0.offset, ~bvmul32(4bv32, ~j~0)), 4bv32);havoc #t~nondet11; {3378#true} is VALID [2018-11-23 09:59:25,487 INFO L273 TraceCheckUtils]: 7: Hoare triple {3378#true} #t~post10 := ~j~0;~j~0 := ~bvadd32(1bv32, #t~post10);havoc #t~post10; {3378#true} is VALID [2018-11-23 09:59:25,487 INFO L273 TraceCheckUtils]: 8: Hoare triple {3378#true} assume !!~bvult32(~j~0, ~pat_len~0);call write~intINTTYPE4(#t~nondet11, ~pat~0.base, ~bvadd32(~pat~0.offset, ~bvmul32(4bv32, ~j~0)), 4bv32);havoc #t~nondet11; {3378#true} is VALID [2018-11-23 09:59:25,488 INFO L273 TraceCheckUtils]: 9: Hoare triple {3378#true} #t~post10 := ~j~0;~j~0 := ~bvadd32(1bv32, #t~post10);havoc #t~post10; {3378#true} is VALID [2018-11-23 09:59:25,488 INFO L273 TraceCheckUtils]: 10: Hoare triple {3378#true} assume !~bvult32(~j~0, ~pat_len~0); {3378#true} is VALID [2018-11-23 09:59:25,492 INFO L273 TraceCheckUtils]: 11: Hoare triple {3378#true} ~j~1 := 0bv32; {3416#(= main_~j~1 (_ bv0 32))} is VALID [2018-11-23 09:59:25,493 INFO L273 TraceCheckUtils]: 12: Hoare triple {3416#(= main_~j~1 (_ bv0 32))} assume !~bvult32(~j~1, ~a_len~0); {3420#(not (bvult (_ bv0 32) main_~a_len~0))} is VALID [2018-11-23 09:59:25,493 INFO L256 TraceCheckUtils]: 13: Hoare triple {3420#(not (bvult (_ bv0 32) main_~a_len~0))} call #t~ret14 := is_relaxed_prefix(~pat~0.base, ~pat~0.offset, ~pat_len~0, ~a~0.base, ~a~0.offset, ~a_len~0); {3378#true} is VALID [2018-11-23 09:59:25,494 INFO L273 TraceCheckUtils]: 14: Hoare triple {3378#true} ~pat.base, ~pat.offset := #in~pat.base, #in~pat.offset;~pat_length := #in~pat_length;~a.base, ~a.offset := #in~a.base, #in~a.offset;~a_length := #in~a_length; {3427#(and (= |is_relaxed_prefix_#in~a_length| is_relaxed_prefix_~a_length) (= |is_relaxed_prefix_#in~pat_length| is_relaxed_prefix_~pat_length))} is VALID [2018-11-23 09:59:25,494 INFO L273 TraceCheckUtils]: 15: Hoare triple {3427#(and (= |is_relaxed_prefix_#in~a_length| is_relaxed_prefix_~a_length) (= |is_relaxed_prefix_#in~pat_length| is_relaxed_prefix_~pat_length))} assume !~bvugt32(~pat_length, ~bvadd32(1bv32, ~a_length));~shift~0 := 0bv32;~i~0 := 0bv32; {3431#(not (bvugt |is_relaxed_prefix_#in~pat_length| (bvadd |is_relaxed_prefix_#in~a_length| (_ bv1 32))))} is VALID [2018-11-23 09:59:25,495 INFO L273 TraceCheckUtils]: 16: Hoare triple {3431#(not (bvugt |is_relaxed_prefix_#in~pat_length| (bvadd |is_relaxed_prefix_#in~a_length| (_ bv1 32))))} assume !(~bvult32(~i~0, ~pat_length) && ~bvult32(~i~0, ~a_length)); {3431#(not (bvugt |is_relaxed_prefix_#in~pat_length| (bvadd |is_relaxed_prefix_#in~a_length| (_ bv1 32))))} is VALID [2018-11-23 09:59:25,496 INFO L273 TraceCheckUtils]: 17: Hoare triple {3431#(not (bvugt |is_relaxed_prefix_#in~pat_length| (bvadd |is_relaxed_prefix_#in~a_length| (_ bv1 32))))} assume !(~bvugt32(~pat_length, ~a_length) && 1bv32 == ~shift~0);#res := 1bv8; {3431#(not (bvugt |is_relaxed_prefix_#in~pat_length| (bvadd |is_relaxed_prefix_#in~a_length| (_ bv1 32))))} is VALID [2018-11-23 09:59:25,499 INFO L273 TraceCheckUtils]: 18: Hoare triple {3431#(not (bvugt |is_relaxed_prefix_#in~pat_length| (bvadd |is_relaxed_prefix_#in~a_length| (_ bv1 32))))} assume true; {3431#(not (bvugt |is_relaxed_prefix_#in~pat_length| (bvadd |is_relaxed_prefix_#in~a_length| (_ bv1 32))))} is VALID [2018-11-23 09:59:25,501 INFO L268 TraceCheckUtils]: 19: Hoare quadruple {3431#(not (bvugt |is_relaxed_prefix_#in~pat_length| (bvadd |is_relaxed_prefix_#in~a_length| (_ bv1 32))))} {3420#(not (bvult (_ bv0 32) main_~a_len~0))} #160#return; {3444#(and (not (bvult (_ bv0 32) main_~a_len~0)) (not (bvugt main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32)))))} is VALID [2018-11-23 09:59:25,501 INFO L273 TraceCheckUtils]: 20: Hoare triple {3444#(and (not (bvult (_ bv0 32) main_~a_len~0)) (not (bvugt main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32)))))} assume 0bv8 != #t~ret14;havoc #t~ret14; {3444#(and (not (bvult (_ bv0 32) main_~a_len~0)) (not (bvugt main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32)))))} is VALID [2018-11-23 09:59:25,504 INFO L256 TraceCheckUtils]: 21: Hoare triple {3444#(and (not (bvult (_ bv0 32) main_~a_len~0)) (not (bvugt main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32)))))} call __VERIFIER_assert((if ~bvule32(~pat_len~0, ~bvadd32(1bv32, ~a_len~0)) then 1bv32 else 0bv32)); {3451#(= (bvadd |__VERIFIER_assert_#in~cond| (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 09:59:25,505 INFO L273 TraceCheckUtils]: 22: Hoare triple {3451#(= (bvadd |__VERIFIER_assert_#in~cond| (_ bv4294967295 32)) (_ bv0 32))} ~cond := #in~cond; {3455#(= (bvadd __VERIFIER_assert_~cond (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 09:59:25,506 INFO L273 TraceCheckUtils]: 23: Hoare triple {3455#(= (bvadd __VERIFIER_assert_~cond (_ bv4294967295 32)) (_ bv0 32))} assume 0bv32 == ~cond; {3379#false} is VALID [2018-11-23 09:59:25,506 INFO L273 TraceCheckUtils]: 24: Hoare triple {3379#false} assume !false; {3379#false} is VALID [2018-11-23 09:59:25,508 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2018-11-23 09:59:25,508 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 09:59:25,510 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 09:59:25,510 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2018-11-23 09:59:25,511 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 25 [2018-11-23 09:59:25,511 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 09:59:25,511 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states. [2018-11-23 09:59:25,562 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 23 edges. 23 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 09:59:25,562 INFO L459 AbstractCegarLoop]: Interpolant automaton has 9 states [2018-11-23 09:59:25,562 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2018-11-23 09:59:25,562 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=56, Unknown=0, NotChecked=0, Total=72 [2018-11-23 09:59:25,563 INFO L87 Difference]: Start difference. First operand 75 states and 101 transitions. Second operand 9 states. [2018-11-23 09:59:27,849 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 09:59:27,849 INFO L93 Difference]: Finished difference Result 113 states and 153 transitions. [2018-11-23 09:59:27,849 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2018-11-23 09:59:27,849 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 25 [2018-11-23 09:59:27,849 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 09:59:27,850 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2018-11-23 09:59:27,852 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 114 transitions. [2018-11-23 09:59:27,852 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2018-11-23 09:59:27,854 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 114 transitions. [2018-11-23 09:59:27,855 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 114 transitions. [2018-11-23 09:59:28,080 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 114 edges. 114 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 09:59:28,084 INFO L225 Difference]: With dead ends: 113 [2018-11-23 09:59:28,084 INFO L226 Difference]: Without dead ends: 85 [2018-11-23 09:59:28,085 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 28 GetRequests, 17 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 9 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=34, Invalid=122, Unknown=0, NotChecked=0, Total=156 [2018-11-23 09:59:28,085 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 85 states. [2018-11-23 09:59:28,702 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 85 to 77. [2018-11-23 09:59:28,702 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 09:59:28,702 INFO L82 GeneralOperation]: Start isEquivalent. First operand 85 states. Second operand 77 states. [2018-11-23 09:59:28,702 INFO L74 IsIncluded]: Start isIncluded. First operand 85 states. Second operand 77 states. [2018-11-23 09:59:28,702 INFO L87 Difference]: Start difference. First operand 85 states. Second operand 77 states. [2018-11-23 09:59:28,709 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 09:59:28,709 INFO L93 Difference]: Finished difference Result 85 states and 115 transitions. [2018-11-23 09:59:28,710 INFO L276 IsEmpty]: Start isEmpty. Operand 85 states and 115 transitions. [2018-11-23 09:59:28,710 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 09:59:28,710 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 09:59:28,710 INFO L74 IsIncluded]: Start isIncluded. First operand 77 states. Second operand 85 states. [2018-11-23 09:59:28,711 INFO L87 Difference]: Start difference. First operand 77 states. Second operand 85 states. [2018-11-23 09:59:28,714 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 09:59:28,715 INFO L93 Difference]: Finished difference Result 85 states and 115 transitions. [2018-11-23 09:59:28,715 INFO L276 IsEmpty]: Start isEmpty. Operand 85 states and 115 transitions. [2018-11-23 09:59:28,715 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 09:59:28,716 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 09:59:28,716 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 09:59:28,716 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 09:59:28,716 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 77 states. [2018-11-23 09:59:28,719 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 77 states to 77 states and 106 transitions. [2018-11-23 09:59:28,720 INFO L78 Accepts]: Start accepts. Automaton has 77 states and 106 transitions. Word has length 25 [2018-11-23 09:59:28,720 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 09:59:28,720 INFO L480 AbstractCegarLoop]: Abstraction has 77 states and 106 transitions. [2018-11-23 09:59:28,720 INFO L481 AbstractCegarLoop]: Interpolant automaton has 9 states. [2018-11-23 09:59:28,720 INFO L276 IsEmpty]: Start isEmpty. Operand 77 states and 106 transitions. [2018-11-23 09:59:28,721 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 27 [2018-11-23 09:59:28,721 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 09:59:28,721 INFO L402 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, 1, 1, 1, 1] [2018-11-23 09:59:28,721 INFO L423 AbstractCegarLoop]: === Iteration 9 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 09:59:28,722 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 09:59:28,722 INFO L82 PathProgramCache]: Analyzing trace with hash 823216944, now seen corresponding path program 1 times [2018-11-23 09:59:28,722 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 09:59:28,722 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4nyu Starting monitored process 10 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 10 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk [2018-11-23 09:59:28,752 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 09:59:28,775 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 09:59:28,789 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 09:59:28,790 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 09:59:28,845 INFO L256 TraceCheckUtils]: 0: Hoare triple {3897#true} call ULTIMATE.init(); {3897#true} is VALID [2018-11-23 09:59:28,845 INFO L273 TraceCheckUtils]: 1: Hoare triple {3897#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {3897#true} is VALID [2018-11-23 09:59:28,846 INFO L273 TraceCheckUtils]: 2: Hoare triple {3897#true} assume true; {3897#true} is VALID [2018-11-23 09:59:28,846 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3897#true} {3897#true} #156#return; {3897#true} is VALID [2018-11-23 09:59:28,846 INFO L256 TraceCheckUtils]: 4: Hoare triple {3897#true} call #t~ret28 := main(); {3897#true} is VALID [2018-11-23 09:59:28,847 INFO L273 TraceCheckUtils]: 5: Hoare triple {3897#true} ~pat_len~0 := #t~nondet6;havoc #t~nondet6;~a_len~0 := #t~nondet7;havoc #t~nondet7;call #t~malloc8.base, #t~malloc8.offset := #Ultimate.alloc(~bvmul32(4bv32, ~pat_len~0));~pat~0.base, ~pat~0.offset := #t~malloc8.base, #t~malloc8.offset;call #t~malloc9.base, #t~malloc9.offset := #Ultimate.alloc(~bvmul32(4bv32, ~a_len~0));~a~0.base, ~a~0.offset := #t~malloc9.base, #t~malloc9.offset;~j~0 := 0bv32; {3897#true} is VALID [2018-11-23 09:59:28,847 INFO L273 TraceCheckUtils]: 6: Hoare triple {3897#true} assume !!~bvult32(~j~0, ~pat_len~0);call write~intINTTYPE4(#t~nondet11, ~pat~0.base, ~bvadd32(~pat~0.offset, ~bvmul32(4bv32, ~j~0)), 4bv32);havoc #t~nondet11; {3897#true} is VALID [2018-11-23 09:59:28,847 INFO L273 TraceCheckUtils]: 7: Hoare triple {3897#true} #t~post10 := ~j~0;~j~0 := ~bvadd32(1bv32, #t~post10);havoc #t~post10; {3897#true} is VALID [2018-11-23 09:59:28,847 INFO L273 TraceCheckUtils]: 8: Hoare triple {3897#true} assume !~bvult32(~j~0, ~pat_len~0); {3897#true} is VALID [2018-11-23 09:59:28,848 INFO L273 TraceCheckUtils]: 9: Hoare triple {3897#true} ~j~1 := 0bv32; {3897#true} is VALID [2018-11-23 09:59:28,848 INFO L273 TraceCheckUtils]: 10: Hoare triple {3897#true} assume !~bvult32(~j~1, ~a_len~0); {3897#true} is VALID [2018-11-23 09:59:28,848 INFO L256 TraceCheckUtils]: 11: Hoare triple {3897#true} call #t~ret14 := is_relaxed_prefix(~pat~0.base, ~pat~0.offset, ~pat_len~0, ~a~0.base, ~a~0.offset, ~a_len~0); {3897#true} is VALID [2018-11-23 09:59:28,848 INFO L273 TraceCheckUtils]: 12: Hoare triple {3897#true} ~pat.base, ~pat.offset := #in~pat.base, #in~pat.offset;~pat_length := #in~pat_length;~a.base, ~a.offset := #in~a.base, #in~a.offset;~a_length := #in~a_length; {3897#true} is VALID [2018-11-23 09:59:28,856 INFO L273 TraceCheckUtils]: 13: Hoare triple {3897#true} assume !~bvugt32(~pat_length, ~bvadd32(1bv32, ~a_length));~shift~0 := 0bv32;~i~0 := 0bv32; {3941#(= (_ bv0 32) is_relaxed_prefix_~shift~0)} is VALID [2018-11-23 09:59:28,856 INFO L273 TraceCheckUtils]: 14: Hoare triple {3941#(= (_ bv0 32) is_relaxed_prefix_~shift~0)} assume !(~bvult32(~i~0, ~pat_length) && ~bvult32(~i~0, ~a_length)); {3941#(= (_ bv0 32) is_relaxed_prefix_~shift~0)} is VALID [2018-11-23 09:59:28,857 INFO L273 TraceCheckUtils]: 15: Hoare triple {3941#(= (_ bv0 32) is_relaxed_prefix_~shift~0)} assume ~bvugt32(~pat_length, ~a_length) && 1bv32 == ~shift~0;#res := 0bv8; {3898#false} is VALID [2018-11-23 09:59:28,857 INFO L273 TraceCheckUtils]: 16: Hoare triple {3898#false} assume true; {3898#false} is VALID [2018-11-23 09:59:28,857 INFO L268 TraceCheckUtils]: 17: Hoare quadruple {3898#false} {3897#true} #160#return; {3898#false} is VALID [2018-11-23 09:59:28,857 INFO L273 TraceCheckUtils]: 18: Hoare triple {3898#false} assume !(0bv8 != #t~ret14);havoc #t~ret14; {3898#false} is VALID [2018-11-23 09:59:28,858 INFO L273 TraceCheckUtils]: 19: Hoare triple {3898#false} assume ~bvule32(~pat_len~0, ~bvadd32(1bv32, ~a_len~0));~differences~0 := 0bv32;~i~2 := 0bv32; {3898#false} is VALID [2018-11-23 09:59:28,858 INFO L273 TraceCheckUtils]: 20: Hoare triple {3898#false} assume !(~bvult32(~i~2, ~pat_len~0) && ~bvult32(~i~2, ~a_len~0)); {3898#false} is VALID [2018-11-23 09:59:28,858 INFO L273 TraceCheckUtils]: 21: Hoare triple {3898#false} assume ~bvugt32(~pat_len~0, ~a_len~0);#t~pre27 := ~bvadd32(1bv32, ~differences~0);~differences~0 := ~bvadd32(1bv32, ~differences~0);havoc #t~pre27; {3898#false} is VALID [2018-11-23 09:59:28,858 INFO L256 TraceCheckUtils]: 22: Hoare triple {3898#false} call __VERIFIER_assert((if ~bvugt32(~differences~0, 1bv32) then 1bv32 else 0bv32)); {3898#false} is VALID [2018-11-23 09:59:28,858 INFO L273 TraceCheckUtils]: 23: Hoare triple {3898#false} ~cond := #in~cond; {3898#false} is VALID [2018-11-23 09:59:28,858 INFO L273 TraceCheckUtils]: 24: Hoare triple {3898#false} assume 0bv32 == ~cond; {3898#false} is VALID [2018-11-23 09:59:28,859 INFO L273 TraceCheckUtils]: 25: Hoare triple {3898#false} assume !false; {3898#false} is VALID [2018-11-23 09:59:28,859 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-11-23 09:59:28,859 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 09:59:28,861 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 09:59:28,861 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2018-11-23 09:59:28,861 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 26 [2018-11-23 09:59:28,862 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 09:59:28,862 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2018-11-23 09:59:28,892 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 26 edges. 26 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 09:59:28,892 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2018-11-23 09:59:28,893 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-11-23 09:59:28,893 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 09:59:28,893 INFO L87 Difference]: Start difference. First operand 77 states and 106 transitions. Second operand 3 states. [2018-11-23 09:59:29,156 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 09:59:29,156 INFO L93 Difference]: Finished difference Result 102 states and 143 transitions. [2018-11-23 09:59:29,156 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-23 09:59:29,157 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 26 [2018-11-23 09:59:29,157 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 09:59:29,157 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 09:59:29,158 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 89 transitions. [2018-11-23 09:59:29,159 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 09:59:29,160 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 89 transitions. [2018-11-23 09:59:29,160 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 89 transitions. [2018-11-23 09:59:29,313 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 89 edges. 89 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 09:59:29,317 INFO L225 Difference]: With dead ends: 102 [2018-11-23 09:59:29,317 INFO L226 Difference]: Without dead ends: 84 [2018-11-23 09:59:29,318 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 25 GetRequests, 24 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 09:59:29,318 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 84 states. [2018-11-23 09:59:29,927 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 84 to 82. [2018-11-23 09:59:29,927 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 09:59:29,928 INFO L82 GeneralOperation]: Start isEquivalent. First operand 84 states. Second operand 82 states. [2018-11-23 09:59:29,928 INFO L74 IsIncluded]: Start isIncluded. First operand 84 states. Second operand 82 states. [2018-11-23 09:59:29,928 INFO L87 Difference]: Start difference. First operand 84 states. Second operand 82 states. [2018-11-23 09:59:29,931 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 09:59:29,932 INFO L93 Difference]: Finished difference Result 84 states and 117 transitions. [2018-11-23 09:59:29,932 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 117 transitions. [2018-11-23 09:59:29,932 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 09:59:29,933 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 09:59:29,933 INFO L74 IsIncluded]: Start isIncluded. First operand 82 states. Second operand 84 states. [2018-11-23 09:59:29,933 INFO L87 Difference]: Start difference. First operand 82 states. Second operand 84 states. [2018-11-23 09:59:29,937 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 09:59:29,937 INFO L93 Difference]: Finished difference Result 84 states and 117 transitions. [2018-11-23 09:59:29,937 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 117 transitions. [2018-11-23 09:59:29,938 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 09:59:29,938 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 09:59:29,938 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 09:59:29,938 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 09:59:29,939 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 82 states. [2018-11-23 09:59:29,942 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 82 states to 82 states and 113 transitions. [2018-11-23 09:59:29,942 INFO L78 Accepts]: Start accepts. Automaton has 82 states and 113 transitions. Word has length 26 [2018-11-23 09:59:29,942 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 09:59:29,942 INFO L480 AbstractCegarLoop]: Abstraction has 82 states and 113 transitions. [2018-11-23 09:59:29,943 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2018-11-23 09:59:29,943 INFO L276 IsEmpty]: Start isEmpty. Operand 82 states and 113 transitions. [2018-11-23 09:59:29,944 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 27 [2018-11-23 09:59:29,944 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 09:59:29,944 INFO L402 BasicCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 09:59:29,944 INFO L423 AbstractCegarLoop]: === Iteration 10 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 09:59:29,944 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 09:59:29,944 INFO L82 PathProgramCache]: Analyzing trace with hash 660822557, now seen corresponding path program 2 times [2018-11-23 09:59:29,945 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 09:59:29,945 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4nyu Starting monitored process 11 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 11 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk [2018-11-23 09:59:29,969 INFO L101 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2018-11-23 09:59:30,017 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2018-11-23 09:59:30,018 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 09:59:30,043 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 09:59:30,044 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 09:59:30,226 INFO L256 TraceCheckUtils]: 0: Hoare triple {4393#true} call ULTIMATE.init(); {4393#true} is VALID [2018-11-23 09:59:30,226 INFO L273 TraceCheckUtils]: 1: Hoare triple {4393#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {4393#true} is VALID [2018-11-23 09:59:30,227 INFO L273 TraceCheckUtils]: 2: Hoare triple {4393#true} assume true; {4393#true} is VALID [2018-11-23 09:59:30,227 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {4393#true} {4393#true} #156#return; {4393#true} is VALID [2018-11-23 09:59:30,227 INFO L256 TraceCheckUtils]: 4: Hoare triple {4393#true} call #t~ret28 := main(); {4393#true} is VALID [2018-11-23 09:59:30,227 INFO L273 TraceCheckUtils]: 5: Hoare triple {4393#true} ~pat_len~0 := #t~nondet6;havoc #t~nondet6;~a_len~0 := #t~nondet7;havoc #t~nondet7;call #t~malloc8.base, #t~malloc8.offset := #Ultimate.alloc(~bvmul32(4bv32, ~pat_len~0));~pat~0.base, ~pat~0.offset := #t~malloc8.base, #t~malloc8.offset;call #t~malloc9.base, #t~malloc9.offset := #Ultimate.alloc(~bvmul32(4bv32, ~a_len~0));~a~0.base, ~a~0.offset := #t~malloc9.base, #t~malloc9.offset;~j~0 := 0bv32; {4393#true} is VALID [2018-11-23 09:59:30,227 INFO L273 TraceCheckUtils]: 6: Hoare triple {4393#true} assume !!~bvult32(~j~0, ~pat_len~0);call write~intINTTYPE4(#t~nondet11, ~pat~0.base, ~bvadd32(~pat~0.offset, ~bvmul32(4bv32, ~j~0)), 4bv32);havoc #t~nondet11; {4393#true} is VALID [2018-11-23 09:59:30,228 INFO L273 TraceCheckUtils]: 7: Hoare triple {4393#true} #t~post10 := ~j~0;~j~0 := ~bvadd32(1bv32, #t~post10);havoc #t~post10; {4393#true} is VALID [2018-11-23 09:59:30,228 INFO L273 TraceCheckUtils]: 8: Hoare triple {4393#true} assume !!~bvult32(~j~0, ~pat_len~0);call write~intINTTYPE4(#t~nondet11, ~pat~0.base, ~bvadd32(~pat~0.offset, ~bvmul32(4bv32, ~j~0)), 4bv32);havoc #t~nondet11; {4393#true} is VALID [2018-11-23 09:59:30,228 INFO L273 TraceCheckUtils]: 9: Hoare triple {4393#true} #t~post10 := ~j~0;~j~0 := ~bvadd32(1bv32, #t~post10);havoc #t~post10; {4393#true} is VALID [2018-11-23 09:59:30,228 INFO L273 TraceCheckUtils]: 10: Hoare triple {4393#true} assume !~bvult32(~j~0, ~pat_len~0); {4393#true} is VALID [2018-11-23 09:59:30,229 INFO L273 TraceCheckUtils]: 11: Hoare triple {4393#true} ~j~1 := 0bv32; {4431#(= main_~j~1 (_ bv0 32))} is VALID [2018-11-23 09:59:30,229 INFO L273 TraceCheckUtils]: 12: Hoare triple {4431#(= main_~j~1 (_ bv0 32))} assume !~bvult32(~j~1, ~a_len~0); {4435#(not (bvult (_ bv0 32) main_~a_len~0))} is VALID [2018-11-23 09:59:30,229 INFO L256 TraceCheckUtils]: 13: Hoare triple {4435#(not (bvult (_ bv0 32) main_~a_len~0))} call #t~ret14 := is_relaxed_prefix(~pat~0.base, ~pat~0.offset, ~pat_len~0, ~a~0.base, ~a~0.offset, ~a_len~0); {4393#true} is VALID [2018-11-23 09:59:30,230 INFO L273 TraceCheckUtils]: 14: Hoare triple {4393#true} ~pat.base, ~pat.offset := #in~pat.base, #in~pat.offset;~pat_length := #in~pat_length;~a.base, ~a.offset := #in~a.base, #in~a.offset;~a_length := #in~a_length; {4442#(and (= |is_relaxed_prefix_#in~a_length| is_relaxed_prefix_~a_length) (= |is_relaxed_prefix_#in~pat_length| is_relaxed_prefix_~pat_length))} is VALID [2018-11-23 09:59:30,230 INFO L273 TraceCheckUtils]: 15: Hoare triple {4442#(and (= |is_relaxed_prefix_#in~a_length| is_relaxed_prefix_~a_length) (= |is_relaxed_prefix_#in~pat_length| is_relaxed_prefix_~pat_length))} assume ~bvugt32(~pat_length, ~bvadd32(1bv32, ~a_length));#res := 0bv8; {4446#(bvugt |is_relaxed_prefix_#in~pat_length| (bvadd |is_relaxed_prefix_#in~a_length| (_ bv1 32)))} is VALID [2018-11-23 09:59:30,231 INFO L273 TraceCheckUtils]: 16: Hoare triple {4446#(bvugt |is_relaxed_prefix_#in~pat_length| (bvadd |is_relaxed_prefix_#in~a_length| (_ bv1 32)))} assume true; {4446#(bvugt |is_relaxed_prefix_#in~pat_length| (bvadd |is_relaxed_prefix_#in~a_length| (_ bv1 32)))} is VALID [2018-11-23 09:59:30,232 INFO L268 TraceCheckUtils]: 17: Hoare quadruple {4446#(bvugt |is_relaxed_prefix_#in~pat_length| (bvadd |is_relaxed_prefix_#in~a_length| (_ bv1 32)))} {4435#(not (bvult (_ bv0 32) main_~a_len~0))} #160#return; {4453#(and (not (bvult (_ bv0 32) main_~a_len~0)) (bvugt main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32))))} is VALID [2018-11-23 09:59:30,232 INFO L273 TraceCheckUtils]: 18: Hoare triple {4453#(and (not (bvult (_ bv0 32) main_~a_len~0)) (bvugt main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32))))} assume !(0bv8 != #t~ret14);havoc #t~ret14; {4453#(and (not (bvult (_ bv0 32) main_~a_len~0)) (bvugt main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32))))} is VALID [2018-11-23 09:59:30,233 INFO L273 TraceCheckUtils]: 19: Hoare triple {4453#(and (not (bvult (_ bv0 32) main_~a_len~0)) (bvugt main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32))))} assume ~bvule32(~pat_len~0, ~bvadd32(1bv32, ~a_len~0));~differences~0 := 0bv32;~i~2 := 0bv32; {4394#false} is VALID [2018-11-23 09:59:30,233 INFO L273 TraceCheckUtils]: 20: Hoare triple {4394#false} assume !(~bvult32(~i~2, ~pat_len~0) && ~bvult32(~i~2, ~a_len~0)); {4394#false} is VALID [2018-11-23 09:59:30,234 INFO L273 TraceCheckUtils]: 21: Hoare triple {4394#false} assume ~bvugt32(~pat_len~0, ~a_len~0);#t~pre27 := ~bvadd32(1bv32, ~differences~0);~differences~0 := ~bvadd32(1bv32, ~differences~0);havoc #t~pre27; {4394#false} is VALID [2018-11-23 09:59:30,234 INFO L256 TraceCheckUtils]: 22: Hoare triple {4394#false} call __VERIFIER_assert((if ~bvugt32(~differences~0, 1bv32) then 1bv32 else 0bv32)); {4394#false} is VALID [2018-11-23 09:59:30,234 INFO L273 TraceCheckUtils]: 23: Hoare triple {4394#false} ~cond := #in~cond; {4394#false} is VALID [2018-11-23 09:59:30,234 INFO L273 TraceCheckUtils]: 24: Hoare triple {4394#false} assume 0bv32 == ~cond; {4394#false} is VALID [2018-11-23 09:59:30,235 INFO L273 TraceCheckUtils]: 25: Hoare triple {4394#false} assume !false; {4394#false} is VALID [2018-11-23 09:59:30,236 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2018-11-23 09:59:30,236 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [MP cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk (11)] Exception during sending of exit command (exit): Broken pipe [2018-11-23 09:59:30,248 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 09:59:30,248 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2018-11-23 09:59:30,249 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 26 [2018-11-23 09:59:30,249 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 09:59:30,249 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states. [2018-11-23 09:59:30,310 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 24 edges. 24 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 09:59:30,310 INFO L459 AbstractCegarLoop]: Interpolant automaton has 7 states [2018-11-23 09:59:30,310 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2018-11-23 09:59:30,310 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=12, Invalid=30, Unknown=0, NotChecked=0, Total=42 [2018-11-23 09:59:30,310 INFO L87 Difference]: Start difference. First operand 82 states and 113 transitions. Second operand 7 states. [2018-11-23 09:59:31,561 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 09:59:31,561 INFO L93 Difference]: Finished difference Result 96 states and 128 transitions. [2018-11-23 09:59:31,561 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-11-23 09:59:31,561 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 26 [2018-11-23 09:59:31,561 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 09:59:31,562 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2018-11-23 09:59:31,563 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 86 transitions. [2018-11-23 09:59:31,563 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2018-11-23 09:59:31,563 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 86 transitions. [2018-11-23 09:59:31,564 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 86 transitions. [2018-11-23 09:59:31,702 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 86 edges. 86 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 09:59:31,704 INFO L225 Difference]: With dead ends: 96 [2018-11-23 09:59:31,704 INFO L226 Difference]: Without dead ends: 85 [2018-11-23 09:59:31,704 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 28 GetRequests, 20 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 3 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=26, Invalid=64, Unknown=0, NotChecked=0, Total=90 [2018-11-23 09:59:31,705 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 85 states. [2018-11-23 09:59:31,750 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 85 to 81. [2018-11-23 09:59:31,751 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 09:59:31,751 INFO L82 GeneralOperation]: Start isEquivalent. First operand 85 states. Second operand 81 states. [2018-11-23 09:59:31,751 INFO L74 IsIncluded]: Start isIncluded. First operand 85 states. Second operand 81 states. [2018-11-23 09:59:31,751 INFO L87 Difference]: Start difference. First operand 85 states. Second operand 81 states. [2018-11-23 09:59:31,753 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 09:59:31,753 INFO L93 Difference]: Finished difference Result 85 states and 116 transitions. [2018-11-23 09:59:31,753 INFO L276 IsEmpty]: Start isEmpty. Operand 85 states and 116 transitions. [2018-11-23 09:59:31,754 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 09:59:31,754 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 09:59:31,754 INFO L74 IsIncluded]: Start isIncluded. First operand 81 states. Second operand 85 states. [2018-11-23 09:59:31,754 INFO L87 Difference]: Start difference. First operand 81 states. Second operand 85 states. [2018-11-23 09:59:31,757 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 09:59:31,757 INFO L93 Difference]: Finished difference Result 85 states and 116 transitions. [2018-11-23 09:59:31,757 INFO L276 IsEmpty]: Start isEmpty. Operand 85 states and 116 transitions. [2018-11-23 09:59:31,758 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 09:59:31,758 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 09:59:31,758 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 09:59:31,758 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 09:59:31,759 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 81 states. [2018-11-23 09:59:31,761 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 81 states to 81 states and 110 transitions. [2018-11-23 09:59:31,761 INFO L78 Accepts]: Start accepts. Automaton has 81 states and 110 transitions. Word has length 26 [2018-11-23 09:59:31,761 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 09:59:31,761 INFO L480 AbstractCegarLoop]: Abstraction has 81 states and 110 transitions. [2018-11-23 09:59:31,761 INFO L481 AbstractCegarLoop]: Interpolant automaton has 7 states. [2018-11-23 09:59:31,762 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 110 transitions. [2018-11-23 09:59:31,762 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 28 [2018-11-23 09:59:31,762 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 09:59:31,762 INFO L402 BasicCegarLoop]: trace histogram [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] [2018-11-23 09:59:31,763 INFO L423 AbstractCegarLoop]: === Iteration 11 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 09:59:31,763 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 09:59:31,763 INFO L82 PathProgramCache]: Analyzing trace with hash 1905565920, now seen corresponding path program 1 times [2018-11-23 09:59:31,763 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 09:59:31,763 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4nyu Starting monitored process 12 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 12 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk [2018-11-23 09:59:31,790 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 09:59:31,835 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 09:59:31,864 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 09:59:31,865 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 09:59:32,103 INFO L256 TraceCheckUtils]: 0: Hoare triple {4893#true} call ULTIMATE.init(); {4893#true} is VALID [2018-11-23 09:59:32,103 INFO L273 TraceCheckUtils]: 1: Hoare triple {4893#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {4893#true} is VALID [2018-11-23 09:59:32,103 INFO L273 TraceCheckUtils]: 2: Hoare triple {4893#true} assume true; {4893#true} is VALID [2018-11-23 09:59:32,104 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {4893#true} {4893#true} #156#return; {4893#true} is VALID [2018-11-23 09:59:32,104 INFO L256 TraceCheckUtils]: 4: Hoare triple {4893#true} call #t~ret28 := main(); {4893#true} is VALID [2018-11-23 09:59:32,105 INFO L273 TraceCheckUtils]: 5: Hoare triple {4893#true} ~pat_len~0 := #t~nondet6;havoc #t~nondet6;~a_len~0 := #t~nondet7;havoc #t~nondet7;call #t~malloc8.base, #t~malloc8.offset := #Ultimate.alloc(~bvmul32(4bv32, ~pat_len~0));~pat~0.base, ~pat~0.offset := #t~malloc8.base, #t~malloc8.offset;call #t~malloc9.base, #t~malloc9.offset := #Ultimate.alloc(~bvmul32(4bv32, ~a_len~0));~a~0.base, ~a~0.offset := #t~malloc9.base, #t~malloc9.offset;~j~0 := 0bv32; {4913#(= main_~j~0 (_ bv0 32))} is VALID [2018-11-23 09:59:32,105 INFO L273 TraceCheckUtils]: 6: Hoare triple {4913#(= main_~j~0 (_ bv0 32))} assume !!~bvult32(~j~0, ~pat_len~0);call write~intINTTYPE4(#t~nondet11, ~pat~0.base, ~bvadd32(~pat~0.offset, ~bvmul32(4bv32, ~j~0)), 4bv32);havoc #t~nondet11; {4913#(= main_~j~0 (_ bv0 32))} is VALID [2018-11-23 09:59:32,106 INFO L273 TraceCheckUtils]: 7: Hoare triple {4913#(= main_~j~0 (_ bv0 32))} #t~post10 := ~j~0;~j~0 := ~bvadd32(1bv32, #t~post10);havoc #t~post10; {4920#(= (bvadd main_~j~0 (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 09:59:32,106 INFO L273 TraceCheckUtils]: 8: Hoare triple {4920#(= (bvadd main_~j~0 (_ bv4294967295 32)) (_ bv0 32))} assume !~bvult32(~j~0, ~pat_len~0); {4924#(not (bvult (_ bv1 32) main_~pat_len~0))} is VALID [2018-11-23 09:59:32,106 INFO L273 TraceCheckUtils]: 9: Hoare triple {4924#(not (bvult (_ bv1 32) main_~pat_len~0))} ~j~1 := 0bv32; {4928#(and (not (bvult (_ bv1 32) main_~pat_len~0)) (= main_~j~1 (_ bv0 32)))} is VALID [2018-11-23 09:59:32,107 INFO L273 TraceCheckUtils]: 10: Hoare triple {4928#(and (not (bvult (_ bv1 32) main_~pat_len~0)) (= main_~j~1 (_ bv0 32)))} assume !!~bvult32(~j~1, ~a_len~0);call write~intINTTYPE4(#t~nondet13, ~a~0.base, ~bvadd32(~a~0.offset, ~bvmul32(4bv32, ~j~1)), 4bv32);havoc #t~nondet13; {4928#(and (not (bvult (_ bv1 32) main_~pat_len~0)) (= main_~j~1 (_ bv0 32)))} is VALID [2018-11-23 09:59:32,108 INFO L273 TraceCheckUtils]: 11: Hoare triple {4928#(and (not (bvult (_ bv1 32) main_~pat_len~0)) (= main_~j~1 (_ bv0 32)))} #t~post12 := ~j~1;~j~1 := ~bvadd32(1bv32, #t~post12);havoc #t~post12; {4935#(and (not (bvult (_ bv1 32) main_~pat_len~0)) (= (_ bv1 32) main_~j~1))} is VALID [2018-11-23 09:59:32,109 INFO L273 TraceCheckUtils]: 12: Hoare triple {4935#(and (not (bvult (_ bv1 32) main_~pat_len~0)) (= (_ bv1 32) main_~j~1))} assume !!~bvult32(~j~1, ~a_len~0);call write~intINTTYPE4(#t~nondet13, ~a~0.base, ~bvadd32(~a~0.offset, ~bvmul32(4bv32, ~j~1)), 4bv32);havoc #t~nondet13; {4939#(and (not (bvult (_ bv1 32) main_~pat_len~0)) (= (_ bv1 32) main_~j~1) (bvult main_~j~1 main_~a_len~0))} is VALID [2018-11-23 09:59:32,110 INFO L273 TraceCheckUtils]: 13: Hoare triple {4939#(and (not (bvult (_ bv1 32) main_~pat_len~0)) (= (_ bv1 32) main_~j~1) (bvult main_~j~1 main_~a_len~0))} #t~post12 := ~j~1;~j~1 := ~bvadd32(1bv32, #t~post12);havoc #t~post12; {4943#(and (not (bvult (_ bv1 32) main_~pat_len~0)) (= (_ bv2 32) main_~j~1) (bvult (_ bv1 32) main_~a_len~0))} is VALID [2018-11-23 09:59:32,110 INFO L273 TraceCheckUtils]: 14: Hoare triple {4943#(and (not (bvult (_ bv1 32) main_~pat_len~0)) (= (_ bv2 32) main_~j~1) (bvult (_ bv1 32) main_~a_len~0))} assume !~bvult32(~j~1, ~a_len~0); {4947#(and (not (bvult (_ bv1 32) main_~pat_len~0)) (not (bvult (_ bv2 32) main_~a_len~0)) (bvult (_ bv1 32) main_~a_len~0))} is VALID [2018-11-23 09:59:32,111 INFO L256 TraceCheckUtils]: 15: Hoare triple {4947#(and (not (bvult (_ bv1 32) main_~pat_len~0)) (not (bvult (_ bv2 32) main_~a_len~0)) (bvult (_ bv1 32) main_~a_len~0))} call #t~ret14 := is_relaxed_prefix(~pat~0.base, ~pat~0.offset, ~pat_len~0, ~a~0.base, ~a~0.offset, ~a_len~0); {4893#true} is VALID [2018-11-23 09:59:32,111 INFO L273 TraceCheckUtils]: 16: Hoare triple {4893#true} ~pat.base, ~pat.offset := #in~pat.base, #in~pat.offset;~pat_length := #in~pat_length;~a.base, ~a.offset := #in~a.base, #in~a.offset;~a_length := #in~a_length; {4893#true} is VALID [2018-11-23 09:59:32,111 INFO L273 TraceCheckUtils]: 17: Hoare triple {4893#true} assume !~bvugt32(~pat_length, ~bvadd32(1bv32, ~a_length));~shift~0 := 0bv32;~i~0 := 0bv32; {4893#true} is VALID [2018-11-23 09:59:32,111 INFO L273 TraceCheckUtils]: 18: Hoare triple {4893#true} assume !(~bvult32(~i~0, ~pat_length) && ~bvult32(~i~0, ~a_length)); {4893#true} is VALID [2018-11-23 09:59:32,112 INFO L273 TraceCheckUtils]: 19: Hoare triple {4893#true} assume !(~bvugt32(~pat_length, ~a_length) && 1bv32 == ~shift~0);#res := 1bv8; {4893#true} is VALID [2018-11-23 09:59:32,112 INFO L273 TraceCheckUtils]: 20: Hoare triple {4893#true} assume true; {4893#true} is VALID [2018-11-23 09:59:32,135 INFO L268 TraceCheckUtils]: 21: Hoare quadruple {4893#true} {4947#(and (not (bvult (_ bv1 32) main_~pat_len~0)) (not (bvult (_ bv2 32) main_~a_len~0)) (bvult (_ bv1 32) main_~a_len~0))} #160#return; {4947#(and (not (bvult (_ bv1 32) main_~pat_len~0)) (not (bvult (_ bv2 32) main_~a_len~0)) (bvult (_ bv1 32) main_~a_len~0))} is VALID [2018-11-23 09:59:32,150 INFO L273 TraceCheckUtils]: 22: Hoare triple {4947#(and (not (bvult (_ bv1 32) main_~pat_len~0)) (not (bvult (_ bv2 32) main_~a_len~0)) (bvult (_ bv1 32) main_~a_len~0))} assume 0bv8 != #t~ret14;havoc #t~ret14; {4947#(and (not (bvult (_ bv1 32) main_~pat_len~0)) (not (bvult (_ bv2 32) main_~a_len~0)) (bvult (_ bv1 32) main_~a_len~0))} is VALID [2018-11-23 09:59:32,164 INFO L256 TraceCheckUtils]: 23: Hoare triple {4947#(and (not (bvult (_ bv1 32) main_~pat_len~0)) (not (bvult (_ bv2 32) main_~a_len~0)) (bvult (_ bv1 32) main_~a_len~0))} call __VERIFIER_assert((if ~bvule32(~pat_len~0, ~bvadd32(1bv32, ~a_len~0)) then 1bv32 else 0bv32)); {4975#(= (bvadd |__VERIFIER_assert_#in~cond| (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 09:59:32,178 INFO L273 TraceCheckUtils]: 24: Hoare triple {4975#(= (bvadd |__VERIFIER_assert_#in~cond| (_ bv4294967295 32)) (_ bv0 32))} ~cond := #in~cond; {4979#(= (bvadd __VERIFIER_assert_~cond (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 09:59:32,180 INFO L273 TraceCheckUtils]: 25: Hoare triple {4979#(= (bvadd __VERIFIER_assert_~cond (_ bv4294967295 32)) (_ bv0 32))} assume 0bv32 == ~cond; {4894#false} is VALID [2018-11-23 09:59:32,180 INFO L273 TraceCheckUtils]: 26: Hoare triple {4894#false} assume !false; {4894#false} is VALID [2018-11-23 09:59:32,181 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 0 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 09:59:32,181 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-23 09:59:33,039 INFO L273 TraceCheckUtils]: 26: Hoare triple {4894#false} assume !false; {4894#false} is VALID [2018-11-23 09:59:33,040 INFO L273 TraceCheckUtils]: 25: Hoare triple {4989#(not (= (_ bv0 32) __VERIFIER_assert_~cond))} assume 0bv32 == ~cond; {4894#false} is VALID [2018-11-23 09:59:33,040 INFO L273 TraceCheckUtils]: 24: Hoare triple {4993#(not (= |__VERIFIER_assert_#in~cond| (_ bv0 32)))} ~cond := #in~cond; {4989#(not (= (_ bv0 32) __VERIFIER_assert_~cond))} is VALID [2018-11-23 09:59:33,041 INFO L256 TraceCheckUtils]: 23: Hoare triple {4997#(bvule main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32)))} call __VERIFIER_assert((if ~bvule32(~pat_len~0, ~bvadd32(1bv32, ~a_len~0)) then 1bv32 else 0bv32)); {4993#(not (= |__VERIFIER_assert_#in~cond| (_ bv0 32)))} is VALID [2018-11-23 09:59:33,042 INFO L273 TraceCheckUtils]: 22: Hoare triple {4997#(bvule main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32)))} assume 0bv8 != #t~ret14;havoc #t~ret14; {4997#(bvule main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32)))} is VALID [2018-11-23 09:59:33,043 INFO L268 TraceCheckUtils]: 21: Hoare quadruple {4893#true} {4997#(bvule main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32)))} #160#return; {4997#(bvule main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32)))} is VALID [2018-11-23 09:59:33,044 INFO L273 TraceCheckUtils]: 20: Hoare triple {4893#true} assume true; {4893#true} is VALID [2018-11-23 09:59:33,044 INFO L273 TraceCheckUtils]: 19: Hoare triple {4893#true} assume !(~bvugt32(~pat_length, ~a_length) && 1bv32 == ~shift~0);#res := 1bv8; {4893#true} is VALID [2018-11-23 09:59:33,045 INFO L273 TraceCheckUtils]: 18: Hoare triple {4893#true} assume !(~bvult32(~i~0, ~pat_length) && ~bvult32(~i~0, ~a_length)); {4893#true} is VALID [2018-11-23 09:59:33,045 INFO L273 TraceCheckUtils]: 17: Hoare triple {4893#true} assume !~bvugt32(~pat_length, ~bvadd32(1bv32, ~a_length));~shift~0 := 0bv32;~i~0 := 0bv32; {4893#true} is VALID [2018-11-23 09:59:33,045 INFO L273 TraceCheckUtils]: 16: Hoare triple {4893#true} ~pat.base, ~pat.offset := #in~pat.base, #in~pat.offset;~pat_length := #in~pat_length;~a.base, ~a.offset := #in~a.base, #in~a.offset;~a_length := #in~a_length; {4893#true} is VALID [2018-11-23 09:59:33,046 INFO L256 TraceCheckUtils]: 15: Hoare triple {4997#(bvule main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32)))} call #t~ret14 := is_relaxed_prefix(~pat~0.base, ~pat~0.offset, ~pat_len~0, ~a~0.base, ~a~0.offset, ~a_len~0); {4893#true} is VALID [2018-11-23 09:59:33,046 INFO L273 TraceCheckUtils]: 14: Hoare triple {5025#(or (bvule main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32))) (bvult main_~j~1 main_~a_len~0))} assume !~bvult32(~j~1, ~a_len~0); {4997#(bvule main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32)))} is VALID [2018-11-23 09:59:33,047 INFO L273 TraceCheckUtils]: 13: Hoare triple {5029#(or (bvule main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32))) (bvult (bvadd main_~j~1 (_ bv1 32)) main_~a_len~0))} #t~post12 := ~j~1;~j~1 := ~bvadd32(1bv32, #t~post12);havoc #t~post12; {5025#(or (bvule main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32))) (bvult main_~j~1 main_~a_len~0))} is VALID [2018-11-23 09:59:33,050 INFO L273 TraceCheckUtils]: 12: Hoare triple {5033#(forall ((main_~a_len~0 (_ BitVec 32))) (or (bvule main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32))) (not (bvult main_~j~1 main_~a_len~0)) (bvult (bvadd main_~j~1 (_ bv1 32)) main_~a_len~0)))} assume !!~bvult32(~j~1, ~a_len~0);call write~intINTTYPE4(#t~nondet13, ~a~0.base, ~bvadd32(~a~0.offset, ~bvmul32(4bv32, ~j~1)), 4bv32);havoc #t~nondet13; {5029#(or (bvule main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32))) (bvult (bvadd main_~j~1 (_ bv1 32)) main_~a_len~0))} is VALID [2018-11-23 09:59:33,086 INFO L273 TraceCheckUtils]: 11: Hoare triple {5037#(forall ((main_~a_len~0 (_ BitVec 32))) (or (bvule main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32))) (not (bvult (bvadd main_~j~1 (_ bv1 32)) main_~a_len~0)) (bvult (bvadd main_~j~1 (_ bv2 32)) main_~a_len~0)))} #t~post12 := ~j~1;~j~1 := ~bvadd32(1bv32, #t~post12);havoc #t~post12; {5033#(forall ((main_~a_len~0 (_ BitVec 32))) (or (bvule main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32))) (not (bvult main_~j~1 main_~a_len~0)) (bvult (bvadd main_~j~1 (_ bv1 32)) main_~a_len~0)))} is VALID [2018-11-23 09:59:33,086 INFO L273 TraceCheckUtils]: 10: Hoare triple {5037#(forall ((main_~a_len~0 (_ BitVec 32))) (or (bvule main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32))) (not (bvult (bvadd main_~j~1 (_ bv1 32)) main_~a_len~0)) (bvult (bvadd main_~j~1 (_ bv2 32)) main_~a_len~0)))} assume !!~bvult32(~j~1, ~a_len~0);call write~intINTTYPE4(#t~nondet13, ~a~0.base, ~bvadd32(~a~0.offset, ~bvmul32(4bv32, ~j~1)), 4bv32);havoc #t~nondet13; {5037#(forall ((main_~a_len~0 (_ BitVec 32))) (or (bvule main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32))) (not (bvult (bvadd main_~j~1 (_ bv1 32)) main_~a_len~0)) (bvult (bvadd main_~j~1 (_ bv2 32)) main_~a_len~0)))} is VALID [2018-11-23 09:59:33,087 INFO L273 TraceCheckUtils]: 9: Hoare triple {5044#(forall ((main_~a_len~0 (_ BitVec 32))) (or (bvule main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32))) (not (bvult (_ bv1 32) main_~a_len~0)) (bvult (_ bv2 32) main_~a_len~0)))} ~j~1 := 0bv32; {5037#(forall ((main_~a_len~0 (_ BitVec 32))) (or (bvule main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32))) (not (bvult (bvadd main_~j~1 (_ bv1 32)) main_~a_len~0)) (bvult (bvadd main_~j~1 (_ bv2 32)) main_~a_len~0)))} is VALID [2018-11-23 09:59:33,091 INFO L273 TraceCheckUtils]: 8: Hoare triple {5048#(forall ((main_~pat_len~0 (_ BitVec 32)) (main_~a_len~0 (_ BitVec 32))) (or (bvule main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32))) (not (bvult (_ bv1 32) main_~a_len~0)) (bvult (_ bv2 32) main_~a_len~0) (bvult main_~j~0 main_~pat_len~0)))} assume !~bvult32(~j~0, ~pat_len~0); {5044#(forall ((main_~a_len~0 (_ BitVec 32))) (or (bvule main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32))) (not (bvult (_ bv1 32) main_~a_len~0)) (bvult (_ bv2 32) main_~a_len~0)))} is VALID [2018-11-23 09:59:33,095 INFO L273 TraceCheckUtils]: 7: Hoare triple {5052#(forall ((main_~pat_len~0 (_ BitVec 32)) (main_~a_len~0 (_ BitVec 32))) (or (bvule main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32))) (bvult (bvadd main_~j~0 (_ bv1 32)) main_~pat_len~0) (not (bvult (_ bv1 32) main_~a_len~0)) (bvult (_ bv2 32) main_~a_len~0)))} #t~post10 := ~j~0;~j~0 := ~bvadd32(1bv32, #t~post10);havoc #t~post10; {5048#(forall ((main_~pat_len~0 (_ BitVec 32)) (main_~a_len~0 (_ BitVec 32))) (or (bvule main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32))) (not (bvult (_ bv1 32) main_~a_len~0)) (bvult (_ bv2 32) main_~a_len~0) (bvult main_~j~0 main_~pat_len~0)))} is VALID [2018-11-23 09:59:33,095 INFO L273 TraceCheckUtils]: 6: Hoare triple {5052#(forall ((main_~pat_len~0 (_ BitVec 32)) (main_~a_len~0 (_ BitVec 32))) (or (bvule main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32))) (bvult (bvadd main_~j~0 (_ bv1 32)) main_~pat_len~0) (not (bvult (_ bv1 32) main_~a_len~0)) (bvult (_ bv2 32) main_~a_len~0)))} assume !!~bvult32(~j~0, ~pat_len~0);call write~intINTTYPE4(#t~nondet11, ~pat~0.base, ~bvadd32(~pat~0.offset, ~bvmul32(4bv32, ~j~0)), 4bv32);havoc #t~nondet11; {5052#(forall ((main_~pat_len~0 (_ BitVec 32)) (main_~a_len~0 (_ BitVec 32))) (or (bvule main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32))) (bvult (bvadd main_~j~0 (_ bv1 32)) main_~pat_len~0) (not (bvult (_ bv1 32) main_~a_len~0)) (bvult (_ bv2 32) main_~a_len~0)))} is VALID [2018-11-23 09:59:33,098 INFO L273 TraceCheckUtils]: 5: Hoare triple {4893#true} ~pat_len~0 := #t~nondet6;havoc #t~nondet6;~a_len~0 := #t~nondet7;havoc #t~nondet7;call #t~malloc8.base, #t~malloc8.offset := #Ultimate.alloc(~bvmul32(4bv32, ~pat_len~0));~pat~0.base, ~pat~0.offset := #t~malloc8.base, #t~malloc8.offset;call #t~malloc9.base, #t~malloc9.offset := #Ultimate.alloc(~bvmul32(4bv32, ~a_len~0));~a~0.base, ~a~0.offset := #t~malloc9.base, #t~malloc9.offset;~j~0 := 0bv32; {5052#(forall ((main_~pat_len~0 (_ BitVec 32)) (main_~a_len~0 (_ BitVec 32))) (or (bvule main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32))) (bvult (bvadd main_~j~0 (_ bv1 32)) main_~pat_len~0) (not (bvult (_ bv1 32) main_~a_len~0)) (bvult (_ bv2 32) main_~a_len~0)))} is VALID [2018-11-23 09:59:33,098 INFO L256 TraceCheckUtils]: 4: Hoare triple {4893#true} call #t~ret28 := main(); {4893#true} is VALID [2018-11-23 09:59:33,099 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {4893#true} {4893#true} #156#return; {4893#true} is VALID [2018-11-23 09:59:33,099 INFO L273 TraceCheckUtils]: 2: Hoare triple {4893#true} assume true; {4893#true} is VALID [2018-11-23 09:59:33,099 INFO L273 TraceCheckUtils]: 1: Hoare triple {4893#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {4893#true} is VALID [2018-11-23 09:59:33,099 INFO L256 TraceCheckUtils]: 0: Hoare triple {4893#true} call ULTIMATE.init(); {4893#true} is VALID [2018-11-23 09:59:33,101 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 0 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 09:59:33,103 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 09:59:33,103 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 12] total 22 [2018-11-23 09:59:33,103 INFO L78 Accepts]: Start accepts. Automaton has 22 states. Word has length 27 [2018-11-23 09:59:33,103 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 09:59:33,104 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 22 states. [2018-11-23 09:59:33,209 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 43 edges. 43 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 09:59:33,209 INFO L459 AbstractCegarLoop]: Interpolant automaton has 22 states [2018-11-23 09:59:33,210 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 22 interpolants. [2018-11-23 09:59:33,210 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=80, Invalid=382, Unknown=0, NotChecked=0, Total=462 [2018-11-23 09:59:33,210 INFO L87 Difference]: Start difference. First operand 81 states and 110 transitions. Second operand 22 states. [2018-11-23 09:59:35,412 WARN L180 SmtUtils]: Spent 168.00 ms on a formula simplification that was a NOOP. DAG size: 30 [2018-11-23 09:59:37,543 WARN L180 SmtUtils]: Spent 433.00 ms on a formula simplification. DAG size of input: 29 DAG size of output: 28 [2018-11-23 09:59:37,827 WARN L180 SmtUtils]: Spent 106.00 ms on a formula simplification that was a NOOP. DAG size: 26 [2018-11-23 09:59:38,365 WARN L180 SmtUtils]: Spent 186.00 ms on a formula simplification. DAG size of input: 28 DAG size of output: 27 [2018-11-23 09:59:40,606 WARN L180 SmtUtils]: Spent 263.00 ms on a formula simplification. DAG size of input: 25 DAG size of output: 24 [2018-11-23 09:59:40,846 WARN L180 SmtUtils]: Spent 102.00 ms on a formula simplification. DAG size of input: 22 DAG size of output: 21 [2018-11-23 09:59:45,394 WARN L180 SmtUtils]: Spent 106.00 ms on a formula simplification that was a NOOP. DAG size: 27 [2018-11-23 09:59:55,617 WARN L180 SmtUtils]: Spent 103.00 ms on a formula simplification that was a NOOP. DAG size: 24 [2018-11-23 09:59:56,258 WARN L180 SmtUtils]: Spent 148.00 ms on a formula simplification that was a NOOP. DAG size: 28 [2018-11-23 09:59:59,772 WARN L180 SmtUtils]: Spent 105.00 ms on a formula simplification that was a NOOP. DAG size: 28 [2018-11-23 10:00:02,732 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:00:02,732 INFO L93 Difference]: Finished difference Result 372 states and 549 transitions. [2018-11-23 10:00:02,732 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 46 states. [2018-11-23 10:00:02,732 INFO L78 Accepts]: Start accepts. Automaton has 22 states. Word has length 27 [2018-11-23 10:00:02,733 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 10:00:02,733 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 22 states. [2018-11-23 10:00:02,740 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 46 states to 46 states and 505 transitions. [2018-11-23 10:00:02,740 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 22 states. [2018-11-23 10:00:02,747 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 46 states to 46 states and 505 transitions. [2018-11-23 10:00:02,747 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 46 states and 505 transitions. [2018-11-23 10:00:07,223 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 505 edges. 505 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:00:07,235 INFO L225 Difference]: With dead ends: 372 [2018-11-23 10:00:07,235 INFO L226 Difference]: Without dead ends: 365 [2018-11-23 10:00:07,237 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 90 GetRequests, 33 SyntacticMatches, 0 SemanticMatches, 57 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 893 ImplicationChecksByTransitivity, 6.5s TimeCoverageRelationStatistics Valid=760, Invalid=2662, Unknown=0, NotChecked=0, Total=3422 [2018-11-23 10:00:07,237 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 365 states. [2018-11-23 10:00:07,371 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 365 to 116. [2018-11-23 10:00:07,372 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 10:00:07,372 INFO L82 GeneralOperation]: Start isEquivalent. First operand 365 states. Second operand 116 states. [2018-11-23 10:00:07,372 INFO L74 IsIncluded]: Start isIncluded. First operand 365 states. Second operand 116 states. [2018-11-23 10:00:07,372 INFO L87 Difference]: Start difference. First operand 365 states. Second operand 116 states. [2018-11-23 10:00:07,387 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:00:07,388 INFO L93 Difference]: Finished difference Result 365 states and 541 transitions. [2018-11-23 10:00:07,388 INFO L276 IsEmpty]: Start isEmpty. Operand 365 states and 541 transitions. [2018-11-23 10:00:07,390 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:00:07,390 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:00:07,391 INFO L74 IsIncluded]: Start isIncluded. First operand 116 states. Second operand 365 states. [2018-11-23 10:00:07,391 INFO L87 Difference]: Start difference. First operand 116 states. Second operand 365 states. [2018-11-23 10:00:07,405 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:00:07,405 INFO L93 Difference]: Finished difference Result 365 states and 541 transitions. [2018-11-23 10:00:07,405 INFO L276 IsEmpty]: Start isEmpty. Operand 365 states and 541 transitions. [2018-11-23 10:00:07,408 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:00:07,408 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:00:07,408 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 10:00:07,408 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 10:00:07,408 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 116 states. [2018-11-23 10:00:07,412 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 116 states to 116 states and 166 transitions. [2018-11-23 10:00:07,412 INFO L78 Accepts]: Start accepts. Automaton has 116 states and 166 transitions. Word has length 27 [2018-11-23 10:00:07,413 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 10:00:07,413 INFO L480 AbstractCegarLoop]: Abstraction has 116 states and 166 transitions. [2018-11-23 10:00:07,413 INFO L481 AbstractCegarLoop]: Interpolant automaton has 22 states. [2018-11-23 10:00:07,413 INFO L276 IsEmpty]: Start isEmpty. Operand 116 states and 166 transitions. [2018-11-23 10:00:07,414 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 28 [2018-11-23 10:00:07,414 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 10:00:07,414 INFO L402 BasicCegarLoop]: trace histogram [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] [2018-11-23 10:00:07,414 INFO L423 AbstractCegarLoop]: === Iteration 12 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 10:00:07,415 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 10:00:07,415 INFO L82 PathProgramCache]: Analyzing trace with hash 542200096, now seen corresponding path program 2 times [2018-11-23 10:00:07,415 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 10:00:07,415 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4nyu Starting monitored process 13 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 13 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk [2018-11-23 10:00:07,444 INFO L101 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2018-11-23 10:00:07,495 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2018-11-23 10:00:07,496 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 10:00:07,527 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:00:07,529 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 10:00:08,035 INFO L256 TraceCheckUtils]: 0: Hoare triple {6534#true} call ULTIMATE.init(); {6534#true} is VALID [2018-11-23 10:00:08,036 INFO L273 TraceCheckUtils]: 1: Hoare triple {6534#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {6534#true} is VALID [2018-11-23 10:00:08,036 INFO L273 TraceCheckUtils]: 2: Hoare triple {6534#true} assume true; {6534#true} is VALID [2018-11-23 10:00:08,036 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {6534#true} {6534#true} #156#return; {6534#true} is VALID [2018-11-23 10:00:08,036 INFO L256 TraceCheckUtils]: 4: Hoare triple {6534#true} call #t~ret28 := main(); {6534#true} is VALID [2018-11-23 10:00:08,036 INFO L273 TraceCheckUtils]: 5: Hoare triple {6534#true} ~pat_len~0 := #t~nondet6;havoc #t~nondet6;~a_len~0 := #t~nondet7;havoc #t~nondet7;call #t~malloc8.base, #t~malloc8.offset := #Ultimate.alloc(~bvmul32(4bv32, ~pat_len~0));~pat~0.base, ~pat~0.offset := #t~malloc8.base, #t~malloc8.offset;call #t~malloc9.base, #t~malloc9.offset := #Ultimate.alloc(~bvmul32(4bv32, ~a_len~0));~a~0.base, ~a~0.offset := #t~malloc9.base, #t~malloc9.offset;~j~0 := 0bv32; {6534#true} is VALID [2018-11-23 10:00:08,037 INFO L273 TraceCheckUtils]: 6: Hoare triple {6534#true} assume !!~bvult32(~j~0, ~pat_len~0);call write~intINTTYPE4(#t~nondet11, ~pat~0.base, ~bvadd32(~pat~0.offset, ~bvmul32(4bv32, ~j~0)), 4bv32);havoc #t~nondet11; {6534#true} is VALID [2018-11-23 10:00:08,037 INFO L273 TraceCheckUtils]: 7: Hoare triple {6534#true} #t~post10 := ~j~0;~j~0 := ~bvadd32(1bv32, #t~post10);havoc #t~post10; {6534#true} is VALID [2018-11-23 10:00:08,037 INFO L273 TraceCheckUtils]: 8: Hoare triple {6534#true} assume !!~bvult32(~j~0, ~pat_len~0);call write~intINTTYPE4(#t~nondet11, ~pat~0.base, ~bvadd32(~pat~0.offset, ~bvmul32(4bv32, ~j~0)), 4bv32);havoc #t~nondet11; {6534#true} is VALID [2018-11-23 10:00:08,037 INFO L273 TraceCheckUtils]: 9: Hoare triple {6534#true} #t~post10 := ~j~0;~j~0 := ~bvadd32(1bv32, #t~post10);havoc #t~post10; {6534#true} is VALID [2018-11-23 10:00:08,037 INFO L273 TraceCheckUtils]: 10: Hoare triple {6534#true} assume !~bvult32(~j~0, ~pat_len~0); {6534#true} is VALID [2018-11-23 10:00:08,037 INFO L273 TraceCheckUtils]: 11: Hoare triple {6534#true} ~j~1 := 0bv32; {6534#true} is VALID [2018-11-23 10:00:08,037 INFO L273 TraceCheckUtils]: 12: Hoare triple {6534#true} assume !!~bvult32(~j~1, ~a_len~0);call write~intINTTYPE4(#t~nondet13, ~a~0.base, ~bvadd32(~a~0.offset, ~bvmul32(4bv32, ~j~1)), 4bv32);havoc #t~nondet13; {6534#true} is VALID [2018-11-23 10:00:08,038 INFO L273 TraceCheckUtils]: 13: Hoare triple {6534#true} #t~post12 := ~j~1;~j~1 := ~bvadd32(1bv32, #t~post12);havoc #t~post12; {6534#true} is VALID [2018-11-23 10:00:08,038 INFO L273 TraceCheckUtils]: 14: Hoare triple {6534#true} assume !~bvult32(~j~1, ~a_len~0); {6534#true} is VALID [2018-11-23 10:00:08,038 INFO L256 TraceCheckUtils]: 15: Hoare triple {6534#true} call #t~ret14 := is_relaxed_prefix(~pat~0.base, ~pat~0.offset, ~pat_len~0, ~a~0.base, ~a~0.offset, ~a_len~0); {6534#true} is VALID [2018-11-23 10:00:08,039 INFO L273 TraceCheckUtils]: 16: Hoare triple {6534#true} ~pat.base, ~pat.offset := #in~pat.base, #in~pat.offset;~pat_length := #in~pat_length;~a.base, ~a.offset := #in~a.base, #in~a.offset;~a_length := #in~a_length; {6587#(and (= |is_relaxed_prefix_#in~a_length| is_relaxed_prefix_~a_length) (= |is_relaxed_prefix_#in~pat_length| is_relaxed_prefix_~pat_length))} is VALID [2018-11-23 10:00:08,041 INFO L273 TraceCheckUtils]: 17: Hoare triple {6587#(and (= |is_relaxed_prefix_#in~a_length| is_relaxed_prefix_~a_length) (= |is_relaxed_prefix_#in~pat_length| is_relaxed_prefix_~pat_length))} assume !~bvugt32(~pat_length, ~bvadd32(1bv32, ~a_length));~shift~0 := 0bv32;~i~0 := 0bv32; {6591#(and (= (_ bv0 32) is_relaxed_prefix_~i~0) (= |is_relaxed_prefix_#in~a_length| is_relaxed_prefix_~a_length) (not (bvugt is_relaxed_prefix_~pat_length (bvadd is_relaxed_prefix_~a_length (_ bv1 32)))) (= |is_relaxed_prefix_#in~pat_length| is_relaxed_prefix_~pat_length))} is VALID [2018-11-23 10:00:08,041 INFO L273 TraceCheckUtils]: 18: Hoare triple {6591#(and (= (_ bv0 32) is_relaxed_prefix_~i~0) (= |is_relaxed_prefix_#in~a_length| is_relaxed_prefix_~a_length) (not (bvugt is_relaxed_prefix_~pat_length (bvadd is_relaxed_prefix_~a_length (_ bv1 32)))) (= |is_relaxed_prefix_#in~pat_length| is_relaxed_prefix_~pat_length))} assume !(~bvult32(~i~0, ~pat_length) && ~bvult32(~i~0, ~a_length)); {6595#(and (or (not (bvult (_ bv0 32) |is_relaxed_prefix_#in~pat_length|)) (not (bvult (_ bv0 32) |is_relaxed_prefix_#in~a_length|))) (not (bvugt |is_relaxed_prefix_#in~pat_length| (bvadd |is_relaxed_prefix_#in~a_length| (_ bv1 32)))))} is VALID [2018-11-23 10:00:08,042 INFO L273 TraceCheckUtils]: 19: Hoare triple {6595#(and (or (not (bvult (_ bv0 32) |is_relaxed_prefix_#in~pat_length|)) (not (bvult (_ bv0 32) |is_relaxed_prefix_#in~a_length|))) (not (bvugt |is_relaxed_prefix_#in~pat_length| (bvadd |is_relaxed_prefix_#in~a_length| (_ bv1 32)))))} assume !(~bvugt32(~pat_length, ~a_length) && 1bv32 == ~shift~0);#res := 1bv8; {6595#(and (or (not (bvult (_ bv0 32) |is_relaxed_prefix_#in~pat_length|)) (not (bvult (_ bv0 32) |is_relaxed_prefix_#in~a_length|))) (not (bvugt |is_relaxed_prefix_#in~pat_length| (bvadd |is_relaxed_prefix_#in~a_length| (_ bv1 32)))))} is VALID [2018-11-23 10:00:08,042 INFO L273 TraceCheckUtils]: 20: Hoare triple {6595#(and (or (not (bvult (_ bv0 32) |is_relaxed_prefix_#in~pat_length|)) (not (bvult (_ bv0 32) |is_relaxed_prefix_#in~a_length|))) (not (bvugt |is_relaxed_prefix_#in~pat_length| (bvadd |is_relaxed_prefix_#in~a_length| (_ bv1 32)))))} assume true; {6595#(and (or (not (bvult (_ bv0 32) |is_relaxed_prefix_#in~pat_length|)) (not (bvult (_ bv0 32) |is_relaxed_prefix_#in~a_length|))) (not (bvugt |is_relaxed_prefix_#in~pat_length| (bvadd |is_relaxed_prefix_#in~a_length| (_ bv1 32)))))} is VALID [2018-11-23 10:00:08,046 INFO L268 TraceCheckUtils]: 21: Hoare quadruple {6595#(and (or (not (bvult (_ bv0 32) |is_relaxed_prefix_#in~pat_length|)) (not (bvult (_ bv0 32) |is_relaxed_prefix_#in~a_length|))) (not (bvugt |is_relaxed_prefix_#in~pat_length| (bvadd |is_relaxed_prefix_#in~a_length| (_ bv1 32)))))} {6534#true} #160#return; {6605#(and (or (not (bvult (_ bv0 32) main_~a_len~0)) (not (bvult (_ bv0 32) main_~pat_len~0))) (not (bvugt main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32)))))} is VALID [2018-11-23 10:00:08,047 INFO L273 TraceCheckUtils]: 22: Hoare triple {6605#(and (or (not (bvult (_ bv0 32) main_~a_len~0)) (not (bvult (_ bv0 32) main_~pat_len~0))) (not (bvugt main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32)))))} assume 0bv8 != #t~ret14;havoc #t~ret14; {6605#(and (or (not (bvult (_ bv0 32) main_~a_len~0)) (not (bvult (_ bv0 32) main_~pat_len~0))) (not (bvugt main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32)))))} is VALID [2018-11-23 10:00:08,049 INFO L256 TraceCheckUtils]: 23: Hoare triple {6605#(and (or (not (bvult (_ bv0 32) main_~a_len~0)) (not (bvult (_ bv0 32) main_~pat_len~0))) (not (bvugt main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32)))))} call __VERIFIER_assert((if ~bvule32(~pat_len~0, ~bvadd32(1bv32, ~a_len~0)) then 1bv32 else 0bv32)); {6612#(= (bvadd |__VERIFIER_assert_#in~cond| (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 10:00:08,050 INFO L273 TraceCheckUtils]: 24: Hoare triple {6612#(= (bvadd |__VERIFIER_assert_#in~cond| (_ bv4294967295 32)) (_ bv0 32))} ~cond := #in~cond; {6616#(= (bvadd __VERIFIER_assert_~cond (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 10:00:08,050 INFO L273 TraceCheckUtils]: 25: Hoare triple {6616#(= (bvadd __VERIFIER_assert_~cond (_ bv4294967295 32)) (_ bv0 32))} assume 0bv32 == ~cond; {6535#false} is VALID [2018-11-23 10:00:08,050 INFO L273 TraceCheckUtils]: 26: Hoare triple {6535#false} assume !false; {6535#false} is VALID [2018-11-23 10:00:08,052 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2018-11-23 10:00:08,053 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 10:00:08,055 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 10:00:08,055 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2018-11-23 10:00:08,055 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 27 [2018-11-23 10:00:08,056 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 10:00:08,056 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-11-23 10:00:08,116 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 25 edges. 25 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:00:08,116 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-11-23 10:00:08,116 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-11-23 10:00:08,116 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=14, Invalid=42, Unknown=0, NotChecked=0, Total=56 [2018-11-23 10:00:08,116 INFO L87 Difference]: Start difference. First operand 116 states and 166 transitions. Second operand 8 states. [2018-11-23 10:00:09,663 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:00:09,663 INFO L93 Difference]: Finished difference Result 165 states and 229 transitions. [2018-11-23 10:00:09,663 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2018-11-23 10:00:09,663 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 27 [2018-11-23 10:00:09,664 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 10:00:09,664 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-11-23 10:00:09,665 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 98 transitions. [2018-11-23 10:00:09,665 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-11-23 10:00:09,667 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 98 transitions. [2018-11-23 10:00:09,667 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 98 transitions. [2018-11-23 10:00:10,348 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 98 edges. 98 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:00:10,351 INFO L225 Difference]: With dead ends: 165 [2018-11-23 10:00:10,352 INFO L226 Difference]: Without dead ends: 121 [2018-11-23 10:00:10,352 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 28 GetRequests, 20 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 6 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=23, Invalid=67, Unknown=0, NotChecked=0, Total=90 [2018-11-23 10:00:10,353 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 121 states. [2018-11-23 10:00:10,480 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 121 to 117. [2018-11-23 10:00:10,480 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 10:00:10,480 INFO L82 GeneralOperation]: Start isEquivalent. First operand 121 states. Second operand 117 states. [2018-11-23 10:00:10,480 INFO L74 IsIncluded]: Start isIncluded. First operand 121 states. Second operand 117 states. [2018-11-23 10:00:10,480 INFO L87 Difference]: Start difference. First operand 121 states. Second operand 117 states. [2018-11-23 10:00:10,484 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:00:10,484 INFO L93 Difference]: Finished difference Result 121 states and 172 transitions. [2018-11-23 10:00:10,484 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 172 transitions. [2018-11-23 10:00:10,485 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:00:10,485 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:00:10,485 INFO L74 IsIncluded]: Start isIncluded. First operand 117 states. Second operand 121 states. [2018-11-23 10:00:10,485 INFO L87 Difference]: Start difference. First operand 117 states. Second operand 121 states. [2018-11-23 10:00:10,489 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:00:10,490 INFO L93 Difference]: Finished difference Result 121 states and 172 transitions. [2018-11-23 10:00:10,490 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 172 transitions. [2018-11-23 10:00:10,491 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:00:10,491 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:00:10,491 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 10:00:10,491 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 10:00:10,491 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 117 states. [2018-11-23 10:00:10,494 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 117 states to 117 states and 167 transitions. [2018-11-23 10:00:10,495 INFO L78 Accepts]: Start accepts. Automaton has 117 states and 167 transitions. Word has length 27 [2018-11-23 10:00:10,495 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 10:00:10,495 INFO L480 AbstractCegarLoop]: Abstraction has 117 states and 167 transitions. [2018-11-23 10:00:10,495 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-11-23 10:00:10,495 INFO L276 IsEmpty]: Start isEmpty. Operand 117 states and 167 transitions. [2018-11-23 10:00:10,496 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2018-11-23 10:00:10,496 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 10:00:10,496 INFO L402 BasicCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 10:00:10,497 INFO L423 AbstractCegarLoop]: === Iteration 13 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 10:00:10,497 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 10:00:10,497 INFO L82 PathProgramCache]: Analyzing trace with hash 624476129, now seen corresponding path program 1 times [2018-11-23 10:00:10,497 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 10:00:10,497 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4nyu Starting monitored process 14 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 14 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk [2018-11-23 10:00:10,526 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 10:00:10,583 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:00:10,618 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:00:10,620 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 10:00:11,317 INFO L256 TraceCheckUtils]: 0: Hoare triple {7254#true} call ULTIMATE.init(); {7254#true} is VALID [2018-11-23 10:00:11,317 INFO L273 TraceCheckUtils]: 1: Hoare triple {7254#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {7254#true} is VALID [2018-11-23 10:00:11,317 INFO L273 TraceCheckUtils]: 2: Hoare triple {7254#true} assume true; {7254#true} is VALID [2018-11-23 10:00:11,317 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {7254#true} {7254#true} #156#return; {7254#true} is VALID [2018-11-23 10:00:11,317 INFO L256 TraceCheckUtils]: 4: Hoare triple {7254#true} call #t~ret28 := main(); {7254#true} is VALID [2018-11-23 10:00:11,318 INFO L273 TraceCheckUtils]: 5: Hoare triple {7254#true} ~pat_len~0 := #t~nondet6;havoc #t~nondet6;~a_len~0 := #t~nondet7;havoc #t~nondet7;call #t~malloc8.base, #t~malloc8.offset := #Ultimate.alloc(~bvmul32(4bv32, ~pat_len~0));~pat~0.base, ~pat~0.offset := #t~malloc8.base, #t~malloc8.offset;call #t~malloc9.base, #t~malloc9.offset := #Ultimate.alloc(~bvmul32(4bv32, ~a_len~0));~a~0.base, ~a~0.offset := #t~malloc9.base, #t~malloc9.offset;~j~0 := 0bv32; {7274#(= main_~j~0 (_ bv0 32))} is VALID [2018-11-23 10:00:11,318 INFO L273 TraceCheckUtils]: 6: Hoare triple {7274#(= main_~j~0 (_ bv0 32))} assume !!~bvult32(~j~0, ~pat_len~0);call write~intINTTYPE4(#t~nondet11, ~pat~0.base, ~bvadd32(~pat~0.offset, ~bvmul32(4bv32, ~j~0)), 4bv32);havoc #t~nondet11; {7274#(= main_~j~0 (_ bv0 32))} is VALID [2018-11-23 10:00:11,319 INFO L273 TraceCheckUtils]: 7: Hoare triple {7274#(= main_~j~0 (_ bv0 32))} #t~post10 := ~j~0;~j~0 := ~bvadd32(1bv32, #t~post10);havoc #t~post10; {7281#(= (bvadd main_~j~0 (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 10:00:11,319 INFO L273 TraceCheckUtils]: 8: Hoare triple {7281#(= (bvadd main_~j~0 (_ bv4294967295 32)) (_ bv0 32))} assume !~bvult32(~j~0, ~pat_len~0); {7285#(not (bvult (_ bv1 32) main_~pat_len~0))} is VALID [2018-11-23 10:00:11,319 INFO L273 TraceCheckUtils]: 9: Hoare triple {7285#(not (bvult (_ bv1 32) main_~pat_len~0))} ~j~1 := 0bv32; {7289#(and (not (bvult (_ bv1 32) main_~pat_len~0)) (= main_~j~1 (_ bv0 32)))} is VALID [2018-11-23 10:00:11,320 INFO L273 TraceCheckUtils]: 10: Hoare triple {7289#(and (not (bvult (_ bv1 32) main_~pat_len~0)) (= main_~j~1 (_ bv0 32)))} assume !!~bvult32(~j~1, ~a_len~0);call write~intINTTYPE4(#t~nondet13, ~a~0.base, ~bvadd32(~a~0.offset, ~bvmul32(4bv32, ~j~1)), 4bv32);havoc #t~nondet13; {7289#(and (not (bvult (_ bv1 32) main_~pat_len~0)) (= main_~j~1 (_ bv0 32)))} is VALID [2018-11-23 10:00:11,320 INFO L273 TraceCheckUtils]: 11: Hoare triple {7289#(and (not (bvult (_ bv1 32) main_~pat_len~0)) (= main_~j~1 (_ bv0 32)))} #t~post12 := ~j~1;~j~1 := ~bvadd32(1bv32, #t~post12);havoc #t~post12; {7296#(and (not (bvult (_ bv1 32) main_~pat_len~0)) (= (_ bv1 32) main_~j~1))} is VALID [2018-11-23 10:00:11,321 INFO L273 TraceCheckUtils]: 12: Hoare triple {7296#(and (not (bvult (_ bv1 32) main_~pat_len~0)) (= (_ bv1 32) main_~j~1))} assume !!~bvult32(~j~1, ~a_len~0);call write~intINTTYPE4(#t~nondet13, ~a~0.base, ~bvadd32(~a~0.offset, ~bvmul32(4bv32, ~j~1)), 4bv32);havoc #t~nondet13; {7300#(and (not (bvult (_ bv1 32) main_~pat_len~0)) (= (_ bv1 32) main_~j~1) (bvult main_~j~1 main_~a_len~0))} is VALID [2018-11-23 10:00:11,322 INFO L273 TraceCheckUtils]: 13: Hoare triple {7300#(and (not (bvult (_ bv1 32) main_~pat_len~0)) (= (_ bv1 32) main_~j~1) (bvult main_~j~1 main_~a_len~0))} #t~post12 := ~j~1;~j~1 := ~bvadd32(1bv32, #t~post12);havoc #t~post12; {7304#(and (not (bvult (_ bv1 32) main_~pat_len~0)) (= (_ bv2 32) main_~j~1) (bvult (bvadd main_~j~1 (_ bv4294967295 32)) main_~a_len~0))} is VALID [2018-11-23 10:00:11,323 INFO L273 TraceCheckUtils]: 14: Hoare triple {7304#(and (not (bvult (_ bv1 32) main_~pat_len~0)) (= (_ bv2 32) main_~j~1) (bvult (bvadd main_~j~1 (_ bv4294967295 32)) main_~a_len~0))} assume !~bvult32(~j~1, ~a_len~0); {7308#(and (not (bvult (_ bv1 32) main_~pat_len~0)) (not (bvult (_ bv2 32) main_~a_len~0)) (bvult (_ bv1 32) main_~a_len~0))} is VALID [2018-11-23 10:00:11,323 INFO L256 TraceCheckUtils]: 15: Hoare triple {7308#(and (not (bvult (_ bv1 32) main_~pat_len~0)) (not (bvult (_ bv2 32) main_~a_len~0)) (bvult (_ bv1 32) main_~a_len~0))} call #t~ret14 := is_relaxed_prefix(~pat~0.base, ~pat~0.offset, ~pat_len~0, ~a~0.base, ~a~0.offset, ~a_len~0); {7254#true} is VALID [2018-11-23 10:00:11,324 INFO L273 TraceCheckUtils]: 16: Hoare triple {7254#true} ~pat.base, ~pat.offset := #in~pat.base, #in~pat.offset;~pat_length := #in~pat_length;~a.base, ~a.offset := #in~a.base, #in~a.offset;~a_length := #in~a_length; {7315#(and (= |is_relaxed_prefix_#in~a_length| is_relaxed_prefix_~a_length) (= |is_relaxed_prefix_#in~pat_length| is_relaxed_prefix_~pat_length))} is VALID [2018-11-23 10:00:11,325 INFO L273 TraceCheckUtils]: 17: Hoare triple {7315#(and (= |is_relaxed_prefix_#in~a_length| is_relaxed_prefix_~a_length) (= |is_relaxed_prefix_#in~pat_length| is_relaxed_prefix_~pat_length))} assume ~bvugt32(~pat_length, ~bvadd32(1bv32, ~a_length));#res := 0bv8; {7319#(bvugt |is_relaxed_prefix_#in~pat_length| (bvadd |is_relaxed_prefix_#in~a_length| (_ bv1 32)))} is VALID [2018-11-23 10:00:11,326 INFO L273 TraceCheckUtils]: 18: Hoare triple {7319#(bvugt |is_relaxed_prefix_#in~pat_length| (bvadd |is_relaxed_prefix_#in~a_length| (_ bv1 32)))} assume true; {7319#(bvugt |is_relaxed_prefix_#in~pat_length| (bvadd |is_relaxed_prefix_#in~a_length| (_ bv1 32)))} is VALID [2018-11-23 10:00:11,329 INFO L268 TraceCheckUtils]: 19: Hoare quadruple {7319#(bvugt |is_relaxed_prefix_#in~pat_length| (bvadd |is_relaxed_prefix_#in~a_length| (_ bv1 32)))} {7308#(and (not (bvult (_ bv1 32) main_~pat_len~0)) (not (bvult (_ bv2 32) main_~a_len~0)) (bvult (_ bv1 32) main_~a_len~0))} #160#return; {7255#false} is VALID [2018-11-23 10:00:11,330 INFO L273 TraceCheckUtils]: 20: Hoare triple {7255#false} assume !(0bv8 != #t~ret14);havoc #t~ret14; {7255#false} is VALID [2018-11-23 10:00:11,330 INFO L273 TraceCheckUtils]: 21: Hoare triple {7255#false} assume ~bvule32(~pat_len~0, ~bvadd32(1bv32, ~a_len~0));~differences~0 := 0bv32;~i~2 := 0bv32; {7255#false} is VALID [2018-11-23 10:00:11,330 INFO L273 TraceCheckUtils]: 22: Hoare triple {7255#false} assume !(~bvult32(~i~2, ~pat_len~0) && ~bvult32(~i~2, ~a_len~0)); {7255#false} is VALID [2018-11-23 10:00:11,331 INFO L273 TraceCheckUtils]: 23: Hoare triple {7255#false} assume !~bvugt32(~pat_len~0, ~a_len~0); {7255#false} is VALID [2018-11-23 10:00:11,331 INFO L256 TraceCheckUtils]: 24: Hoare triple {7255#false} call __VERIFIER_assert((if ~bvugt32(~differences~0, 1bv32) then 1bv32 else 0bv32)); {7255#false} is VALID [2018-11-23 10:00:11,331 INFO L273 TraceCheckUtils]: 25: Hoare triple {7255#false} ~cond := #in~cond; {7255#false} is VALID [2018-11-23 10:00:11,332 INFO L273 TraceCheckUtils]: 26: Hoare triple {7255#false} assume 0bv32 == ~cond; {7255#false} is VALID [2018-11-23 10:00:11,335 INFO L273 TraceCheckUtils]: 27: Hoare triple {7255#false} assume !false; {7255#false} is VALID [2018-11-23 10:00:11,337 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 0 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 10:00:11,337 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-23 10:00:12,387 INFO L273 TraceCheckUtils]: 27: Hoare triple {7255#false} assume !false; {7255#false} is VALID [2018-11-23 10:00:12,387 INFO L273 TraceCheckUtils]: 26: Hoare triple {7255#false} assume 0bv32 == ~cond; {7255#false} is VALID [2018-11-23 10:00:12,388 INFO L273 TraceCheckUtils]: 25: Hoare triple {7255#false} ~cond := #in~cond; {7255#false} is VALID [2018-11-23 10:00:12,388 INFO L256 TraceCheckUtils]: 24: Hoare triple {7255#false} call __VERIFIER_assert((if ~bvugt32(~differences~0, 1bv32) then 1bv32 else 0bv32)); {7255#false} is VALID [2018-11-23 10:00:12,388 INFO L273 TraceCheckUtils]: 23: Hoare triple {7255#false} assume !~bvugt32(~pat_len~0, ~a_len~0); {7255#false} is VALID [2018-11-23 10:00:12,388 INFO L273 TraceCheckUtils]: 22: Hoare triple {7255#false} assume !(~bvult32(~i~2, ~pat_len~0) && ~bvult32(~i~2, ~a_len~0)); {7255#false} is VALID [2018-11-23 10:00:12,389 INFO L273 TraceCheckUtils]: 21: Hoare triple {7255#false} assume ~bvule32(~pat_len~0, ~bvadd32(1bv32, ~a_len~0));~differences~0 := 0bv32;~i~2 := 0bv32; {7255#false} is VALID [2018-11-23 10:00:12,389 INFO L273 TraceCheckUtils]: 20: Hoare triple {7255#false} assume !(0bv8 != #t~ret14);havoc #t~ret14; {7255#false} is VALID [2018-11-23 10:00:12,390 INFO L268 TraceCheckUtils]: 19: Hoare quadruple {7319#(bvugt |is_relaxed_prefix_#in~pat_length| (bvadd |is_relaxed_prefix_#in~a_length| (_ bv1 32)))} {7374#(not (bvugt main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32))))} #160#return; {7255#false} is VALID [2018-11-23 10:00:12,398 INFO L273 TraceCheckUtils]: 18: Hoare triple {7319#(bvugt |is_relaxed_prefix_#in~pat_length| (bvadd |is_relaxed_prefix_#in~a_length| (_ bv1 32)))} assume true; {7319#(bvugt |is_relaxed_prefix_#in~pat_length| (bvadd |is_relaxed_prefix_#in~a_length| (_ bv1 32)))} is VALID [2018-11-23 10:00:12,398 INFO L273 TraceCheckUtils]: 17: Hoare triple {7384#(or (not (bvugt is_relaxed_prefix_~pat_length (bvadd is_relaxed_prefix_~a_length (_ bv1 32)))) (bvugt |is_relaxed_prefix_#in~pat_length| (bvadd |is_relaxed_prefix_#in~a_length| (_ bv1 32))))} assume ~bvugt32(~pat_length, ~bvadd32(1bv32, ~a_length));#res := 0bv8; {7319#(bvugt |is_relaxed_prefix_#in~pat_length| (bvadd |is_relaxed_prefix_#in~a_length| (_ bv1 32)))} is VALID [2018-11-23 10:00:12,400 INFO L273 TraceCheckUtils]: 16: Hoare triple {7254#true} ~pat.base, ~pat.offset := #in~pat.base, #in~pat.offset;~pat_length := #in~pat_length;~a.base, ~a.offset := #in~a.base, #in~a.offset;~a_length := #in~a_length; {7384#(or (not (bvugt is_relaxed_prefix_~pat_length (bvadd is_relaxed_prefix_~a_length (_ bv1 32)))) (bvugt |is_relaxed_prefix_#in~pat_length| (bvadd |is_relaxed_prefix_#in~a_length| (_ bv1 32))))} is VALID [2018-11-23 10:00:12,400 INFO L256 TraceCheckUtils]: 15: Hoare triple {7374#(not (bvugt main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32))))} call #t~ret14 := is_relaxed_prefix(~pat~0.base, ~pat~0.offset, ~pat_len~0, ~a~0.base, ~a~0.offset, ~a_len~0); {7254#true} is VALID [2018-11-23 10:00:12,401 INFO L273 TraceCheckUtils]: 14: Hoare triple {7391#(or (not (bvugt main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32)))) (bvult main_~j~1 main_~a_len~0))} assume !~bvult32(~j~1, ~a_len~0); {7374#(not (bvugt main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32))))} is VALID [2018-11-23 10:00:12,401 INFO L273 TraceCheckUtils]: 13: Hoare triple {7395#(or (bvult (bvadd main_~j~1 (_ bv1 32)) main_~a_len~0) (not (bvugt main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32)))))} #t~post12 := ~j~1;~j~1 := ~bvadd32(1bv32, #t~post12);havoc #t~post12; {7391#(or (not (bvugt main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32)))) (bvult main_~j~1 main_~a_len~0))} is VALID [2018-11-23 10:00:12,404 INFO L273 TraceCheckUtils]: 12: Hoare triple {7399#(forall ((main_~a_len~0 (_ BitVec 32))) (or (not (bvult main_~j~1 main_~a_len~0)) (bvult (bvadd main_~j~1 (_ bv1 32)) main_~a_len~0) (not (bvugt main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32))))))} assume !!~bvult32(~j~1, ~a_len~0);call write~intINTTYPE4(#t~nondet13, ~a~0.base, ~bvadd32(~a~0.offset, ~bvmul32(4bv32, ~j~1)), 4bv32);havoc #t~nondet13; {7395#(or (bvult (bvadd main_~j~1 (_ bv1 32)) main_~a_len~0) (not (bvugt main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32)))))} is VALID [2018-11-23 10:00:12,436 INFO L273 TraceCheckUtils]: 11: Hoare triple {7403#(forall ((main_~a_len~0 (_ BitVec 32))) (or (not (bvult (bvadd main_~j~1 (_ bv1 32)) main_~a_len~0)) (bvult (bvadd main_~j~1 (_ bv2 32)) main_~a_len~0) (not (bvugt main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32))))))} #t~post12 := ~j~1;~j~1 := ~bvadd32(1bv32, #t~post12);havoc #t~post12; {7399#(forall ((main_~a_len~0 (_ BitVec 32))) (or (not (bvult main_~j~1 main_~a_len~0)) (bvult (bvadd main_~j~1 (_ bv1 32)) main_~a_len~0) (not (bvugt main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32))))))} is VALID [2018-11-23 10:00:12,437 INFO L273 TraceCheckUtils]: 10: Hoare triple {7403#(forall ((main_~a_len~0 (_ BitVec 32))) (or (not (bvult (bvadd main_~j~1 (_ bv1 32)) main_~a_len~0)) (bvult (bvadd main_~j~1 (_ bv2 32)) main_~a_len~0) (not (bvugt main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32))))))} assume !!~bvult32(~j~1, ~a_len~0);call write~intINTTYPE4(#t~nondet13, ~a~0.base, ~bvadd32(~a~0.offset, ~bvmul32(4bv32, ~j~1)), 4bv32);havoc #t~nondet13; {7403#(forall ((main_~a_len~0 (_ BitVec 32))) (or (not (bvult (bvadd main_~j~1 (_ bv1 32)) main_~a_len~0)) (bvult (bvadd main_~j~1 (_ bv2 32)) main_~a_len~0) (not (bvugt main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32))))))} is VALID [2018-11-23 10:00:12,438 INFO L273 TraceCheckUtils]: 9: Hoare triple {7410#(forall ((main_~a_len~0 (_ BitVec 32))) (or (not (bvult (_ bv1 32) main_~a_len~0)) (not (bvugt main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32)))) (bvult (_ bv2 32) main_~a_len~0)))} ~j~1 := 0bv32; {7403#(forall ((main_~a_len~0 (_ BitVec 32))) (or (not (bvult (bvadd main_~j~1 (_ bv1 32)) main_~a_len~0)) (bvult (bvadd main_~j~1 (_ bv2 32)) main_~a_len~0) (not (bvugt main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32))))))} is VALID [2018-11-23 10:00:12,442 INFO L273 TraceCheckUtils]: 8: Hoare triple {7414#(forall ((main_~pat_len~0 (_ BitVec 32)) (main_~a_len~0 (_ BitVec 32))) (or (not (bvult (_ bv1 32) main_~a_len~0)) (not (bvugt main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32)))) (bvult (_ bv2 32) main_~a_len~0) (bvult main_~j~0 main_~pat_len~0)))} assume !~bvult32(~j~0, ~pat_len~0); {7410#(forall ((main_~a_len~0 (_ BitVec 32))) (or (not (bvult (_ bv1 32) main_~a_len~0)) (not (bvugt main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32)))) (bvult (_ bv2 32) main_~a_len~0)))} is VALID [2018-11-23 10:00:12,448 INFO L273 TraceCheckUtils]: 7: Hoare triple {7418#(forall ((main_~pat_len~0 (_ BitVec 32)) (main_~a_len~0 (_ BitVec 32))) (or (bvult (bvadd main_~j~0 (_ bv1 32)) main_~pat_len~0) (not (bvult (_ bv1 32) main_~a_len~0)) (not (bvugt main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32)))) (bvult (_ bv2 32) main_~a_len~0)))} #t~post10 := ~j~0;~j~0 := ~bvadd32(1bv32, #t~post10);havoc #t~post10; {7414#(forall ((main_~pat_len~0 (_ BitVec 32)) (main_~a_len~0 (_ BitVec 32))) (or (not (bvult (_ bv1 32) main_~a_len~0)) (not (bvugt main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32)))) (bvult (_ bv2 32) main_~a_len~0) (bvult main_~j~0 main_~pat_len~0)))} is VALID [2018-11-23 10:00:12,449 INFO L273 TraceCheckUtils]: 6: Hoare triple {7418#(forall ((main_~pat_len~0 (_ BitVec 32)) (main_~a_len~0 (_ BitVec 32))) (or (bvult (bvadd main_~j~0 (_ bv1 32)) main_~pat_len~0) (not (bvult (_ bv1 32) main_~a_len~0)) (not (bvugt main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32)))) (bvult (_ bv2 32) main_~a_len~0)))} assume !!~bvult32(~j~0, ~pat_len~0);call write~intINTTYPE4(#t~nondet11, ~pat~0.base, ~bvadd32(~pat~0.offset, ~bvmul32(4bv32, ~j~0)), 4bv32);havoc #t~nondet11; {7418#(forall ((main_~pat_len~0 (_ BitVec 32)) (main_~a_len~0 (_ BitVec 32))) (or (bvult (bvadd main_~j~0 (_ bv1 32)) main_~pat_len~0) (not (bvult (_ bv1 32) main_~a_len~0)) (not (bvugt main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32)))) (bvult (_ bv2 32) main_~a_len~0)))} is VALID [2018-11-23 10:00:12,452 INFO L273 TraceCheckUtils]: 5: Hoare triple {7254#true} ~pat_len~0 := #t~nondet6;havoc #t~nondet6;~a_len~0 := #t~nondet7;havoc #t~nondet7;call #t~malloc8.base, #t~malloc8.offset := #Ultimate.alloc(~bvmul32(4bv32, ~pat_len~0));~pat~0.base, ~pat~0.offset := #t~malloc8.base, #t~malloc8.offset;call #t~malloc9.base, #t~malloc9.offset := #Ultimate.alloc(~bvmul32(4bv32, ~a_len~0));~a~0.base, ~a~0.offset := #t~malloc9.base, #t~malloc9.offset;~j~0 := 0bv32; {7418#(forall ((main_~pat_len~0 (_ BitVec 32)) (main_~a_len~0 (_ BitVec 32))) (or (bvult (bvadd main_~j~0 (_ bv1 32)) main_~pat_len~0) (not (bvult (_ bv1 32) main_~a_len~0)) (not (bvugt main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32)))) (bvult (_ bv2 32) main_~a_len~0)))} is VALID [2018-11-23 10:00:12,452 INFO L256 TraceCheckUtils]: 4: Hoare triple {7254#true} call #t~ret28 := main(); {7254#true} is VALID [2018-11-23 10:00:12,452 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {7254#true} {7254#true} #156#return; {7254#true} is VALID [2018-11-23 10:00:12,453 INFO L273 TraceCheckUtils]: 2: Hoare triple {7254#true} assume true; {7254#true} is VALID [2018-11-23 10:00:12,453 INFO L273 TraceCheckUtils]: 1: Hoare triple {7254#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {7254#true} is VALID [2018-11-23 10:00:12,453 INFO L256 TraceCheckUtils]: 0: Hoare triple {7254#true} call ULTIMATE.init(); {7254#true} is VALID [2018-11-23 10:00:12,455 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 0 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 10:00:12,456 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 10:00:12,456 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 12] total 21 [2018-11-23 10:00:12,457 INFO L78 Accepts]: Start accepts. Automaton has 21 states. Word has length 28 [2018-11-23 10:00:12,457 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 10:00:12,457 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 21 states. [2018-11-23 10:00:12,599 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:00:12,600 INFO L459 AbstractCegarLoop]: Interpolant automaton has 21 states [2018-11-23 10:00:12,600 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 21 interpolants. [2018-11-23 10:00:12,600 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=78, Invalid=342, Unknown=0, NotChecked=0, Total=420 [2018-11-23 10:00:12,600 INFO L87 Difference]: Start difference. First operand 117 states and 167 transitions. Second operand 21 states. [2018-11-23 10:00:14,834 WARN L180 SmtUtils]: Spent 174.00 ms on a formula simplification that was a NOOP. DAG size: 31 [2018-11-23 10:00:17,151 WARN L180 SmtUtils]: Spent 357.00 ms on a formula simplification. DAG size of input: 30 DAG size of output: 29 [2018-11-23 10:00:17,459 WARN L180 SmtUtils]: Spent 116.00 ms on a formula simplification that was a NOOP. DAG size: 27 [2018-11-23 10:00:17,999 WARN L180 SmtUtils]: Spent 169.00 ms on a formula simplification. DAG size of input: 29 DAG size of output: 28 [2018-11-23 10:00:20,133 WARN L180 SmtUtils]: Spent 242.00 ms on a formula simplification. DAG size of input: 26 DAG size of output: 25 [2018-11-23 10:00:20,512 WARN L180 SmtUtils]: Spent 158.00 ms on a formula simplification. DAG size of input: 23 DAG size of output: 22 [2018-11-23 10:00:24,542 WARN L180 SmtUtils]: Spent 111.00 ms on a formula simplification that was a NOOP. DAG size: 28 [2018-11-23 10:00:34,719 WARN L180 SmtUtils]: Spent 132.00 ms on a formula simplification that was a NOOP. DAG size: 29 [2018-11-23 10:00:42,857 WARN L180 SmtUtils]: Spent 169.00 ms on a formula simplification that was a NOOP. DAG size: 29 [2018-11-23 10:00:43,294 WARN L180 SmtUtils]: Spent 117.00 ms on a formula simplification that was a NOOP. DAG size: 25 [2018-11-23 10:00:47,185 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:00:47,186 INFO L93 Difference]: Finished difference Result 387 states and 567 transitions. [2018-11-23 10:00:47,186 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 46 states. [2018-11-23 10:00:47,186 INFO L78 Accepts]: Start accepts. Automaton has 21 states. Word has length 28 [2018-11-23 10:00:47,186 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 10:00:47,186 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 21 states. [2018-11-23 10:00:47,194 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 46 states to 46 states and 524 transitions. [2018-11-23 10:00:47,194 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 21 states. [2018-11-23 10:00:47,201 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 46 states to 46 states and 524 transitions. [2018-11-23 10:00:47,202 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 46 states and 524 transitions. [2018-11-23 10:00:52,461 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 524 edges. 524 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:00:52,471 INFO L225 Difference]: With dead ends: 387 [2018-11-23 10:00:52,471 INFO L226 Difference]: Without dead ends: 368 [2018-11-23 10:00:52,473 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 93 GetRequests, 36 SyntacticMatches, 0 SemanticMatches, 57 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 920 ImplicationChecksByTransitivity, 6.9s TimeCoverageRelationStatistics Valid=786, Invalid=2636, Unknown=0, NotChecked=0, Total=3422 [2018-11-23 10:00:52,473 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 368 states. [2018-11-23 10:00:52,749 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 368 to 117. [2018-11-23 10:00:52,749 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 10:00:52,750 INFO L82 GeneralOperation]: Start isEquivalent. First operand 368 states. Second operand 117 states. [2018-11-23 10:00:52,750 INFO L74 IsIncluded]: Start isIncluded. First operand 368 states. Second operand 117 states. [2018-11-23 10:00:52,750 INFO L87 Difference]: Start difference. First operand 368 states. Second operand 117 states. [2018-11-23 10:00:52,763 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:00:52,764 INFO L93 Difference]: Finished difference Result 368 states and 538 transitions. [2018-11-23 10:00:52,764 INFO L276 IsEmpty]: Start isEmpty. Operand 368 states and 538 transitions. [2018-11-23 10:00:52,766 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:00:52,766 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:00:52,766 INFO L74 IsIncluded]: Start isIncluded. First operand 117 states. Second operand 368 states. [2018-11-23 10:00:52,766 INFO L87 Difference]: Start difference. First operand 117 states. Second operand 368 states. [2018-11-23 10:00:52,780 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:00:52,780 INFO L93 Difference]: Finished difference Result 368 states and 538 transitions. [2018-11-23 10:00:52,780 INFO L276 IsEmpty]: Start isEmpty. Operand 368 states and 538 transitions. [2018-11-23 10:00:52,783 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:00:52,783 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:00:52,783 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 10:00:52,783 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 10:00:52,783 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 117 states. [2018-11-23 10:00:52,786 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 117 states to 117 states and 164 transitions. [2018-11-23 10:00:52,787 INFO L78 Accepts]: Start accepts. Automaton has 117 states and 164 transitions. Word has length 28 [2018-11-23 10:00:52,787 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 10:00:52,787 INFO L480 AbstractCegarLoop]: Abstraction has 117 states and 164 transitions. [2018-11-23 10:00:52,787 INFO L481 AbstractCegarLoop]: Interpolant automaton has 21 states. [2018-11-23 10:00:52,787 INFO L276 IsEmpty]: Start isEmpty. Operand 117 states and 164 transitions. [2018-11-23 10:00:52,788 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2018-11-23 10:00:52,788 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 10:00:52,788 INFO L402 BasicCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 10:00:52,789 INFO L423 AbstractCegarLoop]: === Iteration 14 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 10:00:52,789 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 10:00:52,789 INFO L82 PathProgramCache]: Analyzing trace with hash 1307961503, now seen corresponding path program 1 times [2018-11-23 10:00:52,789 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 10:00:52,789 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4nyu Starting monitored process 15 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 15 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk [2018-11-23 10:00:52,820 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 10:00:52,880 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:00:52,911 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:00:52,913 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 10:00:53,666 INFO L256 TraceCheckUtils]: 0: Hoare triple {8928#true} call ULTIMATE.init(); {8928#true} is VALID [2018-11-23 10:00:53,666 INFO L273 TraceCheckUtils]: 1: Hoare triple {8928#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {8928#true} is VALID [2018-11-23 10:00:53,666 INFO L273 TraceCheckUtils]: 2: Hoare triple {8928#true} assume true; {8928#true} is VALID [2018-11-23 10:00:53,667 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {8928#true} {8928#true} #156#return; {8928#true} is VALID [2018-11-23 10:00:53,667 INFO L256 TraceCheckUtils]: 4: Hoare triple {8928#true} call #t~ret28 := main(); {8928#true} is VALID [2018-11-23 10:00:53,667 INFO L273 TraceCheckUtils]: 5: Hoare triple {8928#true} ~pat_len~0 := #t~nondet6;havoc #t~nondet6;~a_len~0 := #t~nondet7;havoc #t~nondet7;call #t~malloc8.base, #t~malloc8.offset := #Ultimate.alloc(~bvmul32(4bv32, ~pat_len~0));~pat~0.base, ~pat~0.offset := #t~malloc8.base, #t~malloc8.offset;call #t~malloc9.base, #t~malloc9.offset := #Ultimate.alloc(~bvmul32(4bv32, ~a_len~0));~a~0.base, ~a~0.offset := #t~malloc9.base, #t~malloc9.offset;~j~0 := 0bv32; {8948#(= main_~j~0 (_ bv0 32))} is VALID [2018-11-23 10:00:53,667 INFO L273 TraceCheckUtils]: 6: Hoare triple {8948#(= main_~j~0 (_ bv0 32))} assume !!~bvult32(~j~0, ~pat_len~0);call write~intINTTYPE4(#t~nondet11, ~pat~0.base, ~bvadd32(~pat~0.offset, ~bvmul32(4bv32, ~j~0)), 4bv32);havoc #t~nondet11; {8948#(= main_~j~0 (_ bv0 32))} is VALID [2018-11-23 10:00:53,668 INFO L273 TraceCheckUtils]: 7: Hoare triple {8948#(= main_~j~0 (_ bv0 32))} #t~post10 := ~j~0;~j~0 := ~bvadd32(1bv32, #t~post10);havoc #t~post10; {8955#(= (bvadd main_~j~0 (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 10:00:53,668 INFO L273 TraceCheckUtils]: 8: Hoare triple {8955#(= (bvadd main_~j~0 (_ bv4294967295 32)) (_ bv0 32))} assume !!~bvult32(~j~0, ~pat_len~0);call write~intINTTYPE4(#t~nondet11, ~pat~0.base, ~bvadd32(~pat~0.offset, ~bvmul32(4bv32, ~j~0)), 4bv32);havoc #t~nondet11; {8959#(and (bvult main_~j~0 main_~pat_len~0) (= (bvadd main_~j~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:00:53,669 INFO L273 TraceCheckUtils]: 9: Hoare triple {8959#(and (bvult main_~j~0 main_~pat_len~0) (= (bvadd main_~j~0 (_ bv4294967295 32)) (_ bv0 32)))} #t~post10 := ~j~0;~j~0 := ~bvadd32(1bv32, #t~post10);havoc #t~post10; {8963#(and (= (bvadd main_~j~0 (_ bv4294967294 32)) (_ bv0 32)) (bvult (bvadd main_~j~0 (_ bv4294967295 32)) main_~pat_len~0))} is VALID [2018-11-23 10:00:53,670 INFO L273 TraceCheckUtils]: 10: Hoare triple {8963#(and (= (bvadd main_~j~0 (_ bv4294967294 32)) (_ bv0 32)) (bvult (bvadd main_~j~0 (_ bv4294967295 32)) main_~pat_len~0))} assume !~bvult32(~j~0, ~pat_len~0); {8967#(and (bvult (_ bv1 32) main_~pat_len~0) (not (bvult (_ bv2 32) main_~pat_len~0)))} is VALID [2018-11-23 10:00:53,670 INFO L273 TraceCheckUtils]: 11: Hoare triple {8967#(and (bvult (_ bv1 32) main_~pat_len~0) (not (bvult (_ bv2 32) main_~pat_len~0)))} ~j~1 := 0bv32; {8971#(and (bvult (_ bv1 32) main_~pat_len~0) (not (bvult (_ bv2 32) main_~pat_len~0)) (= main_~j~1 (_ bv0 32)))} is VALID [2018-11-23 10:00:53,671 INFO L273 TraceCheckUtils]: 12: Hoare triple {8971#(and (bvult (_ bv1 32) main_~pat_len~0) (not (bvult (_ bv2 32) main_~pat_len~0)) (= main_~j~1 (_ bv0 32)))} assume !!~bvult32(~j~1, ~a_len~0);call write~intINTTYPE4(#t~nondet13, ~a~0.base, ~bvadd32(~a~0.offset, ~bvmul32(4bv32, ~j~1)), 4bv32);havoc #t~nondet13; {8975#(and (bvult (_ bv1 32) main_~pat_len~0) (bvult main_~j~1 main_~a_len~0) (not (bvult (_ bv2 32) main_~pat_len~0)) (= main_~j~1 (_ bv0 32)))} is VALID [2018-11-23 10:00:53,671 INFO L273 TraceCheckUtils]: 13: Hoare triple {8975#(and (bvult (_ bv1 32) main_~pat_len~0) (bvult main_~j~1 main_~a_len~0) (not (bvult (_ bv2 32) main_~pat_len~0)) (= main_~j~1 (_ bv0 32)))} #t~post12 := ~j~1;~j~1 := ~bvadd32(1bv32, #t~post12);havoc #t~post12; {8979#(and (bvult (_ bv1 32) main_~pat_len~0) (bvult (_ bv0 32) main_~a_len~0) (= (_ bv1 32) main_~j~1) (not (bvult (_ bv2 32) main_~pat_len~0)))} is VALID [2018-11-23 10:00:53,672 INFO L273 TraceCheckUtils]: 14: Hoare triple {8979#(and (bvult (_ bv1 32) main_~pat_len~0) (bvult (_ bv0 32) main_~a_len~0) (= (_ bv1 32) main_~j~1) (not (bvult (_ bv2 32) main_~pat_len~0)))} assume !~bvult32(~j~1, ~a_len~0); {8983#(and (bvult (_ bv1 32) main_~pat_len~0) (not (bvult (_ bv1 32) main_~a_len~0)) (bvult (_ bv0 32) main_~a_len~0) (not (bvult (_ bv2 32) main_~pat_len~0)))} is VALID [2018-11-23 10:00:53,672 INFO L256 TraceCheckUtils]: 15: Hoare triple {8983#(and (bvult (_ bv1 32) main_~pat_len~0) (not (bvult (_ bv1 32) main_~a_len~0)) (bvult (_ bv0 32) main_~a_len~0) (not (bvult (_ bv2 32) main_~pat_len~0)))} call #t~ret14 := is_relaxed_prefix(~pat~0.base, ~pat~0.offset, ~pat_len~0, ~a~0.base, ~a~0.offset, ~a_len~0); {8928#true} is VALID [2018-11-23 10:00:53,673 INFO L273 TraceCheckUtils]: 16: Hoare triple {8928#true} ~pat.base, ~pat.offset := #in~pat.base, #in~pat.offset;~pat_length := #in~pat_length;~a.base, ~a.offset := #in~a.base, #in~a.offset;~a_length := #in~a_length; {8990#(and (= |is_relaxed_prefix_#in~a_length| is_relaxed_prefix_~a_length) (= |is_relaxed_prefix_#in~pat_length| is_relaxed_prefix_~pat_length))} is VALID [2018-11-23 10:00:53,674 INFO L273 TraceCheckUtils]: 17: Hoare triple {8990#(and (= |is_relaxed_prefix_#in~a_length| is_relaxed_prefix_~a_length) (= |is_relaxed_prefix_#in~pat_length| is_relaxed_prefix_~pat_length))} assume ~bvugt32(~pat_length, ~bvadd32(1bv32, ~a_length));#res := 0bv8; {8994#(bvugt |is_relaxed_prefix_#in~pat_length| (bvadd |is_relaxed_prefix_#in~a_length| (_ bv1 32)))} is VALID [2018-11-23 10:00:53,674 INFO L273 TraceCheckUtils]: 18: Hoare triple {8994#(bvugt |is_relaxed_prefix_#in~pat_length| (bvadd |is_relaxed_prefix_#in~a_length| (_ bv1 32)))} assume true; {8994#(bvugt |is_relaxed_prefix_#in~pat_length| (bvadd |is_relaxed_prefix_#in~a_length| (_ bv1 32)))} is VALID [2018-11-23 10:00:53,679 INFO L268 TraceCheckUtils]: 19: Hoare quadruple {8994#(bvugt |is_relaxed_prefix_#in~pat_length| (bvadd |is_relaxed_prefix_#in~a_length| (_ bv1 32)))} {8983#(and (bvult (_ bv1 32) main_~pat_len~0) (not (bvult (_ bv1 32) main_~a_len~0)) (bvult (_ bv0 32) main_~a_len~0) (not (bvult (_ bv2 32) main_~pat_len~0)))} #160#return; {8929#false} is VALID [2018-11-23 10:00:53,679 INFO L273 TraceCheckUtils]: 20: Hoare triple {8929#false} assume !(0bv8 != #t~ret14);havoc #t~ret14; {8929#false} is VALID [2018-11-23 10:00:53,680 INFO L273 TraceCheckUtils]: 21: Hoare triple {8929#false} assume ~bvule32(~pat_len~0, ~bvadd32(1bv32, ~a_len~0));~differences~0 := 0bv32;~i~2 := 0bv32; {8929#false} is VALID [2018-11-23 10:00:53,680 INFO L273 TraceCheckUtils]: 22: Hoare triple {8929#false} assume !(~bvult32(~i~2, ~pat_len~0) && ~bvult32(~i~2, ~a_len~0)); {8929#false} is VALID [2018-11-23 10:00:53,680 INFO L273 TraceCheckUtils]: 23: Hoare triple {8929#false} assume ~bvugt32(~pat_len~0, ~a_len~0);#t~pre27 := ~bvadd32(1bv32, ~differences~0);~differences~0 := ~bvadd32(1bv32, ~differences~0);havoc #t~pre27; {8929#false} is VALID [2018-11-23 10:00:53,680 INFO L256 TraceCheckUtils]: 24: Hoare triple {8929#false} call __VERIFIER_assert((if ~bvugt32(~differences~0, 1bv32) then 1bv32 else 0bv32)); {8929#false} is VALID [2018-11-23 10:00:53,680 INFO L273 TraceCheckUtils]: 25: Hoare triple {8929#false} ~cond := #in~cond; {8929#false} is VALID [2018-11-23 10:00:53,681 INFO L273 TraceCheckUtils]: 26: Hoare triple {8929#false} assume 0bv32 == ~cond; {8929#false} is VALID [2018-11-23 10:00:53,681 INFO L273 TraceCheckUtils]: 27: Hoare triple {8929#false} assume !false; {8929#false} is VALID [2018-11-23 10:00:53,682 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 0 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 10:00:53,682 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-23 10:00:55,090 INFO L273 TraceCheckUtils]: 27: Hoare triple {8929#false} assume !false; {8929#false} is VALID [2018-11-23 10:00:55,090 INFO L273 TraceCheckUtils]: 26: Hoare triple {8929#false} assume 0bv32 == ~cond; {8929#false} is VALID [2018-11-23 10:00:55,091 INFO L273 TraceCheckUtils]: 25: Hoare triple {8929#false} ~cond := #in~cond; {8929#false} is VALID [2018-11-23 10:00:55,091 INFO L256 TraceCheckUtils]: 24: Hoare triple {8929#false} call __VERIFIER_assert((if ~bvugt32(~differences~0, 1bv32) then 1bv32 else 0bv32)); {8929#false} is VALID [2018-11-23 10:00:55,091 INFO L273 TraceCheckUtils]: 23: Hoare triple {8929#false} assume ~bvugt32(~pat_len~0, ~a_len~0);#t~pre27 := ~bvadd32(1bv32, ~differences~0);~differences~0 := ~bvadd32(1bv32, ~differences~0);havoc #t~pre27; {8929#false} is VALID [2018-11-23 10:00:55,091 INFO L273 TraceCheckUtils]: 22: Hoare triple {8929#false} assume !(~bvult32(~i~2, ~pat_len~0) && ~bvult32(~i~2, ~a_len~0)); {8929#false} is VALID [2018-11-23 10:00:55,092 INFO L273 TraceCheckUtils]: 21: Hoare triple {8929#false} assume ~bvule32(~pat_len~0, ~bvadd32(1bv32, ~a_len~0));~differences~0 := 0bv32;~i~2 := 0bv32; {8929#false} is VALID [2018-11-23 10:00:55,092 INFO L273 TraceCheckUtils]: 20: Hoare triple {8929#false} assume !(0bv8 != #t~ret14);havoc #t~ret14; {8929#false} is VALID [2018-11-23 10:00:55,094 INFO L268 TraceCheckUtils]: 19: Hoare quadruple {8994#(bvugt |is_relaxed_prefix_#in~pat_length| (bvadd |is_relaxed_prefix_#in~a_length| (_ bv1 32)))} {9049#(not (bvugt main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32))))} #160#return; {8929#false} is VALID [2018-11-23 10:00:55,094 INFO L273 TraceCheckUtils]: 18: Hoare triple {8994#(bvugt |is_relaxed_prefix_#in~pat_length| (bvadd |is_relaxed_prefix_#in~a_length| (_ bv1 32)))} assume true; {8994#(bvugt |is_relaxed_prefix_#in~pat_length| (bvadd |is_relaxed_prefix_#in~a_length| (_ bv1 32)))} is VALID [2018-11-23 10:00:55,095 INFO L273 TraceCheckUtils]: 17: Hoare triple {9059#(or (not (bvugt is_relaxed_prefix_~pat_length (bvadd is_relaxed_prefix_~a_length (_ bv1 32)))) (bvugt |is_relaxed_prefix_#in~pat_length| (bvadd |is_relaxed_prefix_#in~a_length| (_ bv1 32))))} assume ~bvugt32(~pat_length, ~bvadd32(1bv32, ~a_length));#res := 0bv8; {8994#(bvugt |is_relaxed_prefix_#in~pat_length| (bvadd |is_relaxed_prefix_#in~a_length| (_ bv1 32)))} is VALID [2018-11-23 10:00:55,097 INFO L273 TraceCheckUtils]: 16: Hoare triple {8928#true} ~pat.base, ~pat.offset := #in~pat.base, #in~pat.offset;~pat_length := #in~pat_length;~a.base, ~a.offset := #in~a.base, #in~a.offset;~a_length := #in~a_length; {9059#(or (not (bvugt is_relaxed_prefix_~pat_length (bvadd is_relaxed_prefix_~a_length (_ bv1 32)))) (bvugt |is_relaxed_prefix_#in~pat_length| (bvadd |is_relaxed_prefix_#in~a_length| (_ bv1 32))))} is VALID [2018-11-23 10:00:55,097 INFO L256 TraceCheckUtils]: 15: Hoare triple {9049#(not (bvugt main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32))))} call #t~ret14 := is_relaxed_prefix(~pat~0.base, ~pat~0.offset, ~pat_len~0, ~a~0.base, ~a~0.offset, ~a_len~0); {8928#true} is VALID [2018-11-23 10:00:55,098 INFO L273 TraceCheckUtils]: 14: Hoare triple {9066#(or (not (bvugt main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32)))) (bvult main_~j~1 main_~a_len~0))} assume !~bvult32(~j~1, ~a_len~0); {9049#(not (bvugt main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32))))} is VALID [2018-11-23 10:00:55,099 INFO L273 TraceCheckUtils]: 13: Hoare triple {9070#(or (bvult (bvadd main_~j~1 (_ bv1 32)) main_~a_len~0) (not (bvugt main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32)))))} #t~post12 := ~j~1;~j~1 := ~bvadd32(1bv32, #t~post12);havoc #t~post12; {9066#(or (not (bvugt main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32)))) (bvult main_~j~1 main_~a_len~0))} is VALID [2018-11-23 10:00:55,103 INFO L273 TraceCheckUtils]: 12: Hoare triple {9074#(forall ((main_~a_len~0 (_ BitVec 32))) (or (not (bvult main_~j~1 main_~a_len~0)) (bvult (bvadd main_~j~1 (_ bv1 32)) main_~a_len~0) (not (bvugt main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32))))))} assume !!~bvult32(~j~1, ~a_len~0);call write~intINTTYPE4(#t~nondet13, ~a~0.base, ~bvadd32(~a~0.offset, ~bvmul32(4bv32, ~j~1)), 4bv32);havoc #t~nondet13; {9070#(or (bvult (bvadd main_~j~1 (_ bv1 32)) main_~a_len~0) (not (bvugt main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32)))))} is VALID [2018-11-23 10:00:55,105 INFO L273 TraceCheckUtils]: 11: Hoare triple {9078#(forall ((main_~a_len~0 (_ BitVec 32))) (or (not (bvult (_ bv0 32) main_~a_len~0)) (not (bvugt main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32)))) (bvult (_ bv1 32) main_~a_len~0)))} ~j~1 := 0bv32; {9074#(forall ((main_~a_len~0 (_ BitVec 32))) (or (not (bvult main_~j~1 main_~a_len~0)) (bvult (bvadd main_~j~1 (_ bv1 32)) main_~a_len~0) (not (bvugt main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32))))))} is VALID [2018-11-23 10:00:55,105 INFO L273 TraceCheckUtils]: 10: Hoare triple {9082#(or (forall ((main_~a_len~0 (_ BitVec 32))) (or (not (bvult (_ bv0 32) main_~a_len~0)) (not (bvugt main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32)))) (bvult (_ bv1 32) main_~a_len~0))) (bvult main_~j~0 main_~pat_len~0))} assume !~bvult32(~j~0, ~pat_len~0); {9078#(forall ((main_~a_len~0 (_ BitVec 32))) (or (not (bvult (_ bv0 32) main_~a_len~0)) (not (bvugt main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32)))) (bvult (_ bv1 32) main_~a_len~0)))} is VALID [2018-11-23 10:00:55,106 INFO L273 TraceCheckUtils]: 9: Hoare triple {9086#(or (bvult (bvadd main_~j~0 (_ bv1 32)) main_~pat_len~0) (forall ((main_~a_len~0 (_ BitVec 32))) (or (not (bvult (_ bv0 32) main_~a_len~0)) (not (bvugt main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32)))) (bvult (_ bv1 32) main_~a_len~0))))} #t~post10 := ~j~0;~j~0 := ~bvadd32(1bv32, #t~post10);havoc #t~post10; {9082#(or (forall ((main_~a_len~0 (_ BitVec 32))) (or (not (bvult (_ bv0 32) main_~a_len~0)) (not (bvugt main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32)))) (bvult (_ bv1 32) main_~a_len~0))) (bvult main_~j~0 main_~pat_len~0))} is VALID [2018-11-23 10:00:55,115 INFO L273 TraceCheckUtils]: 8: Hoare triple {9090#(forall ((main_~pat_len~0 (_ BitVec 32)) (main_~a_len~0 (_ BitVec 32))) (or (not (bvult (_ bv0 32) main_~a_len~0)) (bvult (bvadd main_~j~0 (_ bv1 32)) main_~pat_len~0) (not (bvult main_~j~0 main_~pat_len~0)) (not (bvugt main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32)))) (bvult (_ bv1 32) main_~a_len~0)))} assume !!~bvult32(~j~0, ~pat_len~0);call write~intINTTYPE4(#t~nondet11, ~pat~0.base, ~bvadd32(~pat~0.offset, ~bvmul32(4bv32, ~j~0)), 4bv32);havoc #t~nondet11; {9086#(or (bvult (bvadd main_~j~0 (_ bv1 32)) main_~pat_len~0) (forall ((main_~a_len~0 (_ BitVec 32))) (or (not (bvult (_ bv0 32) main_~a_len~0)) (not (bvugt main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32)))) (bvult (_ bv1 32) main_~a_len~0))))} is VALID [2018-11-23 10:00:55,143 INFO L273 TraceCheckUtils]: 7: Hoare triple {9094#(forall ((main_~pat_len~0 (_ BitVec 32)) (main_~a_len~0 (_ BitVec 32))) (or (not (bvult (bvadd main_~j~0 (_ bv1 32)) main_~pat_len~0)) (not (bvult (_ bv0 32) main_~a_len~0)) (bvult (bvadd main_~j~0 (_ bv2 32)) main_~pat_len~0) (not (bvugt main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32)))) (bvult (_ bv1 32) main_~a_len~0)))} #t~post10 := ~j~0;~j~0 := ~bvadd32(1bv32, #t~post10);havoc #t~post10; {9090#(forall ((main_~pat_len~0 (_ BitVec 32)) (main_~a_len~0 (_ BitVec 32))) (or (not (bvult (_ bv0 32) main_~a_len~0)) (bvult (bvadd main_~j~0 (_ bv1 32)) main_~pat_len~0) (not (bvult main_~j~0 main_~pat_len~0)) (not (bvugt main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32)))) (bvult (_ bv1 32) main_~a_len~0)))} is VALID [2018-11-23 10:00:55,143 INFO L273 TraceCheckUtils]: 6: Hoare triple {9094#(forall ((main_~pat_len~0 (_ BitVec 32)) (main_~a_len~0 (_ BitVec 32))) (or (not (bvult (bvadd main_~j~0 (_ bv1 32)) main_~pat_len~0)) (not (bvult (_ bv0 32) main_~a_len~0)) (bvult (bvadd main_~j~0 (_ bv2 32)) main_~pat_len~0) (not (bvugt main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32)))) (bvult (_ bv1 32) main_~a_len~0)))} assume !!~bvult32(~j~0, ~pat_len~0);call write~intINTTYPE4(#t~nondet11, ~pat~0.base, ~bvadd32(~pat~0.offset, ~bvmul32(4bv32, ~j~0)), 4bv32);havoc #t~nondet11; {9094#(forall ((main_~pat_len~0 (_ BitVec 32)) (main_~a_len~0 (_ BitVec 32))) (or (not (bvult (bvadd main_~j~0 (_ bv1 32)) main_~pat_len~0)) (not (bvult (_ bv0 32) main_~a_len~0)) (bvult (bvadd main_~j~0 (_ bv2 32)) main_~pat_len~0) (not (bvugt main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32)))) (bvult (_ bv1 32) main_~a_len~0)))} is VALID [2018-11-23 10:00:55,146 INFO L273 TraceCheckUtils]: 5: Hoare triple {8928#true} ~pat_len~0 := #t~nondet6;havoc #t~nondet6;~a_len~0 := #t~nondet7;havoc #t~nondet7;call #t~malloc8.base, #t~malloc8.offset := #Ultimate.alloc(~bvmul32(4bv32, ~pat_len~0));~pat~0.base, ~pat~0.offset := #t~malloc8.base, #t~malloc8.offset;call #t~malloc9.base, #t~malloc9.offset := #Ultimate.alloc(~bvmul32(4bv32, ~a_len~0));~a~0.base, ~a~0.offset := #t~malloc9.base, #t~malloc9.offset;~j~0 := 0bv32; {9094#(forall ((main_~pat_len~0 (_ BitVec 32)) (main_~a_len~0 (_ BitVec 32))) (or (not (bvult (bvadd main_~j~0 (_ bv1 32)) main_~pat_len~0)) (not (bvult (_ bv0 32) main_~a_len~0)) (bvult (bvadd main_~j~0 (_ bv2 32)) main_~pat_len~0) (not (bvugt main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32)))) (bvult (_ bv1 32) main_~a_len~0)))} is VALID [2018-11-23 10:00:55,147 INFO L256 TraceCheckUtils]: 4: Hoare triple {8928#true} call #t~ret28 := main(); {8928#true} is VALID [2018-11-23 10:00:55,147 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {8928#true} {8928#true} #156#return; {8928#true} is VALID [2018-11-23 10:00:55,147 INFO L273 TraceCheckUtils]: 2: Hoare triple {8928#true} assume true; {8928#true} is VALID [2018-11-23 10:00:55,147 INFO L273 TraceCheckUtils]: 1: Hoare triple {8928#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {8928#true} is VALID [2018-11-23 10:00:55,147 INFO L256 TraceCheckUtils]: 0: Hoare triple {8928#true} call ULTIMATE.init(); {8928#true} is VALID [2018-11-23 10:00:55,150 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 0 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 10:00:55,152 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 10:00:55,152 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 13] total 23 [2018-11-23 10:00:55,152 INFO L78 Accepts]: Start accepts. Automaton has 23 states. Word has length 28 [2018-11-23 10:00:55,153 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 10:00:55,153 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 23 states. [2018-11-23 10:00:55,302 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:00:55,302 INFO L459 AbstractCegarLoop]: Interpolant automaton has 23 states [2018-11-23 10:00:55,303 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 23 interpolants. [2018-11-23 10:00:55,303 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=92, Invalid=414, Unknown=0, NotChecked=0, Total=506 [2018-11-23 10:00:55,303 INFO L87 Difference]: Start difference. First operand 117 states and 164 transitions. Second operand 23 states. [2018-11-23 10:00:56,765 WARN L180 SmtUtils]: Spent 204.00 ms on a formula simplification. DAG size of input: 26 DAG size of output: 25 [2018-11-23 10:00:58,318 WARN L180 SmtUtils]: Spent 284.00 ms on a formula simplification. DAG size of input: 17 DAG size of output: 15 [2018-11-23 10:01:01,190 WARN L180 SmtUtils]: Spent 153.00 ms on a formula simplification. DAG size of input: 28 DAG size of output: 26 [2018-11-23 10:01:01,515 WARN L180 SmtUtils]: Spent 102.00 ms on a formula simplification. DAG size of input: 26 DAG size of output: 25 [2018-11-23 10:01:15,549 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:01:15,550 INFO L93 Difference]: Finished difference Result 281 states and 406 transitions. [2018-11-23 10:01:15,550 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 30 states. [2018-11-23 10:01:15,550 INFO L78 Accepts]: Start accepts. Automaton has 23 states. Word has length 28 [2018-11-23 10:01:15,551 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 10:01:15,551 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 23 states. [2018-11-23 10:01:15,555 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 331 transitions. [2018-11-23 10:01:15,555 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 23 states. [2018-11-23 10:01:15,560 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 331 transitions. [2018-11-23 10:01:15,560 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 30 states and 331 transitions. [2018-11-23 10:01:16,882 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 331 edges. 331 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:01:16,889 INFO L225 Difference]: With dead ends: 281 [2018-11-23 10:01:16,889 INFO L226 Difference]: Without dead ends: 260 [2018-11-23 10:01:16,890 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 75 GetRequests, 34 SyntacticMatches, 0 SemanticMatches, 41 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 324 ImplicationChecksByTransitivity, 4.2s TimeCoverageRelationStatistics Valid=355, Invalid=1451, Unknown=0, NotChecked=0, Total=1806 [2018-11-23 10:01:16,891 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 260 states. [2018-11-23 10:01:17,101 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 260 to 137. [2018-11-23 10:01:17,101 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 10:01:17,101 INFO L82 GeneralOperation]: Start isEquivalent. First operand 260 states. Second operand 137 states. [2018-11-23 10:01:17,101 INFO L74 IsIncluded]: Start isIncluded. First operand 260 states. Second operand 137 states. [2018-11-23 10:01:17,101 INFO L87 Difference]: Start difference. First operand 260 states. Second operand 137 states. [2018-11-23 10:01:17,111 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:01:17,111 INFO L93 Difference]: Finished difference Result 260 states and 375 transitions. [2018-11-23 10:01:17,111 INFO L276 IsEmpty]: Start isEmpty. Operand 260 states and 375 transitions. [2018-11-23 10:01:17,113 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:01:17,113 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:01:17,113 INFO L74 IsIncluded]: Start isIncluded. First operand 137 states. Second operand 260 states. [2018-11-23 10:01:17,113 INFO L87 Difference]: Start difference. First operand 137 states. Second operand 260 states. [2018-11-23 10:01:17,122 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:01:17,122 INFO L93 Difference]: Finished difference Result 260 states and 375 transitions. [2018-11-23 10:01:17,122 INFO L276 IsEmpty]: Start isEmpty. Operand 260 states and 375 transitions. [2018-11-23 10:01:17,124 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:01:17,124 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:01:17,124 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 10:01:17,124 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 10:01:17,124 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 137 states. [2018-11-23 10:01:17,128 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 137 states to 137 states and 195 transitions. [2018-11-23 10:01:17,129 INFO L78 Accepts]: Start accepts. Automaton has 137 states and 195 transitions. Word has length 28 [2018-11-23 10:01:17,129 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 10:01:17,129 INFO L480 AbstractCegarLoop]: Abstraction has 137 states and 195 transitions. [2018-11-23 10:01:17,129 INFO L481 AbstractCegarLoop]: Interpolant automaton has 23 states. [2018-11-23 10:01:17,129 INFO L276 IsEmpty]: Start isEmpty. Operand 137 states and 195 transitions. [2018-11-23 10:01:17,130 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 31 [2018-11-23 10:01:17,130 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 10:01:17,131 INFO L402 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, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 10:01:17,131 INFO L423 AbstractCegarLoop]: === Iteration 15 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 10:01:17,131 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 10:01:17,131 INFO L82 PathProgramCache]: Analyzing trace with hash -1400385991, now seen corresponding path program 1 times [2018-11-23 10:01:17,132 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 10:01:17,132 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4nyu Starting monitored process 16 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 16 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk [2018-11-23 10:01:17,161 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 10:01:17,188 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:01:17,210 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:01:17,212 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 10:01:17,330 INFO L256 TraceCheckUtils]: 0: Hoare triple {10247#true} call ULTIMATE.init(); {10247#true} is VALID [2018-11-23 10:01:17,330 INFO L273 TraceCheckUtils]: 1: Hoare triple {10247#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {10247#true} is VALID [2018-11-23 10:01:17,331 INFO L273 TraceCheckUtils]: 2: Hoare triple {10247#true} assume true; {10247#true} is VALID [2018-11-23 10:01:17,331 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {10247#true} {10247#true} #156#return; {10247#true} is VALID [2018-11-23 10:01:17,331 INFO L256 TraceCheckUtils]: 4: Hoare triple {10247#true} call #t~ret28 := main(); {10247#true} is VALID [2018-11-23 10:01:17,331 INFO L273 TraceCheckUtils]: 5: Hoare triple {10247#true} ~pat_len~0 := #t~nondet6;havoc #t~nondet6;~a_len~0 := #t~nondet7;havoc #t~nondet7;call #t~malloc8.base, #t~malloc8.offset := #Ultimate.alloc(~bvmul32(4bv32, ~pat_len~0));~pat~0.base, ~pat~0.offset := #t~malloc8.base, #t~malloc8.offset;call #t~malloc9.base, #t~malloc9.offset := #Ultimate.alloc(~bvmul32(4bv32, ~a_len~0));~a~0.base, ~a~0.offset := #t~malloc9.base, #t~malloc9.offset;~j~0 := 0bv32; {10247#true} is VALID [2018-11-23 10:01:17,332 INFO L273 TraceCheckUtils]: 6: Hoare triple {10247#true} assume !!~bvult32(~j~0, ~pat_len~0);call write~intINTTYPE4(#t~nondet11, ~pat~0.base, ~bvadd32(~pat~0.offset, ~bvmul32(4bv32, ~j~0)), 4bv32);havoc #t~nondet11; {10247#true} is VALID [2018-11-23 10:01:17,332 INFO L273 TraceCheckUtils]: 7: Hoare triple {10247#true} #t~post10 := ~j~0;~j~0 := ~bvadd32(1bv32, #t~post10);havoc #t~post10; {10247#true} is VALID [2018-11-23 10:01:17,332 INFO L273 TraceCheckUtils]: 8: Hoare triple {10247#true} assume !~bvult32(~j~0, ~pat_len~0); {10247#true} is VALID [2018-11-23 10:01:17,333 INFO L273 TraceCheckUtils]: 9: Hoare triple {10247#true} ~j~1 := 0bv32; {10279#(= main_~j~1 (_ bv0 32))} is VALID [2018-11-23 10:01:17,333 INFO L273 TraceCheckUtils]: 10: Hoare triple {10279#(= main_~j~1 (_ bv0 32))} assume !~bvult32(~j~1, ~a_len~0); {10283#(not (bvult (_ bv0 32) main_~a_len~0))} is VALID [2018-11-23 10:01:17,333 INFO L256 TraceCheckUtils]: 11: Hoare triple {10283#(not (bvult (_ bv0 32) main_~a_len~0))} call #t~ret14 := is_relaxed_prefix(~pat~0.base, ~pat~0.offset, ~pat_len~0, ~a~0.base, ~a~0.offset, ~a_len~0); {10247#true} is VALID [2018-11-23 10:01:17,334 INFO L273 TraceCheckUtils]: 12: Hoare triple {10247#true} ~pat.base, ~pat.offset := #in~pat.base, #in~pat.offset;~pat_length := #in~pat_length;~a.base, ~a.offset := #in~a.base, #in~a.offset;~a_length := #in~a_length; {10290#(= |is_relaxed_prefix_#in~a_length| is_relaxed_prefix_~a_length)} is VALID [2018-11-23 10:01:17,334 INFO L273 TraceCheckUtils]: 13: Hoare triple {10290#(= |is_relaxed_prefix_#in~a_length| is_relaxed_prefix_~a_length)} assume !~bvugt32(~pat_length, ~bvadd32(1bv32, ~a_length));~shift~0 := 0bv32;~i~0 := 0bv32; {10290#(= |is_relaxed_prefix_#in~a_length| is_relaxed_prefix_~a_length)} is VALID [2018-11-23 10:01:17,344 INFO L273 TraceCheckUtils]: 14: Hoare triple {10290#(= |is_relaxed_prefix_#in~a_length| is_relaxed_prefix_~a_length)} assume !!(~bvult32(~i~0, ~pat_length) && ~bvult32(~i~0, ~a_length));call #t~mem4 := read~intINTTYPE4(~pat.base, ~bvadd32(~pat.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem5 := read~intINTTYPE4(~a.base, ~bvadd32(~a.offset, ~bvmul32(4bv32, ~bvsub32(~i~0, ~shift~0))), 4bv32); {10297#(exists ((is_relaxed_prefix_~i~0 (_ BitVec 32))) (bvult is_relaxed_prefix_~i~0 |is_relaxed_prefix_#in~a_length|))} is VALID [2018-11-23 10:01:17,345 INFO L273 TraceCheckUtils]: 15: Hoare triple {10297#(exists ((is_relaxed_prefix_~i~0 (_ BitVec 32))) (bvult is_relaxed_prefix_~i~0 |is_relaxed_prefix_#in~a_length|))} assume #t~mem4 != #t~mem5;havoc #t~mem4;havoc #t~mem5; {10297#(exists ((is_relaxed_prefix_~i~0 (_ BitVec 32))) (bvult is_relaxed_prefix_~i~0 |is_relaxed_prefix_#in~a_length|))} is VALID [2018-11-23 10:01:17,346 INFO L273 TraceCheckUtils]: 16: Hoare triple {10297#(exists ((is_relaxed_prefix_~i~0 (_ BitVec 32))) (bvult is_relaxed_prefix_~i~0 |is_relaxed_prefix_#in~a_length|))} assume 0bv32 == ~shift~0;~shift~0 := 1bv32; {10297#(exists ((is_relaxed_prefix_~i~0 (_ BitVec 32))) (bvult is_relaxed_prefix_~i~0 |is_relaxed_prefix_#in~a_length|))} is VALID [2018-11-23 10:01:17,347 INFO L273 TraceCheckUtils]: 17: Hoare triple {10297#(exists ((is_relaxed_prefix_~i~0 (_ BitVec 32))) (bvult is_relaxed_prefix_~i~0 |is_relaxed_prefix_#in~a_length|))} #t~post3 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post3);havoc #t~post3; {10297#(exists ((is_relaxed_prefix_~i~0 (_ BitVec 32))) (bvult is_relaxed_prefix_~i~0 |is_relaxed_prefix_#in~a_length|))} is VALID [2018-11-23 10:01:17,347 INFO L273 TraceCheckUtils]: 18: Hoare triple {10297#(exists ((is_relaxed_prefix_~i~0 (_ BitVec 32))) (bvult is_relaxed_prefix_~i~0 |is_relaxed_prefix_#in~a_length|))} assume !(~bvult32(~i~0, ~pat_length) && ~bvult32(~i~0, ~a_length)); {10297#(exists ((is_relaxed_prefix_~i~0 (_ BitVec 32))) (bvult is_relaxed_prefix_~i~0 |is_relaxed_prefix_#in~a_length|))} is VALID [2018-11-23 10:01:17,348 INFO L273 TraceCheckUtils]: 19: Hoare triple {10297#(exists ((is_relaxed_prefix_~i~0 (_ BitVec 32))) (bvult is_relaxed_prefix_~i~0 |is_relaxed_prefix_#in~a_length|))} assume ~bvugt32(~pat_length, ~a_length) && 1bv32 == ~shift~0;#res := 0bv8; {10297#(exists ((is_relaxed_prefix_~i~0 (_ BitVec 32))) (bvult is_relaxed_prefix_~i~0 |is_relaxed_prefix_#in~a_length|))} is VALID [2018-11-23 10:01:17,348 INFO L273 TraceCheckUtils]: 20: Hoare triple {10297#(exists ((is_relaxed_prefix_~i~0 (_ BitVec 32))) (bvult is_relaxed_prefix_~i~0 |is_relaxed_prefix_#in~a_length|))} assume true; {10297#(exists ((is_relaxed_prefix_~i~0 (_ BitVec 32))) (bvult is_relaxed_prefix_~i~0 |is_relaxed_prefix_#in~a_length|))} is VALID [2018-11-23 10:01:17,350 INFO L268 TraceCheckUtils]: 21: Hoare quadruple {10297#(exists ((is_relaxed_prefix_~i~0 (_ BitVec 32))) (bvult is_relaxed_prefix_~i~0 |is_relaxed_prefix_#in~a_length|))} {10283#(not (bvult (_ bv0 32) main_~a_len~0))} #160#return; {10248#false} is VALID [2018-11-23 10:01:17,351 INFO L273 TraceCheckUtils]: 22: Hoare triple {10248#false} assume !(0bv8 != #t~ret14);havoc #t~ret14; {10248#false} is VALID [2018-11-23 10:01:17,351 INFO L273 TraceCheckUtils]: 23: Hoare triple {10248#false} assume ~bvule32(~pat_len~0, ~bvadd32(1bv32, ~a_len~0));~differences~0 := 0bv32;~i~2 := 0bv32; {10248#false} is VALID [2018-11-23 10:01:17,351 INFO L273 TraceCheckUtils]: 24: Hoare triple {10248#false} assume !(~bvult32(~i~2, ~pat_len~0) && ~bvult32(~i~2, ~a_len~0)); {10248#false} is VALID [2018-11-23 10:01:17,351 INFO L273 TraceCheckUtils]: 25: Hoare triple {10248#false} assume ~bvugt32(~pat_len~0, ~a_len~0);#t~pre27 := ~bvadd32(1bv32, ~differences~0);~differences~0 := ~bvadd32(1bv32, ~differences~0);havoc #t~pre27; {10248#false} is VALID [2018-11-23 10:01:17,351 INFO L256 TraceCheckUtils]: 26: Hoare triple {10248#false} call __VERIFIER_assert((if ~bvugt32(~differences~0, 1bv32) then 1bv32 else 0bv32)); {10248#false} is VALID [2018-11-23 10:01:17,352 INFO L273 TraceCheckUtils]: 27: Hoare triple {10248#false} ~cond := #in~cond; {10248#false} is VALID [2018-11-23 10:01:17,352 INFO L273 TraceCheckUtils]: 28: Hoare triple {10248#false} assume 0bv32 == ~cond; {10248#false} is VALID [2018-11-23 10:01:17,352 INFO L273 TraceCheckUtils]: 29: Hoare triple {10248#false} assume !false; {10248#false} is VALID [2018-11-23 10:01:17,353 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-11-23 10:01:17,353 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-23 10:01:17,556 INFO L273 TraceCheckUtils]: 29: Hoare triple {10248#false} assume !false; {10248#false} is VALID [2018-11-23 10:01:17,556 INFO L273 TraceCheckUtils]: 28: Hoare triple {10248#false} assume 0bv32 == ~cond; {10248#false} is VALID [2018-11-23 10:01:17,557 INFO L273 TraceCheckUtils]: 27: Hoare triple {10248#false} ~cond := #in~cond; {10248#false} is VALID [2018-11-23 10:01:17,557 INFO L256 TraceCheckUtils]: 26: Hoare triple {10248#false} call __VERIFIER_assert((if ~bvugt32(~differences~0, 1bv32) then 1bv32 else 0bv32)); {10248#false} is VALID [2018-11-23 10:01:17,557 INFO L273 TraceCheckUtils]: 25: Hoare triple {10248#false} assume ~bvugt32(~pat_len~0, ~a_len~0);#t~pre27 := ~bvadd32(1bv32, ~differences~0);~differences~0 := ~bvadd32(1bv32, ~differences~0);havoc #t~pre27; {10248#false} is VALID [2018-11-23 10:01:17,557 INFO L273 TraceCheckUtils]: 24: Hoare triple {10248#false} assume !(~bvult32(~i~2, ~pat_len~0) && ~bvult32(~i~2, ~a_len~0)); {10248#false} is VALID [2018-11-23 10:01:17,558 INFO L273 TraceCheckUtils]: 23: Hoare triple {10248#false} assume ~bvule32(~pat_len~0, ~bvadd32(1bv32, ~a_len~0));~differences~0 := 0bv32;~i~2 := 0bv32; {10248#false} is VALID [2018-11-23 10:01:17,558 INFO L273 TraceCheckUtils]: 22: Hoare triple {10248#false} assume !(0bv8 != #t~ret14);havoc #t~ret14; {10248#false} is VALID [2018-11-23 10:01:17,560 INFO L268 TraceCheckUtils]: 21: Hoare quadruple {10370#(bvult (_ bv0 32) |is_relaxed_prefix_#in~a_length|)} {10283#(not (bvult (_ bv0 32) main_~a_len~0))} #160#return; {10248#false} is VALID [2018-11-23 10:01:17,560 INFO L273 TraceCheckUtils]: 20: Hoare triple {10370#(bvult (_ bv0 32) |is_relaxed_prefix_#in~a_length|)} assume true; {10370#(bvult (_ bv0 32) |is_relaxed_prefix_#in~a_length|)} is VALID [2018-11-23 10:01:17,561 INFO L273 TraceCheckUtils]: 19: Hoare triple {10370#(bvult (_ bv0 32) |is_relaxed_prefix_#in~a_length|)} assume ~bvugt32(~pat_length, ~a_length) && 1bv32 == ~shift~0;#res := 0bv8; {10370#(bvult (_ bv0 32) |is_relaxed_prefix_#in~a_length|)} is VALID [2018-11-23 10:01:17,561 INFO L273 TraceCheckUtils]: 18: Hoare triple {10370#(bvult (_ bv0 32) |is_relaxed_prefix_#in~a_length|)} assume !(~bvult32(~i~0, ~pat_length) && ~bvult32(~i~0, ~a_length)); {10370#(bvult (_ bv0 32) |is_relaxed_prefix_#in~a_length|)} is VALID [2018-11-23 10:01:17,562 INFO L273 TraceCheckUtils]: 17: Hoare triple {10370#(bvult (_ bv0 32) |is_relaxed_prefix_#in~a_length|)} #t~post3 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post3);havoc #t~post3; {10370#(bvult (_ bv0 32) |is_relaxed_prefix_#in~a_length|)} is VALID [2018-11-23 10:01:17,578 INFO L273 TraceCheckUtils]: 16: Hoare triple {10370#(bvult (_ bv0 32) |is_relaxed_prefix_#in~a_length|)} assume 0bv32 == ~shift~0;~shift~0 := 1bv32; {10370#(bvult (_ bv0 32) |is_relaxed_prefix_#in~a_length|)} is VALID [2018-11-23 10:01:17,579 INFO L273 TraceCheckUtils]: 15: Hoare triple {10370#(bvult (_ bv0 32) |is_relaxed_prefix_#in~a_length|)} assume #t~mem4 != #t~mem5;havoc #t~mem4;havoc #t~mem5; {10370#(bvult (_ bv0 32) |is_relaxed_prefix_#in~a_length|)} is VALID [2018-11-23 10:01:17,588 INFO L273 TraceCheckUtils]: 14: Hoare triple {10392#(or (bvult (_ bv0 32) |is_relaxed_prefix_#in~a_length|) (forall ((is_relaxed_prefix_~i~0 (_ BitVec 32))) (not (bvult is_relaxed_prefix_~i~0 is_relaxed_prefix_~a_length))))} assume !!(~bvult32(~i~0, ~pat_length) && ~bvult32(~i~0, ~a_length));call #t~mem4 := read~intINTTYPE4(~pat.base, ~bvadd32(~pat.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem5 := read~intINTTYPE4(~a.base, ~bvadd32(~a.offset, ~bvmul32(4bv32, ~bvsub32(~i~0, ~shift~0))), 4bv32); {10370#(bvult (_ bv0 32) |is_relaxed_prefix_#in~a_length|)} is VALID [2018-11-23 10:01:17,588 INFO L273 TraceCheckUtils]: 13: Hoare triple {10392#(or (bvult (_ bv0 32) |is_relaxed_prefix_#in~a_length|) (forall ((is_relaxed_prefix_~i~0 (_ BitVec 32))) (not (bvult is_relaxed_prefix_~i~0 is_relaxed_prefix_~a_length))))} assume !~bvugt32(~pat_length, ~bvadd32(1bv32, ~a_length));~shift~0 := 0bv32;~i~0 := 0bv32; {10392#(or (bvult (_ bv0 32) |is_relaxed_prefix_#in~a_length|) (forall ((is_relaxed_prefix_~i~0 (_ BitVec 32))) (not (bvult is_relaxed_prefix_~i~0 is_relaxed_prefix_~a_length))))} is VALID [2018-11-23 10:01:17,589 INFO L273 TraceCheckUtils]: 12: Hoare triple {10247#true} ~pat.base, ~pat.offset := #in~pat.base, #in~pat.offset;~pat_length := #in~pat_length;~a.base, ~a.offset := #in~a.base, #in~a.offset;~a_length := #in~a_length; {10392#(or (bvult (_ bv0 32) |is_relaxed_prefix_#in~a_length|) (forall ((is_relaxed_prefix_~i~0 (_ BitVec 32))) (not (bvult is_relaxed_prefix_~i~0 is_relaxed_prefix_~a_length))))} is VALID [2018-11-23 10:01:17,589 INFO L256 TraceCheckUtils]: 11: Hoare triple {10283#(not (bvult (_ bv0 32) main_~a_len~0))} call #t~ret14 := is_relaxed_prefix(~pat~0.base, ~pat~0.offset, ~pat_len~0, ~a~0.base, ~a~0.offset, ~a_len~0); {10247#true} is VALID [2018-11-23 10:01:17,589 INFO L273 TraceCheckUtils]: 10: Hoare triple {10279#(= main_~j~1 (_ bv0 32))} assume !~bvult32(~j~1, ~a_len~0); {10283#(not (bvult (_ bv0 32) main_~a_len~0))} is VALID [2018-11-23 10:01:17,590 INFO L273 TraceCheckUtils]: 9: Hoare triple {10247#true} ~j~1 := 0bv32; {10279#(= main_~j~1 (_ bv0 32))} is VALID [2018-11-23 10:01:17,590 INFO L273 TraceCheckUtils]: 8: Hoare triple {10247#true} assume !~bvult32(~j~0, ~pat_len~0); {10247#true} is VALID [2018-11-23 10:01:17,590 INFO L273 TraceCheckUtils]: 7: Hoare triple {10247#true} #t~post10 := ~j~0;~j~0 := ~bvadd32(1bv32, #t~post10);havoc #t~post10; {10247#true} is VALID [2018-11-23 10:01:17,590 INFO L273 TraceCheckUtils]: 6: Hoare triple {10247#true} assume !!~bvult32(~j~0, ~pat_len~0);call write~intINTTYPE4(#t~nondet11, ~pat~0.base, ~bvadd32(~pat~0.offset, ~bvmul32(4bv32, ~j~0)), 4bv32);havoc #t~nondet11; {10247#true} is VALID [2018-11-23 10:01:17,590 INFO L273 TraceCheckUtils]: 5: Hoare triple {10247#true} ~pat_len~0 := #t~nondet6;havoc #t~nondet6;~a_len~0 := #t~nondet7;havoc #t~nondet7;call #t~malloc8.base, #t~malloc8.offset := #Ultimate.alloc(~bvmul32(4bv32, ~pat_len~0));~pat~0.base, ~pat~0.offset := #t~malloc8.base, #t~malloc8.offset;call #t~malloc9.base, #t~malloc9.offset := #Ultimate.alloc(~bvmul32(4bv32, ~a_len~0));~a~0.base, ~a~0.offset := #t~malloc9.base, #t~malloc9.offset;~j~0 := 0bv32; {10247#true} is VALID [2018-11-23 10:01:17,590 INFO L256 TraceCheckUtils]: 4: Hoare triple {10247#true} call #t~ret28 := main(); {10247#true} is VALID [2018-11-23 10:01:17,591 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {10247#true} {10247#true} #156#return; {10247#true} is VALID [2018-11-23 10:01:17,591 INFO L273 TraceCheckUtils]: 2: Hoare triple {10247#true} assume true; {10247#true} is VALID [2018-11-23 10:01:17,591 INFO L273 TraceCheckUtils]: 1: Hoare triple {10247#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {10247#true} is VALID [2018-11-23 10:01:17,591 INFO L256 TraceCheckUtils]: 0: Hoare triple {10247#true} call ULTIMATE.init(); {10247#true} is VALID [2018-11-23 10:01:17,592 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 1 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-11-23 10:01:17,593 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 1 imperfect interpolant sequences. [2018-11-23 10:01:17,593 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [6] imperfect sequences [6] total 8 [2018-11-23 10:01:17,594 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 30 [2018-11-23 10:01:17,594 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 10:01:17,594 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-11-23 10:01:17,668 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 40 edges. 40 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:01:17,669 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-11-23 10:01:17,669 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-11-23 10:01:17,669 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=18, Invalid=38, Unknown=0, NotChecked=0, Total=56 [2018-11-23 10:01:17,670 INFO L87 Difference]: Start difference. First operand 137 states and 195 transitions. Second operand 8 states. [2018-11-23 10:01:18,843 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:01:18,844 INFO L93 Difference]: Finished difference Result 146 states and 204 transitions. [2018-11-23 10:01:18,844 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-11-23 10:01:18,844 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 30 [2018-11-23 10:01:18,844 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 10:01:18,844 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-11-23 10:01:18,845 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 80 transitions. [2018-11-23 10:01:18,845 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-11-23 10:01:18,846 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 80 transitions. [2018-11-23 10:01:18,846 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 80 transitions. [2018-11-23 10:01:18,998 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 80 edges. 80 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:01:19,001 INFO L225 Difference]: With dead ends: 146 [2018-11-23 10:01:19,001 INFO L226 Difference]: Without dead ends: 134 [2018-11-23 10:01:19,002 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 61 GetRequests, 50 SyntacticMatches, 3 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 1 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=28, Invalid=62, Unknown=0, NotChecked=0, Total=90 [2018-11-23 10:01:19,002 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 134 states. [2018-11-23 10:01:19,374 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 134 to 133. [2018-11-23 10:01:19,375 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 10:01:19,375 INFO L82 GeneralOperation]: Start isEquivalent. First operand 134 states. Second operand 133 states. [2018-11-23 10:01:19,375 INFO L74 IsIncluded]: Start isIncluded. First operand 134 states. Second operand 133 states. [2018-11-23 10:01:19,375 INFO L87 Difference]: Start difference. First operand 134 states. Second operand 133 states. [2018-11-23 10:01:19,381 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:01:19,381 INFO L93 Difference]: Finished difference Result 134 states and 187 transitions. [2018-11-23 10:01:19,381 INFO L276 IsEmpty]: Start isEmpty. Operand 134 states and 187 transitions. [2018-11-23 10:01:19,382 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:01:19,382 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:01:19,383 INFO L74 IsIncluded]: Start isIncluded. First operand 133 states. Second operand 134 states. [2018-11-23 10:01:19,383 INFO L87 Difference]: Start difference. First operand 133 states. Second operand 134 states. [2018-11-23 10:01:19,386 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:01:19,387 INFO L93 Difference]: Finished difference Result 134 states and 187 transitions. [2018-11-23 10:01:19,387 INFO L276 IsEmpty]: Start isEmpty. Operand 134 states and 187 transitions. [2018-11-23 10:01:19,388 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:01:19,388 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:01:19,388 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 10:01:19,388 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 10:01:19,388 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 133 states. [2018-11-23 10:01:19,391 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 133 states to 133 states and 186 transitions. [2018-11-23 10:01:19,392 INFO L78 Accepts]: Start accepts. Automaton has 133 states and 186 transitions. Word has length 30 [2018-11-23 10:01:19,393 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 10:01:19,393 INFO L480 AbstractCegarLoop]: Abstraction has 133 states and 186 transitions. [2018-11-23 10:01:19,393 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-11-23 10:01:19,393 INFO L276 IsEmpty]: Start isEmpty. Operand 133 states and 186 transitions. [2018-11-23 10:01:19,394 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 31 [2018-11-23 10:01:19,394 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 10:01:19,395 INFO L402 BasicCegarLoop]: trace histogram [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, 1, 1] [2018-11-23 10:01:19,395 INFO L423 AbstractCegarLoop]: === Iteration 16 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 10:01:19,395 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 10:01:19,395 INFO L82 PathProgramCache]: Analyzing trace with hash 729647220, now seen corresponding path program 1 times [2018-11-23 10:01:19,395 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 10:01:19,396 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4nyu Starting monitored process 17 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 17 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk [2018-11-23 10:01:19,419 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 10:01:19,485 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:01:19,506 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:01:19,508 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 10:01:19,828 INFO L256 TraceCheckUtils]: 0: Hoare triple {11093#true} call ULTIMATE.init(); {11093#true} is VALID [2018-11-23 10:01:19,829 INFO L273 TraceCheckUtils]: 1: Hoare triple {11093#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {11093#true} is VALID [2018-11-23 10:01:19,829 INFO L273 TraceCheckUtils]: 2: Hoare triple {11093#true} assume true; {11093#true} is VALID [2018-11-23 10:01:19,829 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {11093#true} {11093#true} #156#return; {11093#true} is VALID [2018-11-23 10:01:19,829 INFO L256 TraceCheckUtils]: 4: Hoare triple {11093#true} call #t~ret28 := main(); {11093#true} is VALID [2018-11-23 10:01:19,830 INFO L273 TraceCheckUtils]: 5: Hoare triple {11093#true} ~pat_len~0 := #t~nondet6;havoc #t~nondet6;~a_len~0 := #t~nondet7;havoc #t~nondet7;call #t~malloc8.base, #t~malloc8.offset := #Ultimate.alloc(~bvmul32(4bv32, ~pat_len~0));~pat~0.base, ~pat~0.offset := #t~malloc8.base, #t~malloc8.offset;call #t~malloc9.base, #t~malloc9.offset := #Ultimate.alloc(~bvmul32(4bv32, ~a_len~0));~a~0.base, ~a~0.offset := #t~malloc9.base, #t~malloc9.offset;~j~0 := 0bv32; {11113#(= main_~j~0 (_ bv0 32))} is VALID [2018-11-23 10:01:19,831 INFO L273 TraceCheckUtils]: 6: Hoare triple {11113#(= main_~j~0 (_ bv0 32))} assume !!~bvult32(~j~0, ~pat_len~0);call write~intINTTYPE4(#t~nondet11, ~pat~0.base, ~bvadd32(~pat~0.offset, ~bvmul32(4bv32, ~j~0)), 4bv32);havoc #t~nondet11; {11113#(= main_~j~0 (_ bv0 32))} is VALID [2018-11-23 10:01:19,831 INFO L273 TraceCheckUtils]: 7: Hoare triple {11113#(= main_~j~0 (_ bv0 32))} #t~post10 := ~j~0;~j~0 := ~bvadd32(1bv32, #t~post10);havoc #t~post10; {11120#(= (bvadd main_~j~0 (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 10:01:19,832 INFO L273 TraceCheckUtils]: 8: Hoare triple {11120#(= (bvadd main_~j~0 (_ bv4294967295 32)) (_ bv0 32))} assume !!~bvult32(~j~0, ~pat_len~0);call write~intINTTYPE4(#t~nondet11, ~pat~0.base, ~bvadd32(~pat~0.offset, ~bvmul32(4bv32, ~j~0)), 4bv32);havoc #t~nondet11; {11124#(and (bvult main_~j~0 main_~pat_len~0) (= (bvadd main_~j~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:01:19,832 INFO L273 TraceCheckUtils]: 9: Hoare triple {11124#(and (bvult main_~j~0 main_~pat_len~0) (= (bvadd main_~j~0 (_ bv4294967295 32)) (_ bv0 32)))} #t~post10 := ~j~0;~j~0 := ~bvadd32(1bv32, #t~post10);havoc #t~post10; {11128#(and (= (bvadd main_~j~0 (_ bv4294967294 32)) (_ bv0 32)) (bvult (bvadd main_~j~0 (_ bv4294967295 32)) main_~pat_len~0))} is VALID [2018-11-23 10:01:19,833 INFO L273 TraceCheckUtils]: 10: Hoare triple {11128#(and (= (bvadd main_~j~0 (_ bv4294967294 32)) (_ bv0 32)) (bvult (bvadd main_~j~0 (_ bv4294967295 32)) main_~pat_len~0))} assume !~bvult32(~j~0, ~pat_len~0); {11132#(and (bvult (_ bv1 32) main_~pat_len~0) (not (bvult (_ bv2 32) main_~pat_len~0)))} is VALID [2018-11-23 10:01:19,834 INFO L273 TraceCheckUtils]: 11: Hoare triple {11132#(and (bvult (_ bv1 32) main_~pat_len~0) (not (bvult (_ bv2 32) main_~pat_len~0)))} ~j~1 := 0bv32; {11136#(and (bvult (_ bv1 32) main_~pat_len~0) (not (bvult (_ bv2 32) main_~pat_len~0)) (= main_~j~1 (_ bv0 32)))} is VALID [2018-11-23 10:01:19,834 INFO L273 TraceCheckUtils]: 12: Hoare triple {11136#(and (bvult (_ bv1 32) main_~pat_len~0) (not (bvult (_ bv2 32) main_~pat_len~0)) (= main_~j~1 (_ bv0 32)))} assume !!~bvult32(~j~1, ~a_len~0);call write~intINTTYPE4(#t~nondet13, ~a~0.base, ~bvadd32(~a~0.offset, ~bvmul32(4bv32, ~j~1)), 4bv32);havoc #t~nondet13; {11140#(and (bvult (_ bv1 32) main_~pat_len~0) (bvult main_~j~1 main_~a_len~0) (not (bvult (_ bv2 32) main_~pat_len~0)) (= main_~j~1 (_ bv0 32)))} is VALID [2018-11-23 10:01:19,835 INFO L273 TraceCheckUtils]: 13: Hoare triple {11140#(and (bvult (_ bv1 32) main_~pat_len~0) (bvult main_~j~1 main_~a_len~0) (not (bvult (_ bv2 32) main_~pat_len~0)) (= main_~j~1 (_ bv0 32)))} #t~post12 := ~j~1;~j~1 := ~bvadd32(1bv32, #t~post12);havoc #t~post12; {11144#(and (bvult (_ bv1 32) main_~pat_len~0) (= (_ bv1 32) main_~j~1) (bvult (bvadd main_~j~1 (_ bv4294967295 32)) main_~a_len~0) (not (bvult (_ bv2 32) main_~pat_len~0)))} is VALID [2018-11-23 10:01:19,837 INFO L273 TraceCheckUtils]: 14: Hoare triple {11144#(and (bvult (_ bv1 32) main_~pat_len~0) (= (_ bv1 32) main_~j~1) (bvult (bvadd main_~j~1 (_ bv4294967295 32)) main_~a_len~0) (not (bvult (_ bv2 32) main_~pat_len~0)))} assume !~bvult32(~j~1, ~a_len~0); {11148#(and (bvult (_ bv1 32) main_~pat_len~0) (not (bvult (_ bv1 32) main_~a_len~0)) (bvult (_ bv0 32) main_~a_len~0) (not (bvult (_ bv2 32) main_~pat_len~0)))} is VALID [2018-11-23 10:01:19,837 INFO L256 TraceCheckUtils]: 15: Hoare triple {11148#(and (bvult (_ bv1 32) main_~pat_len~0) (not (bvult (_ bv1 32) main_~a_len~0)) (bvult (_ bv0 32) main_~a_len~0) (not (bvult (_ bv2 32) main_~pat_len~0)))} call #t~ret14 := is_relaxed_prefix(~pat~0.base, ~pat~0.offset, ~pat_len~0, ~a~0.base, ~a~0.offset, ~a_len~0); {11093#true} is VALID [2018-11-23 10:01:19,837 INFO L273 TraceCheckUtils]: 16: Hoare triple {11093#true} ~pat.base, ~pat.offset := #in~pat.base, #in~pat.offset;~pat_length := #in~pat_length;~a.base, ~a.offset := #in~a.base, #in~a.offset;~a_length := #in~a_length; {11093#true} is VALID [2018-11-23 10:01:19,837 INFO L273 TraceCheckUtils]: 17: Hoare triple {11093#true} assume !~bvugt32(~pat_length, ~bvadd32(1bv32, ~a_length));~shift~0 := 0bv32;~i~0 := 0bv32; {11093#true} is VALID [2018-11-23 10:01:19,837 INFO L273 TraceCheckUtils]: 18: Hoare triple {11093#true} assume !!(~bvult32(~i~0, ~pat_length) && ~bvult32(~i~0, ~a_length));call #t~mem4 := read~intINTTYPE4(~pat.base, ~bvadd32(~pat.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem5 := read~intINTTYPE4(~a.base, ~bvadd32(~a.offset, ~bvmul32(4bv32, ~bvsub32(~i~0, ~shift~0))), 4bv32); {11093#true} is VALID [2018-11-23 10:01:19,838 INFO L273 TraceCheckUtils]: 19: Hoare triple {11093#true} assume !(#t~mem4 != #t~mem5);havoc #t~mem4;havoc #t~mem5; {11093#true} is VALID [2018-11-23 10:01:19,838 INFO L273 TraceCheckUtils]: 20: Hoare triple {11093#true} #t~post3 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post3);havoc #t~post3; {11093#true} is VALID [2018-11-23 10:01:19,838 INFO L273 TraceCheckUtils]: 21: Hoare triple {11093#true} assume !(~bvult32(~i~0, ~pat_length) && ~bvult32(~i~0, ~a_length)); {11093#true} is VALID [2018-11-23 10:01:19,838 INFO L273 TraceCheckUtils]: 22: Hoare triple {11093#true} assume !(~bvugt32(~pat_length, ~a_length) && 1bv32 == ~shift~0);#res := 1bv8; {11093#true} is VALID [2018-11-23 10:01:19,839 INFO L273 TraceCheckUtils]: 23: Hoare triple {11093#true} assume true; {11093#true} is VALID [2018-11-23 10:01:19,841 INFO L268 TraceCheckUtils]: 24: Hoare quadruple {11093#true} {11148#(and (bvult (_ bv1 32) main_~pat_len~0) (not (bvult (_ bv1 32) main_~a_len~0)) (bvult (_ bv0 32) main_~a_len~0) (not (bvult (_ bv2 32) main_~pat_len~0)))} #160#return; {11148#(and (bvult (_ bv1 32) main_~pat_len~0) (not (bvult (_ bv1 32) main_~a_len~0)) (bvult (_ bv0 32) main_~a_len~0) (not (bvult (_ bv2 32) main_~pat_len~0)))} is VALID [2018-11-23 10:01:19,841 INFO L273 TraceCheckUtils]: 25: Hoare triple {11148#(and (bvult (_ bv1 32) main_~pat_len~0) (not (bvult (_ bv1 32) main_~a_len~0)) (bvult (_ bv0 32) main_~a_len~0) (not (bvult (_ bv2 32) main_~pat_len~0)))} assume 0bv8 != #t~ret14;havoc #t~ret14; {11148#(and (bvult (_ bv1 32) main_~pat_len~0) (not (bvult (_ bv1 32) main_~a_len~0)) (bvult (_ bv0 32) main_~a_len~0) (not (bvult (_ bv2 32) main_~pat_len~0)))} is VALID [2018-11-23 10:01:19,844 INFO L256 TraceCheckUtils]: 26: Hoare triple {11148#(and (bvult (_ bv1 32) main_~pat_len~0) (not (bvult (_ bv1 32) main_~a_len~0)) (bvult (_ bv0 32) main_~a_len~0) (not (bvult (_ bv2 32) main_~pat_len~0)))} call __VERIFIER_assert((if ~bvule32(~pat_len~0, ~bvadd32(1bv32, ~a_len~0)) then 1bv32 else 0bv32)); {11185#(= (bvadd |__VERIFIER_assert_#in~cond| (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 10:01:19,845 INFO L273 TraceCheckUtils]: 27: Hoare triple {11185#(= (bvadd |__VERIFIER_assert_#in~cond| (_ bv4294967295 32)) (_ bv0 32))} ~cond := #in~cond; {11189#(= (bvadd __VERIFIER_assert_~cond (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 10:01:19,845 INFO L273 TraceCheckUtils]: 28: Hoare triple {11189#(= (bvadd __VERIFIER_assert_~cond (_ bv4294967295 32)) (_ bv0 32))} assume 0bv32 == ~cond; {11094#false} is VALID [2018-11-23 10:01:19,845 INFO L273 TraceCheckUtils]: 29: Hoare triple {11094#false} assume !false; {11094#false} is VALID [2018-11-23 10:01:19,847 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 5 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-11-23 10:01:19,847 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-23 10:01:20,950 INFO L273 TraceCheckUtils]: 29: Hoare triple {11094#false} assume !false; {11094#false} is VALID [2018-11-23 10:01:20,952 INFO L273 TraceCheckUtils]: 28: Hoare triple {11199#(not (= (_ bv0 32) __VERIFIER_assert_~cond))} assume 0bv32 == ~cond; {11094#false} is VALID [2018-11-23 10:01:20,953 INFO L273 TraceCheckUtils]: 27: Hoare triple {11203#(not (= |__VERIFIER_assert_#in~cond| (_ bv0 32)))} ~cond := #in~cond; {11199#(not (= (_ bv0 32) __VERIFIER_assert_~cond))} is VALID [2018-11-23 10:01:20,954 INFO L256 TraceCheckUtils]: 26: Hoare triple {11207#(bvule main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32)))} call __VERIFIER_assert((if ~bvule32(~pat_len~0, ~bvadd32(1bv32, ~a_len~0)) then 1bv32 else 0bv32)); {11203#(not (= |__VERIFIER_assert_#in~cond| (_ bv0 32)))} is VALID [2018-11-23 10:01:20,954 INFO L273 TraceCheckUtils]: 25: Hoare triple {11207#(bvule main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32)))} assume 0bv8 != #t~ret14;havoc #t~ret14; {11207#(bvule main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32)))} is VALID [2018-11-23 10:01:20,956 INFO L268 TraceCheckUtils]: 24: Hoare quadruple {11093#true} {11207#(bvule main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32)))} #160#return; {11207#(bvule main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32)))} is VALID [2018-11-23 10:01:20,957 INFO L273 TraceCheckUtils]: 23: Hoare triple {11093#true} assume true; {11093#true} is VALID [2018-11-23 10:01:20,957 INFO L273 TraceCheckUtils]: 22: Hoare triple {11093#true} assume !(~bvugt32(~pat_length, ~a_length) && 1bv32 == ~shift~0);#res := 1bv8; {11093#true} is VALID [2018-11-23 10:01:20,957 INFO L273 TraceCheckUtils]: 21: Hoare triple {11093#true} assume !(~bvult32(~i~0, ~pat_length) && ~bvult32(~i~0, ~a_length)); {11093#true} is VALID [2018-11-23 10:01:20,957 INFO L273 TraceCheckUtils]: 20: Hoare triple {11093#true} #t~post3 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post3);havoc #t~post3; {11093#true} is VALID [2018-11-23 10:01:20,957 INFO L273 TraceCheckUtils]: 19: Hoare triple {11093#true} assume !(#t~mem4 != #t~mem5);havoc #t~mem4;havoc #t~mem5; {11093#true} is VALID [2018-11-23 10:01:20,958 INFO L273 TraceCheckUtils]: 18: Hoare triple {11093#true} assume !!(~bvult32(~i~0, ~pat_length) && ~bvult32(~i~0, ~a_length));call #t~mem4 := read~intINTTYPE4(~pat.base, ~bvadd32(~pat.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem5 := read~intINTTYPE4(~a.base, ~bvadd32(~a.offset, ~bvmul32(4bv32, ~bvsub32(~i~0, ~shift~0))), 4bv32); {11093#true} is VALID [2018-11-23 10:01:20,958 INFO L273 TraceCheckUtils]: 17: Hoare triple {11093#true} assume !~bvugt32(~pat_length, ~bvadd32(1bv32, ~a_length));~shift~0 := 0bv32;~i~0 := 0bv32; {11093#true} is VALID [2018-11-23 10:01:20,958 INFO L273 TraceCheckUtils]: 16: Hoare triple {11093#true} ~pat.base, ~pat.offset := #in~pat.base, #in~pat.offset;~pat_length := #in~pat_length;~a.base, ~a.offset := #in~a.base, #in~a.offset;~a_length := #in~a_length; {11093#true} is VALID [2018-11-23 10:01:20,958 INFO L256 TraceCheckUtils]: 15: Hoare triple {11207#(bvule main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32)))} call #t~ret14 := is_relaxed_prefix(~pat~0.base, ~pat~0.offset, ~pat_len~0, ~a~0.base, ~a~0.offset, ~a_len~0); {11093#true} is VALID [2018-11-23 10:01:20,959 INFO L273 TraceCheckUtils]: 14: Hoare triple {11244#(or (bvule main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32))) (bvult main_~j~1 main_~a_len~0))} assume !~bvult32(~j~1, ~a_len~0); {11207#(bvule main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32)))} is VALID [2018-11-23 10:01:20,960 INFO L273 TraceCheckUtils]: 13: Hoare triple {11248#(or (bvule main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32))) (bvult (bvadd main_~j~1 (_ bv1 32)) main_~a_len~0))} #t~post12 := ~j~1;~j~1 := ~bvadd32(1bv32, #t~post12);havoc #t~post12; {11244#(or (bvule main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32))) (bvult main_~j~1 main_~a_len~0))} is VALID [2018-11-23 10:01:20,965 INFO L273 TraceCheckUtils]: 12: Hoare triple {11252#(forall ((main_~a_len~0 (_ BitVec 32))) (or (bvule main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32))) (not (bvult main_~j~1 main_~a_len~0)) (bvult (bvadd main_~j~1 (_ bv1 32)) main_~a_len~0)))} assume !!~bvult32(~j~1, ~a_len~0);call write~intINTTYPE4(#t~nondet13, ~a~0.base, ~bvadd32(~a~0.offset, ~bvmul32(4bv32, ~j~1)), 4bv32);havoc #t~nondet13; {11248#(or (bvule main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32))) (bvult (bvadd main_~j~1 (_ bv1 32)) main_~a_len~0))} is VALID [2018-11-23 10:01:20,966 INFO L273 TraceCheckUtils]: 11: Hoare triple {11256#(forall ((main_~a_len~0 (_ BitVec 32))) (or (bvule main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32))) (not (bvult (_ bv0 32) main_~a_len~0)) (bvult (_ bv1 32) main_~a_len~0)))} ~j~1 := 0bv32; {11252#(forall ((main_~a_len~0 (_ BitVec 32))) (or (bvule main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32))) (not (bvult main_~j~1 main_~a_len~0)) (bvult (bvadd main_~j~1 (_ bv1 32)) main_~a_len~0)))} is VALID [2018-11-23 10:01:20,967 INFO L273 TraceCheckUtils]: 10: Hoare triple {11260#(or (bvult main_~j~0 main_~pat_len~0) (forall ((main_~a_len~0 (_ BitVec 32))) (or (bvule main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32))) (not (bvult (_ bv0 32) main_~a_len~0)) (bvult (_ bv1 32) main_~a_len~0))))} assume !~bvult32(~j~0, ~pat_len~0); {11256#(forall ((main_~a_len~0 (_ BitVec 32))) (or (bvule main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32))) (not (bvult (_ bv0 32) main_~a_len~0)) (bvult (_ bv1 32) main_~a_len~0)))} is VALID [2018-11-23 10:01:20,967 INFO L273 TraceCheckUtils]: 9: Hoare triple {11264#(or (bvult (bvadd main_~j~0 (_ bv1 32)) main_~pat_len~0) (forall ((main_~a_len~0 (_ BitVec 32))) (or (bvule main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32))) (not (bvult (_ bv0 32) main_~a_len~0)) (bvult (_ bv1 32) main_~a_len~0))))} #t~post10 := ~j~0;~j~0 := ~bvadd32(1bv32, #t~post10);havoc #t~post10; {11260#(or (bvult main_~j~0 main_~pat_len~0) (forall ((main_~a_len~0 (_ BitVec 32))) (or (bvule main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32))) (not (bvult (_ bv0 32) main_~a_len~0)) (bvult (_ bv1 32) main_~a_len~0))))} is VALID [2018-11-23 10:01:20,977 INFO L273 TraceCheckUtils]: 8: Hoare triple {11268#(forall ((main_~pat_len~0 (_ BitVec 32)) (main_~a_len~0 (_ BitVec 32))) (or (bvule main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32))) (not (bvult (_ bv0 32) main_~a_len~0)) (bvult (bvadd main_~j~0 (_ bv1 32)) main_~pat_len~0) (not (bvult main_~j~0 main_~pat_len~0)) (bvult (_ bv1 32) main_~a_len~0)))} assume !!~bvult32(~j~0, ~pat_len~0);call write~intINTTYPE4(#t~nondet11, ~pat~0.base, ~bvadd32(~pat~0.offset, ~bvmul32(4bv32, ~j~0)), 4bv32);havoc #t~nondet11; {11264#(or (bvult (bvadd main_~j~0 (_ bv1 32)) main_~pat_len~0) (forall ((main_~a_len~0 (_ BitVec 32))) (or (bvule main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32))) (not (bvult (_ bv0 32) main_~a_len~0)) (bvult (_ bv1 32) main_~a_len~0))))} is VALID [2018-11-23 10:01:21,018 INFO L273 TraceCheckUtils]: 7: Hoare triple {11272#(forall ((main_~pat_len~0 (_ BitVec 32)) (main_~a_len~0 (_ BitVec 32))) (or (bvule main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32))) (not (bvult (bvadd main_~j~0 (_ bv1 32)) main_~pat_len~0)) (not (bvult (_ bv0 32) main_~a_len~0)) (bvult (bvadd main_~j~0 (_ bv2 32)) main_~pat_len~0) (bvult (_ bv1 32) main_~a_len~0)))} #t~post10 := ~j~0;~j~0 := ~bvadd32(1bv32, #t~post10);havoc #t~post10; {11268#(forall ((main_~pat_len~0 (_ BitVec 32)) (main_~a_len~0 (_ BitVec 32))) (or (bvule main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32))) (not (bvult (_ bv0 32) main_~a_len~0)) (bvult (bvadd main_~j~0 (_ bv1 32)) main_~pat_len~0) (not (bvult main_~j~0 main_~pat_len~0)) (bvult (_ bv1 32) main_~a_len~0)))} is VALID [2018-11-23 10:01:21,019 INFO L273 TraceCheckUtils]: 6: Hoare triple {11272#(forall ((main_~pat_len~0 (_ BitVec 32)) (main_~a_len~0 (_ BitVec 32))) (or (bvule main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32))) (not (bvult (bvadd main_~j~0 (_ bv1 32)) main_~pat_len~0)) (not (bvult (_ bv0 32) main_~a_len~0)) (bvult (bvadd main_~j~0 (_ bv2 32)) main_~pat_len~0) (bvult (_ bv1 32) main_~a_len~0)))} assume !!~bvult32(~j~0, ~pat_len~0);call write~intINTTYPE4(#t~nondet11, ~pat~0.base, ~bvadd32(~pat~0.offset, ~bvmul32(4bv32, ~j~0)), 4bv32);havoc #t~nondet11; {11272#(forall ((main_~pat_len~0 (_ BitVec 32)) (main_~a_len~0 (_ BitVec 32))) (or (bvule main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32))) (not (bvult (bvadd main_~j~0 (_ bv1 32)) main_~pat_len~0)) (not (bvult (_ bv0 32) main_~a_len~0)) (bvult (bvadd main_~j~0 (_ bv2 32)) main_~pat_len~0) (bvult (_ bv1 32) main_~a_len~0)))} is VALID [2018-11-23 10:01:21,022 INFO L273 TraceCheckUtils]: 5: Hoare triple {11093#true} ~pat_len~0 := #t~nondet6;havoc #t~nondet6;~a_len~0 := #t~nondet7;havoc #t~nondet7;call #t~malloc8.base, #t~malloc8.offset := #Ultimate.alloc(~bvmul32(4bv32, ~pat_len~0));~pat~0.base, ~pat~0.offset := #t~malloc8.base, #t~malloc8.offset;call #t~malloc9.base, #t~malloc9.offset := #Ultimate.alloc(~bvmul32(4bv32, ~a_len~0));~a~0.base, ~a~0.offset := #t~malloc9.base, #t~malloc9.offset;~j~0 := 0bv32; {11272#(forall ((main_~pat_len~0 (_ BitVec 32)) (main_~a_len~0 (_ BitVec 32))) (or (bvule main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32))) (not (bvult (bvadd main_~j~0 (_ bv1 32)) main_~pat_len~0)) (not (bvult (_ bv0 32) main_~a_len~0)) (bvult (bvadd main_~j~0 (_ bv2 32)) main_~pat_len~0) (bvult (_ bv1 32) main_~a_len~0)))} is VALID [2018-11-23 10:01:21,022 INFO L256 TraceCheckUtils]: 4: Hoare triple {11093#true} call #t~ret28 := main(); {11093#true} is VALID [2018-11-23 10:01:21,023 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {11093#true} {11093#true} #156#return; {11093#true} is VALID [2018-11-23 10:01:21,023 INFO L273 TraceCheckUtils]: 2: Hoare triple {11093#true} assume true; {11093#true} is VALID [2018-11-23 10:01:21,023 INFO L273 TraceCheckUtils]: 1: Hoare triple {11093#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {11093#true} is VALID [2018-11-23 10:01:21,023 INFO L256 TraceCheckUtils]: 0: Hoare triple {11093#true} call ULTIMATE.init(); {11093#true} is VALID [2018-11-23 10:01:21,024 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 5 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-11-23 10:01:21,026 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 10:01:21,026 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 13] total 24 [2018-11-23 10:01:21,027 INFO L78 Accepts]: Start accepts. Automaton has 24 states. Word has length 30 [2018-11-23 10:01:21,027 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 10:01:21,027 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 24 states. [2018-11-23 10:01:21,181 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 46 edges. 46 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:01:21,182 INFO L459 AbstractCegarLoop]: Interpolant automaton has 24 states [2018-11-23 10:01:21,182 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 24 interpolants. [2018-11-23 10:01:21,182 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=94, Invalid=458, Unknown=0, NotChecked=0, Total=552 [2018-11-23 10:01:21,183 INFO L87 Difference]: Start difference. First operand 133 states and 186 transitions. Second operand 24 states. [2018-11-23 10:01:22,631 WARN L180 SmtUtils]: Spent 194.00 ms on a formula simplification. DAG size of input: 25 DAG size of output: 24 [2018-11-23 10:01:25,319 WARN L180 SmtUtils]: Spent 142.00 ms on a formula simplification. DAG size of input: 27 DAG size of output: 25 [2018-11-23 10:01:37,299 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:01:37,299 INFO L93 Difference]: Finished difference Result 253 states and 357 transitions. [2018-11-23 10:01:37,299 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 28 states. [2018-11-23 10:01:37,299 INFO L78 Accepts]: Start accepts. Automaton has 24 states. Word has length 30 [2018-11-23 10:01:37,300 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 10:01:37,300 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 24 states. [2018-11-23 10:01:37,303 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 282 transitions. [2018-11-23 10:01:37,303 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 24 states. [2018-11-23 10:01:37,306 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 282 transitions. [2018-11-23 10:01:37,306 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 28 states and 282 transitions. [2018-11-23 10:01:38,352 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 282 edges. 282 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:01:38,357 INFO L225 Difference]: With dead ends: 253 [2018-11-23 10:01:38,357 INFO L226 Difference]: Without dead ends: 251 [2018-11-23 10:01:38,358 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 76 GetRequests, 37 SyntacticMatches, 0 SemanticMatches, 39 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 294 ImplicationChecksByTransitivity, 2.9s TimeCoverageRelationStatistics Valid=298, Invalid=1342, Unknown=0, NotChecked=0, Total=1640 [2018-11-23 10:01:38,359 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 251 states. [2018-11-23 10:01:38,505 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 251 to 146. [2018-11-23 10:01:38,505 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 10:01:38,505 INFO L82 GeneralOperation]: Start isEquivalent. First operand 251 states. Second operand 146 states. [2018-11-23 10:01:38,505 INFO L74 IsIncluded]: Start isIncluded. First operand 251 states. Second operand 146 states. [2018-11-23 10:01:38,505 INFO L87 Difference]: Start difference. First operand 251 states. Second operand 146 states. [2018-11-23 10:01:38,512 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:01:38,512 INFO L93 Difference]: Finished difference Result 251 states and 355 transitions. [2018-11-23 10:01:38,512 INFO L276 IsEmpty]: Start isEmpty. Operand 251 states and 355 transitions. [2018-11-23 10:01:38,513 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:01:38,513 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:01:38,513 INFO L74 IsIncluded]: Start isIncluded. First operand 146 states. Second operand 251 states. [2018-11-23 10:01:38,513 INFO L87 Difference]: Start difference. First operand 146 states. Second operand 251 states. [2018-11-23 10:01:38,520 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:01:38,520 INFO L93 Difference]: Finished difference Result 251 states and 355 transitions. [2018-11-23 10:01:38,521 INFO L276 IsEmpty]: Start isEmpty. Operand 251 states and 355 transitions. [2018-11-23 10:01:38,522 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:01:38,522 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:01:38,522 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 10:01:38,522 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 10:01:38,522 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 146 states. [2018-11-23 10:01:38,526 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 146 states to 146 states and 201 transitions. [2018-11-23 10:01:38,526 INFO L78 Accepts]: Start accepts. Automaton has 146 states and 201 transitions. Word has length 30 [2018-11-23 10:01:38,526 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 10:01:38,526 INFO L480 AbstractCegarLoop]: Abstraction has 146 states and 201 transitions. [2018-11-23 10:01:38,526 INFO L481 AbstractCegarLoop]: Interpolant automaton has 24 states. [2018-11-23 10:01:38,526 INFO L276 IsEmpty]: Start isEmpty. Operand 146 states and 201 transitions. [2018-11-23 10:01:38,527 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 31 [2018-11-23 10:01:38,527 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 10:01:38,527 INFO L402 BasicCegarLoop]: trace histogram [3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 10:01:38,528 INFO L423 AbstractCegarLoop]: === Iteration 17 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 10:01:38,528 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 10:01:38,528 INFO L82 PathProgramCache]: Analyzing trace with hash 1123563105, now seen corresponding path program 2 times [2018-11-23 10:01:38,528 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 10:01:38,528 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4nyu Starting monitored process 18 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 18 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk [2018-11-23 10:01:38,559 INFO L101 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2018-11-23 10:01:38,607 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2018-11-23 10:01:38,607 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 10:01:38,626 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:01:38,627 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 10:01:38,694 INFO L256 TraceCheckUtils]: 0: Hoare triple {12373#true} call ULTIMATE.init(); {12373#true} is VALID [2018-11-23 10:01:38,695 INFO L273 TraceCheckUtils]: 1: Hoare triple {12373#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {12373#true} is VALID [2018-11-23 10:01:38,695 INFO L273 TraceCheckUtils]: 2: Hoare triple {12373#true} assume true; {12373#true} is VALID [2018-11-23 10:01:38,695 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {12373#true} {12373#true} #156#return; {12373#true} is VALID [2018-11-23 10:01:38,695 INFO L256 TraceCheckUtils]: 4: Hoare triple {12373#true} call #t~ret28 := main(); {12373#true} is VALID [2018-11-23 10:01:38,695 INFO L273 TraceCheckUtils]: 5: Hoare triple {12373#true} ~pat_len~0 := #t~nondet6;havoc #t~nondet6;~a_len~0 := #t~nondet7;havoc #t~nondet7;call #t~malloc8.base, #t~malloc8.offset := #Ultimate.alloc(~bvmul32(4bv32, ~pat_len~0));~pat~0.base, ~pat~0.offset := #t~malloc8.base, #t~malloc8.offset;call #t~malloc9.base, #t~malloc9.offset := #Ultimate.alloc(~bvmul32(4bv32, ~a_len~0));~a~0.base, ~a~0.offset := #t~malloc9.base, #t~malloc9.offset;~j~0 := 0bv32; {12373#true} is VALID [2018-11-23 10:01:38,696 INFO L273 TraceCheckUtils]: 6: Hoare triple {12373#true} assume !!~bvult32(~j~0, ~pat_len~0);call write~intINTTYPE4(#t~nondet11, ~pat~0.base, ~bvadd32(~pat~0.offset, ~bvmul32(4bv32, ~j~0)), 4bv32);havoc #t~nondet11; {12373#true} is VALID [2018-11-23 10:01:38,696 INFO L273 TraceCheckUtils]: 7: Hoare triple {12373#true} #t~post10 := ~j~0;~j~0 := ~bvadd32(1bv32, #t~post10);havoc #t~post10; {12373#true} is VALID [2018-11-23 10:01:38,696 INFO L273 TraceCheckUtils]: 8: Hoare triple {12373#true} assume !!~bvult32(~j~0, ~pat_len~0);call write~intINTTYPE4(#t~nondet11, ~pat~0.base, ~bvadd32(~pat~0.offset, ~bvmul32(4bv32, ~j~0)), 4bv32);havoc #t~nondet11; {12373#true} is VALID [2018-11-23 10:01:38,696 INFO L273 TraceCheckUtils]: 9: Hoare triple {12373#true} #t~post10 := ~j~0;~j~0 := ~bvadd32(1bv32, #t~post10);havoc #t~post10; {12373#true} is VALID [2018-11-23 10:01:38,696 INFO L273 TraceCheckUtils]: 10: Hoare triple {12373#true} assume !!~bvult32(~j~0, ~pat_len~0);call write~intINTTYPE4(#t~nondet11, ~pat~0.base, ~bvadd32(~pat~0.offset, ~bvmul32(4bv32, ~j~0)), 4bv32);havoc #t~nondet11; {12373#true} is VALID [2018-11-23 10:01:38,697 INFO L273 TraceCheckUtils]: 11: Hoare triple {12373#true} #t~post10 := ~j~0;~j~0 := ~bvadd32(1bv32, #t~post10);havoc #t~post10; {12373#true} is VALID [2018-11-23 10:01:38,697 INFO L273 TraceCheckUtils]: 12: Hoare triple {12373#true} assume !~bvult32(~j~0, ~pat_len~0); {12373#true} is VALID [2018-11-23 10:01:38,697 INFO L273 TraceCheckUtils]: 13: Hoare triple {12373#true} ~j~1 := 0bv32; {12373#true} is VALID [2018-11-23 10:01:38,697 INFO L273 TraceCheckUtils]: 14: Hoare triple {12373#true} assume !!~bvult32(~j~1, ~a_len~0);call write~intINTTYPE4(#t~nondet13, ~a~0.base, ~bvadd32(~a~0.offset, ~bvmul32(4bv32, ~j~1)), 4bv32);havoc #t~nondet13; {12373#true} is VALID [2018-11-23 10:01:38,697 INFO L273 TraceCheckUtils]: 15: Hoare triple {12373#true} #t~post12 := ~j~1;~j~1 := ~bvadd32(1bv32, #t~post12);havoc #t~post12; {12373#true} is VALID [2018-11-23 10:01:38,697 INFO L273 TraceCheckUtils]: 16: Hoare triple {12373#true} assume !~bvult32(~j~1, ~a_len~0); {12373#true} is VALID [2018-11-23 10:01:38,697 INFO L256 TraceCheckUtils]: 17: Hoare triple {12373#true} call #t~ret14 := is_relaxed_prefix(~pat~0.base, ~pat~0.offset, ~pat_len~0, ~a~0.base, ~a~0.offset, ~a_len~0); {12373#true} is VALID [2018-11-23 10:01:38,698 INFO L273 TraceCheckUtils]: 18: Hoare triple {12373#true} ~pat.base, ~pat.offset := #in~pat.base, #in~pat.offset;~pat_length := #in~pat_length;~a.base, ~a.offset := #in~a.base, #in~a.offset;~a_length := #in~a_length; {12432#(and (= |is_relaxed_prefix_#in~a_length| is_relaxed_prefix_~a_length) (= |is_relaxed_prefix_#in~pat_length| is_relaxed_prefix_~pat_length))} is VALID [2018-11-23 10:01:38,698 INFO L273 TraceCheckUtils]: 19: Hoare triple {12432#(and (= |is_relaxed_prefix_#in~a_length| is_relaxed_prefix_~a_length) (= |is_relaxed_prefix_#in~pat_length| is_relaxed_prefix_~pat_length))} assume ~bvugt32(~pat_length, ~bvadd32(1bv32, ~a_length));#res := 0bv8; {12436#(bvugt |is_relaxed_prefix_#in~pat_length| (bvadd |is_relaxed_prefix_#in~a_length| (_ bv1 32)))} is VALID [2018-11-23 10:01:38,699 INFO L273 TraceCheckUtils]: 20: Hoare triple {12436#(bvugt |is_relaxed_prefix_#in~pat_length| (bvadd |is_relaxed_prefix_#in~a_length| (_ bv1 32)))} assume true; {12436#(bvugt |is_relaxed_prefix_#in~pat_length| (bvadd |is_relaxed_prefix_#in~a_length| (_ bv1 32)))} is VALID [2018-11-23 10:01:38,700 INFO L268 TraceCheckUtils]: 21: Hoare quadruple {12436#(bvugt |is_relaxed_prefix_#in~pat_length| (bvadd |is_relaxed_prefix_#in~a_length| (_ bv1 32)))} {12373#true} #160#return; {12443#(bvugt main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32)))} is VALID [2018-11-23 10:01:38,701 INFO L273 TraceCheckUtils]: 22: Hoare triple {12443#(bvugt main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32)))} assume !(0bv8 != #t~ret14);havoc #t~ret14; {12443#(bvugt main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32)))} is VALID [2018-11-23 10:01:38,701 INFO L273 TraceCheckUtils]: 23: Hoare triple {12443#(bvugt main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32)))} assume ~bvule32(~pat_len~0, ~bvadd32(1bv32, ~a_len~0));~differences~0 := 0bv32;~i~2 := 0bv32; {12374#false} is VALID [2018-11-23 10:01:38,701 INFO L273 TraceCheckUtils]: 24: Hoare triple {12374#false} assume !(~bvult32(~i~2, ~pat_len~0) && ~bvult32(~i~2, ~a_len~0)); {12374#false} is VALID [2018-11-23 10:01:38,701 INFO L273 TraceCheckUtils]: 25: Hoare triple {12374#false} assume ~bvugt32(~pat_len~0, ~a_len~0);#t~pre27 := ~bvadd32(1bv32, ~differences~0);~differences~0 := ~bvadd32(1bv32, ~differences~0);havoc #t~pre27; {12374#false} is VALID [2018-11-23 10:01:38,702 INFO L256 TraceCheckUtils]: 26: Hoare triple {12374#false} call __VERIFIER_assert((if ~bvugt32(~differences~0, 1bv32) then 1bv32 else 0bv32)); {12374#false} is VALID [2018-11-23 10:01:38,702 INFO L273 TraceCheckUtils]: 27: Hoare triple {12374#false} ~cond := #in~cond; {12374#false} is VALID [2018-11-23 10:01:38,702 INFO L273 TraceCheckUtils]: 28: Hoare triple {12374#false} assume 0bv32 == ~cond; {12374#false} is VALID [2018-11-23 10:01:38,702 INFO L273 TraceCheckUtils]: 29: Hoare triple {12374#false} assume !false; {12374#false} is VALID [2018-11-23 10:01:38,703 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2018-11-23 10:01:38,703 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 10:01:38,705 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 10:01:38,705 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2018-11-23 10:01:38,705 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 30 [2018-11-23 10:01:38,706 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 10:01:38,706 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states. [2018-11-23 10:01:38,753 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 26 edges. 26 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:01:38,753 INFO L459 AbstractCegarLoop]: Interpolant automaton has 5 states [2018-11-23 10:01:38,753 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2018-11-23 10:01:38,753 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2018-11-23 10:01:38,754 INFO L87 Difference]: Start difference. First operand 146 states and 201 transitions. Second operand 5 states. [2018-11-23 10:01:39,611 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:01:39,612 INFO L93 Difference]: Finished difference Result 159 states and 216 transitions. [2018-11-23 10:01:39,612 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2018-11-23 10:01:39,612 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 30 [2018-11-23 10:01:39,612 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 10:01:39,612 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2018-11-23 10:01:39,613 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 78 transitions. [2018-11-23 10:01:39,613 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2018-11-23 10:01:39,614 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 78 transitions. [2018-11-23 10:01:39,614 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 78 transitions. [2018-11-23 10:01:39,762 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 78 edges. 78 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:01:39,765 INFO L225 Difference]: With dead ends: 159 [2018-11-23 10:01:39,765 INFO L226 Difference]: Without dead ends: 144 [2018-11-23 10:01:39,765 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 30 GetRequests, 25 SyntacticMatches, 1 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2018-11-23 10:01:39,766 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 144 states. [2018-11-23 10:01:39,935 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 144 to 144. [2018-11-23 10:01:39,935 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 10:01:39,935 INFO L82 GeneralOperation]: Start isEquivalent. First operand 144 states. Second operand 144 states. [2018-11-23 10:01:39,935 INFO L74 IsIncluded]: Start isIncluded. First operand 144 states. Second operand 144 states. [2018-11-23 10:01:39,936 INFO L87 Difference]: Start difference. First operand 144 states. Second operand 144 states. [2018-11-23 10:01:39,940 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:01:39,940 INFO L93 Difference]: Finished difference Result 144 states and 197 transitions. [2018-11-23 10:01:39,941 INFO L276 IsEmpty]: Start isEmpty. Operand 144 states and 197 transitions. [2018-11-23 10:01:39,941 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:01:39,941 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:01:39,941 INFO L74 IsIncluded]: Start isIncluded. First operand 144 states. Second operand 144 states. [2018-11-23 10:01:39,942 INFO L87 Difference]: Start difference. First operand 144 states. Second operand 144 states. [2018-11-23 10:01:39,944 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:01:39,945 INFO L93 Difference]: Finished difference Result 144 states and 197 transitions. [2018-11-23 10:01:39,945 INFO L276 IsEmpty]: Start isEmpty. Operand 144 states and 197 transitions. [2018-11-23 10:01:39,945 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:01:39,946 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:01:39,946 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 10:01:39,946 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 10:01:39,946 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 144 states. [2018-11-23 10:01:39,949 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 144 states to 144 states and 197 transitions. [2018-11-23 10:01:39,950 INFO L78 Accepts]: Start accepts. Automaton has 144 states and 197 transitions. Word has length 30 [2018-11-23 10:01:39,950 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 10:01:39,950 INFO L480 AbstractCegarLoop]: Abstraction has 144 states and 197 transitions. [2018-11-23 10:01:39,950 INFO L481 AbstractCegarLoop]: Interpolant automaton has 5 states. [2018-11-23 10:01:39,950 INFO L276 IsEmpty]: Start isEmpty. Operand 144 states and 197 transitions. [2018-11-23 10:01:39,951 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2018-11-23 10:01:39,951 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 10:01:39,951 INFO L402 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 10:01:39,951 INFO L423 AbstractCegarLoop]: === Iteration 18 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 10:01:39,952 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 10:01:39,952 INFO L82 PathProgramCache]: Analyzing trace with hash -2126103621, now seen corresponding path program 1 times [2018-11-23 10:01:39,952 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 10:01:39,952 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4nyu Starting monitored process 19 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 19 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk [2018-11-23 10:01:40,013 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 10:01:40,081 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:01:40,121 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:01:40,123 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 10:01:40,388 INFO L256 TraceCheckUtils]: 0: Hoare triple {13177#true} call ULTIMATE.init(); {13177#true} is VALID [2018-11-23 10:01:40,388 INFO L273 TraceCheckUtils]: 1: Hoare triple {13177#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {13177#true} is VALID [2018-11-23 10:01:40,389 INFO L273 TraceCheckUtils]: 2: Hoare triple {13177#true} assume true; {13177#true} is VALID [2018-11-23 10:01:40,389 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {13177#true} {13177#true} #156#return; {13177#true} is VALID [2018-11-23 10:01:40,389 INFO L256 TraceCheckUtils]: 4: Hoare triple {13177#true} call #t~ret28 := main(); {13177#true} is VALID [2018-11-23 10:01:40,389 INFO L273 TraceCheckUtils]: 5: Hoare triple {13177#true} ~pat_len~0 := #t~nondet6;havoc #t~nondet6;~a_len~0 := #t~nondet7;havoc #t~nondet7;call #t~malloc8.base, #t~malloc8.offset := #Ultimate.alloc(~bvmul32(4bv32, ~pat_len~0));~pat~0.base, ~pat~0.offset := #t~malloc8.base, #t~malloc8.offset;call #t~malloc9.base, #t~malloc9.offset := #Ultimate.alloc(~bvmul32(4bv32, ~a_len~0));~a~0.base, ~a~0.offset := #t~malloc9.base, #t~malloc9.offset;~j~0 := 0bv32; {13197#(= main_~j~0 (_ bv0 32))} is VALID [2018-11-23 10:01:40,390 INFO L273 TraceCheckUtils]: 6: Hoare triple {13197#(= main_~j~0 (_ bv0 32))} assume !!~bvult32(~j~0, ~pat_len~0);call write~intINTTYPE4(#t~nondet11, ~pat~0.base, ~bvadd32(~pat~0.offset, ~bvmul32(4bv32, ~j~0)), 4bv32);havoc #t~nondet11; {13197#(= main_~j~0 (_ bv0 32))} is VALID [2018-11-23 10:01:40,390 INFO L273 TraceCheckUtils]: 7: Hoare triple {13197#(= main_~j~0 (_ bv0 32))} #t~post10 := ~j~0;~j~0 := ~bvadd32(1bv32, #t~post10);havoc #t~post10; {13204#(= (bvadd main_~j~0 (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 10:01:40,391 INFO L273 TraceCheckUtils]: 8: Hoare triple {13204#(= (bvadd main_~j~0 (_ bv4294967295 32)) (_ bv0 32))} assume !~bvult32(~j~0, ~pat_len~0); {13208#(not (bvult (_ bv1 32) main_~pat_len~0))} is VALID [2018-11-23 10:01:40,391 INFO L273 TraceCheckUtils]: 9: Hoare triple {13208#(not (bvult (_ bv1 32) main_~pat_len~0))} ~j~1 := 0bv32; {13212#(and (not (bvult (_ bv1 32) main_~pat_len~0)) (= main_~j~1 (_ bv0 32)))} is VALID [2018-11-23 10:01:40,392 INFO L273 TraceCheckUtils]: 10: Hoare triple {13212#(and (not (bvult (_ bv1 32) main_~pat_len~0)) (= main_~j~1 (_ bv0 32)))} assume !!~bvult32(~j~1, ~a_len~0);call write~intINTTYPE4(#t~nondet13, ~a~0.base, ~bvadd32(~a~0.offset, ~bvmul32(4bv32, ~j~1)), 4bv32);havoc #t~nondet13; {13216#(and (not (bvult (_ bv1 32) main_~pat_len~0)) (bvult main_~j~1 main_~a_len~0) (= main_~j~1 (_ bv0 32)))} is VALID [2018-11-23 10:01:40,393 INFO L273 TraceCheckUtils]: 11: Hoare triple {13216#(and (not (bvult (_ bv1 32) main_~pat_len~0)) (bvult main_~j~1 main_~a_len~0) (= main_~j~1 (_ bv0 32)))} #t~post12 := ~j~1;~j~1 := ~bvadd32(1bv32, #t~post12);havoc #t~post12; {13220#(and (not (bvult (_ bv1 32) main_~pat_len~0)) (= (_ bv1 32) main_~j~1) (bvult (bvadd main_~j~1 (_ bv4294967295 32)) main_~a_len~0))} is VALID [2018-11-23 10:01:40,393 INFO L273 TraceCheckUtils]: 12: Hoare triple {13220#(and (not (bvult (_ bv1 32) main_~pat_len~0)) (= (_ bv1 32) main_~j~1) (bvult (bvadd main_~j~1 (_ bv4294967295 32)) main_~a_len~0))} assume !~bvult32(~j~1, ~a_len~0); {13224#(and (not (bvult (_ bv1 32) main_~pat_len~0)) (not (bvult (_ bv1 32) main_~a_len~0)) (bvult (_ bv0 32) main_~a_len~0))} is VALID [2018-11-23 10:01:40,394 INFO L256 TraceCheckUtils]: 13: Hoare triple {13224#(and (not (bvult (_ bv1 32) main_~pat_len~0)) (not (bvult (_ bv1 32) main_~a_len~0)) (bvult (_ bv0 32) main_~a_len~0))} call #t~ret14 := is_relaxed_prefix(~pat~0.base, ~pat~0.offset, ~pat_len~0, ~a~0.base, ~a~0.offset, ~a_len~0); {13177#true} is VALID [2018-11-23 10:01:40,394 INFO L273 TraceCheckUtils]: 14: Hoare triple {13177#true} ~pat.base, ~pat.offset := #in~pat.base, #in~pat.offset;~pat_length := #in~pat_length;~a.base, ~a.offset := #in~a.base, #in~a.offset;~a_length := #in~a_length; {13231#(and (= |is_relaxed_prefix_#in~a_length| is_relaxed_prefix_~a_length) (= |is_relaxed_prefix_#in~pat_length| is_relaxed_prefix_~pat_length))} is VALID [2018-11-23 10:01:40,395 INFO L273 TraceCheckUtils]: 15: Hoare triple {13231#(and (= |is_relaxed_prefix_#in~a_length| is_relaxed_prefix_~a_length) (= |is_relaxed_prefix_#in~pat_length| is_relaxed_prefix_~pat_length))} assume !~bvugt32(~pat_length, ~bvadd32(1bv32, ~a_length));~shift~0 := 0bv32;~i~0 := 0bv32; {13231#(and (= |is_relaxed_prefix_#in~a_length| is_relaxed_prefix_~a_length) (= |is_relaxed_prefix_#in~pat_length| is_relaxed_prefix_~pat_length))} is VALID [2018-11-23 10:01:40,396 INFO L273 TraceCheckUtils]: 16: Hoare triple {13231#(and (= |is_relaxed_prefix_#in~a_length| is_relaxed_prefix_~a_length) (= |is_relaxed_prefix_#in~pat_length| is_relaxed_prefix_~pat_length))} assume !!(~bvult32(~i~0, ~pat_length) && ~bvult32(~i~0, ~a_length));call #t~mem4 := read~intINTTYPE4(~pat.base, ~bvadd32(~pat.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem5 := read~intINTTYPE4(~a.base, ~bvadd32(~a.offset, ~bvmul32(4bv32, ~bvsub32(~i~0, ~shift~0))), 4bv32); {13231#(and (= |is_relaxed_prefix_#in~a_length| is_relaxed_prefix_~a_length) (= |is_relaxed_prefix_#in~pat_length| is_relaxed_prefix_~pat_length))} is VALID [2018-11-23 10:01:40,397 INFO L273 TraceCheckUtils]: 17: Hoare triple {13231#(and (= |is_relaxed_prefix_#in~a_length| is_relaxed_prefix_~a_length) (= |is_relaxed_prefix_#in~pat_length| is_relaxed_prefix_~pat_length))} assume #t~mem4 != #t~mem5;havoc #t~mem4;havoc #t~mem5; {13231#(and (= |is_relaxed_prefix_#in~a_length| is_relaxed_prefix_~a_length) (= |is_relaxed_prefix_#in~pat_length| is_relaxed_prefix_~pat_length))} is VALID [2018-11-23 10:01:40,398 INFO L273 TraceCheckUtils]: 18: Hoare triple {13231#(and (= |is_relaxed_prefix_#in~a_length| is_relaxed_prefix_~a_length) (= |is_relaxed_prefix_#in~pat_length| is_relaxed_prefix_~pat_length))} assume 0bv32 == ~shift~0;~shift~0 := 1bv32; {13231#(and (= |is_relaxed_prefix_#in~a_length| is_relaxed_prefix_~a_length) (= |is_relaxed_prefix_#in~pat_length| is_relaxed_prefix_~pat_length))} is VALID [2018-11-23 10:01:40,398 INFO L273 TraceCheckUtils]: 19: Hoare triple {13231#(and (= |is_relaxed_prefix_#in~a_length| is_relaxed_prefix_~a_length) (= |is_relaxed_prefix_#in~pat_length| is_relaxed_prefix_~pat_length))} #t~post3 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post3);havoc #t~post3; {13231#(and (= |is_relaxed_prefix_#in~a_length| is_relaxed_prefix_~a_length) (= |is_relaxed_prefix_#in~pat_length| is_relaxed_prefix_~pat_length))} is VALID [2018-11-23 10:01:40,399 INFO L273 TraceCheckUtils]: 20: Hoare triple {13231#(and (= |is_relaxed_prefix_#in~a_length| is_relaxed_prefix_~a_length) (= |is_relaxed_prefix_#in~pat_length| is_relaxed_prefix_~pat_length))} assume !(~bvult32(~i~0, ~pat_length) && ~bvult32(~i~0, ~a_length)); {13231#(and (= |is_relaxed_prefix_#in~a_length| is_relaxed_prefix_~a_length) (= |is_relaxed_prefix_#in~pat_length| is_relaxed_prefix_~pat_length))} is VALID [2018-11-23 10:01:40,401 INFO L273 TraceCheckUtils]: 21: Hoare triple {13231#(and (= |is_relaxed_prefix_#in~a_length| is_relaxed_prefix_~a_length) (= |is_relaxed_prefix_#in~pat_length| is_relaxed_prefix_~pat_length))} assume ~bvugt32(~pat_length, ~a_length) && 1bv32 == ~shift~0;#res := 0bv8; {13253#(bvugt |is_relaxed_prefix_#in~pat_length| |is_relaxed_prefix_#in~a_length|)} is VALID [2018-11-23 10:01:40,401 INFO L273 TraceCheckUtils]: 22: Hoare triple {13253#(bvugt |is_relaxed_prefix_#in~pat_length| |is_relaxed_prefix_#in~a_length|)} assume true; {13253#(bvugt |is_relaxed_prefix_#in~pat_length| |is_relaxed_prefix_#in~a_length|)} is VALID [2018-11-23 10:01:40,405 INFO L268 TraceCheckUtils]: 23: Hoare quadruple {13253#(bvugt |is_relaxed_prefix_#in~pat_length| |is_relaxed_prefix_#in~a_length|)} {13224#(and (not (bvult (_ bv1 32) main_~pat_len~0)) (not (bvult (_ bv1 32) main_~a_len~0)) (bvult (_ bv0 32) main_~a_len~0))} #160#return; {13178#false} is VALID [2018-11-23 10:01:40,405 INFO L273 TraceCheckUtils]: 24: Hoare triple {13178#false} assume !(0bv8 != #t~ret14);havoc #t~ret14; {13178#false} is VALID [2018-11-23 10:01:40,406 INFO L273 TraceCheckUtils]: 25: Hoare triple {13178#false} assume ~bvule32(~pat_len~0, ~bvadd32(1bv32, ~a_len~0));~differences~0 := 0bv32;~i~2 := 0bv32; {13178#false} is VALID [2018-11-23 10:01:40,406 INFO L273 TraceCheckUtils]: 26: Hoare triple {13178#false} assume !(~bvult32(~i~2, ~pat_len~0) && ~bvult32(~i~2, ~a_len~0)); {13178#false} is VALID [2018-11-23 10:01:40,406 INFO L273 TraceCheckUtils]: 27: Hoare triple {13178#false} assume ~bvugt32(~pat_len~0, ~a_len~0);#t~pre27 := ~bvadd32(1bv32, ~differences~0);~differences~0 := ~bvadd32(1bv32, ~differences~0);havoc #t~pre27; {13178#false} is VALID [2018-11-23 10:01:40,406 INFO L256 TraceCheckUtils]: 28: Hoare triple {13178#false} call __VERIFIER_assert((if ~bvugt32(~differences~0, 1bv32) then 1bv32 else 0bv32)); {13178#false} is VALID [2018-11-23 10:01:40,406 INFO L273 TraceCheckUtils]: 29: Hoare triple {13178#false} ~cond := #in~cond; {13178#false} is VALID [2018-11-23 10:01:40,406 INFO L273 TraceCheckUtils]: 30: Hoare triple {13178#false} assume 0bv32 == ~cond; {13178#false} is VALID [2018-11-23 10:01:40,406 INFO L273 TraceCheckUtils]: 31: Hoare triple {13178#false} assume !false; {13178#false} is VALID [2018-11-23 10:01:40,408 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-11-23 10:01:40,408 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-23 10:01:40,981 INFO L273 TraceCheckUtils]: 31: Hoare triple {13178#false} assume !false; {13178#false} is VALID [2018-11-23 10:01:40,982 INFO L273 TraceCheckUtils]: 30: Hoare triple {13178#false} assume 0bv32 == ~cond; {13178#false} is VALID [2018-11-23 10:01:40,982 INFO L273 TraceCheckUtils]: 29: Hoare triple {13178#false} ~cond := #in~cond; {13178#false} is VALID [2018-11-23 10:01:40,982 INFO L256 TraceCheckUtils]: 28: Hoare triple {13178#false} call __VERIFIER_assert((if ~bvugt32(~differences~0, 1bv32) then 1bv32 else 0bv32)); {13178#false} is VALID [2018-11-23 10:01:40,982 INFO L273 TraceCheckUtils]: 27: Hoare triple {13178#false} assume ~bvugt32(~pat_len~0, ~a_len~0);#t~pre27 := ~bvadd32(1bv32, ~differences~0);~differences~0 := ~bvadd32(1bv32, ~differences~0);havoc #t~pre27; {13178#false} is VALID [2018-11-23 10:01:40,982 INFO L273 TraceCheckUtils]: 26: Hoare triple {13178#false} assume !(~bvult32(~i~2, ~pat_len~0) && ~bvult32(~i~2, ~a_len~0)); {13178#false} is VALID [2018-11-23 10:01:40,983 INFO L273 TraceCheckUtils]: 25: Hoare triple {13178#false} assume ~bvule32(~pat_len~0, ~bvadd32(1bv32, ~a_len~0));~differences~0 := 0bv32;~i~2 := 0bv32; {13178#false} is VALID [2018-11-23 10:01:40,983 INFO L273 TraceCheckUtils]: 24: Hoare triple {13178#false} assume !(0bv8 != #t~ret14);havoc #t~ret14; {13178#false} is VALID [2018-11-23 10:01:41,005 INFO L268 TraceCheckUtils]: 23: Hoare quadruple {13253#(bvugt |is_relaxed_prefix_#in~pat_length| |is_relaxed_prefix_#in~a_length|)} {13308#(not (bvugt main_~pat_len~0 main_~a_len~0))} #160#return; {13178#false} is VALID [2018-11-23 10:01:41,006 INFO L273 TraceCheckUtils]: 22: Hoare triple {13253#(bvugt |is_relaxed_prefix_#in~pat_length| |is_relaxed_prefix_#in~a_length|)} assume true; {13253#(bvugt |is_relaxed_prefix_#in~pat_length| |is_relaxed_prefix_#in~a_length|)} is VALID [2018-11-23 10:01:41,006 INFO L273 TraceCheckUtils]: 21: Hoare triple {13318#(or (bvugt |is_relaxed_prefix_#in~pat_length| |is_relaxed_prefix_#in~a_length|) (not (bvugt is_relaxed_prefix_~pat_length is_relaxed_prefix_~a_length)))} assume ~bvugt32(~pat_length, ~a_length) && 1bv32 == ~shift~0;#res := 0bv8; {13253#(bvugt |is_relaxed_prefix_#in~pat_length| |is_relaxed_prefix_#in~a_length|)} is VALID [2018-11-23 10:01:41,007 INFO L273 TraceCheckUtils]: 20: Hoare triple {13318#(or (bvugt |is_relaxed_prefix_#in~pat_length| |is_relaxed_prefix_#in~a_length|) (not (bvugt is_relaxed_prefix_~pat_length is_relaxed_prefix_~a_length)))} assume !(~bvult32(~i~0, ~pat_length) && ~bvult32(~i~0, ~a_length)); {13318#(or (bvugt |is_relaxed_prefix_#in~pat_length| |is_relaxed_prefix_#in~a_length|) (not (bvugt is_relaxed_prefix_~pat_length is_relaxed_prefix_~a_length)))} is VALID [2018-11-23 10:01:41,007 INFO L273 TraceCheckUtils]: 19: Hoare triple {13318#(or (bvugt |is_relaxed_prefix_#in~pat_length| |is_relaxed_prefix_#in~a_length|) (not (bvugt is_relaxed_prefix_~pat_length is_relaxed_prefix_~a_length)))} #t~post3 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post3);havoc #t~post3; {13318#(or (bvugt |is_relaxed_prefix_#in~pat_length| |is_relaxed_prefix_#in~a_length|) (not (bvugt is_relaxed_prefix_~pat_length is_relaxed_prefix_~a_length)))} is VALID [2018-11-23 10:01:41,007 INFO L273 TraceCheckUtils]: 18: Hoare triple {13318#(or (bvugt |is_relaxed_prefix_#in~pat_length| |is_relaxed_prefix_#in~a_length|) (not (bvugt is_relaxed_prefix_~pat_length is_relaxed_prefix_~a_length)))} assume 0bv32 == ~shift~0;~shift~0 := 1bv32; {13318#(or (bvugt |is_relaxed_prefix_#in~pat_length| |is_relaxed_prefix_#in~a_length|) (not (bvugt is_relaxed_prefix_~pat_length is_relaxed_prefix_~a_length)))} is VALID [2018-11-23 10:01:41,008 INFO L273 TraceCheckUtils]: 17: Hoare triple {13318#(or (bvugt |is_relaxed_prefix_#in~pat_length| |is_relaxed_prefix_#in~a_length|) (not (bvugt is_relaxed_prefix_~pat_length is_relaxed_prefix_~a_length)))} assume #t~mem4 != #t~mem5;havoc #t~mem4;havoc #t~mem5; {13318#(or (bvugt |is_relaxed_prefix_#in~pat_length| |is_relaxed_prefix_#in~a_length|) (not (bvugt is_relaxed_prefix_~pat_length is_relaxed_prefix_~a_length)))} is VALID [2018-11-23 10:01:41,012 INFO L273 TraceCheckUtils]: 16: Hoare triple {13318#(or (bvugt |is_relaxed_prefix_#in~pat_length| |is_relaxed_prefix_#in~a_length|) (not (bvugt is_relaxed_prefix_~pat_length is_relaxed_prefix_~a_length)))} assume !!(~bvult32(~i~0, ~pat_length) && ~bvult32(~i~0, ~a_length));call #t~mem4 := read~intINTTYPE4(~pat.base, ~bvadd32(~pat.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem5 := read~intINTTYPE4(~a.base, ~bvadd32(~a.offset, ~bvmul32(4bv32, ~bvsub32(~i~0, ~shift~0))), 4bv32); {13318#(or (bvugt |is_relaxed_prefix_#in~pat_length| |is_relaxed_prefix_#in~a_length|) (not (bvugt is_relaxed_prefix_~pat_length is_relaxed_prefix_~a_length)))} is VALID [2018-11-23 10:01:41,012 INFO L273 TraceCheckUtils]: 15: Hoare triple {13318#(or (bvugt |is_relaxed_prefix_#in~pat_length| |is_relaxed_prefix_#in~a_length|) (not (bvugt is_relaxed_prefix_~pat_length is_relaxed_prefix_~a_length)))} assume !~bvugt32(~pat_length, ~bvadd32(1bv32, ~a_length));~shift~0 := 0bv32;~i~0 := 0bv32; {13318#(or (bvugt |is_relaxed_prefix_#in~pat_length| |is_relaxed_prefix_#in~a_length|) (not (bvugt is_relaxed_prefix_~pat_length is_relaxed_prefix_~a_length)))} is VALID [2018-11-23 10:01:41,013 INFO L273 TraceCheckUtils]: 14: Hoare triple {13177#true} ~pat.base, ~pat.offset := #in~pat.base, #in~pat.offset;~pat_length := #in~pat_length;~a.base, ~a.offset := #in~a.base, #in~a.offset;~a_length := #in~a_length; {13318#(or (bvugt |is_relaxed_prefix_#in~pat_length| |is_relaxed_prefix_#in~a_length|) (not (bvugt is_relaxed_prefix_~pat_length is_relaxed_prefix_~a_length)))} is VALID [2018-11-23 10:01:41,013 INFO L256 TraceCheckUtils]: 13: Hoare triple {13308#(not (bvugt main_~pat_len~0 main_~a_len~0))} call #t~ret14 := is_relaxed_prefix(~pat~0.base, ~pat~0.offset, ~pat_len~0, ~a~0.base, ~a~0.offset, ~a_len~0); {13177#true} is VALID [2018-11-23 10:01:41,013 INFO L273 TraceCheckUtils]: 12: Hoare triple {13343#(or (not (bvugt main_~pat_len~0 main_~a_len~0)) (bvult main_~j~1 main_~a_len~0))} assume !~bvult32(~j~1, ~a_len~0); {13308#(not (bvugt main_~pat_len~0 main_~a_len~0))} is VALID [2018-11-23 10:01:41,014 INFO L273 TraceCheckUtils]: 11: Hoare triple {13347#(or (bvult (bvadd main_~j~1 (_ bv1 32)) main_~a_len~0) (not (bvugt main_~pat_len~0 main_~a_len~0)))} #t~post12 := ~j~1;~j~1 := ~bvadd32(1bv32, #t~post12);havoc #t~post12; {13343#(or (not (bvugt main_~pat_len~0 main_~a_len~0)) (bvult main_~j~1 main_~a_len~0))} is VALID [2018-11-23 10:01:41,045 INFO L273 TraceCheckUtils]: 10: Hoare triple {13351#(forall ((main_~a_len~0 (_ BitVec 32))) (or (not (bvult main_~j~1 main_~a_len~0)) (bvult (bvadd main_~j~1 (_ bv1 32)) main_~a_len~0) (not (bvugt main_~pat_len~0 main_~a_len~0))))} assume !!~bvult32(~j~1, ~a_len~0);call write~intINTTYPE4(#t~nondet13, ~a~0.base, ~bvadd32(~a~0.offset, ~bvmul32(4bv32, ~j~1)), 4bv32);havoc #t~nondet13; {13347#(or (bvult (bvadd main_~j~1 (_ bv1 32)) main_~a_len~0) (not (bvugt main_~pat_len~0 main_~a_len~0)))} is VALID [2018-11-23 10:01:41,047 INFO L273 TraceCheckUtils]: 9: Hoare triple {13208#(not (bvult (_ bv1 32) main_~pat_len~0))} ~j~1 := 0bv32; {13351#(forall ((main_~a_len~0 (_ BitVec 32))) (or (not (bvult main_~j~1 main_~a_len~0)) (bvult (bvadd main_~j~1 (_ bv1 32)) main_~a_len~0) (not (bvugt main_~pat_len~0 main_~a_len~0))))} is VALID [2018-11-23 10:01:41,048 INFO L273 TraceCheckUtils]: 8: Hoare triple {13358#(forall ((main_~pat_len~0 (_ BitVec 32))) (or (not (bvult (_ bv1 32) main_~pat_len~0)) (bvult main_~j~0 main_~pat_len~0)))} assume !~bvult32(~j~0, ~pat_len~0); {13208#(not (bvult (_ bv1 32) main_~pat_len~0))} is VALID [2018-11-23 10:01:41,049 INFO L273 TraceCheckUtils]: 7: Hoare triple {13362#(forall ((main_~pat_len~0 (_ BitVec 32))) (or (not (bvult (_ bv1 32) main_~pat_len~0)) (bvult (bvadd main_~j~0 (_ bv1 32)) main_~pat_len~0)))} #t~post10 := ~j~0;~j~0 := ~bvadd32(1bv32, #t~post10);havoc #t~post10; {13358#(forall ((main_~pat_len~0 (_ BitVec 32))) (or (not (bvult (_ bv1 32) main_~pat_len~0)) (bvult main_~j~0 main_~pat_len~0)))} is VALID [2018-11-23 10:01:41,050 INFO L273 TraceCheckUtils]: 6: Hoare triple {13362#(forall ((main_~pat_len~0 (_ BitVec 32))) (or (not (bvult (_ bv1 32) main_~pat_len~0)) (bvult (bvadd main_~j~0 (_ bv1 32)) main_~pat_len~0)))} assume !!~bvult32(~j~0, ~pat_len~0);call write~intINTTYPE4(#t~nondet11, ~pat~0.base, ~bvadd32(~pat~0.offset, ~bvmul32(4bv32, ~j~0)), 4bv32);havoc #t~nondet11; {13362#(forall ((main_~pat_len~0 (_ BitVec 32))) (or (not (bvult (_ bv1 32) main_~pat_len~0)) (bvult (bvadd main_~j~0 (_ bv1 32)) main_~pat_len~0)))} is VALID [2018-11-23 10:01:41,051 INFO L273 TraceCheckUtils]: 5: Hoare triple {13177#true} ~pat_len~0 := #t~nondet6;havoc #t~nondet6;~a_len~0 := #t~nondet7;havoc #t~nondet7;call #t~malloc8.base, #t~malloc8.offset := #Ultimate.alloc(~bvmul32(4bv32, ~pat_len~0));~pat~0.base, ~pat~0.offset := #t~malloc8.base, #t~malloc8.offset;call #t~malloc9.base, #t~malloc9.offset := #Ultimate.alloc(~bvmul32(4bv32, ~a_len~0));~a~0.base, ~a~0.offset := #t~malloc9.base, #t~malloc9.offset;~j~0 := 0bv32; {13362#(forall ((main_~pat_len~0 (_ BitVec 32))) (or (not (bvult (_ bv1 32) main_~pat_len~0)) (bvult (bvadd main_~j~0 (_ bv1 32)) main_~pat_len~0)))} is VALID [2018-11-23 10:01:41,051 INFO L256 TraceCheckUtils]: 4: Hoare triple {13177#true} call #t~ret28 := main(); {13177#true} is VALID [2018-11-23 10:01:41,052 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {13177#true} {13177#true} #156#return; {13177#true} is VALID [2018-11-23 10:01:41,052 INFO L273 TraceCheckUtils]: 2: Hoare triple {13177#true} assume true; {13177#true} is VALID [2018-11-23 10:01:41,052 INFO L273 TraceCheckUtils]: 1: Hoare triple {13177#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {13177#true} is VALID [2018-11-23 10:01:41,052 INFO L256 TraceCheckUtils]: 0: Hoare triple {13177#true} call ULTIMATE.init(); {13177#true} is VALID [2018-11-23 10:01:41,054 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-11-23 10:01:41,056 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 10:01:41,056 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 11] total 18 [2018-11-23 10:01:41,056 INFO L78 Accepts]: Start accepts. Automaton has 18 states. Word has length 32 [2018-11-23 10:01:41,057 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 10:01:41,057 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 18 states. [2018-11-23 10:01:41,182 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:01:41,182 INFO L459 AbstractCegarLoop]: Interpolant automaton has 18 states [2018-11-23 10:01:41,182 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2018-11-23 10:01:41,183 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=59, Invalid=247, Unknown=0, NotChecked=0, Total=306 [2018-11-23 10:01:41,183 INFO L87 Difference]: Start difference. First operand 144 states and 197 transitions. Second operand 18 states. [2018-11-23 10:01:45,780 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:01:45,780 INFO L93 Difference]: Finished difference Result 206 states and 289 transitions. [2018-11-23 10:01:45,780 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2018-11-23 10:01:45,781 INFO L78 Accepts]: Start accepts. Automaton has 18 states. Word has length 32 [2018-11-23 10:01:45,781 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 10:01:45,781 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 18 states. [2018-11-23 10:01:45,782 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 164 transitions. [2018-11-23 10:01:45,783 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 18 states. [2018-11-23 10:01:45,784 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 164 transitions. [2018-11-23 10:01:45,784 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 14 states and 164 transitions. [2018-11-23 10:01:46,089 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 164 edges. 164 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:01:46,093 INFO L225 Difference]: With dead ends: 206 [2018-11-23 10:01:46,094 INFO L226 Difference]: Without dead ends: 187 [2018-11-23 10:01:46,094 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 70 GetRequests, 46 SyntacticMatches, 1 SemanticMatches, 23 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 87 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=128, Invalid=472, Unknown=0, NotChecked=0, Total=600 [2018-11-23 10:01:46,095 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 187 states. [2018-11-23 10:01:46,319 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 187 to 145. [2018-11-23 10:01:46,320 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 10:01:46,320 INFO L82 GeneralOperation]: Start isEquivalent. First operand 187 states. Second operand 145 states. [2018-11-23 10:01:46,320 INFO L74 IsIncluded]: Start isIncluded. First operand 187 states. Second operand 145 states. [2018-11-23 10:01:46,320 INFO L87 Difference]: Start difference. First operand 187 states. Second operand 145 states. [2018-11-23 10:01:46,325 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:01:46,326 INFO L93 Difference]: Finished difference Result 187 states and 260 transitions. [2018-11-23 10:01:46,326 INFO L276 IsEmpty]: Start isEmpty. Operand 187 states and 260 transitions. [2018-11-23 10:01:46,327 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:01:46,327 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:01:46,327 INFO L74 IsIncluded]: Start isIncluded. First operand 145 states. Second operand 187 states. [2018-11-23 10:01:46,328 INFO L87 Difference]: Start difference. First operand 145 states. Second operand 187 states. [2018-11-23 10:01:46,332 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:01:46,333 INFO L93 Difference]: Finished difference Result 187 states and 260 transitions. [2018-11-23 10:01:46,333 INFO L276 IsEmpty]: Start isEmpty. Operand 187 states and 260 transitions. [2018-11-23 10:01:46,334 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:01:46,334 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:01:46,334 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 10:01:46,334 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 10:01:46,334 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 145 states. [2018-11-23 10:01:46,337 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 145 states to 145 states and 200 transitions. [2018-11-23 10:01:46,338 INFO L78 Accepts]: Start accepts. Automaton has 145 states and 200 transitions. Word has length 32 [2018-11-23 10:01:46,338 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 10:01:46,338 INFO L480 AbstractCegarLoop]: Abstraction has 145 states and 200 transitions. [2018-11-23 10:01:46,338 INFO L481 AbstractCegarLoop]: Interpolant automaton has 18 states. [2018-11-23 10:01:46,338 INFO L276 IsEmpty]: Start isEmpty. Operand 145 states and 200 transitions. [2018-11-23 10:01:46,339 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2018-11-23 10:01:46,339 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 10:01:46,339 INFO L402 BasicCegarLoop]: trace histogram [3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 10:01:46,339 INFO L423 AbstractCegarLoop]: === Iteration 19 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 10:01:46,340 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 10:01:46,340 INFO L82 PathProgramCache]: Analyzing trace with hash -383554122, now seen corresponding path program 2 times [2018-11-23 10:01:46,340 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 10:01:46,340 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4nyu Starting monitored process 20 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 20 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk [2018-11-23 10:01:46,367 INFO L101 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2018-11-23 10:01:46,437 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2018-11-23 10:01:46,437 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 10:01:46,465 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:01:46,466 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 10:01:46,656 INFO L256 TraceCheckUtils]: 0: Hoare triple {14253#true} call ULTIMATE.init(); {14253#true} is VALID [2018-11-23 10:01:46,656 INFO L273 TraceCheckUtils]: 1: Hoare triple {14253#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {14253#true} is VALID [2018-11-23 10:01:46,656 INFO L273 TraceCheckUtils]: 2: Hoare triple {14253#true} assume true; {14253#true} is VALID [2018-11-23 10:01:46,656 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {14253#true} {14253#true} #156#return; {14253#true} is VALID [2018-11-23 10:01:46,657 INFO L256 TraceCheckUtils]: 4: Hoare triple {14253#true} call #t~ret28 := main(); {14253#true} is VALID [2018-11-23 10:01:46,657 INFO L273 TraceCheckUtils]: 5: Hoare triple {14253#true} ~pat_len~0 := #t~nondet6;havoc #t~nondet6;~a_len~0 := #t~nondet7;havoc #t~nondet7;call #t~malloc8.base, #t~malloc8.offset := #Ultimate.alloc(~bvmul32(4bv32, ~pat_len~0));~pat~0.base, ~pat~0.offset := #t~malloc8.base, #t~malloc8.offset;call #t~malloc9.base, #t~malloc9.offset := #Ultimate.alloc(~bvmul32(4bv32, ~a_len~0));~a~0.base, ~a~0.offset := #t~malloc9.base, #t~malloc9.offset;~j~0 := 0bv32; {14253#true} is VALID [2018-11-23 10:01:46,657 INFO L273 TraceCheckUtils]: 6: Hoare triple {14253#true} assume !!~bvult32(~j~0, ~pat_len~0);call write~intINTTYPE4(#t~nondet11, ~pat~0.base, ~bvadd32(~pat~0.offset, ~bvmul32(4bv32, ~j~0)), 4bv32);havoc #t~nondet11; {14253#true} is VALID [2018-11-23 10:01:46,657 INFO L273 TraceCheckUtils]: 7: Hoare triple {14253#true} #t~post10 := ~j~0;~j~0 := ~bvadd32(1bv32, #t~post10);havoc #t~post10; {14253#true} is VALID [2018-11-23 10:01:46,657 INFO L273 TraceCheckUtils]: 8: Hoare triple {14253#true} assume !!~bvult32(~j~0, ~pat_len~0);call write~intINTTYPE4(#t~nondet11, ~pat~0.base, ~bvadd32(~pat~0.offset, ~bvmul32(4bv32, ~j~0)), 4bv32);havoc #t~nondet11; {14253#true} is VALID [2018-11-23 10:01:46,657 INFO L273 TraceCheckUtils]: 9: Hoare triple {14253#true} #t~post10 := ~j~0;~j~0 := ~bvadd32(1bv32, #t~post10);havoc #t~post10; {14253#true} is VALID [2018-11-23 10:01:46,657 INFO L273 TraceCheckUtils]: 10: Hoare triple {14253#true} assume !!~bvult32(~j~0, ~pat_len~0);call write~intINTTYPE4(#t~nondet11, ~pat~0.base, ~bvadd32(~pat~0.offset, ~bvmul32(4bv32, ~j~0)), 4bv32);havoc #t~nondet11; {14253#true} is VALID [2018-11-23 10:01:46,658 INFO L273 TraceCheckUtils]: 11: Hoare triple {14253#true} #t~post10 := ~j~0;~j~0 := ~bvadd32(1bv32, #t~post10);havoc #t~post10; {14253#true} is VALID [2018-11-23 10:01:46,658 INFO L273 TraceCheckUtils]: 12: Hoare triple {14253#true} assume !~bvult32(~j~0, ~pat_len~0); {14253#true} is VALID [2018-11-23 10:01:46,658 INFO L273 TraceCheckUtils]: 13: Hoare triple {14253#true} ~j~1 := 0bv32; {14253#true} is VALID [2018-11-23 10:01:46,658 INFO L273 TraceCheckUtils]: 14: Hoare triple {14253#true} assume !!~bvult32(~j~1, ~a_len~0);call write~intINTTYPE4(#t~nondet13, ~a~0.base, ~bvadd32(~a~0.offset, ~bvmul32(4bv32, ~j~1)), 4bv32);havoc #t~nondet13; {14253#true} is VALID [2018-11-23 10:01:46,658 INFO L273 TraceCheckUtils]: 15: Hoare triple {14253#true} #t~post12 := ~j~1;~j~1 := ~bvadd32(1bv32, #t~post12);havoc #t~post12; {14253#true} is VALID [2018-11-23 10:01:46,658 INFO L273 TraceCheckUtils]: 16: Hoare triple {14253#true} assume !~bvult32(~j~1, ~a_len~0); {14253#true} is VALID [2018-11-23 10:01:46,658 INFO L256 TraceCheckUtils]: 17: Hoare triple {14253#true} call #t~ret14 := is_relaxed_prefix(~pat~0.base, ~pat~0.offset, ~pat_len~0, ~a~0.base, ~a~0.offset, ~a_len~0); {14253#true} is VALID [2018-11-23 10:01:46,659 INFO L273 TraceCheckUtils]: 18: Hoare triple {14253#true} ~pat.base, ~pat.offset := #in~pat.base, #in~pat.offset;~pat_length := #in~pat_length;~a.base, ~a.offset := #in~a.base, #in~a.offset;~a_length := #in~a_length; {14312#(and (= |is_relaxed_prefix_#in~a_length| is_relaxed_prefix_~a_length) (= |is_relaxed_prefix_#in~pat_length| is_relaxed_prefix_~pat_length))} is VALID [2018-11-23 10:01:46,659 INFO L273 TraceCheckUtils]: 19: Hoare triple {14312#(and (= |is_relaxed_prefix_#in~a_length| is_relaxed_prefix_~a_length) (= |is_relaxed_prefix_#in~pat_length| is_relaxed_prefix_~pat_length))} assume !~bvugt32(~pat_length, ~bvadd32(1bv32, ~a_length));~shift~0 := 0bv32;~i~0 := 0bv32; {14316#(not (bvugt |is_relaxed_prefix_#in~pat_length| (bvadd |is_relaxed_prefix_#in~a_length| (_ bv1 32))))} is VALID [2018-11-23 10:01:46,660 INFO L273 TraceCheckUtils]: 20: Hoare triple {14316#(not (bvugt |is_relaxed_prefix_#in~pat_length| (bvadd |is_relaxed_prefix_#in~a_length| (_ bv1 32))))} assume !!(~bvult32(~i~0, ~pat_length) && ~bvult32(~i~0, ~a_length));call #t~mem4 := read~intINTTYPE4(~pat.base, ~bvadd32(~pat.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem5 := read~intINTTYPE4(~a.base, ~bvadd32(~a.offset, ~bvmul32(4bv32, ~bvsub32(~i~0, ~shift~0))), 4bv32); {14316#(not (bvugt |is_relaxed_prefix_#in~pat_length| (bvadd |is_relaxed_prefix_#in~a_length| (_ bv1 32))))} is VALID [2018-11-23 10:01:46,660 INFO L273 TraceCheckUtils]: 21: Hoare triple {14316#(not (bvugt |is_relaxed_prefix_#in~pat_length| (bvadd |is_relaxed_prefix_#in~a_length| (_ bv1 32))))} assume !(#t~mem4 != #t~mem5);havoc #t~mem4;havoc #t~mem5; {14316#(not (bvugt |is_relaxed_prefix_#in~pat_length| (bvadd |is_relaxed_prefix_#in~a_length| (_ bv1 32))))} is VALID [2018-11-23 10:01:46,660 INFO L273 TraceCheckUtils]: 22: Hoare triple {14316#(not (bvugt |is_relaxed_prefix_#in~pat_length| (bvadd |is_relaxed_prefix_#in~a_length| (_ bv1 32))))} #t~post3 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post3);havoc #t~post3; {14316#(not (bvugt |is_relaxed_prefix_#in~pat_length| (bvadd |is_relaxed_prefix_#in~a_length| (_ bv1 32))))} is VALID [2018-11-23 10:01:46,660 INFO L273 TraceCheckUtils]: 23: Hoare triple {14316#(not (bvugt |is_relaxed_prefix_#in~pat_length| (bvadd |is_relaxed_prefix_#in~a_length| (_ bv1 32))))} assume !(~bvult32(~i~0, ~pat_length) && ~bvult32(~i~0, ~a_length)); {14316#(not (bvugt |is_relaxed_prefix_#in~pat_length| (bvadd |is_relaxed_prefix_#in~a_length| (_ bv1 32))))} is VALID [2018-11-23 10:01:46,661 INFO L273 TraceCheckUtils]: 24: Hoare triple {14316#(not (bvugt |is_relaxed_prefix_#in~pat_length| (bvadd |is_relaxed_prefix_#in~a_length| (_ bv1 32))))} assume !(~bvugt32(~pat_length, ~a_length) && 1bv32 == ~shift~0);#res := 1bv8; {14316#(not (bvugt |is_relaxed_prefix_#in~pat_length| (bvadd |is_relaxed_prefix_#in~a_length| (_ bv1 32))))} is VALID [2018-11-23 10:01:46,661 INFO L273 TraceCheckUtils]: 25: Hoare triple {14316#(not (bvugt |is_relaxed_prefix_#in~pat_length| (bvadd |is_relaxed_prefix_#in~a_length| (_ bv1 32))))} assume true; {14316#(not (bvugt |is_relaxed_prefix_#in~pat_length| (bvadd |is_relaxed_prefix_#in~a_length| (_ bv1 32))))} is VALID [2018-11-23 10:01:46,663 INFO L268 TraceCheckUtils]: 26: Hoare quadruple {14316#(not (bvugt |is_relaxed_prefix_#in~pat_length| (bvadd |is_relaxed_prefix_#in~a_length| (_ bv1 32))))} {14253#true} #160#return; {14338#(not (bvugt main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32))))} is VALID [2018-11-23 10:01:46,664 INFO L273 TraceCheckUtils]: 27: Hoare triple {14338#(not (bvugt main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32))))} assume 0bv8 != #t~ret14;havoc #t~ret14; {14338#(not (bvugt main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32))))} is VALID [2018-11-23 10:01:46,666 INFO L256 TraceCheckUtils]: 28: Hoare triple {14338#(not (bvugt main_~pat_len~0 (bvadd main_~a_len~0 (_ bv1 32))))} call __VERIFIER_assert((if ~bvule32(~pat_len~0, ~bvadd32(1bv32, ~a_len~0)) then 1bv32 else 0bv32)); {14345#(= (bvadd |__VERIFIER_assert_#in~cond| (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 10:01:46,667 INFO L273 TraceCheckUtils]: 29: Hoare triple {14345#(= (bvadd |__VERIFIER_assert_#in~cond| (_ bv4294967295 32)) (_ bv0 32))} ~cond := #in~cond; {14349#(= (bvadd __VERIFIER_assert_~cond (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 10:01:46,667 INFO L273 TraceCheckUtils]: 30: Hoare triple {14349#(= (bvadd __VERIFIER_assert_~cond (_ bv4294967295 32)) (_ bv0 32))} assume 0bv32 == ~cond; {14254#false} is VALID [2018-11-23 10:01:46,668 INFO L273 TraceCheckUtils]: 31: Hoare triple {14254#false} assume !false; {14254#false} is VALID [2018-11-23 10:01:46,669 INFO L134 CoverageAnalysis]: Checked inductivity of 11 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 11 trivial. 0 not checked. [2018-11-23 10:01:46,669 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 10:01:46,671 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 10:01:46,671 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2018-11-23 10:01:46,671 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 32 [2018-11-23 10:01:46,672 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 10:01:46,672 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states. [2018-11-23 10:01:46,735 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 28 edges. 28 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:01:46,735 INFO L459 AbstractCegarLoop]: Interpolant automaton has 7 states [2018-11-23 10:01:46,735 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2018-11-23 10:01:46,735 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=31, Unknown=0, NotChecked=0, Total=42 [2018-11-23 10:01:46,736 INFO L87 Difference]: Start difference. First operand 145 states and 200 transitions. Second operand 7 states. [2018-11-23 10:01:48,248 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:01:48,249 INFO L93 Difference]: Finished difference Result 151 states and 205 transitions. [2018-11-23 10:01:48,249 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-11-23 10:01:48,249 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 32 [2018-11-23 10:01:48,249 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 10:01:48,249 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2018-11-23 10:01:48,250 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 65 transitions. [2018-11-23 10:01:48,250 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2018-11-23 10:01:48,250 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 65 transitions. [2018-11-23 10:01:48,250 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 65 transitions. [2018-11-23 10:01:48,395 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:01:48,399 INFO L225 Difference]: With dead ends: 151 [2018-11-23 10:01:48,399 INFO L226 Difference]: Without dead ends: 149 [2018-11-23 10:01:48,399 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 33 GetRequests, 26 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=19, Invalid=53, Unknown=0, NotChecked=0, Total=72 [2018-11-23 10:01:48,399 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 149 states. [2018-11-23 10:01:48,554 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 149 to 123. [2018-11-23 10:01:48,554 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 10:01:48,554 INFO L82 GeneralOperation]: Start isEquivalent. First operand 149 states. Second operand 123 states. [2018-11-23 10:01:48,555 INFO L74 IsIncluded]: Start isIncluded. First operand 149 states. Second operand 123 states. [2018-11-23 10:01:48,555 INFO L87 Difference]: Start difference. First operand 149 states. Second operand 123 states. [2018-11-23 10:01:48,559 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:01:48,559 INFO L93 Difference]: Finished difference Result 149 states and 203 transitions. [2018-11-23 10:01:48,559 INFO L276 IsEmpty]: Start isEmpty. Operand 149 states and 203 transitions. [2018-11-23 10:01:48,560 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:01:48,560 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:01:48,560 INFO L74 IsIncluded]: Start isIncluded. First operand 123 states. Second operand 149 states. [2018-11-23 10:01:48,560 INFO L87 Difference]: Start difference. First operand 123 states. Second operand 149 states. [2018-11-23 10:01:48,563 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:01:48,563 INFO L93 Difference]: Finished difference Result 149 states and 203 transitions. [2018-11-23 10:01:48,563 INFO L276 IsEmpty]: Start isEmpty. Operand 149 states and 203 transitions. [2018-11-23 10:01:48,563 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:01:48,563 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:01:48,564 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 10:01:48,564 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 10:01:48,564 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 123 states. [2018-11-23 10:01:48,566 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 123 states to 123 states and 164 transitions. [2018-11-23 10:01:48,566 INFO L78 Accepts]: Start accepts. Automaton has 123 states and 164 transitions. Word has length 32 [2018-11-23 10:01:48,567 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 10:01:48,567 INFO L480 AbstractCegarLoop]: Abstraction has 123 states and 164 transitions. [2018-11-23 10:01:48,567 INFO L481 AbstractCegarLoop]: Interpolant automaton has 7 states. [2018-11-23 10:01:48,567 INFO L276 IsEmpty]: Start isEmpty. Operand 123 states and 164 transitions. [2018-11-23 10:01:48,567 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2018-11-23 10:01:48,567 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 10:01:48,568 INFO L402 BasicCegarLoop]: trace histogram [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, 1, 1, 1, 1, 1] [2018-11-23 10:01:48,568 INFO L423 AbstractCegarLoop]: === Iteration 20 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 10:01:48,568 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 10:01:48,568 INFO L82 PathProgramCache]: Analyzing trace with hash 1457164682, now seen corresponding path program 1 times [2018-11-23 10:01:48,568 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 10:01:48,569 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4nyu Starting monitored process 21 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 21 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk [2018-11-23 10:01:48,584 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 10:01:48,646 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:01:48,665 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:01:48,666 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 10:01:48,801 INFO L256 TraceCheckUtils]: 0: Hoare triple {15032#true} call ULTIMATE.init(); {15032#true} is VALID [2018-11-23 10:01:48,801 INFO L273 TraceCheckUtils]: 1: Hoare triple {15032#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {15032#true} is VALID [2018-11-23 10:01:48,801 INFO L273 TraceCheckUtils]: 2: Hoare triple {15032#true} assume true; {15032#true} is VALID [2018-11-23 10:01:48,801 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {15032#true} {15032#true} #156#return; {15032#true} is VALID [2018-11-23 10:01:48,801 INFO L256 TraceCheckUtils]: 4: Hoare triple {15032#true} call #t~ret28 := main(); {15032#true} is VALID [2018-11-23 10:01:48,802 INFO L273 TraceCheckUtils]: 5: Hoare triple {15032#true} ~pat_len~0 := #t~nondet6;havoc #t~nondet6;~a_len~0 := #t~nondet7;havoc #t~nondet7;call #t~malloc8.base, #t~malloc8.offset := #Ultimate.alloc(~bvmul32(4bv32, ~pat_len~0));~pat~0.base, ~pat~0.offset := #t~malloc8.base, #t~malloc8.offset;call #t~malloc9.base, #t~malloc9.offset := #Ultimate.alloc(~bvmul32(4bv32, ~a_len~0));~a~0.base, ~a~0.offset := #t~malloc9.base, #t~malloc9.offset;~j~0 := 0bv32; {15052#(= main_~j~0 (_ bv0 32))} is VALID [2018-11-23 10:01:48,802 INFO L273 TraceCheckUtils]: 6: Hoare triple {15052#(= main_~j~0 (_ bv0 32))} assume !!~bvult32(~j~0, ~pat_len~0);call write~intINTTYPE4(#t~nondet11, ~pat~0.base, ~bvadd32(~pat~0.offset, ~bvmul32(4bv32, ~j~0)), 4bv32);havoc #t~nondet11; {15052#(= main_~j~0 (_ bv0 32))} is VALID [2018-11-23 10:01:48,802 INFO L273 TraceCheckUtils]: 7: Hoare triple {15052#(= main_~j~0 (_ bv0 32))} #t~post10 := ~j~0;~j~0 := ~bvadd32(1bv32, #t~post10);havoc #t~post10; {15059#(= (bvadd main_~j~0 (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 10:01:48,803 INFO L273 TraceCheckUtils]: 8: Hoare triple {15059#(= (bvadd main_~j~0 (_ bv4294967295 32)) (_ bv0 32))} assume !~bvult32(~j~0, ~pat_len~0); {15063#(not (bvult (_ bv1 32) main_~pat_len~0))} is VALID [2018-11-23 10:01:48,803 INFO L273 TraceCheckUtils]: 9: Hoare triple {15063#(not (bvult (_ bv1 32) main_~pat_len~0))} ~j~1 := 0bv32; {15063#(not (bvult (_ bv1 32) main_~pat_len~0))} is VALID [2018-11-23 10:01:48,804 INFO L273 TraceCheckUtils]: 10: Hoare triple {15063#(not (bvult (_ bv1 32) main_~pat_len~0))} assume !!~bvult32(~j~1, ~a_len~0);call write~intINTTYPE4(#t~nondet13, ~a~0.base, ~bvadd32(~a~0.offset, ~bvmul32(4bv32, ~j~1)), 4bv32);havoc #t~nondet13; {15063#(not (bvult (_ bv1 32) main_~pat_len~0))} is VALID [2018-11-23 10:01:48,804 INFO L273 TraceCheckUtils]: 11: Hoare triple {15063#(not (bvult (_ bv1 32) main_~pat_len~0))} #t~post12 := ~j~1;~j~1 := ~bvadd32(1bv32, #t~post12);havoc #t~post12; {15063#(not (bvult (_ bv1 32) main_~pat_len~0))} is VALID [2018-11-23 10:01:48,804 INFO L273 TraceCheckUtils]: 12: Hoare triple {15063#(not (bvult (_ bv1 32) main_~pat_len~0))} assume !~bvult32(~j~1, ~a_len~0); {15063#(not (bvult (_ bv1 32) main_~pat_len~0))} is VALID [2018-11-23 10:01:48,804 INFO L256 TraceCheckUtils]: 13: Hoare triple {15063#(not (bvult (_ bv1 32) main_~pat_len~0))} call #t~ret14 := is_relaxed_prefix(~pat~0.base, ~pat~0.offset, ~pat_len~0, ~a~0.base, ~a~0.offset, ~a_len~0); {15032#true} is VALID [2018-11-23 10:01:48,805 INFO L273 TraceCheckUtils]: 14: Hoare triple {15032#true} ~pat.base, ~pat.offset := #in~pat.base, #in~pat.offset;~pat_length := #in~pat_length;~a.base, ~a.offset := #in~a.base, #in~a.offset;~a_length := #in~a_length; {15082#(= |is_relaxed_prefix_#in~pat_length| is_relaxed_prefix_~pat_length)} is VALID [2018-11-23 10:01:48,806 INFO L273 TraceCheckUtils]: 15: Hoare triple {15082#(= |is_relaxed_prefix_#in~pat_length| is_relaxed_prefix_~pat_length)} assume !~bvugt32(~pat_length, ~bvadd32(1bv32, ~a_length));~shift~0 := 0bv32;~i~0 := 0bv32; {15086#(and (= (_ bv0 32) is_relaxed_prefix_~i~0) (= |is_relaxed_prefix_#in~pat_length| is_relaxed_prefix_~pat_length))} is VALID [2018-11-23 10:01:48,807 INFO L273 TraceCheckUtils]: 16: Hoare triple {15086#(and (= (_ bv0 32) is_relaxed_prefix_~i~0) (= |is_relaxed_prefix_#in~pat_length| is_relaxed_prefix_~pat_length))} assume !!(~bvult32(~i~0, ~pat_length) && ~bvult32(~i~0, ~a_length));call #t~mem4 := read~intINTTYPE4(~pat.base, ~bvadd32(~pat.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem5 := read~intINTTYPE4(~a.base, ~bvadd32(~a.offset, ~bvmul32(4bv32, ~bvsub32(~i~0, ~shift~0))), 4bv32); {15086#(and (= (_ bv0 32) is_relaxed_prefix_~i~0) (= |is_relaxed_prefix_#in~pat_length| is_relaxed_prefix_~pat_length))} is VALID [2018-11-23 10:01:48,808 INFO L273 TraceCheckUtils]: 17: Hoare triple {15086#(and (= (_ bv0 32) is_relaxed_prefix_~i~0) (= |is_relaxed_prefix_#in~pat_length| is_relaxed_prefix_~pat_length))} assume #t~mem4 != #t~mem5;havoc #t~mem4;havoc #t~mem5; {15086#(and (= (_ bv0 32) is_relaxed_prefix_~i~0) (= |is_relaxed_prefix_#in~pat_length| is_relaxed_prefix_~pat_length))} is VALID [2018-11-23 10:01:48,808 INFO L273 TraceCheckUtils]: 18: Hoare triple {15086#(and (= (_ bv0 32) is_relaxed_prefix_~i~0) (= |is_relaxed_prefix_#in~pat_length| is_relaxed_prefix_~pat_length))} assume 0bv32 == ~shift~0;~shift~0 := 1bv32; {15086#(and (= (_ bv0 32) is_relaxed_prefix_~i~0) (= |is_relaxed_prefix_#in~pat_length| is_relaxed_prefix_~pat_length))} is VALID [2018-11-23 10:01:48,809 INFO L273 TraceCheckUtils]: 19: Hoare triple {15086#(and (= (_ bv0 32) is_relaxed_prefix_~i~0) (= |is_relaxed_prefix_#in~pat_length| is_relaxed_prefix_~pat_length))} #t~post3 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post3);havoc #t~post3; {15099#(and (= (_ bv1 32) is_relaxed_prefix_~i~0) (= |is_relaxed_prefix_#in~pat_length| is_relaxed_prefix_~pat_length))} is VALID [2018-11-23 10:01:48,810 INFO L273 TraceCheckUtils]: 20: Hoare triple {15099#(and (= (_ bv1 32) is_relaxed_prefix_~i~0) (= |is_relaxed_prefix_#in~pat_length| is_relaxed_prefix_~pat_length))} assume !!(~bvult32(~i~0, ~pat_length) && ~bvult32(~i~0, ~a_length));call #t~mem4 := read~intINTTYPE4(~pat.base, ~bvadd32(~pat.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem5 := read~intINTTYPE4(~a.base, ~bvadd32(~a.offset, ~bvmul32(4bv32, ~bvsub32(~i~0, ~shift~0))), 4bv32); {15103#(bvult (_ bv1 32) |is_relaxed_prefix_#in~pat_length|)} is VALID [2018-11-23 10:01:48,811 INFO L273 TraceCheckUtils]: 21: Hoare triple {15103#(bvult (_ bv1 32) |is_relaxed_prefix_#in~pat_length|)} assume #t~mem4 != #t~mem5;havoc #t~mem4;havoc #t~mem5; {15103#(bvult (_ bv1 32) |is_relaxed_prefix_#in~pat_length|)} is VALID [2018-11-23 10:01:48,811 INFO L273 TraceCheckUtils]: 22: Hoare triple {15103#(bvult (_ bv1 32) |is_relaxed_prefix_#in~pat_length|)} assume !(0bv32 == ~shift~0);#res := 0bv8; {15103#(bvult (_ bv1 32) |is_relaxed_prefix_#in~pat_length|)} is VALID [2018-11-23 10:01:48,812 INFO L273 TraceCheckUtils]: 23: Hoare triple {15103#(bvult (_ bv1 32) |is_relaxed_prefix_#in~pat_length|)} assume true; {15103#(bvult (_ bv1 32) |is_relaxed_prefix_#in~pat_length|)} is VALID [2018-11-23 10:01:48,815 INFO L268 TraceCheckUtils]: 24: Hoare quadruple {15103#(bvult (_ bv1 32) |is_relaxed_prefix_#in~pat_length|)} {15063#(not (bvult (_ bv1 32) main_~pat_len~0))} #160#return; {15033#false} is VALID [2018-11-23 10:01:48,815 INFO L273 TraceCheckUtils]: 25: Hoare triple {15033#false} assume !(0bv8 != #t~ret14);havoc #t~ret14; {15033#false} is VALID [2018-11-23 10:01:48,816 INFO L273 TraceCheckUtils]: 26: Hoare triple {15033#false} assume ~bvule32(~pat_len~0, ~bvadd32(1bv32, ~a_len~0));~differences~0 := 0bv32;~i~2 := 0bv32; {15033#false} is VALID [2018-11-23 10:01:48,816 INFO L273 TraceCheckUtils]: 27: Hoare triple {15033#false} assume !(~bvult32(~i~2, ~pat_len~0) && ~bvult32(~i~2, ~a_len~0)); {15033#false} is VALID [2018-11-23 10:01:48,816 INFO L273 TraceCheckUtils]: 28: Hoare triple {15033#false} assume !~bvugt32(~pat_len~0, ~a_len~0); {15033#false} is VALID [2018-11-23 10:01:48,816 INFO L256 TraceCheckUtils]: 29: Hoare triple {15033#false} call __VERIFIER_assert((if ~bvugt32(~differences~0, 1bv32) then 1bv32 else 0bv32)); {15033#false} is VALID [2018-11-23 10:01:48,816 INFO L273 TraceCheckUtils]: 30: Hoare triple {15033#false} ~cond := #in~cond; {15033#false} is VALID [2018-11-23 10:01:48,817 INFO L273 TraceCheckUtils]: 31: Hoare triple {15033#false} assume 0bv32 == ~cond; {15033#false} is VALID [2018-11-23 10:01:48,817 INFO L273 TraceCheckUtils]: 32: Hoare triple {15033#false} assume !false; {15033#false} is VALID [2018-11-23 10:01:48,818 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-11-23 10:01:48,818 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-23 10:01:49,200 INFO L273 TraceCheckUtils]: 32: Hoare triple {15033#false} assume !false; {15033#false} is VALID [2018-11-23 10:01:49,201 INFO L273 TraceCheckUtils]: 31: Hoare triple {15033#false} assume 0bv32 == ~cond; {15033#false} is VALID [2018-11-23 10:01:49,201 INFO L273 TraceCheckUtils]: 30: Hoare triple {15033#false} ~cond := #in~cond; {15033#false} is VALID [2018-11-23 10:01:49,201 INFO L256 TraceCheckUtils]: 29: Hoare triple {15033#false} call __VERIFIER_assert((if ~bvugt32(~differences~0, 1bv32) then 1bv32 else 0bv32)); {15033#false} is VALID [2018-11-23 10:01:49,201 INFO L273 TraceCheckUtils]: 28: Hoare triple {15033#false} assume !~bvugt32(~pat_len~0, ~a_len~0); {15033#false} is VALID [2018-11-23 10:01:49,201 INFO L273 TraceCheckUtils]: 27: Hoare triple {15033#false} assume !(~bvult32(~i~2, ~pat_len~0) && ~bvult32(~i~2, ~a_len~0)); {15033#false} is VALID [2018-11-23 10:01:49,202 INFO L273 TraceCheckUtils]: 26: Hoare triple {15033#false} assume ~bvule32(~pat_len~0, ~bvadd32(1bv32, ~a_len~0));~differences~0 := 0bv32;~i~2 := 0bv32; {15033#false} is VALID [2018-11-23 10:01:49,202 INFO L273 TraceCheckUtils]: 25: Hoare triple {15033#false} assume !(0bv8 != #t~ret14);havoc #t~ret14; {15033#false} is VALID [2018-11-23 10:01:49,204 INFO L268 TraceCheckUtils]: 24: Hoare quadruple {15103#(bvult (_ bv1 32) |is_relaxed_prefix_#in~pat_length|)} {15063#(not (bvult (_ bv1 32) main_~pat_len~0))} #160#return; {15033#false} is VALID [2018-11-23 10:01:49,205 INFO L273 TraceCheckUtils]: 23: Hoare triple {15103#(bvult (_ bv1 32) |is_relaxed_prefix_#in~pat_length|)} assume true; {15103#(bvult (_ bv1 32) |is_relaxed_prefix_#in~pat_length|)} is VALID [2018-11-23 10:01:49,205 INFO L273 TraceCheckUtils]: 22: Hoare triple {15103#(bvult (_ bv1 32) |is_relaxed_prefix_#in~pat_length|)} assume !(0bv32 == ~shift~0);#res := 0bv8; {15103#(bvult (_ bv1 32) |is_relaxed_prefix_#in~pat_length|)} is VALID [2018-11-23 10:01:49,205 INFO L273 TraceCheckUtils]: 21: Hoare triple {15103#(bvult (_ bv1 32) |is_relaxed_prefix_#in~pat_length|)} assume #t~mem4 != #t~mem5;havoc #t~mem4;havoc #t~mem5; {15103#(bvult (_ bv1 32) |is_relaxed_prefix_#in~pat_length|)} is VALID [2018-11-23 10:01:49,206 INFO L273 TraceCheckUtils]: 20: Hoare triple {15179#(or (bvult (_ bv1 32) |is_relaxed_prefix_#in~pat_length|) (not (bvult is_relaxed_prefix_~i~0 is_relaxed_prefix_~pat_length)))} assume !!(~bvult32(~i~0, ~pat_length) && ~bvult32(~i~0, ~a_length));call #t~mem4 := read~intINTTYPE4(~pat.base, ~bvadd32(~pat.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem5 := read~intINTTYPE4(~a.base, ~bvadd32(~a.offset, ~bvmul32(4bv32, ~bvsub32(~i~0, ~shift~0))), 4bv32); {15103#(bvult (_ bv1 32) |is_relaxed_prefix_#in~pat_length|)} is VALID [2018-11-23 10:01:49,228 INFO L273 TraceCheckUtils]: 19: Hoare triple {15183#(or (not (bvult (bvadd is_relaxed_prefix_~i~0 (_ bv1 32)) is_relaxed_prefix_~pat_length)) (bvult (_ bv1 32) |is_relaxed_prefix_#in~pat_length|))} #t~post3 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post3);havoc #t~post3; {15179#(or (bvult (_ bv1 32) |is_relaxed_prefix_#in~pat_length|) (not (bvult is_relaxed_prefix_~i~0 is_relaxed_prefix_~pat_length)))} is VALID [2018-11-23 10:01:49,229 INFO L273 TraceCheckUtils]: 18: Hoare triple {15183#(or (not (bvult (bvadd is_relaxed_prefix_~i~0 (_ bv1 32)) is_relaxed_prefix_~pat_length)) (bvult (_ bv1 32) |is_relaxed_prefix_#in~pat_length|))} assume 0bv32 == ~shift~0;~shift~0 := 1bv32; {15183#(or (not (bvult (bvadd is_relaxed_prefix_~i~0 (_ bv1 32)) is_relaxed_prefix_~pat_length)) (bvult (_ bv1 32) |is_relaxed_prefix_#in~pat_length|))} is VALID [2018-11-23 10:01:49,229 INFO L273 TraceCheckUtils]: 17: Hoare triple {15183#(or (not (bvult (bvadd is_relaxed_prefix_~i~0 (_ bv1 32)) is_relaxed_prefix_~pat_length)) (bvult (_ bv1 32) |is_relaxed_prefix_#in~pat_length|))} assume #t~mem4 != #t~mem5;havoc #t~mem4;havoc #t~mem5; {15183#(or (not (bvult (bvadd is_relaxed_prefix_~i~0 (_ bv1 32)) is_relaxed_prefix_~pat_length)) (bvult (_ bv1 32) |is_relaxed_prefix_#in~pat_length|))} is VALID [2018-11-23 10:01:49,229 INFO L273 TraceCheckUtils]: 16: Hoare triple {15183#(or (not (bvult (bvadd is_relaxed_prefix_~i~0 (_ bv1 32)) is_relaxed_prefix_~pat_length)) (bvult (_ bv1 32) |is_relaxed_prefix_#in~pat_length|))} assume !!(~bvult32(~i~0, ~pat_length) && ~bvult32(~i~0, ~a_length));call #t~mem4 := read~intINTTYPE4(~pat.base, ~bvadd32(~pat.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem5 := read~intINTTYPE4(~a.base, ~bvadd32(~a.offset, ~bvmul32(4bv32, ~bvsub32(~i~0, ~shift~0))), 4bv32); {15183#(or (not (bvult (bvadd is_relaxed_prefix_~i~0 (_ bv1 32)) is_relaxed_prefix_~pat_length)) (bvult (_ bv1 32) |is_relaxed_prefix_#in~pat_length|))} is VALID [2018-11-23 10:01:49,230 INFO L273 TraceCheckUtils]: 15: Hoare triple {15196#(or (not (bvult (_ bv1 32) is_relaxed_prefix_~pat_length)) (bvult (_ bv1 32) |is_relaxed_prefix_#in~pat_length|))} assume !~bvugt32(~pat_length, ~bvadd32(1bv32, ~a_length));~shift~0 := 0bv32;~i~0 := 0bv32; {15183#(or (not (bvult (bvadd is_relaxed_prefix_~i~0 (_ bv1 32)) is_relaxed_prefix_~pat_length)) (bvult (_ bv1 32) |is_relaxed_prefix_#in~pat_length|))} is VALID [2018-11-23 10:01:49,231 INFO L273 TraceCheckUtils]: 14: Hoare triple {15032#true} ~pat.base, ~pat.offset := #in~pat.base, #in~pat.offset;~pat_length := #in~pat_length;~a.base, ~a.offset := #in~a.base, #in~a.offset;~a_length := #in~a_length; {15196#(or (not (bvult (_ bv1 32) is_relaxed_prefix_~pat_length)) (bvult (_ bv1 32) |is_relaxed_prefix_#in~pat_length|))} is VALID [2018-11-23 10:01:49,231 INFO L256 TraceCheckUtils]: 13: Hoare triple {15063#(not (bvult (_ bv1 32) main_~pat_len~0))} call #t~ret14 := is_relaxed_prefix(~pat~0.base, ~pat~0.offset, ~pat_len~0, ~a~0.base, ~a~0.offset, ~a_len~0); {15032#true} is VALID [2018-11-23 10:01:49,231 INFO L273 TraceCheckUtils]: 12: Hoare triple {15063#(not (bvult (_ bv1 32) main_~pat_len~0))} assume !~bvult32(~j~1, ~a_len~0); {15063#(not (bvult (_ bv1 32) main_~pat_len~0))} is VALID [2018-11-23 10:01:49,231 INFO L273 TraceCheckUtils]: 11: Hoare triple {15063#(not (bvult (_ bv1 32) main_~pat_len~0))} #t~post12 := ~j~1;~j~1 := ~bvadd32(1bv32, #t~post12);havoc #t~post12; {15063#(not (bvult (_ bv1 32) main_~pat_len~0))} is VALID [2018-11-23 10:01:49,232 INFO L273 TraceCheckUtils]: 10: Hoare triple {15063#(not (bvult (_ bv1 32) main_~pat_len~0))} assume !!~bvult32(~j~1, ~a_len~0);call write~intINTTYPE4(#t~nondet13, ~a~0.base, ~bvadd32(~a~0.offset, ~bvmul32(4bv32, ~j~1)), 4bv32);havoc #t~nondet13; {15063#(not (bvult (_ bv1 32) main_~pat_len~0))} is VALID [2018-11-23 10:01:49,232 INFO L273 TraceCheckUtils]: 9: Hoare triple {15063#(not (bvult (_ bv1 32) main_~pat_len~0))} ~j~1 := 0bv32; {15063#(not (bvult (_ bv1 32) main_~pat_len~0))} is VALID [2018-11-23 10:01:49,233 INFO L273 TraceCheckUtils]: 8: Hoare triple {15215#(forall ((main_~pat_len~0 (_ BitVec 32))) (or (not (bvult (_ bv1 32) main_~pat_len~0)) (bvult main_~j~0 main_~pat_len~0)))} assume !~bvult32(~j~0, ~pat_len~0); {15063#(not (bvult (_ bv1 32) main_~pat_len~0))} is VALID [2018-11-23 10:01:49,236 INFO L273 TraceCheckUtils]: 7: Hoare triple {15219#(forall ((main_~pat_len~0 (_ BitVec 32))) (or (not (bvult (_ bv1 32) main_~pat_len~0)) (bvult (bvadd main_~j~0 (_ bv1 32)) main_~pat_len~0)))} #t~post10 := ~j~0;~j~0 := ~bvadd32(1bv32, #t~post10);havoc #t~post10; {15215#(forall ((main_~pat_len~0 (_ BitVec 32))) (or (not (bvult (_ bv1 32) main_~pat_len~0)) (bvult main_~j~0 main_~pat_len~0)))} is VALID [2018-11-23 10:01:49,254 INFO L273 TraceCheckUtils]: 6: Hoare triple {15219#(forall ((main_~pat_len~0 (_ BitVec 32))) (or (not (bvult (_ bv1 32) main_~pat_len~0)) (bvult (bvadd main_~j~0 (_ bv1 32)) main_~pat_len~0)))} assume !!~bvult32(~j~0, ~pat_len~0);call write~intINTTYPE4(#t~nondet11, ~pat~0.base, ~bvadd32(~pat~0.offset, ~bvmul32(4bv32, ~j~0)), 4bv32);havoc #t~nondet11; {15219#(forall ((main_~pat_len~0 (_ BitVec 32))) (or (not (bvult (_ bv1 32) main_~pat_len~0)) (bvult (bvadd main_~j~0 (_ bv1 32)) main_~pat_len~0)))} is VALID [2018-11-23 10:01:49,268 INFO L273 TraceCheckUtils]: 5: Hoare triple {15032#true} ~pat_len~0 := #t~nondet6;havoc #t~nondet6;~a_len~0 := #t~nondet7;havoc #t~nondet7;call #t~malloc8.base, #t~malloc8.offset := #Ultimate.alloc(~bvmul32(4bv32, ~pat_len~0));~pat~0.base, ~pat~0.offset := #t~malloc8.base, #t~malloc8.offset;call #t~malloc9.base, #t~malloc9.offset := #Ultimate.alloc(~bvmul32(4bv32, ~a_len~0));~a~0.base, ~a~0.offset := #t~malloc9.base, #t~malloc9.offset;~j~0 := 0bv32; {15219#(forall ((main_~pat_len~0 (_ BitVec 32))) (or (not (bvult (_ bv1 32) main_~pat_len~0)) (bvult (bvadd main_~j~0 (_ bv1 32)) main_~pat_len~0)))} is VALID [2018-11-23 10:01:49,268 INFO L256 TraceCheckUtils]: 4: Hoare triple {15032#true} call #t~ret28 := main(); {15032#true} is VALID [2018-11-23 10:01:49,269 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {15032#true} {15032#true} #156#return; {15032#true} is VALID [2018-11-23 10:01:49,269 INFO L273 TraceCheckUtils]: 2: Hoare triple {15032#true} assume true; {15032#true} is VALID [2018-11-23 10:01:49,269 INFO L273 TraceCheckUtils]: 1: Hoare triple {15032#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {15032#true} is VALID [2018-11-23 10:01:49,269 INFO L256 TraceCheckUtils]: 0: Hoare triple {15032#true} call ULTIMATE.init(); {15032#true} is VALID [2018-11-23 10:01:49,271 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 2 proven. 2 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-11-23 10:01:49,275 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 10:01:49,275 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 14 [2018-11-23 10:01:49,276 INFO L78 Accepts]: Start accepts. Automaton has 14 states. Word has length 33 [2018-11-23 10:01:49,276 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 10:01:49,276 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 14 states. [2018-11-23 10:01:49,436 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:01:49,437 INFO L459 AbstractCegarLoop]: Interpolant automaton has 14 states [2018-11-23 10:01:49,437 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2018-11-23 10:01:49,437 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=39, Invalid=143, Unknown=0, NotChecked=0, Total=182 [2018-11-23 10:01:49,438 INFO L87 Difference]: Start difference. First operand 123 states and 164 transitions. Second operand 14 states. [2018-11-23 10:01:51,780 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:01:51,781 INFO L93 Difference]: Finished difference Result 180 states and 248 transitions. [2018-11-23 10:01:51,781 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2018-11-23 10:01:51,781 INFO L78 Accepts]: Start accepts. Automaton has 14 states. Word has length 33 [2018-11-23 10:01:51,781 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 10:01:51,781 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 14 states. [2018-11-23 10:01:51,783 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 139 transitions. [2018-11-23 10:01:51,783 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 14 states. [2018-11-23 10:01:51,784 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 139 transitions. [2018-11-23 10:01:51,784 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 139 transitions. [2018-11-23 10:01:51,992 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 139 edges. 139 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:01:51,996 INFO L225 Difference]: With dead ends: 180 [2018-11-23 10:01:51,996 INFO L226 Difference]: Without dead ends: 145 [2018-11-23 10:01:51,997 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 68 GetRequests, 53 SyntacticMatches, 0 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 26 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=60, Invalid=212, Unknown=0, NotChecked=0, Total=272 [2018-11-23 10:01:51,997 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 145 states. [2018-11-23 10:01:52,375 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 145 to 125. [2018-11-23 10:01:52,376 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 10:01:52,376 INFO L82 GeneralOperation]: Start isEquivalent. First operand 145 states. Second operand 125 states. [2018-11-23 10:01:52,376 INFO L74 IsIncluded]: Start isIncluded. First operand 145 states. Second operand 125 states. [2018-11-23 10:01:52,376 INFO L87 Difference]: Start difference. First operand 145 states. Second operand 125 states. [2018-11-23 10:01:52,380 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:01:52,381 INFO L93 Difference]: Finished difference Result 145 states and 202 transitions. [2018-11-23 10:01:52,381 INFO L276 IsEmpty]: Start isEmpty. Operand 145 states and 202 transitions. [2018-11-23 10:01:52,381 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:01:52,382 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:01:52,382 INFO L74 IsIncluded]: Start isIncluded. First operand 125 states. Second operand 145 states. [2018-11-23 10:01:52,382 INFO L87 Difference]: Start difference. First operand 125 states. Second operand 145 states. [2018-11-23 10:01:52,385 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:01:52,386 INFO L93 Difference]: Finished difference Result 145 states and 202 transitions. [2018-11-23 10:01:52,386 INFO L276 IsEmpty]: Start isEmpty. Operand 145 states and 202 transitions. [2018-11-23 10:01:52,386 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:01:52,386 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:01:52,387 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 10:01:52,387 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 10:01:52,387 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 125 states. [2018-11-23 10:01:52,389 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 125 states to 125 states and 166 transitions. [2018-11-23 10:01:52,390 INFO L78 Accepts]: Start accepts. Automaton has 125 states and 166 transitions. Word has length 33 [2018-11-23 10:01:52,390 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 10:01:52,390 INFO L480 AbstractCegarLoop]: Abstraction has 125 states and 166 transitions. [2018-11-23 10:01:52,390 INFO L481 AbstractCegarLoop]: Interpolant automaton has 14 states. [2018-11-23 10:01:52,390 INFO L276 IsEmpty]: Start isEmpty. Operand 125 states and 166 transitions. [2018-11-23 10:01:52,391 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2018-11-23 10:01:52,391 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 10:01:52,391 INFO L402 BasicCegarLoop]: trace histogram [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, 1, 1, 1, 1, 1, 1] [2018-11-23 10:01:52,391 INFO L423 AbstractCegarLoop]: === Iteration 21 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 10:01:52,392 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 10:01:52,392 INFO L82 PathProgramCache]: Analyzing trace with hash 1829230717, now seen corresponding path program 2 times [2018-11-23 10:01:52,392 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 10:01:52,392 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4nyu Starting monitored process 22 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 22 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk [2018-11-23 10:01:52,414 INFO L101 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2018-11-23 10:01:52,521 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-23 10:01:52,521 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 10:01:52,545 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:01:52,547 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 10:01:52,975 INFO L256 TraceCheckUtils]: 0: Hoare triple {15945#true} call ULTIMATE.init(); {15945#true} is VALID [2018-11-23 10:01:52,975 INFO L273 TraceCheckUtils]: 1: Hoare triple {15945#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {15945#true} is VALID [2018-11-23 10:01:52,975 INFO L273 TraceCheckUtils]: 2: Hoare triple {15945#true} assume true; {15945#true} is VALID [2018-11-23 10:01:52,975 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {15945#true} {15945#true} #156#return; {15945#true} is VALID [2018-11-23 10:01:52,975 INFO L256 TraceCheckUtils]: 4: Hoare triple {15945#true} call #t~ret28 := main(); {15945#true} is VALID [2018-11-23 10:01:52,976 INFO L273 TraceCheckUtils]: 5: Hoare triple {15945#true} ~pat_len~0 := #t~nondet6;havoc #t~nondet6;~a_len~0 := #t~nondet7;havoc #t~nondet7;call #t~malloc8.base, #t~malloc8.offset := #Ultimate.alloc(~bvmul32(4bv32, ~pat_len~0));~pat~0.base, ~pat~0.offset := #t~malloc8.base, #t~malloc8.offset;call #t~malloc9.base, #t~malloc9.offset := #Ultimate.alloc(~bvmul32(4bv32, ~a_len~0));~a~0.base, ~a~0.offset := #t~malloc9.base, #t~malloc9.offset;~j~0 := 0bv32; {15965#(= main_~j~0 (_ bv0 32))} is VALID [2018-11-23 10:01:52,976 INFO L273 TraceCheckUtils]: 6: Hoare triple {15965#(= main_~j~0 (_ bv0 32))} assume !!~bvult32(~j~0, ~pat_len~0);call write~intINTTYPE4(#t~nondet11, ~pat~0.base, ~bvadd32(~pat~0.offset, ~bvmul32(4bv32, ~j~0)), 4bv32);havoc #t~nondet11; {15965#(= main_~j~0 (_ bv0 32))} is VALID [2018-11-23 10:01:52,977 INFO L273 TraceCheckUtils]: 7: Hoare triple {15965#(= main_~j~0 (_ bv0 32))} #t~post10 := ~j~0;~j~0 := ~bvadd32(1bv32, #t~post10);havoc #t~post10; {15972#(= (bvadd main_~j~0 (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 10:01:52,977 INFO L273 TraceCheckUtils]: 8: Hoare triple {15972#(= (bvadd main_~j~0 (_ bv4294967295 32)) (_ bv0 32))} assume !!~bvult32(~j~0, ~pat_len~0);call write~intINTTYPE4(#t~nondet11, ~pat~0.base, ~bvadd32(~pat~0.offset, ~bvmul32(4bv32, ~j~0)), 4bv32);havoc #t~nondet11; {15976#(and (bvult main_~j~0 main_~pat_len~0) (= (bvadd main_~j~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:01:52,978 INFO L273 TraceCheckUtils]: 9: Hoare triple {15976#(and (bvult main_~j~0 main_~pat_len~0) (= (bvadd main_~j~0 (_ bv4294967295 32)) (_ bv0 32)))} #t~post10 := ~j~0;~j~0 := ~bvadd32(1bv32, #t~post10);havoc #t~post10; {15980#(and (= (bvadd main_~j~0 (_ bv4294967294 32)) (_ bv0 32)) (bvult (bvadd main_~j~0 (_ bv4294967295 32)) main_~pat_len~0))} is VALID [2018-11-23 10:01:52,978 INFO L273 TraceCheckUtils]: 10: Hoare triple {15980#(and (= (bvadd main_~j~0 (_ bv4294967294 32)) (_ bv0 32)) (bvult (bvadd main_~j~0 (_ bv4294967295 32)) main_~pat_len~0))} assume !~bvult32(~j~0, ~pat_len~0); {15984#(and (bvult (_ bv1 32) main_~pat_len~0) (not (bvult (_ bv2 32) main_~pat_len~0)))} is VALID [2018-11-23 10:01:52,979 INFO L273 TraceCheckUtils]: 11: Hoare triple {15984#(and (bvult (_ bv1 32) main_~pat_len~0) (not (bvult (_ bv2 32) main_~pat_len~0)))} ~j~1 := 0bv32; {15984#(and (bvult (_ bv1 32) main_~pat_len~0) (not (bvult (_ bv2 32) main_~pat_len~0)))} is VALID [2018-11-23 10:01:52,979 INFO L273 TraceCheckUtils]: 12: Hoare triple {15984#(and (bvult (_ bv1 32) main_~pat_len~0) (not (bvult (_ bv2 32) main_~pat_len~0)))} assume !!~bvult32(~j~1, ~a_len~0);call write~intINTTYPE4(#t~nondet13, ~a~0.base, ~bvadd32(~a~0.offset, ~bvmul32(4bv32, ~j~1)), 4bv32);havoc #t~nondet13; {15984#(and (bvult (_ bv1 32) main_~pat_len~0) (not (bvult (_ bv2 32) main_~pat_len~0)))} is VALID [2018-11-23 10:01:52,980 INFO L273 TraceCheckUtils]: 13: Hoare triple {15984#(and (bvult (_ bv1 32) main_~pat_len~0) (not (bvult (_ bv2 32) main_~pat_len~0)))} #t~post12 := ~j~1;~j~1 := ~bvadd32(1bv32, #t~post12);havoc #t~post12; {15984#(and (bvult (_ bv1 32) main_~pat_len~0) (not (bvult (_ bv2 32) main_~pat_len~0)))} is VALID [2018-11-23 10:01:52,981 INFO L273 TraceCheckUtils]: 14: Hoare triple {15984#(and (bvult (_ bv1 32) main_~pat_len~0) (not (bvult (_ bv2 32) main_~pat_len~0)))} assume !~bvult32(~j~1, ~a_len~0); {15984#(and (bvult (_ bv1 32) main_~pat_len~0) (not (bvult (_ bv2 32) main_~pat_len~0)))} is VALID [2018-11-23 10:01:52,981 INFO L256 TraceCheckUtils]: 15: Hoare triple {15984#(and (bvult (_ bv1 32) main_~pat_len~0) (not (bvult (_ bv2 32) main_~pat_len~0)))} call #t~ret14 := is_relaxed_prefix(~pat~0.base, ~pat~0.offset, ~pat_len~0, ~a~0.base, ~a~0.offset, ~a_len~0); {15945#true} is VALID [2018-11-23 10:01:52,982 INFO L273 TraceCheckUtils]: 16: Hoare triple {15945#true} ~pat.base, ~pat.offset := #in~pat.base, #in~pat.offset;~pat_length := #in~pat_length;~a.base, ~a.offset := #in~a.base, #in~a.offset;~a_length := #in~a_length; {16003#(and (= |is_relaxed_prefix_#in~a_length| is_relaxed_prefix_~a_length) (= |is_relaxed_prefix_#in~pat_length| is_relaxed_prefix_~pat_length))} is VALID [2018-11-23 10:01:52,983 INFO L273 TraceCheckUtils]: 17: Hoare triple {16003#(and (= |is_relaxed_prefix_#in~a_length| is_relaxed_prefix_~a_length) (= |is_relaxed_prefix_#in~pat_length| is_relaxed_prefix_~pat_length))} assume !~bvugt32(~pat_length, ~bvadd32(1bv32, ~a_length));~shift~0 := 0bv32;~i~0 := 0bv32; {16003#(and (= |is_relaxed_prefix_#in~a_length| is_relaxed_prefix_~a_length) (= |is_relaxed_prefix_#in~pat_length| is_relaxed_prefix_~pat_length))} is VALID [2018-11-23 10:01:52,992 INFO L273 TraceCheckUtils]: 18: Hoare triple {16003#(and (= |is_relaxed_prefix_#in~a_length| is_relaxed_prefix_~a_length) (= |is_relaxed_prefix_#in~pat_length| is_relaxed_prefix_~pat_length))} assume !!(~bvult32(~i~0, ~pat_length) && ~bvult32(~i~0, ~a_length));call #t~mem4 := read~intINTTYPE4(~pat.base, ~bvadd32(~pat.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem5 := read~intINTTYPE4(~a.base, ~bvadd32(~a.offset, ~bvmul32(4bv32, ~bvsub32(~i~0, ~shift~0))), 4bv32); {16010#(and (exists ((is_relaxed_prefix_~i~0 (_ BitVec 32))) (bvult is_relaxed_prefix_~i~0 is_relaxed_prefix_~a_length)) (= |is_relaxed_prefix_#in~a_length| is_relaxed_prefix_~a_length) (= |is_relaxed_prefix_#in~pat_length| is_relaxed_prefix_~pat_length))} is VALID [2018-11-23 10:01:53,000 INFO L273 TraceCheckUtils]: 19: Hoare triple {16010#(and (exists ((is_relaxed_prefix_~i~0 (_ BitVec 32))) (bvult is_relaxed_prefix_~i~0 is_relaxed_prefix_~a_length)) (= |is_relaxed_prefix_#in~a_length| is_relaxed_prefix_~a_length) (= |is_relaxed_prefix_#in~pat_length| is_relaxed_prefix_~pat_length))} assume #t~mem4 != #t~mem5;havoc #t~mem4;havoc #t~mem5; {16010#(and (exists ((is_relaxed_prefix_~i~0 (_ BitVec 32))) (bvult is_relaxed_prefix_~i~0 is_relaxed_prefix_~a_length)) (= |is_relaxed_prefix_#in~a_length| is_relaxed_prefix_~a_length) (= |is_relaxed_prefix_#in~pat_length| is_relaxed_prefix_~pat_length))} is VALID [2018-11-23 10:01:53,005 INFO L273 TraceCheckUtils]: 20: Hoare triple {16010#(and (exists ((is_relaxed_prefix_~i~0 (_ BitVec 32))) (bvult is_relaxed_prefix_~i~0 is_relaxed_prefix_~a_length)) (= |is_relaxed_prefix_#in~a_length| is_relaxed_prefix_~a_length) (= |is_relaxed_prefix_#in~pat_length| is_relaxed_prefix_~pat_length))} assume 0bv32 == ~shift~0;~shift~0 := 1bv32; {16010#(and (exists ((is_relaxed_prefix_~i~0 (_ BitVec 32))) (bvult is_relaxed_prefix_~i~0 is_relaxed_prefix_~a_length)) (= |is_relaxed_prefix_#in~a_length| is_relaxed_prefix_~a_length) (= |is_relaxed_prefix_#in~pat_length| is_relaxed_prefix_~pat_length))} is VALID [2018-11-23 10:01:53,006 INFO L273 TraceCheckUtils]: 21: Hoare triple {16010#(and (exists ((is_relaxed_prefix_~i~0 (_ BitVec 32))) (bvult is_relaxed_prefix_~i~0 is_relaxed_prefix_~a_length)) (= |is_relaxed_prefix_#in~a_length| is_relaxed_prefix_~a_length) (= |is_relaxed_prefix_#in~pat_length| is_relaxed_prefix_~pat_length))} #t~post3 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post3);havoc #t~post3; {16010#(and (exists ((is_relaxed_prefix_~i~0 (_ BitVec 32))) (bvult is_relaxed_prefix_~i~0 is_relaxed_prefix_~a_length)) (= |is_relaxed_prefix_#in~a_length| is_relaxed_prefix_~a_length) (= |is_relaxed_prefix_#in~pat_length| is_relaxed_prefix_~pat_length))} is VALID [2018-11-23 10:01:53,008 INFO L273 TraceCheckUtils]: 22: Hoare triple {16010#(and (exists ((is_relaxed_prefix_~i~0 (_ BitVec 32))) (bvult is_relaxed_prefix_~i~0 is_relaxed_prefix_~a_length)) (= |is_relaxed_prefix_#in~a_length| is_relaxed_prefix_~a_length) (= |is_relaxed_prefix_#in~pat_length| is_relaxed_prefix_~pat_length))} assume !(~bvult32(~i~0, ~pat_length) && ~bvult32(~i~0, ~a_length)); {16010#(and (exists ((is_relaxed_prefix_~i~0 (_ BitVec 32))) (bvult is_relaxed_prefix_~i~0 is_relaxed_prefix_~a_length)) (= |is_relaxed_prefix_#in~a_length| is_relaxed_prefix_~a_length) (= |is_relaxed_prefix_#in~pat_length| is_relaxed_prefix_~pat_length))} is VALID [2018-11-23 10:01:53,011 INFO L273 TraceCheckUtils]: 23: Hoare triple {16010#(and (exists ((is_relaxed_prefix_~i~0 (_ BitVec 32))) (bvult is_relaxed_prefix_~i~0 is_relaxed_prefix_~a_length)) (= |is_relaxed_prefix_#in~a_length| is_relaxed_prefix_~a_length) (= |is_relaxed_prefix_#in~pat_length| is_relaxed_prefix_~pat_length))} assume ~bvugt32(~pat_length, ~a_length) && 1bv32 == ~shift~0;#res := 0bv8; {16026#(and (exists ((is_relaxed_prefix_~i~0 (_ BitVec 32))) (bvult is_relaxed_prefix_~i~0 |is_relaxed_prefix_#in~a_length|)) (bvugt |is_relaxed_prefix_#in~pat_length| |is_relaxed_prefix_#in~a_length|))} is VALID [2018-11-23 10:01:53,012 INFO L273 TraceCheckUtils]: 24: Hoare triple {16026#(and (exists ((is_relaxed_prefix_~i~0 (_ BitVec 32))) (bvult is_relaxed_prefix_~i~0 |is_relaxed_prefix_#in~a_length|)) (bvugt |is_relaxed_prefix_#in~pat_length| |is_relaxed_prefix_#in~a_length|))} assume true; {16026#(and (exists ((is_relaxed_prefix_~i~0 (_ BitVec 32))) (bvult is_relaxed_prefix_~i~0 |is_relaxed_prefix_#in~a_length|)) (bvugt |is_relaxed_prefix_#in~pat_length| |is_relaxed_prefix_#in~a_length|))} is VALID [2018-11-23 10:01:53,016 INFO L268 TraceCheckUtils]: 25: Hoare quadruple {16026#(and (exists ((is_relaxed_prefix_~i~0 (_ BitVec 32))) (bvult is_relaxed_prefix_~i~0 |is_relaxed_prefix_#in~a_length|)) (bvugt |is_relaxed_prefix_#in~pat_length| |is_relaxed_prefix_#in~a_length|))} {15984#(and (bvult (_ bv1 32) main_~pat_len~0) (not (bvult (_ bv2 32) main_~pat_len~0)))} #160#return; {16033#(and (exists ((is_relaxed_prefix_~i~0 (_ BitVec 32))) (bvult is_relaxed_prefix_~i~0 main_~a_len~0)) (bvugt main_~pat_len~0 main_~a_len~0) (not (bvult (_ bv2 32) main_~pat_len~0)))} is VALID [2018-11-23 10:01:53,017 INFO L273 TraceCheckUtils]: 26: Hoare triple {16033#(and (exists ((is_relaxed_prefix_~i~0 (_ BitVec 32))) (bvult is_relaxed_prefix_~i~0 main_~a_len~0)) (bvugt main_~pat_len~0 main_~a_len~0) (not (bvult (_ bv2 32) main_~pat_len~0)))} assume !(0bv8 != #t~ret14);havoc #t~ret14; {16033#(and (exists ((is_relaxed_prefix_~i~0 (_ BitVec 32))) (bvult is_relaxed_prefix_~i~0 main_~a_len~0)) (bvugt main_~pat_len~0 main_~a_len~0) (not (bvult (_ bv2 32) main_~pat_len~0)))} is VALID [2018-11-23 10:01:53,018 INFO L273 TraceCheckUtils]: 27: Hoare triple {16033#(and (exists ((is_relaxed_prefix_~i~0 (_ BitVec 32))) (bvult is_relaxed_prefix_~i~0 main_~a_len~0)) (bvugt main_~pat_len~0 main_~a_len~0) (not (bvult (_ bv2 32) main_~pat_len~0)))} assume ~bvule32(~pat_len~0, ~bvadd32(1bv32, ~a_len~0));~differences~0 := 0bv32;~i~2 := 0bv32; {16040#(and (exists ((is_relaxed_prefix_~i~0 (_ BitVec 32))) (bvult is_relaxed_prefix_~i~0 main_~a_len~0)) (bvugt main_~pat_len~0 main_~a_len~0) (= main_~i~2 (_ bv0 32)) (not (bvult (_ bv2 32) main_~pat_len~0)))} is VALID [2018-11-23 10:01:53,019 INFO L273 TraceCheckUtils]: 28: Hoare triple {16040#(and (exists ((is_relaxed_prefix_~i~0 (_ BitVec 32))) (bvult is_relaxed_prefix_~i~0 main_~a_len~0)) (bvugt main_~pat_len~0 main_~a_len~0) (= main_~i~2 (_ bv0 32)) (not (bvult (_ bv2 32) main_~pat_len~0)))} assume !(~bvult32(~i~2, ~pat_len~0) && ~bvult32(~i~2, ~a_len~0)); {15946#false} is VALID [2018-11-23 10:01:53,020 INFO L273 TraceCheckUtils]: 29: Hoare triple {15946#false} assume ~bvugt32(~pat_len~0, ~a_len~0);#t~pre27 := ~bvadd32(1bv32, ~differences~0);~differences~0 := ~bvadd32(1bv32, ~differences~0);havoc #t~pre27; {15946#false} is VALID [2018-11-23 10:01:53,020 INFO L256 TraceCheckUtils]: 30: Hoare triple {15946#false} call __VERIFIER_assert((if ~bvugt32(~differences~0, 1bv32) then 1bv32 else 0bv32)); {15946#false} is VALID [2018-11-23 10:01:53,020 INFO L273 TraceCheckUtils]: 31: Hoare triple {15946#false} ~cond := #in~cond; {15946#false} is VALID [2018-11-23 10:01:53,020 INFO L273 TraceCheckUtils]: 32: Hoare triple {15946#false} assume 0bv32 == ~cond; {15946#false} is VALID [2018-11-23 10:01:53,020 INFO L273 TraceCheckUtils]: 33: Hoare triple {15946#false} assume !false; {15946#false} is VALID [2018-11-23 10:01:53,022 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 1 proven. 4 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-11-23 10:01:53,022 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-23 10:01:53,543 INFO L273 TraceCheckUtils]: 33: Hoare triple {15946#false} assume !false; {15946#false} is VALID [2018-11-23 10:01:53,544 INFO L273 TraceCheckUtils]: 32: Hoare triple {15946#false} assume 0bv32 == ~cond; {15946#false} is VALID [2018-11-23 10:01:53,544 INFO L273 TraceCheckUtils]: 31: Hoare triple {15946#false} ~cond := #in~cond; {15946#false} is VALID [2018-11-23 10:01:53,544 INFO L256 TraceCheckUtils]: 30: Hoare triple {15946#false} call __VERIFIER_assert((if ~bvugt32(~differences~0, 1bv32) then 1bv32 else 0bv32)); {15946#false} is VALID [2018-11-23 10:01:53,544 INFO L273 TraceCheckUtils]: 29: Hoare triple {16071#(not (bvugt main_~pat_len~0 main_~a_len~0))} assume ~bvugt32(~pat_len~0, ~a_len~0);#t~pre27 := ~bvadd32(1bv32, ~differences~0);~differences~0 := ~bvadd32(1bv32, ~differences~0);havoc #t~pre27; {15946#false} is VALID [2018-11-23 10:01:53,553 INFO L273 TraceCheckUtils]: 28: Hoare triple {16075#(or (not (bvugt main_~pat_len~0 main_~a_len~0)) (bvult main_~i~2 main_~a_len~0))} assume !(~bvult32(~i~2, ~pat_len~0) && ~bvult32(~i~2, ~a_len~0)); {16071#(not (bvugt main_~pat_len~0 main_~a_len~0))} is VALID [2018-11-23 10:01:53,554 INFO L273 TraceCheckUtils]: 27: Hoare triple {16079#(or (bvult (_ bv0 32) main_~a_len~0) (not (bvugt main_~pat_len~0 main_~a_len~0)))} assume ~bvule32(~pat_len~0, ~bvadd32(1bv32, ~a_len~0));~differences~0 := 0bv32;~i~2 := 0bv32; {16075#(or (not (bvugt main_~pat_len~0 main_~a_len~0)) (bvult main_~i~2 main_~a_len~0))} is VALID [2018-11-23 10:01:53,555 INFO L273 TraceCheckUtils]: 26: Hoare triple {16079#(or (bvult (_ bv0 32) main_~a_len~0) (not (bvugt main_~pat_len~0 main_~a_len~0)))} assume !(0bv8 != #t~ret14);havoc #t~ret14; {16079#(or (bvult (_ bv0 32) main_~a_len~0) (not (bvugt main_~pat_len~0 main_~a_len~0)))} is VALID [2018-11-23 10:01:53,557 INFO L268 TraceCheckUtils]: 25: Hoare quadruple {16089#(or (bvult (_ bv0 32) |is_relaxed_prefix_#in~a_length|) (not (bvugt |is_relaxed_prefix_#in~pat_length| |is_relaxed_prefix_#in~a_length|)))} {15945#true} #160#return; {16079#(or (bvult (_ bv0 32) main_~a_len~0) (not (bvugt main_~pat_len~0 main_~a_len~0)))} is VALID [2018-11-23 10:01:53,557 INFO L273 TraceCheckUtils]: 24: Hoare triple {16089#(or (bvult (_ bv0 32) |is_relaxed_prefix_#in~a_length|) (not (bvugt |is_relaxed_prefix_#in~pat_length| |is_relaxed_prefix_#in~a_length|)))} assume true; {16089#(or (bvult (_ bv0 32) |is_relaxed_prefix_#in~a_length|) (not (bvugt |is_relaxed_prefix_#in~pat_length| |is_relaxed_prefix_#in~a_length|)))} is VALID [2018-11-23 10:01:53,558 INFO L273 TraceCheckUtils]: 23: Hoare triple {16096#(or (bvult (_ bv0 32) |is_relaxed_prefix_#in~a_length|) (not (bvugt |is_relaxed_prefix_#in~pat_length| |is_relaxed_prefix_#in~a_length|)) (not (bvugt is_relaxed_prefix_~pat_length is_relaxed_prefix_~a_length)))} assume ~bvugt32(~pat_length, ~a_length) && 1bv32 == ~shift~0;#res := 0bv8; {16089#(or (bvult (_ bv0 32) |is_relaxed_prefix_#in~a_length|) (not (bvugt |is_relaxed_prefix_#in~pat_length| |is_relaxed_prefix_#in~a_length|)))} is VALID [2018-11-23 10:01:53,559 INFO L273 TraceCheckUtils]: 22: Hoare triple {16096#(or (bvult (_ bv0 32) |is_relaxed_prefix_#in~a_length|) (not (bvugt |is_relaxed_prefix_#in~pat_length| |is_relaxed_prefix_#in~a_length|)) (not (bvugt is_relaxed_prefix_~pat_length is_relaxed_prefix_~a_length)))} assume !(~bvult32(~i~0, ~pat_length) && ~bvult32(~i~0, ~a_length)); {16096#(or (bvult (_ bv0 32) |is_relaxed_prefix_#in~a_length|) (not (bvugt |is_relaxed_prefix_#in~pat_length| |is_relaxed_prefix_#in~a_length|)) (not (bvugt is_relaxed_prefix_~pat_length is_relaxed_prefix_~a_length)))} is VALID [2018-11-23 10:01:53,559 INFO L273 TraceCheckUtils]: 21: Hoare triple {16096#(or (bvult (_ bv0 32) |is_relaxed_prefix_#in~a_length|) (not (bvugt |is_relaxed_prefix_#in~pat_length| |is_relaxed_prefix_#in~a_length|)) (not (bvugt is_relaxed_prefix_~pat_length is_relaxed_prefix_~a_length)))} #t~post3 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post3);havoc #t~post3; {16096#(or (bvult (_ bv0 32) |is_relaxed_prefix_#in~a_length|) (not (bvugt |is_relaxed_prefix_#in~pat_length| |is_relaxed_prefix_#in~a_length|)) (not (bvugt is_relaxed_prefix_~pat_length is_relaxed_prefix_~a_length)))} is VALID [2018-11-23 10:01:53,559 INFO L273 TraceCheckUtils]: 20: Hoare triple {16096#(or (bvult (_ bv0 32) |is_relaxed_prefix_#in~a_length|) (not (bvugt |is_relaxed_prefix_#in~pat_length| |is_relaxed_prefix_#in~a_length|)) (not (bvugt is_relaxed_prefix_~pat_length is_relaxed_prefix_~a_length)))} assume 0bv32 == ~shift~0;~shift~0 := 1bv32; {16096#(or (bvult (_ bv0 32) |is_relaxed_prefix_#in~a_length|) (not (bvugt |is_relaxed_prefix_#in~pat_length| |is_relaxed_prefix_#in~a_length|)) (not (bvugt is_relaxed_prefix_~pat_length is_relaxed_prefix_~a_length)))} is VALID [2018-11-23 10:01:53,560 INFO L273 TraceCheckUtils]: 19: Hoare triple {16096#(or (bvult (_ bv0 32) |is_relaxed_prefix_#in~a_length|) (not (bvugt |is_relaxed_prefix_#in~pat_length| |is_relaxed_prefix_#in~a_length|)) (not (bvugt is_relaxed_prefix_~pat_length is_relaxed_prefix_~a_length)))} assume #t~mem4 != #t~mem5;havoc #t~mem4;havoc #t~mem5; {16096#(or (bvult (_ bv0 32) |is_relaxed_prefix_#in~a_length|) (not (bvugt |is_relaxed_prefix_#in~pat_length| |is_relaxed_prefix_#in~a_length|)) (not (bvugt is_relaxed_prefix_~pat_length is_relaxed_prefix_~a_length)))} is VALID [2018-11-23 10:01:53,570 INFO L273 TraceCheckUtils]: 18: Hoare triple {16112#(or (bvult (_ bv0 32) |is_relaxed_prefix_#in~a_length|) (forall ((is_relaxed_prefix_~i~0 (_ BitVec 32))) (not (bvult is_relaxed_prefix_~i~0 is_relaxed_prefix_~a_length))) (not (bvugt |is_relaxed_prefix_#in~pat_length| |is_relaxed_prefix_#in~a_length|)) (not (bvugt is_relaxed_prefix_~pat_length is_relaxed_prefix_~a_length)))} assume !!(~bvult32(~i~0, ~pat_length) && ~bvult32(~i~0, ~a_length));call #t~mem4 := read~intINTTYPE4(~pat.base, ~bvadd32(~pat.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem5 := read~intINTTYPE4(~a.base, ~bvadd32(~a.offset, ~bvmul32(4bv32, ~bvsub32(~i~0, ~shift~0))), 4bv32); {16096#(or (bvult (_ bv0 32) |is_relaxed_prefix_#in~a_length|) (not (bvugt |is_relaxed_prefix_#in~pat_length| |is_relaxed_prefix_#in~a_length|)) (not (bvugt is_relaxed_prefix_~pat_length is_relaxed_prefix_~a_length)))} is VALID [2018-11-23 10:01:53,570 INFO L273 TraceCheckUtils]: 17: Hoare triple {16112#(or (bvult (_ bv0 32) |is_relaxed_prefix_#in~a_length|) (forall ((is_relaxed_prefix_~i~0 (_ BitVec 32))) (not (bvult is_relaxed_prefix_~i~0 is_relaxed_prefix_~a_length))) (not (bvugt |is_relaxed_prefix_#in~pat_length| |is_relaxed_prefix_#in~a_length|)) (not (bvugt is_relaxed_prefix_~pat_length is_relaxed_prefix_~a_length)))} assume !~bvugt32(~pat_length, ~bvadd32(1bv32, ~a_length));~shift~0 := 0bv32;~i~0 := 0bv32; {16112#(or (bvult (_ bv0 32) |is_relaxed_prefix_#in~a_length|) (forall ((is_relaxed_prefix_~i~0 (_ BitVec 32))) (not (bvult is_relaxed_prefix_~i~0 is_relaxed_prefix_~a_length))) (not (bvugt |is_relaxed_prefix_#in~pat_length| |is_relaxed_prefix_#in~a_length|)) (not (bvugt is_relaxed_prefix_~pat_length is_relaxed_prefix_~a_length)))} is VALID [2018-11-23 10:01:53,571 INFO L273 TraceCheckUtils]: 16: Hoare triple {15945#true} ~pat.base, ~pat.offset := #in~pat.base, #in~pat.offset;~pat_length := #in~pat_length;~a.base, ~a.offset := #in~a.base, #in~a.offset;~a_length := #in~a_length; {16112#(or (bvult (_ bv0 32) |is_relaxed_prefix_#in~a_length|) (forall ((is_relaxed_prefix_~i~0 (_ BitVec 32))) (not (bvult is_relaxed_prefix_~i~0 is_relaxed_prefix_~a_length))) (not (bvugt |is_relaxed_prefix_#in~pat_length| |is_relaxed_prefix_#in~a_length|)) (not (bvugt is_relaxed_prefix_~pat_length is_relaxed_prefix_~a_length)))} is VALID [2018-11-23 10:01:53,571 INFO L256 TraceCheckUtils]: 15: Hoare triple {15945#true} call #t~ret14 := is_relaxed_prefix(~pat~0.base, ~pat~0.offset, ~pat_len~0, ~a~0.base, ~a~0.offset, ~a_len~0); {15945#true} is VALID [2018-11-23 10:01:53,571 INFO L273 TraceCheckUtils]: 14: Hoare triple {15945#true} assume !~bvult32(~j~1, ~a_len~0); {15945#true} is VALID [2018-11-23 10:01:53,571 INFO L273 TraceCheckUtils]: 13: Hoare triple {15945#true} #t~post12 := ~j~1;~j~1 := ~bvadd32(1bv32, #t~post12);havoc #t~post12; {15945#true} is VALID [2018-11-23 10:01:53,572 INFO L273 TraceCheckUtils]: 12: Hoare triple {15945#true} assume !!~bvult32(~j~1, ~a_len~0);call write~intINTTYPE4(#t~nondet13, ~a~0.base, ~bvadd32(~a~0.offset, ~bvmul32(4bv32, ~j~1)), 4bv32);havoc #t~nondet13; {15945#true} is VALID [2018-11-23 10:01:53,572 INFO L273 TraceCheckUtils]: 11: Hoare triple {15945#true} ~j~1 := 0bv32; {15945#true} is VALID [2018-11-23 10:01:53,572 INFO L273 TraceCheckUtils]: 10: Hoare triple {15945#true} assume !~bvult32(~j~0, ~pat_len~0); {15945#true} is VALID [2018-11-23 10:01:53,572 INFO L273 TraceCheckUtils]: 9: Hoare triple {15945#true} #t~post10 := ~j~0;~j~0 := ~bvadd32(1bv32, #t~post10);havoc #t~post10; {15945#true} is VALID [2018-11-23 10:01:53,572 INFO L273 TraceCheckUtils]: 8: Hoare triple {15945#true} assume !!~bvult32(~j~0, ~pat_len~0);call write~intINTTYPE4(#t~nondet11, ~pat~0.base, ~bvadd32(~pat~0.offset, ~bvmul32(4bv32, ~j~0)), 4bv32);havoc #t~nondet11; {15945#true} is VALID [2018-11-23 10:01:53,572 INFO L273 TraceCheckUtils]: 7: Hoare triple {15945#true} #t~post10 := ~j~0;~j~0 := ~bvadd32(1bv32, #t~post10);havoc #t~post10; {15945#true} is VALID [2018-11-23 10:01:53,572 INFO L273 TraceCheckUtils]: 6: Hoare triple {15945#true} assume !!~bvult32(~j~0, ~pat_len~0);call write~intINTTYPE4(#t~nondet11, ~pat~0.base, ~bvadd32(~pat~0.offset, ~bvmul32(4bv32, ~j~0)), 4bv32);havoc #t~nondet11; {15945#true} is VALID [2018-11-23 10:01:53,572 INFO L273 TraceCheckUtils]: 5: Hoare triple {15945#true} ~pat_len~0 := #t~nondet6;havoc #t~nondet6;~a_len~0 := #t~nondet7;havoc #t~nondet7;call #t~malloc8.base, #t~malloc8.offset := #Ultimate.alloc(~bvmul32(4bv32, ~pat_len~0));~pat~0.base, ~pat~0.offset := #t~malloc8.base, #t~malloc8.offset;call #t~malloc9.base, #t~malloc9.offset := #Ultimate.alloc(~bvmul32(4bv32, ~a_len~0));~a~0.base, ~a~0.offset := #t~malloc9.base, #t~malloc9.offset;~j~0 := 0bv32; {15945#true} is VALID [2018-11-23 10:01:53,573 INFO L256 TraceCheckUtils]: 4: Hoare triple {15945#true} call #t~ret28 := main(); {15945#true} is VALID [2018-11-23 10:01:53,573 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {15945#true} {15945#true} #156#return; {15945#true} is VALID [2018-11-23 10:01:53,573 INFO L273 TraceCheckUtils]: 2: Hoare triple {15945#true} assume true; {15945#true} is VALID [2018-11-23 10:01:53,573 INFO L273 TraceCheckUtils]: 1: Hoare triple {15945#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {15945#true} is VALID [2018-11-23 10:01:53,573 INFO L256 TraceCheckUtils]: 0: Hoare triple {15945#true} call ULTIMATE.init(); {15945#true} is VALID [2018-11-23 10:01:53,575 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 1 proven. 0 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2018-11-23 10:01:53,577 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 1 imperfect interpolant sequences. [2018-11-23 10:01:53,577 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [8] imperfect sequences [12] total 18 [2018-11-23 10:01:53,578 INFO L78 Accepts]: Start accepts. Automaton has 18 states. Word has length 34 [2018-11-23 10:01:53,578 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 10:01:53,579 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 18 states. [2018-11-23 10:01:53,737 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:01:53,737 INFO L459 AbstractCegarLoop]: Interpolant automaton has 18 states [2018-11-23 10:01:53,737 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2018-11-23 10:01:53,737 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=54, Invalid=252, Unknown=0, NotChecked=0, Total=306 [2018-11-23 10:01:53,738 INFO L87 Difference]: Start difference. First operand 125 states and 166 transitions. Second operand 18 states. [2018-11-23 10:02:00,117 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:02:00,117 INFO L93 Difference]: Finished difference Result 205 states and 287 transitions. [2018-11-23 10:02:00,118 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 21 states. [2018-11-23 10:02:00,118 INFO L78 Accepts]: Start accepts. Automaton has 18 states. Word has length 34 [2018-11-23 10:02:00,118 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 10:02:00,118 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 18 states. [2018-11-23 10:02:00,119 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 185 transitions. [2018-11-23 10:02:00,119 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 18 states. [2018-11-23 10:02:00,121 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 185 transitions. [2018-11-23 10:02:00,121 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 21 states and 185 transitions. [2018-11-23 10:02:00,556 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 185 edges. 185 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:02:00,561 INFO L225 Difference]: With dead ends: 205 [2018-11-23 10:02:00,561 INFO L226 Difference]: Without dead ends: 195 [2018-11-23 10:02:00,562 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 79 GetRequests, 50 SyntacticMatches, 3 SemanticMatches, 26 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 103 ImplicationChecksByTransitivity, 1.1s TimeCoverageRelationStatistics Valid=129, Invalid=627, Unknown=0, NotChecked=0, Total=756 [2018-11-23 10:02:00,562 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 195 states. [2018-11-23 10:02:01,029 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 195 to 133. [2018-11-23 10:02:01,029 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 10:02:01,029 INFO L82 GeneralOperation]: Start isEquivalent. First operand 195 states. Second operand 133 states. [2018-11-23 10:02:01,029 INFO L74 IsIncluded]: Start isIncluded. First operand 195 states. Second operand 133 states. [2018-11-23 10:02:01,029 INFO L87 Difference]: Start difference. First operand 195 states. Second operand 133 states. [2018-11-23 10:02:01,033 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:02:01,033 INFO L93 Difference]: Finished difference Result 195 states and 271 transitions. [2018-11-23 10:02:01,033 INFO L276 IsEmpty]: Start isEmpty. Operand 195 states and 271 transitions. [2018-11-23 10:02:01,034 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:02:01,034 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:02:01,034 INFO L74 IsIncluded]: Start isIncluded. First operand 133 states. Second operand 195 states. [2018-11-23 10:02:01,034 INFO L87 Difference]: Start difference. First operand 133 states. Second operand 195 states. [2018-11-23 10:02:01,038 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:02:01,038 INFO L93 Difference]: Finished difference Result 195 states and 271 transitions. [2018-11-23 10:02:01,038 INFO L276 IsEmpty]: Start isEmpty. Operand 195 states and 271 transitions. [2018-11-23 10:02:01,039 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:02:01,039 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:02:01,039 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 10:02:01,039 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 10:02:01,039 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 133 states. [2018-11-23 10:02:01,041 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 133 states to 133 states and 183 transitions. [2018-11-23 10:02:01,042 INFO L78 Accepts]: Start accepts. Automaton has 133 states and 183 transitions. Word has length 34 [2018-11-23 10:02:01,042 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 10:02:01,042 INFO L480 AbstractCegarLoop]: Abstraction has 133 states and 183 transitions. [2018-11-23 10:02:01,042 INFO L481 AbstractCegarLoop]: Interpolant automaton has 18 states. [2018-11-23 10:02:01,042 INFO L276 IsEmpty]: Start isEmpty. Operand 133 states and 183 transitions. [2018-11-23 10:02:01,042 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 37 [2018-11-23 10:02:01,043 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 10:02:01,043 INFO L402 BasicCegarLoop]: trace histogram [3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 10:02:01,043 INFO L423 AbstractCegarLoop]: === Iteration 22 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 10:02:01,043 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 10:02:01,043 INFO L82 PathProgramCache]: Analyzing trace with hash 1861319617, now seen corresponding path program 1 times [2018-11-23 10:02:01,043 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 10:02:01,043 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4nyu Starting monitored process 23 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 23 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk [2018-11-23 10:02:01,066 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 10:02:01,095 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:02:01,107 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:02:01,108 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 10:02:01,202 INFO L256 TraceCheckUtils]: 0: Hoare triple {17034#true} call ULTIMATE.init(); {17034#true} is VALID [2018-11-23 10:02:01,202 INFO L273 TraceCheckUtils]: 1: Hoare triple {17034#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {17034#true} is VALID [2018-11-23 10:02:01,202 INFO L273 TraceCheckUtils]: 2: Hoare triple {17034#true} assume true; {17034#true} is VALID [2018-11-23 10:02:01,203 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {17034#true} {17034#true} #156#return; {17034#true} is VALID [2018-11-23 10:02:01,203 INFO L256 TraceCheckUtils]: 4: Hoare triple {17034#true} call #t~ret28 := main(); {17034#true} is VALID [2018-11-23 10:02:01,203 INFO L273 TraceCheckUtils]: 5: Hoare triple {17034#true} ~pat_len~0 := #t~nondet6;havoc #t~nondet6;~a_len~0 := #t~nondet7;havoc #t~nondet7;call #t~malloc8.base, #t~malloc8.offset := #Ultimate.alloc(~bvmul32(4bv32, ~pat_len~0));~pat~0.base, ~pat~0.offset := #t~malloc8.base, #t~malloc8.offset;call #t~malloc9.base, #t~malloc9.offset := #Ultimate.alloc(~bvmul32(4bv32, ~a_len~0));~a~0.base, ~a~0.offset := #t~malloc9.base, #t~malloc9.offset;~j~0 := 0bv32; {17034#true} is VALID [2018-11-23 10:02:01,203 INFO L273 TraceCheckUtils]: 6: Hoare triple {17034#true} assume !!~bvult32(~j~0, ~pat_len~0);call write~intINTTYPE4(#t~nondet11, ~pat~0.base, ~bvadd32(~pat~0.offset, ~bvmul32(4bv32, ~j~0)), 4bv32);havoc #t~nondet11; {17034#true} is VALID [2018-11-23 10:02:01,203 INFO L273 TraceCheckUtils]: 7: Hoare triple {17034#true} #t~post10 := ~j~0;~j~0 := ~bvadd32(1bv32, #t~post10);havoc #t~post10; {17034#true} is VALID [2018-11-23 10:02:01,204 INFO L273 TraceCheckUtils]: 8: Hoare triple {17034#true} assume !!~bvult32(~j~0, ~pat_len~0);call write~intINTTYPE4(#t~nondet11, ~pat~0.base, ~bvadd32(~pat~0.offset, ~bvmul32(4bv32, ~j~0)), 4bv32);havoc #t~nondet11; {17034#true} is VALID [2018-11-23 10:02:01,204 INFO L273 TraceCheckUtils]: 9: Hoare triple {17034#true} #t~post10 := ~j~0;~j~0 := ~bvadd32(1bv32, #t~post10);havoc #t~post10; {17034#true} is VALID [2018-11-23 10:02:01,204 INFO L273 TraceCheckUtils]: 10: Hoare triple {17034#true} assume !!~bvult32(~j~0, ~pat_len~0);call write~intINTTYPE4(#t~nondet11, ~pat~0.base, ~bvadd32(~pat~0.offset, ~bvmul32(4bv32, ~j~0)), 4bv32);havoc #t~nondet11; {17034#true} is VALID [2018-11-23 10:02:01,204 INFO L273 TraceCheckUtils]: 11: Hoare triple {17034#true} #t~post10 := ~j~0;~j~0 := ~bvadd32(1bv32, #t~post10);havoc #t~post10; {17034#true} is VALID [2018-11-23 10:02:01,204 INFO L273 TraceCheckUtils]: 12: Hoare triple {17034#true} assume !~bvult32(~j~0, ~pat_len~0); {17034#true} is VALID [2018-11-23 10:02:01,205 INFO L273 TraceCheckUtils]: 13: Hoare triple {17034#true} ~j~1 := 0bv32; {17034#true} is VALID [2018-11-23 10:02:01,205 INFO L273 TraceCheckUtils]: 14: Hoare triple {17034#true} assume !!~bvult32(~j~1, ~a_len~0);call write~intINTTYPE4(#t~nondet13, ~a~0.base, ~bvadd32(~a~0.offset, ~bvmul32(4bv32, ~j~1)), 4bv32);havoc #t~nondet13; {17034#true} is VALID [2018-11-23 10:02:01,205 INFO L273 TraceCheckUtils]: 15: Hoare triple {17034#true} #t~post12 := ~j~1;~j~1 := ~bvadd32(1bv32, #t~post12);havoc #t~post12; {17034#true} is VALID [2018-11-23 10:02:01,205 INFO L273 TraceCheckUtils]: 16: Hoare triple {17034#true} assume !~bvult32(~j~1, ~a_len~0); {17034#true} is VALID [2018-11-23 10:02:01,205 INFO L256 TraceCheckUtils]: 17: Hoare triple {17034#true} call #t~ret14 := is_relaxed_prefix(~pat~0.base, ~pat~0.offset, ~pat_len~0, ~a~0.base, ~a~0.offset, ~a_len~0); {17034#true} is VALID [2018-11-23 10:02:01,206 INFO L273 TraceCheckUtils]: 18: Hoare triple {17034#true} ~pat.base, ~pat.offset := #in~pat.base, #in~pat.offset;~pat_length := #in~pat_length;~a.base, ~a.offset := #in~a.base, #in~a.offset;~a_length := #in~a_length; {17093#(and (= |is_relaxed_prefix_#in~a_length| is_relaxed_prefix_~a_length) (= |is_relaxed_prefix_#in~pat_length| is_relaxed_prefix_~pat_length))} is VALID [2018-11-23 10:02:01,206 INFO L273 TraceCheckUtils]: 19: Hoare triple {17093#(and (= |is_relaxed_prefix_#in~a_length| is_relaxed_prefix_~a_length) (= |is_relaxed_prefix_#in~pat_length| is_relaxed_prefix_~pat_length))} assume !~bvugt32(~pat_length, ~bvadd32(1bv32, ~a_length));~shift~0 := 0bv32;~i~0 := 0bv32; {17093#(and (= |is_relaxed_prefix_#in~a_length| is_relaxed_prefix_~a_length) (= |is_relaxed_prefix_#in~pat_length| is_relaxed_prefix_~pat_length))} is VALID [2018-11-23 10:02:01,207 INFO L273 TraceCheckUtils]: 20: Hoare triple {17093#(and (= |is_relaxed_prefix_#in~a_length| is_relaxed_prefix_~a_length) (= |is_relaxed_prefix_#in~pat_length| is_relaxed_prefix_~pat_length))} assume !!(~bvult32(~i~0, ~pat_length) && ~bvult32(~i~0, ~a_length));call #t~mem4 := read~intINTTYPE4(~pat.base, ~bvadd32(~pat.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem5 := read~intINTTYPE4(~a.base, ~bvadd32(~a.offset, ~bvmul32(4bv32, ~bvsub32(~i~0, ~shift~0))), 4bv32); {17093#(and (= |is_relaxed_prefix_#in~a_length| is_relaxed_prefix_~a_length) (= |is_relaxed_prefix_#in~pat_length| is_relaxed_prefix_~pat_length))} is VALID [2018-11-23 10:02:01,207 INFO L273 TraceCheckUtils]: 21: Hoare triple {17093#(and (= |is_relaxed_prefix_#in~a_length| is_relaxed_prefix_~a_length) (= |is_relaxed_prefix_#in~pat_length| is_relaxed_prefix_~pat_length))} assume #t~mem4 != #t~mem5;havoc #t~mem4;havoc #t~mem5; {17093#(and (= |is_relaxed_prefix_#in~a_length| is_relaxed_prefix_~a_length) (= |is_relaxed_prefix_#in~pat_length| is_relaxed_prefix_~pat_length))} is VALID [2018-11-23 10:02:01,208 INFO L273 TraceCheckUtils]: 22: Hoare triple {17093#(and (= |is_relaxed_prefix_#in~a_length| is_relaxed_prefix_~a_length) (= |is_relaxed_prefix_#in~pat_length| is_relaxed_prefix_~pat_length))} assume 0bv32 == ~shift~0;~shift~0 := 1bv32; {17093#(and (= |is_relaxed_prefix_#in~a_length| is_relaxed_prefix_~a_length) (= |is_relaxed_prefix_#in~pat_length| is_relaxed_prefix_~pat_length))} is VALID [2018-11-23 10:02:01,208 INFO L273 TraceCheckUtils]: 23: Hoare triple {17093#(and (= |is_relaxed_prefix_#in~a_length| is_relaxed_prefix_~a_length) (= |is_relaxed_prefix_#in~pat_length| is_relaxed_prefix_~pat_length))} #t~post3 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post3);havoc #t~post3; {17093#(and (= |is_relaxed_prefix_#in~a_length| is_relaxed_prefix_~a_length) (= |is_relaxed_prefix_#in~pat_length| is_relaxed_prefix_~pat_length))} is VALID [2018-11-23 10:02:01,208 INFO L273 TraceCheckUtils]: 24: Hoare triple {17093#(and (= |is_relaxed_prefix_#in~a_length| is_relaxed_prefix_~a_length) (= |is_relaxed_prefix_#in~pat_length| is_relaxed_prefix_~pat_length))} assume !(~bvult32(~i~0, ~pat_length) && ~bvult32(~i~0, ~a_length)); {17093#(and (= |is_relaxed_prefix_#in~a_length| is_relaxed_prefix_~a_length) (= |is_relaxed_prefix_#in~pat_length| is_relaxed_prefix_~pat_length))} is VALID [2018-11-23 10:02:01,210 INFO L273 TraceCheckUtils]: 25: Hoare triple {17093#(and (= |is_relaxed_prefix_#in~a_length| is_relaxed_prefix_~a_length) (= |is_relaxed_prefix_#in~pat_length| is_relaxed_prefix_~pat_length))} assume ~bvugt32(~pat_length, ~a_length) && 1bv32 == ~shift~0;#res := 0bv8; {17115#(bvugt |is_relaxed_prefix_#in~pat_length| |is_relaxed_prefix_#in~a_length|)} is VALID [2018-11-23 10:02:01,210 INFO L273 TraceCheckUtils]: 26: Hoare triple {17115#(bvugt |is_relaxed_prefix_#in~pat_length| |is_relaxed_prefix_#in~a_length|)} assume true; {17115#(bvugt |is_relaxed_prefix_#in~pat_length| |is_relaxed_prefix_#in~a_length|)} is VALID [2018-11-23 10:02:01,213 INFO L268 TraceCheckUtils]: 27: Hoare quadruple {17115#(bvugt |is_relaxed_prefix_#in~pat_length| |is_relaxed_prefix_#in~a_length|)} {17034#true} #160#return; {17122#(bvugt main_~pat_len~0 main_~a_len~0)} is VALID [2018-11-23 10:02:01,214 INFO L273 TraceCheckUtils]: 28: Hoare triple {17122#(bvugt main_~pat_len~0 main_~a_len~0)} assume !(0bv8 != #t~ret14);havoc #t~ret14; {17122#(bvugt main_~pat_len~0 main_~a_len~0)} is VALID [2018-11-23 10:02:01,215 INFO L273 TraceCheckUtils]: 29: Hoare triple {17122#(bvugt main_~pat_len~0 main_~a_len~0)} assume ~bvule32(~pat_len~0, ~bvadd32(1bv32, ~a_len~0));~differences~0 := 0bv32;~i~2 := 0bv32; {17122#(bvugt main_~pat_len~0 main_~a_len~0)} is VALID [2018-11-23 10:02:01,215 INFO L273 TraceCheckUtils]: 30: Hoare triple {17122#(bvugt main_~pat_len~0 main_~a_len~0)} assume !(~bvult32(~i~2, ~pat_len~0) && ~bvult32(~i~2, ~a_len~0)); {17122#(bvugt main_~pat_len~0 main_~a_len~0)} is VALID [2018-11-23 10:02:01,216 INFO L273 TraceCheckUtils]: 31: Hoare triple {17122#(bvugt main_~pat_len~0 main_~a_len~0)} assume !~bvugt32(~pat_len~0, ~a_len~0); {17035#false} is VALID [2018-11-23 10:02:01,216 INFO L256 TraceCheckUtils]: 32: Hoare triple {17035#false} call __VERIFIER_assert((if ~bvugt32(~differences~0, 1bv32) then 1bv32 else 0bv32)); {17035#false} is VALID [2018-11-23 10:02:01,216 INFO L273 TraceCheckUtils]: 33: Hoare triple {17035#false} ~cond := #in~cond; {17035#false} is VALID [2018-11-23 10:02:01,216 INFO L273 TraceCheckUtils]: 34: Hoare triple {17035#false} assume 0bv32 == ~cond; {17035#false} is VALID [2018-11-23 10:02:01,217 INFO L273 TraceCheckUtils]: 35: Hoare triple {17035#false} assume !false; {17035#false} is VALID [2018-11-23 10:02:01,218 INFO L134 CoverageAnalysis]: Checked inductivity of 11 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 11 trivial. 0 not checked. [2018-11-23 10:02:01,219 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 10:02:01,220 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 10:02:01,220 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2018-11-23 10:02:01,221 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 36 [2018-11-23 10:02:01,221 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 10:02:01,221 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states. [2018-11-23 10:02:01,268 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 32 edges. 32 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:02:01,268 INFO L459 AbstractCegarLoop]: Interpolant automaton has 5 states [2018-11-23 10:02:01,269 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2018-11-23 10:02:01,269 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2018-11-23 10:02:01,269 INFO L87 Difference]: Start difference. First operand 133 states and 183 transitions. Second operand 5 states. [2018-11-23 10:02:02,258 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:02:02,258 INFO L93 Difference]: Finished difference Result 164 states and 223 transitions. [2018-11-23 10:02:02,258 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2018-11-23 10:02:02,258 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 36 [2018-11-23 10:02:02,258 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 10:02:02,258 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2018-11-23 10:02:02,259 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 90 transitions. [2018-11-23 10:02:02,259 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2018-11-23 10:02:02,260 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 90 transitions. [2018-11-23 10:02:02,260 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 90 transitions. [2018-11-23 10:02:02,387 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 90 edges. 90 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:02:02,391 INFO L225 Difference]: With dead ends: 164 [2018-11-23 10:02:02,391 INFO L226 Difference]: Without dead ends: 156 [2018-11-23 10:02:02,391 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 36 GetRequests, 32 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2018-11-23 10:02:02,392 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 156 states. [2018-11-23 10:02:02,551 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 156 to 130. [2018-11-23 10:02:02,551 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 10:02:02,551 INFO L82 GeneralOperation]: Start isEquivalent. First operand 156 states. Second operand 130 states. [2018-11-23 10:02:02,551 INFO L74 IsIncluded]: Start isIncluded. First operand 156 states. Second operand 130 states. [2018-11-23 10:02:02,551 INFO L87 Difference]: Start difference. First operand 156 states. Second operand 130 states. [2018-11-23 10:02:02,555 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:02:02,555 INFO L93 Difference]: Finished difference Result 156 states and 214 transitions. [2018-11-23 10:02:02,555 INFO L276 IsEmpty]: Start isEmpty. Operand 156 states and 214 transitions. [2018-11-23 10:02:02,555 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:02:02,555 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:02:02,556 INFO L74 IsIncluded]: Start isIncluded. First operand 130 states. Second operand 156 states. [2018-11-23 10:02:02,556 INFO L87 Difference]: Start difference. First operand 130 states. Second operand 156 states. [2018-11-23 10:02:02,558 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:02:02,558 INFO L93 Difference]: Finished difference Result 156 states and 214 transitions. [2018-11-23 10:02:02,558 INFO L276 IsEmpty]: Start isEmpty. Operand 156 states and 214 transitions. [2018-11-23 10:02:02,559 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:02:02,559 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:02:02,559 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 10:02:02,559 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 10:02:02,559 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 130 states. [2018-11-23 10:02:02,561 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 130 states to 130 states and 175 transitions. [2018-11-23 10:02:02,561 INFO L78 Accepts]: Start accepts. Automaton has 130 states and 175 transitions. Word has length 36 [2018-11-23 10:02:02,562 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 10:02:02,562 INFO L480 AbstractCegarLoop]: Abstraction has 130 states and 175 transitions. [2018-11-23 10:02:02,562 INFO L481 AbstractCegarLoop]: Interpolant automaton has 5 states. [2018-11-23 10:02:02,562 INFO L276 IsEmpty]: Start isEmpty. Operand 130 states and 175 transitions. [2018-11-23 10:02:02,562 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2018-11-23 10:02:02,562 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 10:02:02,563 INFO L402 BasicCegarLoop]: trace histogram [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, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 10:02:02,563 INFO L423 AbstractCegarLoop]: === Iteration 23 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 10:02:02,563 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 10:02:02,563 INFO L82 PathProgramCache]: Analyzing trace with hash 1294050072, now seen corresponding path program 1 times [2018-11-23 10:02:02,564 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 10:02:02,564 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4nyu Starting monitored process 24 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 24 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk [2018-11-23 10:02:02,585 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 10:02:02,667 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:02:02,689 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:02:02,690 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 10:02:02,771 INFO L256 TraceCheckUtils]: 0: Hoare triple {17859#true} call ULTIMATE.init(); {17859#true} is VALID [2018-11-23 10:02:02,772 INFO L273 TraceCheckUtils]: 1: Hoare triple {17859#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {17859#true} is VALID [2018-11-23 10:02:02,772 INFO L273 TraceCheckUtils]: 2: Hoare triple {17859#true} assume true; {17859#true} is VALID [2018-11-23 10:02:02,772 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {17859#true} {17859#true} #156#return; {17859#true} is VALID [2018-11-23 10:02:02,772 INFO L256 TraceCheckUtils]: 4: Hoare triple {17859#true} call #t~ret28 := main(); {17859#true} is VALID [2018-11-23 10:02:02,772 INFO L273 TraceCheckUtils]: 5: Hoare triple {17859#true} ~pat_len~0 := #t~nondet6;havoc #t~nondet6;~a_len~0 := #t~nondet7;havoc #t~nondet7;call #t~malloc8.base, #t~malloc8.offset := #Ultimate.alloc(~bvmul32(4bv32, ~pat_len~0));~pat~0.base, ~pat~0.offset := #t~malloc8.base, #t~malloc8.offset;call #t~malloc9.base, #t~malloc9.offset := #Ultimate.alloc(~bvmul32(4bv32, ~a_len~0));~a~0.base, ~a~0.offset := #t~malloc9.base, #t~malloc9.offset;~j~0 := 0bv32; {17859#true} is VALID [2018-11-23 10:02:02,772 INFO L273 TraceCheckUtils]: 6: Hoare triple {17859#true} assume !!~bvult32(~j~0, ~pat_len~0);call write~intINTTYPE4(#t~nondet11, ~pat~0.base, ~bvadd32(~pat~0.offset, ~bvmul32(4bv32, ~j~0)), 4bv32);havoc #t~nondet11; {17859#true} is VALID [2018-11-23 10:02:02,772 INFO L273 TraceCheckUtils]: 7: Hoare triple {17859#true} #t~post10 := ~j~0;~j~0 := ~bvadd32(1bv32, #t~post10);havoc #t~post10; {17859#true} is VALID [2018-11-23 10:02:02,772 INFO L273 TraceCheckUtils]: 8: Hoare triple {17859#true} assume !!~bvult32(~j~0, ~pat_len~0);call write~intINTTYPE4(#t~nondet11, ~pat~0.base, ~bvadd32(~pat~0.offset, ~bvmul32(4bv32, ~j~0)), 4bv32);havoc #t~nondet11; {17859#true} is VALID [2018-11-23 10:02:02,773 INFO L273 TraceCheckUtils]: 9: Hoare triple {17859#true} #t~post10 := ~j~0;~j~0 := ~bvadd32(1bv32, #t~post10);havoc #t~post10; {17859#true} is VALID [2018-11-23 10:02:02,773 INFO L273 TraceCheckUtils]: 10: Hoare triple {17859#true} assume !~bvult32(~j~0, ~pat_len~0); {17859#true} is VALID [2018-11-23 10:02:02,773 INFO L273 TraceCheckUtils]: 11: Hoare triple {17859#true} ~j~1 := 0bv32; {17859#true} is VALID [2018-11-23 10:02:02,773 INFO L273 TraceCheckUtils]: 12: Hoare triple {17859#true} assume !!~bvult32(~j~1, ~a_len~0);call write~intINTTYPE4(#t~nondet13, ~a~0.base, ~bvadd32(~a~0.offset, ~bvmul32(4bv32, ~j~1)), 4bv32);havoc #t~nondet13; {17859#true} is VALID [2018-11-23 10:02:02,773 INFO L273 TraceCheckUtils]: 13: Hoare triple {17859#true} #t~post12 := ~j~1;~j~1 := ~bvadd32(1bv32, #t~post12);havoc #t~post12; {17859#true} is VALID [2018-11-23 10:02:02,773 INFO L273 TraceCheckUtils]: 14: Hoare triple {17859#true} assume !~bvult32(~j~1, ~a_len~0); {17859#true} is VALID [2018-11-23 10:02:02,773 INFO L256 TraceCheckUtils]: 15: Hoare triple {17859#true} call #t~ret14 := is_relaxed_prefix(~pat~0.base, ~pat~0.offset, ~pat_len~0, ~a~0.base, ~a~0.offset, ~a_len~0); {17859#true} is VALID [2018-11-23 10:02:02,774 INFO L273 TraceCheckUtils]: 16: Hoare triple {17859#true} ~pat.base, ~pat.offset := #in~pat.base, #in~pat.offset;~pat_length := #in~pat_length;~a.base, ~a.offset := #in~a.base, #in~a.offset;~a_length := #in~a_length; {17859#true} is VALID [2018-11-23 10:02:02,774 INFO L273 TraceCheckUtils]: 17: Hoare triple {17859#true} assume !~bvugt32(~pat_length, ~bvadd32(1bv32, ~a_length));~shift~0 := 0bv32;~i~0 := 0bv32; {17859#true} is VALID [2018-11-23 10:02:02,774 INFO L273 TraceCheckUtils]: 18: Hoare triple {17859#true} assume !!(~bvult32(~i~0, ~pat_length) && ~bvult32(~i~0, ~a_length));call #t~mem4 := read~intINTTYPE4(~pat.base, ~bvadd32(~pat.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem5 := read~intINTTYPE4(~a.base, ~bvadd32(~a.offset, ~bvmul32(4bv32, ~bvsub32(~i~0, ~shift~0))), 4bv32); {17859#true} is VALID [2018-11-23 10:02:02,774 INFO L273 TraceCheckUtils]: 19: Hoare triple {17859#true} assume #t~mem4 != #t~mem5;havoc #t~mem4;havoc #t~mem5; {17859#true} is VALID [2018-11-23 10:02:02,774 INFO L273 TraceCheckUtils]: 20: Hoare triple {17859#true} assume 0bv32 == ~shift~0;~shift~0 := 1bv32; {17859#true} is VALID [2018-11-23 10:02:02,774 INFO L273 TraceCheckUtils]: 21: Hoare triple {17859#true} #t~post3 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post3);havoc #t~post3; {17859#true} is VALID [2018-11-23 10:02:02,774 INFO L273 TraceCheckUtils]: 22: Hoare triple {17859#true} assume !(~bvult32(~i~0, ~pat_length) && ~bvult32(~i~0, ~a_length)); {17859#true} is VALID [2018-11-23 10:02:02,775 INFO L273 TraceCheckUtils]: 23: Hoare triple {17859#true} assume ~bvugt32(~pat_length, ~a_length) && 1bv32 == ~shift~0;#res := 0bv8; {17859#true} is VALID [2018-11-23 10:02:02,775 INFO L273 TraceCheckUtils]: 24: Hoare triple {17859#true} assume true; {17859#true} is VALID [2018-11-23 10:02:02,775 INFO L268 TraceCheckUtils]: 25: Hoare quadruple {17859#true} {17859#true} #160#return; {17859#true} is VALID [2018-11-23 10:02:02,775 INFO L273 TraceCheckUtils]: 26: Hoare triple {17859#true} assume !(0bv8 != #t~ret14);havoc #t~ret14; {17859#true} is VALID [2018-11-23 10:02:02,775 INFO L273 TraceCheckUtils]: 27: Hoare triple {17859#true} assume ~bvule32(~pat_len~0, ~bvadd32(1bv32, ~a_len~0));~differences~0 := 0bv32;~i~2 := 0bv32; {17945#(= main_~differences~0 (_ bv0 32))} is VALID [2018-11-23 10:02:02,776 INFO L273 TraceCheckUtils]: 28: Hoare triple {17945#(= main_~differences~0 (_ bv0 32))} assume !!(~bvult32(~i~2, ~pat_len~0) && ~bvult32(~i~2, ~a_len~0));call #t~mem24 := read~intINTTYPE4(~pat~0.base, ~bvadd32(~pat~0.offset, ~bvmul32(4bv32, ~i~2)), 4bv32);call #t~mem25 := read~intINTTYPE4(~a~0.base, ~bvadd32(~a~0.offset, ~bvmul32(4bv32, ~bvsub32(~i~2, ~differences~0))), 4bv32); {17945#(= main_~differences~0 (_ bv0 32))} is VALID [2018-11-23 10:02:02,776 INFO L273 TraceCheckUtils]: 29: Hoare triple {17945#(= main_~differences~0 (_ bv0 32))} assume #t~mem24 != #t~mem25;havoc #t~mem24;havoc #t~mem25;#t~pre26 := ~bvadd32(1bv32, ~differences~0);~differences~0 := ~bvadd32(1bv32, ~differences~0);havoc #t~pre26; {17952#(= (bvadd main_~differences~0 (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 10:02:02,779 INFO L273 TraceCheckUtils]: 30: Hoare triple {17952#(= (bvadd main_~differences~0 (_ bv4294967295 32)) (_ bv0 32))} #t~post23 := ~i~2;~i~2 := ~bvadd32(1bv32, #t~post23);havoc #t~post23; {17952#(= (bvadd main_~differences~0 (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 10:02:02,787 INFO L273 TraceCheckUtils]: 31: Hoare triple {17952#(= (bvadd main_~differences~0 (_ bv4294967295 32)) (_ bv0 32))} assume !(~bvult32(~i~2, ~pat_len~0) && ~bvult32(~i~2, ~a_len~0)); {17952#(= (bvadd main_~differences~0 (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 10:02:02,789 INFO L273 TraceCheckUtils]: 32: Hoare triple {17952#(= (bvadd main_~differences~0 (_ bv4294967295 32)) (_ bv0 32))} assume ~bvugt32(~pat_len~0, ~a_len~0);#t~pre27 := ~bvadd32(1bv32, ~differences~0);~differences~0 := ~bvadd32(1bv32, ~differences~0);havoc #t~pre27; {17962#(= (bvadd main_~differences~0 (_ bv4294967294 32)) (_ bv0 32))} is VALID [2018-11-23 10:02:02,789 INFO L256 TraceCheckUtils]: 33: Hoare triple {17962#(= (bvadd main_~differences~0 (_ bv4294967294 32)) (_ bv0 32))} call __VERIFIER_assert((if ~bvugt32(~differences~0, 1bv32) then 1bv32 else 0bv32)); {17966#(= (bvadd |__VERIFIER_assert_#in~cond| (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 10:02:02,791 INFO L273 TraceCheckUtils]: 34: Hoare triple {17966#(= (bvadd |__VERIFIER_assert_#in~cond| (_ bv4294967295 32)) (_ bv0 32))} ~cond := #in~cond; {17970#(= (bvadd __VERIFIER_assert_~cond (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 10:02:02,791 INFO L273 TraceCheckUtils]: 35: Hoare triple {17970#(= (bvadd __VERIFIER_assert_~cond (_ bv4294967295 32)) (_ bv0 32))} assume 0bv32 == ~cond; {17860#false} is VALID [2018-11-23 10:02:02,792 INFO L273 TraceCheckUtils]: 36: Hoare triple {17860#false} assume !false; {17860#false} is VALID [2018-11-23 10:02:02,793 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2018-11-23 10:02:02,793 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-23 10:02:02,977 INFO L273 TraceCheckUtils]: 36: Hoare triple {17860#false} assume !false; {17860#false} is VALID [2018-11-23 10:02:02,978 INFO L273 TraceCheckUtils]: 35: Hoare triple {17980#(not (= (_ bv0 32) __VERIFIER_assert_~cond))} assume 0bv32 == ~cond; {17860#false} is VALID [2018-11-23 10:02:02,979 INFO L273 TraceCheckUtils]: 34: Hoare triple {17984#(not (= |__VERIFIER_assert_#in~cond| (_ bv0 32)))} ~cond := #in~cond; {17980#(not (= (_ bv0 32) __VERIFIER_assert_~cond))} is VALID [2018-11-23 10:02:02,980 INFO L256 TraceCheckUtils]: 33: Hoare triple {17988#(bvugt main_~differences~0 (_ bv1 32))} call __VERIFIER_assert((if ~bvugt32(~differences~0, 1bv32) then 1bv32 else 0bv32)); {17984#(not (= |__VERIFIER_assert_#in~cond| (_ bv0 32)))} is VALID [2018-11-23 10:02:02,982 INFO L273 TraceCheckUtils]: 32: Hoare triple {17992#(bvugt (bvadd main_~differences~0 (_ bv1 32)) (_ bv1 32))} assume ~bvugt32(~pat_len~0, ~a_len~0);#t~pre27 := ~bvadd32(1bv32, ~differences~0);~differences~0 := ~bvadd32(1bv32, ~differences~0);havoc #t~pre27; {17988#(bvugt main_~differences~0 (_ bv1 32))} is VALID [2018-11-23 10:02:02,982 INFO L273 TraceCheckUtils]: 31: Hoare triple {17992#(bvugt (bvadd main_~differences~0 (_ bv1 32)) (_ bv1 32))} assume !(~bvult32(~i~2, ~pat_len~0) && ~bvult32(~i~2, ~a_len~0)); {17992#(bvugt (bvadd main_~differences~0 (_ bv1 32)) (_ bv1 32))} is VALID [2018-11-23 10:02:02,983 INFO L273 TraceCheckUtils]: 30: Hoare triple {17992#(bvugt (bvadd main_~differences~0 (_ bv1 32)) (_ bv1 32))} #t~post23 := ~i~2;~i~2 := ~bvadd32(1bv32, #t~post23);havoc #t~post23; {17992#(bvugt (bvadd main_~differences~0 (_ bv1 32)) (_ bv1 32))} is VALID [2018-11-23 10:02:02,985 INFO L273 TraceCheckUtils]: 29: Hoare triple {18002#(bvugt (bvadd main_~differences~0 (_ bv2 32)) (_ bv1 32))} assume #t~mem24 != #t~mem25;havoc #t~mem24;havoc #t~mem25;#t~pre26 := ~bvadd32(1bv32, ~differences~0);~differences~0 := ~bvadd32(1bv32, ~differences~0);havoc #t~pre26; {17992#(bvugt (bvadd main_~differences~0 (_ bv1 32)) (_ bv1 32))} is VALID [2018-11-23 10:02:02,986 INFO L273 TraceCheckUtils]: 28: Hoare triple {18002#(bvugt (bvadd main_~differences~0 (_ bv2 32)) (_ bv1 32))} assume !!(~bvult32(~i~2, ~pat_len~0) && ~bvult32(~i~2, ~a_len~0));call #t~mem24 := read~intINTTYPE4(~pat~0.base, ~bvadd32(~pat~0.offset, ~bvmul32(4bv32, ~i~2)), 4bv32);call #t~mem25 := read~intINTTYPE4(~a~0.base, ~bvadd32(~a~0.offset, ~bvmul32(4bv32, ~bvsub32(~i~2, ~differences~0))), 4bv32); {18002#(bvugt (bvadd main_~differences~0 (_ bv2 32)) (_ bv1 32))} is VALID [2018-11-23 10:02:02,986 INFO L273 TraceCheckUtils]: 27: Hoare triple {17859#true} assume ~bvule32(~pat_len~0, ~bvadd32(1bv32, ~a_len~0));~differences~0 := 0bv32;~i~2 := 0bv32; {18002#(bvugt (bvadd main_~differences~0 (_ bv2 32)) (_ bv1 32))} is VALID [2018-11-23 10:02:02,987 INFO L273 TraceCheckUtils]: 26: Hoare triple {17859#true} assume !(0bv8 != #t~ret14);havoc #t~ret14; {17859#true} is VALID [2018-11-23 10:02:02,987 INFO L268 TraceCheckUtils]: 25: Hoare quadruple {17859#true} {17859#true} #160#return; {17859#true} is VALID [2018-11-23 10:02:02,987 INFO L273 TraceCheckUtils]: 24: Hoare triple {17859#true} assume true; {17859#true} is VALID [2018-11-23 10:02:02,987 INFO L273 TraceCheckUtils]: 23: Hoare triple {17859#true} assume ~bvugt32(~pat_length, ~a_length) && 1bv32 == ~shift~0;#res := 0bv8; {17859#true} is VALID [2018-11-23 10:02:02,987 INFO L273 TraceCheckUtils]: 22: Hoare triple {17859#true} assume !(~bvult32(~i~0, ~pat_length) && ~bvult32(~i~0, ~a_length)); {17859#true} is VALID [2018-11-23 10:02:02,988 INFO L273 TraceCheckUtils]: 21: Hoare triple {17859#true} #t~post3 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post3);havoc #t~post3; {17859#true} is VALID [2018-11-23 10:02:02,988 INFO L273 TraceCheckUtils]: 20: Hoare triple {17859#true} assume 0bv32 == ~shift~0;~shift~0 := 1bv32; {17859#true} is VALID [2018-11-23 10:02:02,988 INFO L273 TraceCheckUtils]: 19: Hoare triple {17859#true} assume #t~mem4 != #t~mem5;havoc #t~mem4;havoc #t~mem5; {17859#true} is VALID [2018-11-23 10:02:02,988 INFO L273 TraceCheckUtils]: 18: Hoare triple {17859#true} assume !!(~bvult32(~i~0, ~pat_length) && ~bvult32(~i~0, ~a_length));call #t~mem4 := read~intINTTYPE4(~pat.base, ~bvadd32(~pat.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem5 := read~intINTTYPE4(~a.base, ~bvadd32(~a.offset, ~bvmul32(4bv32, ~bvsub32(~i~0, ~shift~0))), 4bv32); {17859#true} is VALID [2018-11-23 10:02:02,988 INFO L273 TraceCheckUtils]: 17: Hoare triple {17859#true} assume !~bvugt32(~pat_length, ~bvadd32(1bv32, ~a_length));~shift~0 := 0bv32;~i~0 := 0bv32; {17859#true} is VALID [2018-11-23 10:02:02,988 INFO L273 TraceCheckUtils]: 16: Hoare triple {17859#true} ~pat.base, ~pat.offset := #in~pat.base, #in~pat.offset;~pat_length := #in~pat_length;~a.base, ~a.offset := #in~a.base, #in~a.offset;~a_length := #in~a_length; {17859#true} is VALID [2018-11-23 10:02:02,989 INFO L256 TraceCheckUtils]: 15: Hoare triple {17859#true} call #t~ret14 := is_relaxed_prefix(~pat~0.base, ~pat~0.offset, ~pat_len~0, ~a~0.base, ~a~0.offset, ~a_len~0); {17859#true} is VALID [2018-11-23 10:02:02,989 INFO L273 TraceCheckUtils]: 14: Hoare triple {17859#true} assume !~bvult32(~j~1, ~a_len~0); {17859#true} is VALID [2018-11-23 10:02:02,989 INFO L273 TraceCheckUtils]: 13: Hoare triple {17859#true} #t~post12 := ~j~1;~j~1 := ~bvadd32(1bv32, #t~post12);havoc #t~post12; {17859#true} is VALID [2018-11-23 10:02:02,989 INFO L273 TraceCheckUtils]: 12: Hoare triple {17859#true} assume !!~bvult32(~j~1, ~a_len~0);call write~intINTTYPE4(#t~nondet13, ~a~0.base, ~bvadd32(~a~0.offset, ~bvmul32(4bv32, ~j~1)), 4bv32);havoc #t~nondet13; {17859#true} is VALID [2018-11-23 10:02:02,989 INFO L273 TraceCheckUtils]: 11: Hoare triple {17859#true} ~j~1 := 0bv32; {17859#true} is VALID [2018-11-23 10:02:02,989 INFO L273 TraceCheckUtils]: 10: Hoare triple {17859#true} assume !~bvult32(~j~0, ~pat_len~0); {17859#true} is VALID [2018-11-23 10:02:02,989 INFO L273 TraceCheckUtils]: 9: Hoare triple {17859#true} #t~post10 := ~j~0;~j~0 := ~bvadd32(1bv32, #t~post10);havoc #t~post10; {17859#true} is VALID [2018-11-23 10:02:02,989 INFO L273 TraceCheckUtils]: 8: Hoare triple {17859#true} assume !!~bvult32(~j~0, ~pat_len~0);call write~intINTTYPE4(#t~nondet11, ~pat~0.base, ~bvadd32(~pat~0.offset, ~bvmul32(4bv32, ~j~0)), 4bv32);havoc #t~nondet11; {17859#true} is VALID [2018-11-23 10:02:02,990 INFO L273 TraceCheckUtils]: 7: Hoare triple {17859#true} #t~post10 := ~j~0;~j~0 := ~bvadd32(1bv32, #t~post10);havoc #t~post10; {17859#true} is VALID [2018-11-23 10:02:02,990 INFO L273 TraceCheckUtils]: 6: Hoare triple {17859#true} assume !!~bvult32(~j~0, ~pat_len~0);call write~intINTTYPE4(#t~nondet11, ~pat~0.base, ~bvadd32(~pat~0.offset, ~bvmul32(4bv32, ~j~0)), 4bv32);havoc #t~nondet11; {17859#true} is VALID [2018-11-23 10:02:02,990 INFO L273 TraceCheckUtils]: 5: Hoare triple {17859#true} ~pat_len~0 := #t~nondet6;havoc #t~nondet6;~a_len~0 := #t~nondet7;havoc #t~nondet7;call #t~malloc8.base, #t~malloc8.offset := #Ultimate.alloc(~bvmul32(4bv32, ~pat_len~0));~pat~0.base, ~pat~0.offset := #t~malloc8.base, #t~malloc8.offset;call #t~malloc9.base, #t~malloc9.offset := #Ultimate.alloc(~bvmul32(4bv32, ~a_len~0));~a~0.base, ~a~0.offset := #t~malloc9.base, #t~malloc9.offset;~j~0 := 0bv32; {17859#true} is VALID [2018-11-23 10:02:02,990 INFO L256 TraceCheckUtils]: 4: Hoare triple {17859#true} call #t~ret28 := main(); {17859#true} is VALID [2018-11-23 10:02:02,990 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {17859#true} {17859#true} #156#return; {17859#true} is VALID [2018-11-23 10:02:02,990 INFO L273 TraceCheckUtils]: 2: Hoare triple {17859#true} assume true; {17859#true} is VALID [2018-11-23 10:02:02,990 INFO L273 TraceCheckUtils]: 1: Hoare triple {17859#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {17859#true} is VALID [2018-11-23 10:02:02,990 INFO L256 TraceCheckUtils]: 0: Hoare triple {17859#true} call ULTIMATE.init(); {17859#true} is VALID [2018-11-23 10:02:02,991 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2018-11-23 10:02:02,993 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 10:02:02,994 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 12 [2018-11-23 10:02:02,994 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 37 [2018-11-23 10:02:02,994 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 10:02:02,994 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2018-11-23 10:02:03,063 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:02:03,063 INFO L459 AbstractCegarLoop]: Interpolant automaton has 12 states [2018-11-23 10:02:03,063 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2018-11-23 10:02:03,063 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=29, Invalid=103, Unknown=0, NotChecked=0, Total=132 [2018-11-23 10:02:03,064 INFO L87 Difference]: Start difference. First operand 130 states and 175 transitions. Second operand 12 states. [2018-11-23 10:02:04,884 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:02:04,884 INFO L93 Difference]: Finished difference Result 190 states and 264 transitions. [2018-11-23 10:02:04,885 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2018-11-23 10:02:04,885 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 37 [2018-11-23 10:02:04,885 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 10:02:04,885 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2018-11-23 10:02:04,887 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 113 transitions. [2018-11-23 10:02:04,887 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2018-11-23 10:02:04,888 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 113 transitions. [2018-11-23 10:02:04,888 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 113 transitions. [2018-11-23 10:02:05,065 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 113 edges. 113 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:02:05,069 INFO L225 Difference]: With dead ends: 190 [2018-11-23 10:02:05,069 INFO L226 Difference]: Without dead ends: 173 [2018-11-23 10:02:05,070 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 76 GetRequests, 63 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 10 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=47, Invalid=163, Unknown=0, NotChecked=0, Total=210 [2018-11-23 10:02:05,070 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 173 states. [2018-11-23 10:02:05,348 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 173 to 163. [2018-11-23 10:02:05,348 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 10:02:05,348 INFO L82 GeneralOperation]: Start isEquivalent. First operand 173 states. Second operand 163 states. [2018-11-23 10:02:05,348 INFO L74 IsIncluded]: Start isIncluded. First operand 173 states. Second operand 163 states. [2018-11-23 10:02:05,348 INFO L87 Difference]: Start difference. First operand 173 states. Second operand 163 states. [2018-11-23 10:02:05,353 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:02:05,353 INFO L93 Difference]: Finished difference Result 173 states and 236 transitions. [2018-11-23 10:02:05,354 INFO L276 IsEmpty]: Start isEmpty. Operand 173 states and 236 transitions. [2018-11-23 10:02:05,354 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:02:05,354 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:02:05,354 INFO L74 IsIncluded]: Start isIncluded. First operand 163 states. Second operand 173 states. [2018-11-23 10:02:05,354 INFO L87 Difference]: Start difference. First operand 163 states. Second operand 173 states. [2018-11-23 10:02:05,358 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:02:05,358 INFO L93 Difference]: Finished difference Result 173 states and 236 transitions. [2018-11-23 10:02:05,359 INFO L276 IsEmpty]: Start isEmpty. Operand 173 states and 236 transitions. [2018-11-23 10:02:05,359 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:02:05,359 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:02:05,360 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 10:02:05,360 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 10:02:05,360 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 163 states. [2018-11-23 10:02:05,363 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 163 states to 163 states and 223 transitions. [2018-11-23 10:02:05,364 INFO L78 Accepts]: Start accepts. Automaton has 163 states and 223 transitions. Word has length 37 [2018-11-23 10:02:05,364 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 10:02:05,364 INFO L480 AbstractCegarLoop]: Abstraction has 163 states and 223 transitions. [2018-11-23 10:02:05,364 INFO L481 AbstractCegarLoop]: Interpolant automaton has 12 states. [2018-11-23 10:02:05,364 INFO L276 IsEmpty]: Start isEmpty. Operand 163 states and 223 transitions. [2018-11-23 10:02:05,365 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2018-11-23 10:02:05,365 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 10:02:05,365 INFO L402 BasicCegarLoop]: trace histogram [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, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 10:02:05,365 INFO L423 AbstractCegarLoop]: === Iteration 24 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 10:02:05,366 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 10:02:05,366 INFO L82 PathProgramCache]: Analyzing trace with hash 484703446, now seen corresponding path program 1 times [2018-11-23 10:02:05,366 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 10:02:05,366 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4nyu Starting monitored process 25 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 25 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk [2018-11-23 10:02:05,390 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 10:02:05,492 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:02:05,524 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:02:05,525 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 10:02:05,609 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 11 treesize of output 8 [2018-11-23 10:02:05,625 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 8 treesize of output 7 [2018-11-23 10:02:05,630 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 10:02:05,633 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 10:02:05,645 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 10:02:05,646 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:18, output treesize:7 [2018-11-23 10:02:05,654 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 10:02:05,655 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_30|, |v_main_#t~nondet13_11|]. (and (= main_~a~0.offset (_ bv0 32)) (= |#memory_int| (store |v_#memory_int_30| main_~a~0.base (store (select |v_#memory_int_30| main_~a~0.base) main_~a~0.offset |v_main_#t~nondet13_11|))) (= main_~pat~0.offset (_ bv0 32))) [2018-11-23 10:02:05,655 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= main_~a~0.offset (_ bv0 32)) (= main_~pat~0.offset (_ bv0 32))) [2018-11-23 10:02:05,965 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 10:02:05,967 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 10:02:05,968 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 27 [2018-11-23 10:02:05,992 INFO L478 Elim1Store]: Elim1 applied some preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 18 treesize of output 21 [2018-11-23 10:02:06,004 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-0 vars, End of recursive call: 1 dim-0 vars, and 2 xjuncts. [2018-11-23 10:02:06,028 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 4 [2018-11-23 10:02:06,029 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-23 10:02:06,038 INFO L267 ElimStorePlain]: Start of recursive call 2: 2 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 10:02:06,048 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 10:02:06,049 INFO L202 ElimStorePlain]: Needed 4 recursive calls to eliminate 3 variables, input treesize:27, output treesize:4 [2018-11-23 10:02:06,054 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 10:02:06,054 WARN L384 uantifierElimination]: Input elimination task: ∃ [|#memory_int|, main_~pat~0.base, main_~a~0.base]. (let ((.cse0 (select (select |#memory_int| main_~pat~0.base) (_ bv0 32))) (.cse1 (select (select |#memory_int| main_~a~0.base) (_ bv0 32)))) (and (not (= .cse0 .cse1)) (= |main_#t~mem24| .cse0) (= |main_#t~mem25| .cse1))) [2018-11-23 10:02:06,054 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (not (= |main_#t~mem25| |main_#t~mem24|)) [2018-11-23 10:02:06,080 INFO L256 TraceCheckUtils]: 0: Hoare triple {18921#true} call ULTIMATE.init(); {18921#true} is VALID [2018-11-23 10:02:06,081 INFO L273 TraceCheckUtils]: 1: Hoare triple {18921#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {18921#true} is VALID [2018-11-23 10:02:06,081 INFO L273 TraceCheckUtils]: 2: Hoare triple {18921#true} assume true; {18921#true} is VALID [2018-11-23 10:02:06,081 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {18921#true} {18921#true} #156#return; {18921#true} is VALID [2018-11-23 10:02:06,081 INFO L256 TraceCheckUtils]: 4: Hoare triple {18921#true} call #t~ret28 := main(); {18921#true} is VALID [2018-11-23 10:02:06,083 INFO L273 TraceCheckUtils]: 5: Hoare triple {18921#true} ~pat_len~0 := #t~nondet6;havoc #t~nondet6;~a_len~0 := #t~nondet7;havoc #t~nondet7;call #t~malloc8.base, #t~malloc8.offset := #Ultimate.alloc(~bvmul32(4bv32, ~pat_len~0));~pat~0.base, ~pat~0.offset := #t~malloc8.base, #t~malloc8.offset;call #t~malloc9.base, #t~malloc9.offset := #Ultimate.alloc(~bvmul32(4bv32, ~a_len~0));~a~0.base, ~a~0.offset := #t~malloc9.base, #t~malloc9.offset;~j~0 := 0bv32; {18941#(and (= main_~a~0.offset (_ bv0 32)) (= main_~pat~0.offset (_ bv0 32)))} is VALID [2018-11-23 10:02:06,083 INFO L273 TraceCheckUtils]: 6: Hoare triple {18941#(and (= main_~a~0.offset (_ bv0 32)) (= main_~pat~0.offset (_ bv0 32)))} assume !!~bvult32(~j~0, ~pat_len~0);call write~intINTTYPE4(#t~nondet11, ~pat~0.base, ~bvadd32(~pat~0.offset, ~bvmul32(4bv32, ~j~0)), 4bv32);havoc #t~nondet11; {18941#(and (= main_~a~0.offset (_ bv0 32)) (= main_~pat~0.offset (_ bv0 32)))} is VALID [2018-11-23 10:02:06,084 INFO L273 TraceCheckUtils]: 7: Hoare triple {18941#(and (= main_~a~0.offset (_ bv0 32)) (= main_~pat~0.offset (_ bv0 32)))} #t~post10 := ~j~0;~j~0 := ~bvadd32(1bv32, #t~post10);havoc #t~post10; {18941#(and (= main_~a~0.offset (_ bv0 32)) (= main_~pat~0.offset (_ bv0 32)))} is VALID [2018-11-23 10:02:06,084 INFO L273 TraceCheckUtils]: 8: Hoare triple {18941#(and (= main_~a~0.offset (_ bv0 32)) (= main_~pat~0.offset (_ bv0 32)))} assume !!~bvult32(~j~0, ~pat_len~0);call write~intINTTYPE4(#t~nondet11, ~pat~0.base, ~bvadd32(~pat~0.offset, ~bvmul32(4bv32, ~j~0)), 4bv32);havoc #t~nondet11; {18941#(and (= main_~a~0.offset (_ bv0 32)) (= main_~pat~0.offset (_ bv0 32)))} is VALID [2018-11-23 10:02:06,085 INFO L273 TraceCheckUtils]: 9: Hoare triple {18941#(and (= main_~a~0.offset (_ bv0 32)) (= main_~pat~0.offset (_ bv0 32)))} #t~post10 := ~j~0;~j~0 := ~bvadd32(1bv32, #t~post10);havoc #t~post10; {18941#(and (= main_~a~0.offset (_ bv0 32)) (= main_~pat~0.offset (_ bv0 32)))} is VALID [2018-11-23 10:02:06,085 INFO L273 TraceCheckUtils]: 10: Hoare triple {18941#(and (= main_~a~0.offset (_ bv0 32)) (= main_~pat~0.offset (_ bv0 32)))} assume !~bvult32(~j~0, ~pat_len~0); {18941#(and (= main_~a~0.offset (_ bv0 32)) (= main_~pat~0.offset (_ bv0 32)))} is VALID [2018-11-23 10:02:06,086 INFO L273 TraceCheckUtils]: 11: Hoare triple {18941#(and (= main_~a~0.offset (_ bv0 32)) (= main_~pat~0.offset (_ bv0 32)))} ~j~1 := 0bv32; {18960#(and (= main_~a~0.offset (_ bv0 32)) (= main_~pat~0.offset (_ bv0 32)) (= main_~j~1 (_ bv0 32)))} is VALID [2018-11-23 10:02:06,087 INFO L273 TraceCheckUtils]: 12: Hoare triple {18960#(and (= main_~a~0.offset (_ bv0 32)) (= main_~pat~0.offset (_ bv0 32)) (= main_~j~1 (_ bv0 32)))} assume !!~bvult32(~j~1, ~a_len~0);call write~intINTTYPE4(#t~nondet13, ~a~0.base, ~bvadd32(~a~0.offset, ~bvmul32(4bv32, ~j~1)), 4bv32);havoc #t~nondet13; {18941#(and (= main_~a~0.offset (_ bv0 32)) (= main_~pat~0.offset (_ bv0 32)))} is VALID [2018-11-23 10:02:06,087 INFO L273 TraceCheckUtils]: 13: Hoare triple {18941#(and (= main_~a~0.offset (_ bv0 32)) (= main_~pat~0.offset (_ bv0 32)))} #t~post12 := ~j~1;~j~1 := ~bvadd32(1bv32, #t~post12);havoc #t~post12; {18941#(and (= main_~a~0.offset (_ bv0 32)) (= main_~pat~0.offset (_ bv0 32)))} is VALID [2018-11-23 10:02:06,088 INFO L273 TraceCheckUtils]: 14: Hoare triple {18941#(and (= main_~a~0.offset (_ bv0 32)) (= main_~pat~0.offset (_ bv0 32)))} assume !~bvult32(~j~1, ~a_len~0); {18941#(and (= main_~a~0.offset (_ bv0 32)) (= main_~pat~0.offset (_ bv0 32)))} is VALID [2018-11-23 10:02:06,088 INFO L256 TraceCheckUtils]: 15: Hoare triple {18941#(and (= main_~a~0.offset (_ bv0 32)) (= main_~pat~0.offset (_ bv0 32)))} call #t~ret14 := is_relaxed_prefix(~pat~0.base, ~pat~0.offset, ~pat_len~0, ~a~0.base, ~a~0.offset, ~a_len~0); {18921#true} is VALID [2018-11-23 10:02:06,089 INFO L273 TraceCheckUtils]: 16: Hoare triple {18921#true} ~pat.base, ~pat.offset := #in~pat.base, #in~pat.offset;~pat_length := #in~pat_length;~a.base, ~a.offset := #in~a.base, #in~a.offset;~a_length := #in~a_length; {18976#(and (= |is_relaxed_prefix_#in~pat.offset| is_relaxed_prefix_~pat.offset) (= |is_relaxed_prefix_#in~a.offset| is_relaxed_prefix_~a.offset) (= is_relaxed_prefix_~pat.base |is_relaxed_prefix_#in~pat.base|) (= |is_relaxed_prefix_#in~a.base| is_relaxed_prefix_~a.base))} is VALID [2018-11-23 10:02:06,090 INFO L273 TraceCheckUtils]: 17: Hoare triple {18976#(and (= |is_relaxed_prefix_#in~pat.offset| is_relaxed_prefix_~pat.offset) (= |is_relaxed_prefix_#in~a.offset| is_relaxed_prefix_~a.offset) (= is_relaxed_prefix_~pat.base |is_relaxed_prefix_#in~pat.base|) (= |is_relaxed_prefix_#in~a.base| is_relaxed_prefix_~a.base))} assume !~bvugt32(~pat_length, ~bvadd32(1bv32, ~a_length));~shift~0 := 0bv32;~i~0 := 0bv32; {18980#(and (= |is_relaxed_prefix_#in~pat.offset| is_relaxed_prefix_~pat.offset) (= (_ bv0 32) is_relaxed_prefix_~shift~0) (= |is_relaxed_prefix_#in~a.offset| is_relaxed_prefix_~a.offset) (= (_ bv0 32) is_relaxed_prefix_~i~0) (= is_relaxed_prefix_~pat.base |is_relaxed_prefix_#in~pat.base|) (= |is_relaxed_prefix_#in~a.base| is_relaxed_prefix_~a.base))} is VALID [2018-11-23 10:02:06,092 INFO L273 TraceCheckUtils]: 18: Hoare triple {18980#(and (= |is_relaxed_prefix_#in~pat.offset| is_relaxed_prefix_~pat.offset) (= (_ bv0 32) is_relaxed_prefix_~shift~0) (= |is_relaxed_prefix_#in~a.offset| is_relaxed_prefix_~a.offset) (= (_ bv0 32) is_relaxed_prefix_~i~0) (= is_relaxed_prefix_~pat.base |is_relaxed_prefix_#in~pat.base|) (= |is_relaxed_prefix_#in~a.base| is_relaxed_prefix_~a.base))} assume !!(~bvult32(~i~0, ~pat_length) && ~bvult32(~i~0, ~a_length));call #t~mem4 := read~intINTTYPE4(~pat.base, ~bvadd32(~pat.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem5 := read~intINTTYPE4(~a.base, ~bvadd32(~a.offset, ~bvmul32(4bv32, ~bvsub32(~i~0, ~shift~0))), 4bv32); {18984#(and (= |is_relaxed_prefix_#t~mem4| (select (select |#memory_int| |is_relaxed_prefix_#in~pat.base|) |is_relaxed_prefix_#in~pat.offset|)) (= |is_relaxed_prefix_#t~mem5| (select (select |#memory_int| |is_relaxed_prefix_#in~a.base|) |is_relaxed_prefix_#in~a.offset|)))} is VALID [2018-11-23 10:02:06,093 INFO L273 TraceCheckUtils]: 19: Hoare triple {18984#(and (= |is_relaxed_prefix_#t~mem4| (select (select |#memory_int| |is_relaxed_prefix_#in~pat.base|) |is_relaxed_prefix_#in~pat.offset|)) (= |is_relaxed_prefix_#t~mem5| (select (select |#memory_int| |is_relaxed_prefix_#in~a.base|) |is_relaxed_prefix_#in~a.offset|)))} assume #t~mem4 != #t~mem5;havoc #t~mem4;havoc #t~mem5; {18988#(not (= (select (select |#memory_int| |is_relaxed_prefix_#in~pat.base|) |is_relaxed_prefix_#in~pat.offset|) (select (select |#memory_int| |is_relaxed_prefix_#in~a.base|) |is_relaxed_prefix_#in~a.offset|)))} is VALID [2018-11-23 10:02:06,094 INFO L273 TraceCheckUtils]: 20: Hoare triple {18988#(not (= (select (select |#memory_int| |is_relaxed_prefix_#in~pat.base|) |is_relaxed_prefix_#in~pat.offset|) (select (select |#memory_int| |is_relaxed_prefix_#in~a.base|) |is_relaxed_prefix_#in~a.offset|)))} assume 0bv32 == ~shift~0;~shift~0 := 1bv32; {18988#(not (= (select (select |#memory_int| |is_relaxed_prefix_#in~pat.base|) |is_relaxed_prefix_#in~pat.offset|) (select (select |#memory_int| |is_relaxed_prefix_#in~a.base|) |is_relaxed_prefix_#in~a.offset|)))} is VALID [2018-11-23 10:02:06,094 INFO L273 TraceCheckUtils]: 21: Hoare triple {18988#(not (= (select (select |#memory_int| |is_relaxed_prefix_#in~pat.base|) |is_relaxed_prefix_#in~pat.offset|) (select (select |#memory_int| |is_relaxed_prefix_#in~a.base|) |is_relaxed_prefix_#in~a.offset|)))} #t~post3 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post3);havoc #t~post3; {18988#(not (= (select (select |#memory_int| |is_relaxed_prefix_#in~pat.base|) |is_relaxed_prefix_#in~pat.offset|) (select (select |#memory_int| |is_relaxed_prefix_#in~a.base|) |is_relaxed_prefix_#in~a.offset|)))} is VALID [2018-11-23 10:02:06,095 INFO L273 TraceCheckUtils]: 22: Hoare triple {18988#(not (= (select (select |#memory_int| |is_relaxed_prefix_#in~pat.base|) |is_relaxed_prefix_#in~pat.offset|) (select (select |#memory_int| |is_relaxed_prefix_#in~a.base|) |is_relaxed_prefix_#in~a.offset|)))} assume !(~bvult32(~i~0, ~pat_length) && ~bvult32(~i~0, ~a_length)); {18988#(not (= (select (select |#memory_int| |is_relaxed_prefix_#in~pat.base|) |is_relaxed_prefix_#in~pat.offset|) (select (select |#memory_int| |is_relaxed_prefix_#in~a.base|) |is_relaxed_prefix_#in~a.offset|)))} is VALID [2018-11-23 10:02:06,096 INFO L273 TraceCheckUtils]: 23: Hoare triple {18988#(not (= (select (select |#memory_int| |is_relaxed_prefix_#in~pat.base|) |is_relaxed_prefix_#in~pat.offset|) (select (select |#memory_int| |is_relaxed_prefix_#in~a.base|) |is_relaxed_prefix_#in~a.offset|)))} assume ~bvugt32(~pat_length, ~a_length) && 1bv32 == ~shift~0;#res := 0bv8; {18988#(not (= (select (select |#memory_int| |is_relaxed_prefix_#in~pat.base|) |is_relaxed_prefix_#in~pat.offset|) (select (select |#memory_int| |is_relaxed_prefix_#in~a.base|) |is_relaxed_prefix_#in~a.offset|)))} is VALID [2018-11-23 10:02:06,096 INFO L273 TraceCheckUtils]: 24: Hoare triple {18988#(not (= (select (select |#memory_int| |is_relaxed_prefix_#in~pat.base|) |is_relaxed_prefix_#in~pat.offset|) (select (select |#memory_int| |is_relaxed_prefix_#in~a.base|) |is_relaxed_prefix_#in~a.offset|)))} assume true; {18988#(not (= (select (select |#memory_int| |is_relaxed_prefix_#in~pat.base|) |is_relaxed_prefix_#in~pat.offset|) (select (select |#memory_int| |is_relaxed_prefix_#in~a.base|) |is_relaxed_prefix_#in~a.offset|)))} is VALID [2018-11-23 10:02:06,098 INFO L268 TraceCheckUtils]: 25: Hoare quadruple {18988#(not (= (select (select |#memory_int| |is_relaxed_prefix_#in~pat.base|) |is_relaxed_prefix_#in~pat.offset|) (select (select |#memory_int| |is_relaxed_prefix_#in~a.base|) |is_relaxed_prefix_#in~a.offset|)))} {18941#(and (= main_~a~0.offset (_ bv0 32)) (= main_~pat~0.offset (_ bv0 32)))} #160#return; {19007#(and (= main_~a~0.offset (_ bv0 32)) (= main_~pat~0.offset (_ bv0 32)) (not (= (select (select |#memory_int| main_~pat~0.base) main_~pat~0.offset) (select (select |#memory_int| main_~a~0.base) main_~a~0.offset))))} is VALID [2018-11-23 10:02:06,108 INFO L273 TraceCheckUtils]: 26: Hoare triple {19007#(and (= main_~a~0.offset (_ bv0 32)) (= main_~pat~0.offset (_ bv0 32)) (not (= (select (select |#memory_int| main_~pat~0.base) main_~pat~0.offset) (select (select |#memory_int| main_~a~0.base) main_~a~0.offset))))} assume !(0bv8 != #t~ret14);havoc #t~ret14; {19007#(and (= main_~a~0.offset (_ bv0 32)) (= main_~pat~0.offset (_ bv0 32)) (not (= (select (select |#memory_int| main_~pat~0.base) main_~pat~0.offset) (select (select |#memory_int| main_~a~0.base) main_~a~0.offset))))} is VALID [2018-11-23 10:02:06,112 INFO L273 TraceCheckUtils]: 27: Hoare triple {19007#(and (= main_~a~0.offset (_ bv0 32)) (= main_~pat~0.offset (_ bv0 32)) (not (= (select (select |#memory_int| main_~pat~0.base) main_~pat~0.offset) (select (select |#memory_int| main_~a~0.base) main_~a~0.offset))))} assume ~bvule32(~pat_len~0, ~bvadd32(1bv32, ~a_len~0));~differences~0 := 0bv32;~i~2 := 0bv32; {19014#(and (= main_~a~0.offset (_ bv0 32)) (= main_~pat~0.offset (_ bv0 32)) (= main_~i~2 (_ bv0 32)) (not (= (select (select |#memory_int| main_~pat~0.base) main_~pat~0.offset) (select (select |#memory_int| main_~a~0.base) main_~a~0.offset))) (= main_~differences~0 (_ bv0 32)))} is VALID [2018-11-23 10:02:06,114 INFO L273 TraceCheckUtils]: 28: Hoare triple {19014#(and (= main_~a~0.offset (_ bv0 32)) (= main_~pat~0.offset (_ bv0 32)) (= main_~i~2 (_ bv0 32)) (not (= (select (select |#memory_int| main_~pat~0.base) main_~pat~0.offset) (select (select |#memory_int| main_~a~0.base) main_~a~0.offset))) (= main_~differences~0 (_ bv0 32)))} assume !!(~bvult32(~i~2, ~pat_len~0) && ~bvult32(~i~2, ~a_len~0));call #t~mem24 := read~intINTTYPE4(~pat~0.base, ~bvadd32(~pat~0.offset, ~bvmul32(4bv32, ~i~2)), 4bv32);call #t~mem25 := read~intINTTYPE4(~a~0.base, ~bvadd32(~a~0.offset, ~bvmul32(4bv32, ~bvsub32(~i~2, ~differences~0))), 4bv32); {19018#(not (= |main_#t~mem25| |main_#t~mem24|))} is VALID [2018-11-23 10:02:06,114 INFO L273 TraceCheckUtils]: 29: Hoare triple {19018#(not (= |main_#t~mem25| |main_#t~mem24|))} assume !(#t~mem24 != #t~mem25);havoc #t~mem24;havoc #t~mem25; {18922#false} is VALID [2018-11-23 10:02:06,114 INFO L273 TraceCheckUtils]: 30: Hoare triple {18922#false} #t~post23 := ~i~2;~i~2 := ~bvadd32(1bv32, #t~post23);havoc #t~post23; {18922#false} is VALID [2018-11-23 10:02:06,115 INFO L273 TraceCheckUtils]: 31: Hoare triple {18922#false} assume !(~bvult32(~i~2, ~pat_len~0) && ~bvult32(~i~2, ~a_len~0)); {18922#false} is VALID [2018-11-23 10:02:06,115 INFO L273 TraceCheckUtils]: 32: Hoare triple {18922#false} assume ~bvugt32(~pat_len~0, ~a_len~0);#t~pre27 := ~bvadd32(1bv32, ~differences~0);~differences~0 := ~bvadd32(1bv32, ~differences~0);havoc #t~pre27; {18922#false} is VALID [2018-11-23 10:02:06,115 INFO L256 TraceCheckUtils]: 33: Hoare triple {18922#false} call __VERIFIER_assert((if ~bvugt32(~differences~0, 1bv32) then 1bv32 else 0bv32)); {18922#false} is VALID [2018-11-23 10:02:06,115 INFO L273 TraceCheckUtils]: 34: Hoare triple {18922#false} ~cond := #in~cond; {18922#false} is VALID [2018-11-23 10:02:06,116 INFO L273 TraceCheckUtils]: 35: Hoare triple {18922#false} assume 0bv32 == ~cond; {18922#false} is VALID [2018-11-23 10:02:06,116 INFO L273 TraceCheckUtils]: 36: Hoare triple {18922#false} assume !false; {18922#false} is VALID [2018-11-23 10:02:06,119 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 1 proven. 2 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2018-11-23 10:02:06,119 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-23 10:02:10,076 INFO L273 TraceCheckUtils]: 36: Hoare triple {18922#false} assume !false; {18922#false} is VALID [2018-11-23 10:02:10,077 INFO L273 TraceCheckUtils]: 35: Hoare triple {18922#false} assume 0bv32 == ~cond; {18922#false} is VALID [2018-11-23 10:02:10,077 INFO L273 TraceCheckUtils]: 34: Hoare triple {18922#false} ~cond := #in~cond; {18922#false} is VALID [2018-11-23 10:02:10,077 INFO L256 TraceCheckUtils]: 33: Hoare triple {18922#false} call __VERIFIER_assert((if ~bvugt32(~differences~0, 1bv32) then 1bv32 else 0bv32)); {18922#false} is VALID [2018-11-23 10:02:10,077 INFO L273 TraceCheckUtils]: 32: Hoare triple {18922#false} assume ~bvugt32(~pat_len~0, ~a_len~0);#t~pre27 := ~bvadd32(1bv32, ~differences~0);~differences~0 := ~bvadd32(1bv32, ~differences~0);havoc #t~pre27; {18922#false} is VALID [2018-11-23 10:02:10,078 INFO L273 TraceCheckUtils]: 31: Hoare triple {18922#false} assume !(~bvult32(~i~2, ~pat_len~0) && ~bvult32(~i~2, ~a_len~0)); {18922#false} is VALID [2018-11-23 10:02:10,078 INFO L273 TraceCheckUtils]: 30: Hoare triple {18922#false} #t~post23 := ~i~2;~i~2 := ~bvadd32(1bv32, #t~post23);havoc #t~post23; {18922#false} is VALID [2018-11-23 10:02:10,078 INFO L273 TraceCheckUtils]: 29: Hoare triple {19018#(not (= |main_#t~mem25| |main_#t~mem24|))} assume !(#t~mem24 != #t~mem25);havoc #t~mem24;havoc #t~mem25; {18922#false} is VALID [2018-11-23 10:02:10,079 INFO L273 TraceCheckUtils]: 28: Hoare triple {19067#(not (= (select (select |#memory_int| main_~pat~0.base) (bvadd main_~pat~0.offset (bvmul (_ bv4 32) main_~i~2))) (select (select |#memory_int| main_~a~0.base) (bvadd main_~a~0.offset (bvmul (_ bv4 32) (bvneg main_~differences~0)) (bvmul (_ bv4 32) main_~i~2)))))} assume !!(~bvult32(~i~2, ~pat_len~0) && ~bvult32(~i~2, ~a_len~0));call #t~mem24 := read~intINTTYPE4(~pat~0.base, ~bvadd32(~pat~0.offset, ~bvmul32(4bv32, ~i~2)), 4bv32);call #t~mem25 := read~intINTTYPE4(~a~0.base, ~bvadd32(~a~0.offset, ~bvmul32(4bv32, ~bvsub32(~i~2, ~differences~0))), 4bv32); {19018#(not (= |main_#t~mem25| |main_#t~mem24|))} is VALID [2018-11-23 10:02:10,080 INFO L273 TraceCheckUtils]: 27: Hoare triple {19071#(not (= (select (select |#memory_int| main_~pat~0.base) main_~pat~0.offset) (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} assume ~bvule32(~pat_len~0, ~bvadd32(1bv32, ~a_len~0));~differences~0 := 0bv32;~i~2 := 0bv32; {19067#(not (= (select (select |#memory_int| main_~pat~0.base) (bvadd main_~pat~0.offset (bvmul (_ bv4 32) main_~i~2))) (select (select |#memory_int| main_~a~0.base) (bvadd main_~a~0.offset (bvmul (_ bv4 32) (bvneg main_~differences~0)) (bvmul (_ bv4 32) main_~i~2)))))} is VALID [2018-11-23 10:02:10,080 INFO L273 TraceCheckUtils]: 26: Hoare triple {19071#(not (= (select (select |#memory_int| main_~pat~0.base) main_~pat~0.offset) (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} assume !(0bv8 != #t~ret14);havoc #t~ret14; {19071#(not (= (select (select |#memory_int| main_~pat~0.base) main_~pat~0.offset) (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} is VALID [2018-11-23 10:02:10,082 INFO L268 TraceCheckUtils]: 25: Hoare quadruple {18988#(not (= (select (select |#memory_int| |is_relaxed_prefix_#in~pat.base|) |is_relaxed_prefix_#in~pat.offset|) (select (select |#memory_int| |is_relaxed_prefix_#in~a.base|) |is_relaxed_prefix_#in~a.offset|)))} {18921#true} #160#return; {19071#(not (= (select (select |#memory_int| main_~pat~0.base) main_~pat~0.offset) (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} is VALID [2018-11-23 10:02:10,082 INFO L273 TraceCheckUtils]: 24: Hoare triple {18988#(not (= (select (select |#memory_int| |is_relaxed_prefix_#in~pat.base|) |is_relaxed_prefix_#in~pat.offset|) (select (select |#memory_int| |is_relaxed_prefix_#in~a.base|) |is_relaxed_prefix_#in~a.offset|)))} assume true; {18988#(not (= (select (select |#memory_int| |is_relaxed_prefix_#in~pat.base|) |is_relaxed_prefix_#in~pat.offset|) (select (select |#memory_int| |is_relaxed_prefix_#in~a.base|) |is_relaxed_prefix_#in~a.offset|)))} is VALID [2018-11-23 10:02:10,082 INFO L273 TraceCheckUtils]: 23: Hoare triple {18988#(not (= (select (select |#memory_int| |is_relaxed_prefix_#in~pat.base|) |is_relaxed_prefix_#in~pat.offset|) (select (select |#memory_int| |is_relaxed_prefix_#in~a.base|) |is_relaxed_prefix_#in~a.offset|)))} assume ~bvugt32(~pat_length, ~a_length) && 1bv32 == ~shift~0;#res := 0bv8; {18988#(not (= (select (select |#memory_int| |is_relaxed_prefix_#in~pat.base|) |is_relaxed_prefix_#in~pat.offset|) (select (select |#memory_int| |is_relaxed_prefix_#in~a.base|) |is_relaxed_prefix_#in~a.offset|)))} is VALID [2018-11-23 10:02:10,083 INFO L273 TraceCheckUtils]: 22: Hoare triple {18988#(not (= (select (select |#memory_int| |is_relaxed_prefix_#in~pat.base|) |is_relaxed_prefix_#in~pat.offset|) (select (select |#memory_int| |is_relaxed_prefix_#in~a.base|) |is_relaxed_prefix_#in~a.offset|)))} assume !(~bvult32(~i~0, ~pat_length) && ~bvult32(~i~0, ~a_length)); {18988#(not (= (select (select |#memory_int| |is_relaxed_prefix_#in~pat.base|) |is_relaxed_prefix_#in~pat.offset|) (select (select |#memory_int| |is_relaxed_prefix_#in~a.base|) |is_relaxed_prefix_#in~a.offset|)))} is VALID [2018-11-23 10:02:10,083 INFO L273 TraceCheckUtils]: 21: Hoare triple {18988#(not (= (select (select |#memory_int| |is_relaxed_prefix_#in~pat.base|) |is_relaxed_prefix_#in~pat.offset|) (select (select |#memory_int| |is_relaxed_prefix_#in~a.base|) |is_relaxed_prefix_#in~a.offset|)))} #t~post3 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post3);havoc #t~post3; {18988#(not (= (select (select |#memory_int| |is_relaxed_prefix_#in~pat.base|) |is_relaxed_prefix_#in~pat.offset|) (select (select |#memory_int| |is_relaxed_prefix_#in~a.base|) |is_relaxed_prefix_#in~a.offset|)))} is VALID [2018-11-23 10:02:10,084 INFO L273 TraceCheckUtils]: 20: Hoare triple {18988#(not (= (select (select |#memory_int| |is_relaxed_prefix_#in~pat.base|) |is_relaxed_prefix_#in~pat.offset|) (select (select |#memory_int| |is_relaxed_prefix_#in~a.base|) |is_relaxed_prefix_#in~a.offset|)))} assume 0bv32 == ~shift~0;~shift~0 := 1bv32; {18988#(not (= (select (select |#memory_int| |is_relaxed_prefix_#in~pat.base|) |is_relaxed_prefix_#in~pat.offset|) (select (select |#memory_int| |is_relaxed_prefix_#in~a.base|) |is_relaxed_prefix_#in~a.offset|)))} is VALID [2018-11-23 10:02:10,084 INFO L273 TraceCheckUtils]: 19: Hoare triple {19099#(or (not (= (select (select |#memory_int| |is_relaxed_prefix_#in~pat.base|) |is_relaxed_prefix_#in~pat.offset|) (select (select |#memory_int| |is_relaxed_prefix_#in~a.base|) |is_relaxed_prefix_#in~a.offset|))) (= |is_relaxed_prefix_#t~mem5| |is_relaxed_prefix_#t~mem4|))} assume #t~mem4 != #t~mem5;havoc #t~mem4;havoc #t~mem5; {18988#(not (= (select (select |#memory_int| |is_relaxed_prefix_#in~pat.base|) |is_relaxed_prefix_#in~pat.offset|) (select (select |#memory_int| |is_relaxed_prefix_#in~a.base|) |is_relaxed_prefix_#in~a.offset|)))} is VALID [2018-11-23 10:02:10,085 INFO L273 TraceCheckUtils]: 18: Hoare triple {19103#(or (not (= (select (select |#memory_int| |is_relaxed_prefix_#in~pat.base|) |is_relaxed_prefix_#in~pat.offset|) (select (select |#memory_int| |is_relaxed_prefix_#in~a.base|) |is_relaxed_prefix_#in~a.offset|))) (= (select (select |#memory_int| is_relaxed_prefix_~pat.base) (bvadd (bvmul (_ bv4 32) is_relaxed_prefix_~i~0) is_relaxed_prefix_~pat.offset)) (select (select |#memory_int| is_relaxed_prefix_~a.base) (bvadd (bvmul (_ bv4 32) is_relaxed_prefix_~i~0) (bvmul (_ bv4 32) (bvneg is_relaxed_prefix_~shift~0)) is_relaxed_prefix_~a.offset))))} assume !!(~bvult32(~i~0, ~pat_length) && ~bvult32(~i~0, ~a_length));call #t~mem4 := read~intINTTYPE4(~pat.base, ~bvadd32(~pat.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem5 := read~intINTTYPE4(~a.base, ~bvadd32(~a.offset, ~bvmul32(4bv32, ~bvsub32(~i~0, ~shift~0))), 4bv32); {19099#(or (not (= (select (select |#memory_int| |is_relaxed_prefix_#in~pat.base|) |is_relaxed_prefix_#in~pat.offset|) (select (select |#memory_int| |is_relaxed_prefix_#in~a.base|) |is_relaxed_prefix_#in~a.offset|))) (= |is_relaxed_prefix_#t~mem5| |is_relaxed_prefix_#t~mem4|))} is VALID [2018-11-23 10:02:10,088 INFO L273 TraceCheckUtils]: 17: Hoare triple {19107#(or (not (= (select (select |#memory_int| |is_relaxed_prefix_#in~pat.base|) |is_relaxed_prefix_#in~pat.offset|) (select (select |#memory_int| |is_relaxed_prefix_#in~a.base|) |is_relaxed_prefix_#in~a.offset|))) (= (select (select |#memory_int| is_relaxed_prefix_~pat.base) is_relaxed_prefix_~pat.offset) (select (select |#memory_int| is_relaxed_prefix_~a.base) is_relaxed_prefix_~a.offset)))} assume !~bvugt32(~pat_length, ~bvadd32(1bv32, ~a_length));~shift~0 := 0bv32;~i~0 := 0bv32; {19103#(or (not (= (select (select |#memory_int| |is_relaxed_prefix_#in~pat.base|) |is_relaxed_prefix_#in~pat.offset|) (select (select |#memory_int| |is_relaxed_prefix_#in~a.base|) |is_relaxed_prefix_#in~a.offset|))) (= (select (select |#memory_int| is_relaxed_prefix_~pat.base) (bvadd (bvmul (_ bv4 32) is_relaxed_prefix_~i~0) is_relaxed_prefix_~pat.offset)) (select (select |#memory_int| is_relaxed_prefix_~a.base) (bvadd (bvmul (_ bv4 32) is_relaxed_prefix_~i~0) (bvmul (_ bv4 32) (bvneg is_relaxed_prefix_~shift~0)) is_relaxed_prefix_~a.offset))))} is VALID [2018-11-23 10:02:10,089 INFO L273 TraceCheckUtils]: 16: Hoare triple {18921#true} ~pat.base, ~pat.offset := #in~pat.base, #in~pat.offset;~pat_length := #in~pat_length;~a.base, ~a.offset := #in~a.base, #in~a.offset;~a_length := #in~a_length; {19107#(or (not (= (select (select |#memory_int| |is_relaxed_prefix_#in~pat.base|) |is_relaxed_prefix_#in~pat.offset|) (select (select |#memory_int| |is_relaxed_prefix_#in~a.base|) |is_relaxed_prefix_#in~a.offset|))) (= (select (select |#memory_int| is_relaxed_prefix_~pat.base) is_relaxed_prefix_~pat.offset) (select (select |#memory_int| is_relaxed_prefix_~a.base) is_relaxed_prefix_~a.offset)))} is VALID [2018-11-23 10:02:10,089 INFO L256 TraceCheckUtils]: 15: Hoare triple {18921#true} call #t~ret14 := is_relaxed_prefix(~pat~0.base, ~pat~0.offset, ~pat_len~0, ~a~0.base, ~a~0.offset, ~a_len~0); {18921#true} is VALID [2018-11-23 10:02:10,089 INFO L273 TraceCheckUtils]: 14: Hoare triple {18921#true} assume !~bvult32(~j~1, ~a_len~0); {18921#true} is VALID [2018-11-23 10:02:10,089 INFO L273 TraceCheckUtils]: 13: Hoare triple {18921#true} #t~post12 := ~j~1;~j~1 := ~bvadd32(1bv32, #t~post12);havoc #t~post12; {18921#true} is VALID [2018-11-23 10:02:10,090 INFO L273 TraceCheckUtils]: 12: Hoare triple {18921#true} assume !!~bvult32(~j~1, ~a_len~0);call write~intINTTYPE4(#t~nondet13, ~a~0.base, ~bvadd32(~a~0.offset, ~bvmul32(4bv32, ~j~1)), 4bv32);havoc #t~nondet13; {18921#true} is VALID [2018-11-23 10:02:10,090 INFO L273 TraceCheckUtils]: 11: Hoare triple {18921#true} ~j~1 := 0bv32; {18921#true} is VALID [2018-11-23 10:02:10,090 INFO L273 TraceCheckUtils]: 10: Hoare triple {18921#true} assume !~bvult32(~j~0, ~pat_len~0); {18921#true} is VALID [2018-11-23 10:02:10,090 INFO L273 TraceCheckUtils]: 9: Hoare triple {18921#true} #t~post10 := ~j~0;~j~0 := ~bvadd32(1bv32, #t~post10);havoc #t~post10; {18921#true} is VALID [2018-11-23 10:02:10,090 INFO L273 TraceCheckUtils]: 8: Hoare triple {18921#true} assume !!~bvult32(~j~0, ~pat_len~0);call write~intINTTYPE4(#t~nondet11, ~pat~0.base, ~bvadd32(~pat~0.offset, ~bvmul32(4bv32, ~j~0)), 4bv32);havoc #t~nondet11; {18921#true} is VALID [2018-11-23 10:02:10,090 INFO L273 TraceCheckUtils]: 7: Hoare triple {18921#true} #t~post10 := ~j~0;~j~0 := ~bvadd32(1bv32, #t~post10);havoc #t~post10; {18921#true} is VALID [2018-11-23 10:02:10,090 INFO L273 TraceCheckUtils]: 6: Hoare triple {18921#true} assume !!~bvult32(~j~0, ~pat_len~0);call write~intINTTYPE4(#t~nondet11, ~pat~0.base, ~bvadd32(~pat~0.offset, ~bvmul32(4bv32, ~j~0)), 4bv32);havoc #t~nondet11; {18921#true} is VALID [2018-11-23 10:02:10,090 INFO L273 TraceCheckUtils]: 5: Hoare triple {18921#true} ~pat_len~0 := #t~nondet6;havoc #t~nondet6;~a_len~0 := #t~nondet7;havoc #t~nondet7;call #t~malloc8.base, #t~malloc8.offset := #Ultimate.alloc(~bvmul32(4bv32, ~pat_len~0));~pat~0.base, ~pat~0.offset := #t~malloc8.base, #t~malloc8.offset;call #t~malloc9.base, #t~malloc9.offset := #Ultimate.alloc(~bvmul32(4bv32, ~a_len~0));~a~0.base, ~a~0.offset := #t~malloc9.base, #t~malloc9.offset;~j~0 := 0bv32; {18921#true} is VALID [2018-11-23 10:02:10,090 INFO L256 TraceCheckUtils]: 4: Hoare triple {18921#true} call #t~ret28 := main(); {18921#true} is VALID [2018-11-23 10:02:10,091 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {18921#true} {18921#true} #156#return; {18921#true} is VALID [2018-11-23 10:02:10,091 INFO L273 TraceCheckUtils]: 2: Hoare triple {18921#true} assume true; {18921#true} is VALID [2018-11-23 10:02:10,091 INFO L273 TraceCheckUtils]: 1: Hoare triple {18921#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {18921#true} is VALID [2018-11-23 10:02:10,091 INFO L256 TraceCheckUtils]: 0: Hoare triple {18921#true} call ULTIMATE.init(); {18921#true} is VALID [2018-11-23 10:02:10,093 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2018-11-23 10:02:10,095 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 1 imperfect interpolant sequences. [2018-11-23 10:02:10,095 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [9] imperfect sequences [11] total 16 [2018-11-23 10:02:10,096 INFO L78 Accepts]: Start accepts. Automaton has 16 states. Word has length 37 [2018-11-23 10:02:10,096 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 10:02:10,096 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 16 states. [2018-11-23 10:02:10,350 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 52 edges. 52 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:02:10,350 INFO L459 AbstractCegarLoop]: Interpolant automaton has 16 states [2018-11-23 10:02:10,350 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2018-11-23 10:02:10,351 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=44, Invalid=196, Unknown=0, NotChecked=0, Total=240 [2018-11-23 10:02:10,351 INFO L87 Difference]: Start difference. First operand 163 states and 223 transitions. Second operand 16 states. [2018-11-23 10:02:17,390 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:02:17,390 INFO L93 Difference]: Finished difference Result 299 states and 426 transitions. [2018-11-23 10:02:17,390 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2018-11-23 10:02:17,390 INFO L78 Accepts]: Start accepts. Automaton has 16 states. Word has length 37 [2018-11-23 10:02:17,390 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 10:02:17,390 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 16 states. [2018-11-23 10:02:17,391 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 125 transitions. [2018-11-23 10:02:17,391 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 16 states. [2018-11-23 10:02:17,392 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 125 transitions. [2018-11-23 10:02:17,392 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states and 125 transitions. [2018-11-23 10:02:17,692 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 125 edges. 125 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:02:17,699 INFO L225 Difference]: With dead ends: 299 [2018-11-23 10:02:17,699 INFO L226 Difference]: Without dead ends: 250 [2018-11-23 10:02:17,700 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 77 GetRequests, 59 SyntacticMatches, 0 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 58 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=76, Invalid=304, Unknown=0, NotChecked=0, Total=380 [2018-11-23 10:02:17,700 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 250 states. [2018-11-23 10:02:18,175 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 250 to 180. [2018-11-23 10:02:18,175 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 10:02:18,175 INFO L82 GeneralOperation]: Start isEquivalent. First operand 250 states. Second operand 180 states. [2018-11-23 10:02:18,175 INFO L74 IsIncluded]: Start isIncluded. First operand 250 states. Second operand 180 states. [2018-11-23 10:02:18,175 INFO L87 Difference]: Start difference. First operand 250 states. Second operand 180 states. [2018-11-23 10:02:18,181 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:02:18,182 INFO L93 Difference]: Finished difference Result 250 states and 356 transitions. [2018-11-23 10:02:18,182 INFO L276 IsEmpty]: Start isEmpty. Operand 250 states and 356 transitions. [2018-11-23 10:02:18,182 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:02:18,182 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:02:18,183 INFO L74 IsIncluded]: Start isIncluded. First operand 180 states. Second operand 250 states. [2018-11-23 10:02:18,183 INFO L87 Difference]: Start difference. First operand 180 states. Second operand 250 states. [2018-11-23 10:02:18,189 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:02:18,189 INFO L93 Difference]: Finished difference Result 250 states and 356 transitions. [2018-11-23 10:02:18,189 INFO L276 IsEmpty]: Start isEmpty. Operand 250 states and 356 transitions. [2018-11-23 10:02:18,190 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:02:18,190 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:02:18,190 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 10:02:18,190 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 10:02:18,190 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 180 states. [2018-11-23 10:02:18,195 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 180 states to 180 states and 251 transitions. [2018-11-23 10:02:18,195 INFO L78 Accepts]: Start accepts. Automaton has 180 states and 251 transitions. Word has length 37 [2018-11-23 10:02:18,195 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 10:02:18,195 INFO L480 AbstractCegarLoop]: Abstraction has 180 states and 251 transitions. [2018-11-23 10:02:18,195 INFO L481 AbstractCegarLoop]: Interpolant automaton has 16 states. [2018-11-23 10:02:18,195 INFO L276 IsEmpty]: Start isEmpty. Operand 180 states and 251 transitions. [2018-11-23 10:02:18,196 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2018-11-23 10:02:18,196 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 10:02:18,197 INFO L402 BasicCegarLoop]: trace histogram [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, 1, 1, 1, 1] [2018-11-23 10:02:18,197 INFO L423 AbstractCegarLoop]: === Iteration 25 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 10:02:18,197 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 10:02:18,197 INFO L82 PathProgramCache]: Analyzing trace with hash -888852282, now seen corresponding path program 2 times [2018-11-23 10:02:18,197 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 10:02:18,197 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4nyu Starting monitored process 26 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 26 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk [2018-11-23 10:02:18,217 INFO L101 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2018-11-23 10:02:18,260 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2018-11-23 10:02:18,260 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 10:02:18,273 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:02:18,274 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 10:02:18,415 INFO L256 TraceCheckUtils]: 0: Hoare triple {20303#true} call ULTIMATE.init(); {20303#true} is VALID [2018-11-23 10:02:18,415 INFO L273 TraceCheckUtils]: 1: Hoare triple {20303#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {20303#true} is VALID [2018-11-23 10:02:18,416 INFO L273 TraceCheckUtils]: 2: Hoare triple {20303#true} assume true; {20303#true} is VALID [2018-11-23 10:02:18,416 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {20303#true} {20303#true} #156#return; {20303#true} is VALID [2018-11-23 10:02:18,416 INFO L256 TraceCheckUtils]: 4: Hoare triple {20303#true} call #t~ret28 := main(); {20303#true} is VALID [2018-11-23 10:02:18,416 INFO L273 TraceCheckUtils]: 5: Hoare triple {20303#true} ~pat_len~0 := #t~nondet6;havoc #t~nondet6;~a_len~0 := #t~nondet7;havoc #t~nondet7;call #t~malloc8.base, #t~malloc8.offset := #Ultimate.alloc(~bvmul32(4bv32, ~pat_len~0));~pat~0.base, ~pat~0.offset := #t~malloc8.base, #t~malloc8.offset;call #t~malloc9.base, #t~malloc9.offset := #Ultimate.alloc(~bvmul32(4bv32, ~a_len~0));~a~0.base, ~a~0.offset := #t~malloc9.base, #t~malloc9.offset;~j~0 := 0bv32; {20303#true} is VALID [2018-11-23 10:02:18,416 INFO L273 TraceCheckUtils]: 6: Hoare triple {20303#true} assume !!~bvult32(~j~0, ~pat_len~0);call write~intINTTYPE4(#t~nondet11, ~pat~0.base, ~bvadd32(~pat~0.offset, ~bvmul32(4bv32, ~j~0)), 4bv32);havoc #t~nondet11; {20303#true} is VALID [2018-11-23 10:02:18,416 INFO L273 TraceCheckUtils]: 7: Hoare triple {20303#true} #t~post10 := ~j~0;~j~0 := ~bvadd32(1bv32, #t~post10);havoc #t~post10; {20303#true} is VALID [2018-11-23 10:02:18,416 INFO L273 TraceCheckUtils]: 8: Hoare triple {20303#true} assume !!~bvult32(~j~0, ~pat_len~0);call write~intINTTYPE4(#t~nondet11, ~pat~0.base, ~bvadd32(~pat~0.offset, ~bvmul32(4bv32, ~j~0)), 4bv32);havoc #t~nondet11; {20303#true} is VALID [2018-11-23 10:02:18,416 INFO L273 TraceCheckUtils]: 9: Hoare triple {20303#true} #t~post10 := ~j~0;~j~0 := ~bvadd32(1bv32, #t~post10);havoc #t~post10; {20303#true} is VALID [2018-11-23 10:02:18,416 INFO L273 TraceCheckUtils]: 10: Hoare triple {20303#true} assume !~bvult32(~j~0, ~pat_len~0); {20303#true} is VALID [2018-11-23 10:02:18,417 INFO L273 TraceCheckUtils]: 11: Hoare triple {20303#true} ~j~1 := 0bv32; {20303#true} is VALID [2018-11-23 10:02:18,417 INFO L273 TraceCheckUtils]: 12: Hoare triple {20303#true} assume !!~bvult32(~j~1, ~a_len~0);call write~intINTTYPE4(#t~nondet13, ~a~0.base, ~bvadd32(~a~0.offset, ~bvmul32(4bv32, ~j~1)), 4bv32);havoc #t~nondet13; {20303#true} is VALID [2018-11-23 10:02:18,417 INFO L273 TraceCheckUtils]: 13: Hoare triple {20303#true} #t~post12 := ~j~1;~j~1 := ~bvadd32(1bv32, #t~post12);havoc #t~post12; {20303#true} is VALID [2018-11-23 10:02:18,417 INFO L273 TraceCheckUtils]: 14: Hoare triple {20303#true} assume !!~bvult32(~j~1, ~a_len~0);call write~intINTTYPE4(#t~nondet13, ~a~0.base, ~bvadd32(~a~0.offset, ~bvmul32(4bv32, ~j~1)), 4bv32);havoc #t~nondet13; {20303#true} is VALID [2018-11-23 10:02:18,417 INFO L273 TraceCheckUtils]: 15: Hoare triple {20303#true} #t~post12 := ~j~1;~j~1 := ~bvadd32(1bv32, #t~post12);havoc #t~post12; {20303#true} is VALID [2018-11-23 10:02:18,417 INFO L273 TraceCheckUtils]: 16: Hoare triple {20303#true} assume !~bvult32(~j~1, ~a_len~0); {20303#true} is VALID [2018-11-23 10:02:18,417 INFO L256 TraceCheckUtils]: 17: Hoare triple {20303#true} call #t~ret14 := is_relaxed_prefix(~pat~0.base, ~pat~0.offset, ~pat_len~0, ~a~0.base, ~a~0.offset, ~a_len~0); {20303#true} is VALID [2018-11-23 10:02:18,418 INFO L273 TraceCheckUtils]: 18: Hoare triple {20303#true} ~pat.base, ~pat.offset := #in~pat.base, #in~pat.offset;~pat_length := #in~pat_length;~a.base, ~a.offset := #in~a.base, #in~a.offset;~a_length := #in~a_length; {20362#(and (= |is_relaxed_prefix_#in~a_length| is_relaxed_prefix_~a_length) (= |is_relaxed_prefix_#in~pat_length| is_relaxed_prefix_~pat_length))} is VALID [2018-11-23 10:02:18,419 INFO L273 TraceCheckUtils]: 19: Hoare triple {20362#(and (= |is_relaxed_prefix_#in~a_length| is_relaxed_prefix_~a_length) (= |is_relaxed_prefix_#in~pat_length| is_relaxed_prefix_~pat_length))} assume !~bvugt32(~pat_length, ~bvadd32(1bv32, ~a_length));~shift~0 := 0bv32;~i~0 := 0bv32; {20362#(and (= |is_relaxed_prefix_#in~a_length| is_relaxed_prefix_~a_length) (= |is_relaxed_prefix_#in~pat_length| is_relaxed_prefix_~pat_length))} is VALID [2018-11-23 10:02:18,419 INFO L273 TraceCheckUtils]: 20: Hoare triple {20362#(and (= |is_relaxed_prefix_#in~a_length| is_relaxed_prefix_~a_length) (= |is_relaxed_prefix_#in~pat_length| is_relaxed_prefix_~pat_length))} assume !!(~bvult32(~i~0, ~pat_length) && ~bvult32(~i~0, ~a_length));call #t~mem4 := read~intINTTYPE4(~pat.base, ~bvadd32(~pat.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem5 := read~intINTTYPE4(~a.base, ~bvadd32(~a.offset, ~bvmul32(4bv32, ~bvsub32(~i~0, ~shift~0))), 4bv32); {20362#(and (= |is_relaxed_prefix_#in~a_length| is_relaxed_prefix_~a_length) (= |is_relaxed_prefix_#in~pat_length| is_relaxed_prefix_~pat_length))} is VALID [2018-11-23 10:02:18,420 INFO L273 TraceCheckUtils]: 21: Hoare triple {20362#(and (= |is_relaxed_prefix_#in~a_length| is_relaxed_prefix_~a_length) (= |is_relaxed_prefix_#in~pat_length| is_relaxed_prefix_~pat_length))} assume #t~mem4 != #t~mem5;havoc #t~mem4;havoc #t~mem5; {20362#(and (= |is_relaxed_prefix_#in~a_length| is_relaxed_prefix_~a_length) (= |is_relaxed_prefix_#in~pat_length| is_relaxed_prefix_~pat_length))} is VALID [2018-11-23 10:02:18,420 INFO L273 TraceCheckUtils]: 22: Hoare triple {20362#(and (= |is_relaxed_prefix_#in~a_length| is_relaxed_prefix_~a_length) (= |is_relaxed_prefix_#in~pat_length| is_relaxed_prefix_~pat_length))} assume 0bv32 == ~shift~0;~shift~0 := 1bv32; {20362#(and (= |is_relaxed_prefix_#in~a_length| is_relaxed_prefix_~a_length) (= |is_relaxed_prefix_#in~pat_length| is_relaxed_prefix_~pat_length))} is VALID [2018-11-23 10:02:18,421 INFO L273 TraceCheckUtils]: 23: Hoare triple {20362#(and (= |is_relaxed_prefix_#in~a_length| is_relaxed_prefix_~a_length) (= |is_relaxed_prefix_#in~pat_length| is_relaxed_prefix_~pat_length))} #t~post3 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post3);havoc #t~post3; {20362#(and (= |is_relaxed_prefix_#in~a_length| is_relaxed_prefix_~a_length) (= |is_relaxed_prefix_#in~pat_length| is_relaxed_prefix_~pat_length))} is VALID [2018-11-23 10:02:18,432 INFO L273 TraceCheckUtils]: 24: Hoare triple {20362#(and (= |is_relaxed_prefix_#in~a_length| is_relaxed_prefix_~a_length) (= |is_relaxed_prefix_#in~pat_length| is_relaxed_prefix_~pat_length))} assume !!(~bvult32(~i~0, ~pat_length) && ~bvult32(~i~0, ~a_length));call #t~mem4 := read~intINTTYPE4(~pat.base, ~bvadd32(~pat.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);call #t~mem5 := read~intINTTYPE4(~a.base, ~bvadd32(~a.offset, ~bvmul32(4bv32, ~bvsub32(~i~0, ~shift~0))), 4bv32); {20381#(exists ((is_relaxed_prefix_~i~0 (_ BitVec 32))) (and (bvult is_relaxed_prefix_~i~0 |is_relaxed_prefix_#in~pat_length|) (bvult is_relaxed_prefix_~i~0 |is_relaxed_prefix_#in~a_length|)))} is VALID [2018-11-23 10:02:18,433 INFO L273 TraceCheckUtils]: 25: Hoare triple {20381#(exists ((is_relaxed_prefix_~i~0 (_ BitVec 32))) (and (bvult is_relaxed_prefix_~i~0 |is_relaxed_prefix_#in~pat_length|) (bvult is_relaxed_prefix_~i~0 |is_relaxed_prefix_#in~a_length|)))} assume #t~mem4 != #t~mem5;havoc #t~mem4;havoc #t~mem5; {20381#(exists ((is_relaxed_prefix_~i~0 (_ BitVec 32))) (and (bvult is_relaxed_prefix_~i~0 |is_relaxed_prefix_#in~pat_length|) (bvult is_relaxed_prefix_~i~0 |is_relaxed_prefix_#in~a_length|)))} is VALID [2018-11-23 10:02:18,433 INFO L273 TraceCheckUtils]: 26: Hoare triple {20381#(exists ((is_relaxed_prefix_~i~0 (_ BitVec 32))) (and (bvult is_relaxed_prefix_~i~0 |is_relaxed_prefix_#in~pat_length|) (bvult is_relaxed_prefix_~i~0 |is_relaxed_prefix_#in~a_length|)))} assume !(0bv32 == ~shift~0);#res := 0bv8; {20381#(exists ((is_relaxed_prefix_~i~0 (_ BitVec 32))) (and (bvult is_relaxed_prefix_~i~0 |is_relaxed_prefix_#in~pat_length|) (bvult is_relaxed_prefix_~i~0 |is_relaxed_prefix_#in~a_length|)))} is VALID [2018-11-23 10:02:18,434 INFO L273 TraceCheckUtils]: 27: Hoare triple {20381#(exists ((is_relaxed_prefix_~i~0 (_ BitVec 32))) (and (bvult is_relaxed_prefix_~i~0 |is_relaxed_prefix_#in~pat_length|) (bvult is_relaxed_prefix_~i~0 |is_relaxed_prefix_#in~a_length|)))} assume true; {20381#(exists ((is_relaxed_prefix_~i~0 (_ BitVec 32))) (and (bvult is_relaxed_prefix_~i~0 |is_relaxed_prefix_#in~pat_length|) (bvult is_relaxed_prefix_~i~0 |is_relaxed_prefix_#in~a_length|)))} is VALID [2018-11-23 10:02:18,435 INFO L268 TraceCheckUtils]: 28: Hoare quadruple {20381#(exists ((is_relaxed_prefix_~i~0 (_ BitVec 32))) (and (bvult is_relaxed_prefix_~i~0 |is_relaxed_prefix_#in~pat_length|) (bvult is_relaxed_prefix_~i~0 |is_relaxed_prefix_#in~a_length|)))} {20303#true} #160#return; {20394#(exists ((is_relaxed_prefix_~i~0 (_ BitVec 32))) (and (bvult is_relaxed_prefix_~i~0 main_~pat_len~0) (bvult is_relaxed_prefix_~i~0 main_~a_len~0)))} is VALID [2018-11-23 10:02:18,435 INFO L273 TraceCheckUtils]: 29: Hoare triple {20394#(exists ((is_relaxed_prefix_~i~0 (_ BitVec 32))) (and (bvult is_relaxed_prefix_~i~0 main_~pat_len~0) (bvult is_relaxed_prefix_~i~0 main_~a_len~0)))} assume !(0bv8 != #t~ret14);havoc #t~ret14; {20394#(exists ((is_relaxed_prefix_~i~0 (_ BitVec 32))) (and (bvult is_relaxed_prefix_~i~0 main_~pat_len~0) (bvult is_relaxed_prefix_~i~0 main_~a_len~0)))} is VALID [2018-11-23 10:02:18,436 INFO L273 TraceCheckUtils]: 30: Hoare triple {20394#(exists ((is_relaxed_prefix_~i~0 (_ BitVec 32))) (and (bvult is_relaxed_prefix_~i~0 main_~pat_len~0) (bvult is_relaxed_prefix_~i~0 main_~a_len~0)))} assume ~bvule32(~pat_len~0, ~bvadd32(1bv32, ~a_len~0));~differences~0 := 0bv32;~i~2 := 0bv32; {20401#(and (= main_~i~2 (_ bv0 32)) (exists ((is_relaxed_prefix_~i~0 (_ BitVec 32))) (and (bvult is_relaxed_prefix_~i~0 main_~pat_len~0) (bvult is_relaxed_prefix_~i~0 main_~a_len~0))))} is VALID [2018-11-23 10:02:18,437 INFO L273 TraceCheckUtils]: 31: Hoare triple {20401#(and (= main_~i~2 (_ bv0 32)) (exists ((is_relaxed_prefix_~i~0 (_ BitVec 32))) (and (bvult is_relaxed_prefix_~i~0 main_~pat_len~0) (bvult is_relaxed_prefix_~i~0 main_~a_len~0))))} assume !(~bvult32(~i~2, ~pat_len~0) && ~bvult32(~i~2, ~a_len~0)); {20304#false} is VALID [2018-11-23 10:02:18,438 INFO L273 TraceCheckUtils]: 32: Hoare triple {20304#false} assume !~bvugt32(~pat_len~0, ~a_len~0); {20304#false} is VALID [2018-11-23 10:02:18,438 INFO L256 TraceCheckUtils]: 33: Hoare triple {20304#false} call __VERIFIER_assert((if ~bvugt32(~differences~0, 1bv32) then 1bv32 else 0bv32)); {20304#false} is VALID [2018-11-23 10:02:18,438 INFO L273 TraceCheckUtils]: 34: Hoare triple {20304#false} ~cond := #in~cond; {20304#false} is VALID [2018-11-23 10:02:18,438 INFO L273 TraceCheckUtils]: 35: Hoare triple {20304#false} assume 0bv32 == ~cond; {20304#false} is VALID [2018-11-23 10:02:18,438 INFO L273 TraceCheckUtils]: 36: Hoare triple {20304#false} assume !false; {20304#false} is VALID [2018-11-23 10:02:18,440 INFO L134 CoverageAnalysis]: Checked inductivity of 11 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 9 trivial. 0 not checked. [2018-11-23 10:02:18,440 INFO L316 TraceCheckSpWp]: Computing backward predicates...