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-crafted/zero_sum_const1_true-unreach-call.c -------------------------------------------------------------------------------- This is Ultimate 0.1.23-61f4311 [2018-11-23 10:40:11,895 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-23 10:40:11,898 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-23 10:40:11,910 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-23 10:40:11,910 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-23 10:40:11,911 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-23 10:40:11,912 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-23 10:40:11,914 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-23 10:40:11,916 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-23 10:40:11,916 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-23 10:40:11,917 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-23 10:40:11,918 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-23 10:40:11,919 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-23 10:40:11,920 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-23 10:40:11,921 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-23 10:40:11,921 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-23 10:40:11,922 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-23 10:40:11,924 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-23 10:40:11,926 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-23 10:40:11,928 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-23 10:40:11,929 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-23 10:40:11,930 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-23 10:40:11,932 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-23 10:40:11,932 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-23 10:40:11,933 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-23 10:40:11,933 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-23 10:40:11,934 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-23 10:40:11,935 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-23 10:40:11,936 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-23 10:40:11,940 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-23 10:40:11,940 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-23 10:40:11,941 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-23 10:40:11,941 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-23 10:40:11,941 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-23 10:40:11,942 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-23 10:40:11,943 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-23 10:40:11,943 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 10:40:11,958 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-23 10:40:11,958 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-23 10:40:11,959 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-23 10:40:11,959 INFO L133 SettingsManager]: * ... calls to implemented procedures=ONLY_FOR_CONCURRENT_PROGRAMS [2018-11-23 10:40:11,960 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-23 10:40:11,960 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-23 10:40:11,960 INFO L133 SettingsManager]: * Use SBE=true [2018-11-23 10:40:11,961 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-23 10:40:11,961 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-23 10:40:11,961 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-23 10:40:11,961 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-23 10:40:11,963 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-23 10:40:11,963 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-23 10:40:11,963 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-23 10:40:11,963 INFO L133 SettingsManager]: * Use bitvectors instead of ints=true [2018-11-23 10:40:11,963 INFO L133 SettingsManager]: * Memory model=HoenickeLindenmann_4ByteResolution [2018-11-23 10:40:11,964 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-23 10:40:11,964 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-23 10:40:11,964 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-23 10:40:11,964 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-23 10:40:11,964 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-23 10:40:11,965 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-23 10:40:11,965 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-23 10:40:11,965 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-11-23 10:40:11,965 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 10:40:11,965 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-23 10:40:11,968 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-23 10:40:11,968 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-23 10:40:11,968 INFO L133 SettingsManager]: * Trace refinement strategy=WOLF [2018-11-23 10:40:11,968 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-23 10:40:11,968 INFO L133 SettingsManager]: * Command for external solver=cvc4nyu --tear-down-incremental --rewrite-divk --print-success --lang smt [2018-11-23 10:40:11,969 INFO L133 SettingsManager]: * Logic for external solver=AUFBV [2018-11-23 10:40:11,969 INFO L133 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2018-11-23 10:40:12,030 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-23 10:40:12,045 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-23 10:40:12,049 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-23 10:40:12,051 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-23 10:40:12,051 INFO L276 PluginConnector]: CDTParser initialized [2018-11-23 10:40:12,052 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/array-crafted/zero_sum_const1_true-unreach-call.c [2018-11-23 10:40:12,115 INFO L221 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/cae52f511/92bc9f980ed845faa41cc4ebc48ac7ec/FLAG9fcc64524 [2018-11-23 10:40:12,594 INFO L307 CDTParser]: Found 1 translation units. [2018-11-23 10:40:12,595 INFO L161 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/array-crafted/zero_sum_const1_true-unreach-call.c [2018-11-23 10:40:12,601 INFO L355 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/cae52f511/92bc9f980ed845faa41cc4ebc48ac7ec/FLAG9fcc64524 [2018-11-23 10:40:12,937 INFO L363 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/cae52f511/92bc9f980ed845faa41cc4ebc48ac7ec [2018-11-23 10:40:12,948 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-23 10:40:12,950 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-23 10:40:12,951 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-23 10:40:12,951 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-23 10:40:12,955 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-23 10:40:12,957 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 10:40:12" (1/1) ... [2018-11-23 10:40:12,960 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@1035785c and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 10:40:12, skipping insertion in model container [2018-11-23 10:40:12,960 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 10:40:12" (1/1) ... [2018-11-23 10:40:12,971 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-23 10:40:13,001 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-23 10:40:13,241 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 10:40:13,249 INFO L191 MainTranslator]: Completed pre-run [2018-11-23 10:40:13,277 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 10:40:13,303 INFO L195 MainTranslator]: Completed translation [2018-11-23 10:40:13,304 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 10:40:13 WrapperNode [2018-11-23 10:40:13,304 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-23 10:40:13,306 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-23 10:40:13,306 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-23 10:40:13,307 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-23 10:40:13,318 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 10:40:13" (1/1) ... [2018-11-23 10:40:13,330 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 10:40:13" (1/1) ... [2018-11-23 10:40:13,341 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-23 10:40:13,341 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-23 10:40:13,341 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-23 10:40:13,342 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-23 10:40:13,353 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 10:40:13" (1/1) ... [2018-11-23 10:40:13,354 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 10:40:13" (1/1) ... [2018-11-23 10:40:13,356 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 10:40:13" (1/1) ... [2018-11-23 10:40:13,358 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 10:40:13" (1/1) ... [2018-11-23 10:40:13,378 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 10:40:13" (1/1) ... [2018-11-23 10:40:13,392 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 10:40:13" (1/1) ... [2018-11-23 10:40:13,395 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 10:40:13" (1/1) ... [2018-11-23 10:40:13,404 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-23 10:40:13,405 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-23 10:40:13,405 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-23 10:40:13,405 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-23 10:40:13,406 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 10:40:13" (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 10:40:13,542 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-11-23 10:40:13,543 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-11-23 10:40:13,543 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-23 10:40:13,543 INFO L130 BoogieDeclarations]: Found specification of procedure read~intINTTYPE4 [2018-11-23 10:40:13,543 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-23 10:40:13,543 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-23 10:40:13,544 INFO L130 BoogieDeclarations]: Found specification of procedure main [2018-11-23 10:40:13,544 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2018-11-23 10:40:13,545 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2018-11-23 10:40:13,545 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2018-11-23 10:40:13,545 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-23 10:40:13,545 INFO L130 BoogieDeclarations]: Found specification of procedure write~intINTTYPE4 [2018-11-23 10:40:14,188 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-23 10:40:14,189 INFO L280 CfgBuilder]: Removed 3 assue(true) statements. [2018-11-23 10:40:14,189 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 10:40:14 BoogieIcfgContainer [2018-11-23 10:40:14,189 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-23 10:40:14,190 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-11-23 10:40:14,191 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-11-23 10:40:14,194 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-11-23 10:40:14,195 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 23.11 10:40:12" (1/3) ... [2018-11-23 10:40:14,195 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@1773a9cd and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 10:40:14, skipping insertion in model container [2018-11-23 10:40:14,196 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 10:40:13" (2/3) ... [2018-11-23 10:40:14,196 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@1773a9cd and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 10:40:14, skipping insertion in model container [2018-11-23 10:40:14,196 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 10:40:14" (3/3) ... [2018-11-23 10:40:14,198 INFO L112 eAbstractionObserver]: Analyzing ICFG zero_sum_const1_true-unreach-call.c [2018-11-23 10:40:14,209 INFO L156 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-11-23 10:40:14,218 INFO L168 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2018-11-23 10:40:14,237 INFO L257 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2018-11-23 10:40:14,272 INFO L133 ementStrategyFactory]: Using default assertion order modulation [2018-11-23 10:40:14,273 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-11-23 10:40:14,273 INFO L383 AbstractCegarLoop]: Hoare is true [2018-11-23 10:40:14,273 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-11-23 10:40:14,274 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-23 10:40:14,274 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-23 10:40:14,274 INFO L387 AbstractCegarLoop]: Difference is false [2018-11-23 10:40:14,274 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-23 10:40:14,274 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-11-23 10:40:14,295 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states. [2018-11-23 10:40:14,303 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 17 [2018-11-23 10:40:14,303 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 10:40:14,304 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 10:40:14,307 INFO L423 AbstractCegarLoop]: === Iteration 1 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 10:40:14,313 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 10:40:14,313 INFO L82 PathProgramCache]: Analyzing trace with hash -714575113, now seen corresponding path program 1 times [2018-11-23 10:40:14,318 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 10:40:14,319 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 10:40:14,351 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 10:40:14,397 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:40:14,426 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:40:14,432 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 10:40:14,498 INFO L256 TraceCheckUtils]: 0: Hoare triple {31#true} call ULTIMATE.init(); {31#true} is VALID [2018-11-23 10:40:14,501 INFO L273 TraceCheckUtils]: 1: Hoare triple {31#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];~SIZE~0 := 0bv32; {31#true} is VALID [2018-11-23 10:40:14,502 INFO L273 TraceCheckUtils]: 2: Hoare triple {31#true} assume true; {31#true} is VALID [2018-11-23 10:40:14,502 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {31#true} {31#true} #69#return; {31#true} is VALID [2018-11-23 10:40:14,503 INFO L256 TraceCheckUtils]: 4: Hoare triple {31#true} call #t~ret7 := main(); {31#true} is VALID [2018-11-23 10:40:14,503 INFO L273 TraceCheckUtils]: 5: Hoare triple {31#true} ~SIZE~0 := #t~nondet1;havoc #t~nondet1; {31#true} is VALID [2018-11-23 10:40:14,503 INFO L273 TraceCheckUtils]: 6: Hoare triple {31#true} assume ~bvsgt32(~SIZE~0, 1bv32);havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~bvmul32(4bv32, ~SIZE~0));~sum~0 := 0bv32;~i~0 := 0bv32; {31#true} is VALID [2018-11-23 10:40:14,504 INFO L273 TraceCheckUtils]: 7: Hoare triple {31#true} assume !true; {32#false} is VALID [2018-11-23 10:40:14,504 INFO L273 TraceCheckUtils]: 8: Hoare triple {32#false} ~i~0 := 0bv32; {32#false} is VALID [2018-11-23 10:40:14,505 INFO L273 TraceCheckUtils]: 9: Hoare triple {32#false} assume !true; {32#false} is VALID [2018-11-23 10:40:14,505 INFO L273 TraceCheckUtils]: 10: Hoare triple {32#false} ~i~0 := 0bv32; {32#false} is VALID [2018-11-23 10:40:14,505 INFO L273 TraceCheckUtils]: 11: Hoare triple {32#false} assume !true; {32#false} is VALID [2018-11-23 10:40:14,505 INFO L256 TraceCheckUtils]: 12: Hoare triple {32#false} call __VERIFIER_assert((if 0bv32 == ~sum~0 then 1bv32 else 0bv32)); {32#false} is VALID [2018-11-23 10:40:14,506 INFO L273 TraceCheckUtils]: 13: Hoare triple {32#false} ~cond := #in~cond; {32#false} is VALID [2018-11-23 10:40:14,506 INFO L273 TraceCheckUtils]: 14: Hoare triple {32#false} assume 0bv32 == ~cond; {32#false} is VALID [2018-11-23 10:40:14,507 INFO L273 TraceCheckUtils]: 15: Hoare triple {32#false} assume !false; {32#false} is VALID [2018-11-23 10:40:14,510 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 10:40:14,510 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 10:40:14,515 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 10:40:14,517 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2018-11-23 10:40:14,523 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 16 [2018-11-23 10:40:14,525 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 10:40:14,529 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states. [2018-11-23 10:40:14,747 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 16 edges. 16 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:40:14,747 INFO L459 AbstractCegarLoop]: Interpolant automaton has 2 states [2018-11-23 10:40:14,758 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2018-11-23 10:40:14,759 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-23 10:40:14,761 INFO L87 Difference]: Start difference. First operand 28 states. Second operand 2 states. [2018-11-23 10:40:14,981 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:40:14,982 INFO L93 Difference]: Finished difference Result 47 states and 59 transitions. [2018-11-23 10:40:14,982 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2018-11-23 10:40:14,982 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 16 [2018-11-23 10:40:14,982 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 10:40:14,984 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2018-11-23 10:40:14,995 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 59 transitions. [2018-11-23 10:40:14,995 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2018-11-23 10:40:15,000 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 59 transitions. [2018-11-23 10:40:15,000 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states and 59 transitions. [2018-11-23 10:40:15,247 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 59 edges. 59 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:40:15,259 INFO L225 Difference]: With dead ends: 47 [2018-11-23 10:40:15,259 INFO L226 Difference]: Without dead ends: 20 [2018-11-23 10:40:15,263 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 15 GetRequests, 15 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 10:40:15,281 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 20 states. [2018-11-23 10:40:15,316 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 20 to 20. [2018-11-23 10:40:15,317 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 10:40:15,317 INFO L82 GeneralOperation]: Start isEquivalent. First operand 20 states. Second operand 20 states. [2018-11-23 10:40:15,318 INFO L74 IsIncluded]: Start isIncluded. First operand 20 states. Second operand 20 states. [2018-11-23 10:40:15,318 INFO L87 Difference]: Start difference. First operand 20 states. Second operand 20 states. [2018-11-23 10:40:15,322 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:40:15,322 INFO L93 Difference]: Finished difference Result 20 states and 22 transitions. [2018-11-23 10:40:15,323 INFO L276 IsEmpty]: Start isEmpty. Operand 20 states and 22 transitions. [2018-11-23 10:40:15,323 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:40:15,323 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:40:15,324 INFO L74 IsIncluded]: Start isIncluded. First operand 20 states. Second operand 20 states. [2018-11-23 10:40:15,324 INFO L87 Difference]: Start difference. First operand 20 states. Second operand 20 states. [2018-11-23 10:40:15,327 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:40:15,328 INFO L93 Difference]: Finished difference Result 20 states and 22 transitions. [2018-11-23 10:40:15,328 INFO L276 IsEmpty]: Start isEmpty. Operand 20 states and 22 transitions. [2018-11-23 10:40:15,328 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:40:15,328 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:40:15,329 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 10:40:15,329 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 10:40:15,329 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 20 states. [2018-11-23 10:40:15,331 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 22 transitions. [2018-11-23 10:40:15,333 INFO L78 Accepts]: Start accepts. Automaton has 20 states and 22 transitions. Word has length 16 [2018-11-23 10:40:15,333 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 10:40:15,334 INFO L480 AbstractCegarLoop]: Abstraction has 20 states and 22 transitions. [2018-11-23 10:40:15,334 INFO L481 AbstractCegarLoop]: Interpolant automaton has 2 states. [2018-11-23 10:40:15,334 INFO L276 IsEmpty]: Start isEmpty. Operand 20 states and 22 transitions. [2018-11-23 10:40:15,335 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 17 [2018-11-23 10:40:15,335 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 10:40:15,335 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 10:40:15,336 INFO L423 AbstractCegarLoop]: === Iteration 2 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 10:40:15,336 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 10:40:15,336 INFO L82 PathProgramCache]: Analyzing trace with hash 504621157, now seen corresponding path program 1 times [2018-11-23 10:40:15,337 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 10:40:15,337 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 10:40:15,365 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 10:40:15,387 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:40:15,409 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:40:15,412 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 10:40:15,547 INFO L256 TraceCheckUtils]: 0: Hoare triple {209#true} call ULTIMATE.init(); {209#true} is VALID [2018-11-23 10:40:15,548 INFO L273 TraceCheckUtils]: 1: Hoare triple {209#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];~SIZE~0 := 0bv32; {209#true} is VALID [2018-11-23 10:40:15,549 INFO L273 TraceCheckUtils]: 2: Hoare triple {209#true} assume true; {209#true} is VALID [2018-11-23 10:40:15,549 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {209#true} {209#true} #69#return; {209#true} is VALID [2018-11-23 10:40:15,550 INFO L256 TraceCheckUtils]: 4: Hoare triple {209#true} call #t~ret7 := main(); {209#true} is VALID [2018-11-23 10:40:15,550 INFO L273 TraceCheckUtils]: 5: Hoare triple {209#true} ~SIZE~0 := #t~nondet1;havoc #t~nondet1; {209#true} is VALID [2018-11-23 10:40:15,551 INFO L273 TraceCheckUtils]: 6: Hoare triple {209#true} assume ~bvsgt32(~SIZE~0, 1bv32);havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~bvmul32(4bv32, ~SIZE~0));~sum~0 := 0bv32;~i~0 := 0bv32; {232#(= main_~sum~0 (_ bv0 32))} is VALID [2018-11-23 10:40:15,552 INFO L273 TraceCheckUtils]: 7: Hoare triple {232#(= main_~sum~0 (_ bv0 32))} assume !~bvslt32(~i~0, ~SIZE~0); {232#(= main_~sum~0 (_ bv0 32))} is VALID [2018-11-23 10:40:15,559 INFO L273 TraceCheckUtils]: 8: Hoare triple {232#(= main_~sum~0 (_ bv0 32))} ~i~0 := 0bv32; {232#(= main_~sum~0 (_ bv0 32))} is VALID [2018-11-23 10:40:15,560 INFO L273 TraceCheckUtils]: 9: Hoare triple {232#(= main_~sum~0 (_ bv0 32))} assume !~bvslt32(~i~0, ~SIZE~0); {232#(= main_~sum~0 (_ bv0 32))} is VALID [2018-11-23 10:40:15,562 INFO L273 TraceCheckUtils]: 10: Hoare triple {232#(= main_~sum~0 (_ bv0 32))} ~i~0 := 0bv32; {232#(= main_~sum~0 (_ bv0 32))} is VALID [2018-11-23 10:40:15,562 INFO L273 TraceCheckUtils]: 11: Hoare triple {232#(= main_~sum~0 (_ bv0 32))} assume !~bvslt32(~i~0, ~SIZE~0); {232#(= main_~sum~0 (_ bv0 32))} is VALID [2018-11-23 10:40:15,564 INFO L256 TraceCheckUtils]: 12: Hoare triple {232#(= main_~sum~0 (_ bv0 32))} call __VERIFIER_assert((if 0bv32 == ~sum~0 then 1bv32 else 0bv32)); {251#(= (bvadd |__VERIFIER_assert_#in~cond| (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 10:40:15,564 INFO L273 TraceCheckUtils]: 13: Hoare triple {251#(= (bvadd |__VERIFIER_assert_#in~cond| (_ bv4294967295 32)) (_ bv0 32))} ~cond := #in~cond; {255#(= (bvadd __VERIFIER_assert_~cond (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 10:40:15,570 INFO L273 TraceCheckUtils]: 14: Hoare triple {255#(= (bvadd __VERIFIER_assert_~cond (_ bv4294967295 32)) (_ bv0 32))} assume 0bv32 == ~cond; {210#false} is VALID [2018-11-23 10:40:15,570 INFO L273 TraceCheckUtils]: 15: Hoare triple {210#false} assume !false; {210#false} is VALID [2018-11-23 10:40:15,572 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 10:40:15,572 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 10:40:15,574 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 10:40:15,575 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2018-11-23 10:40:15,577 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 16 [2018-11-23 10:40:15,577 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 10:40:15,577 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states. [2018-11-23 10:40:15,682 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 16 edges. 16 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:40:15,682 INFO L459 AbstractCegarLoop]: Interpolant automaton has 5 states [2018-11-23 10:40:15,683 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2018-11-23 10:40:15,683 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2018-11-23 10:40:15,683 INFO L87 Difference]: Start difference. First operand 20 states and 22 transitions. Second operand 5 states. [2018-11-23 10:40:16,380 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:40:16,381 INFO L93 Difference]: Finished difference Result 28 states and 31 transitions. [2018-11-23 10:40:16,381 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2018-11-23 10:40:16,381 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 16 [2018-11-23 10:40:16,381 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 10:40:16,382 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2018-11-23 10:40:16,384 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 31 transitions. [2018-11-23 10:40:16,384 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2018-11-23 10:40:16,386 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 31 transitions. [2018-11-23 10:40:16,386 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 31 transitions. [2018-11-23 10:40:16,444 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 31 edges. 31 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:40:16,446 INFO L225 Difference]: With dead ends: 28 [2018-11-23 10:40:16,446 INFO L226 Difference]: Without dead ends: 23 [2018-11-23 10:40:16,447 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 16 GetRequests, 12 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:40:16,448 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 23 states. [2018-11-23 10:40:16,468 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 23 to 23. [2018-11-23 10:40:16,468 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 10:40:16,468 INFO L82 GeneralOperation]: Start isEquivalent. First operand 23 states. Second operand 23 states. [2018-11-23 10:40:16,468 INFO L74 IsIncluded]: Start isIncluded. First operand 23 states. Second operand 23 states. [2018-11-23 10:40:16,468 INFO L87 Difference]: Start difference. First operand 23 states. Second operand 23 states. [2018-11-23 10:40:16,470 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:40:16,471 INFO L93 Difference]: Finished difference Result 23 states and 26 transitions. [2018-11-23 10:40:16,471 INFO L276 IsEmpty]: Start isEmpty. Operand 23 states and 26 transitions. [2018-11-23 10:40:16,471 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:40:16,471 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:40:16,472 INFO L74 IsIncluded]: Start isIncluded. First operand 23 states. Second operand 23 states. [2018-11-23 10:40:16,472 INFO L87 Difference]: Start difference. First operand 23 states. Second operand 23 states. [2018-11-23 10:40:16,474 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:40:16,474 INFO L93 Difference]: Finished difference Result 23 states and 26 transitions. [2018-11-23 10:40:16,474 INFO L276 IsEmpty]: Start isEmpty. Operand 23 states and 26 transitions. [2018-11-23 10:40:16,475 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:40:16,475 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:40:16,475 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 10:40:16,475 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 10:40:16,475 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 23 states. [2018-11-23 10:40:16,477 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 26 transitions. [2018-11-23 10:40:16,478 INFO L78 Accepts]: Start accepts. Automaton has 23 states and 26 transitions. Word has length 16 [2018-11-23 10:40:16,478 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 10:40:16,478 INFO L480 AbstractCegarLoop]: Abstraction has 23 states and 26 transitions. [2018-11-23 10:40:16,478 INFO L481 AbstractCegarLoop]: Interpolant automaton has 5 states. [2018-11-23 10:40:16,478 INFO L276 IsEmpty]: Start isEmpty. Operand 23 states and 26 transitions. [2018-11-23 10:40:16,479 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 19 [2018-11-23 10:40:16,479 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 10:40:16,479 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 10:40:16,480 INFO L423 AbstractCegarLoop]: === Iteration 3 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 10:40:16,480 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 10:40:16,480 INFO L82 PathProgramCache]: Analyzing trace with hash 626778659, now seen corresponding path program 1 times [2018-11-23 10:40:16,482 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 10:40:16,482 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 10:40:16,504 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 10:40:16,536 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:40:16,574 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:40:16,576 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 10:40:16,647 INFO L256 TraceCheckUtils]: 0: Hoare triple {384#true} call ULTIMATE.init(); {384#true} is VALID [2018-11-23 10:40:16,648 INFO L273 TraceCheckUtils]: 1: Hoare triple {384#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];~SIZE~0 := 0bv32; {384#true} is VALID [2018-11-23 10:40:16,648 INFO L273 TraceCheckUtils]: 2: Hoare triple {384#true} assume true; {384#true} is VALID [2018-11-23 10:40:16,649 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {384#true} {384#true} #69#return; {384#true} is VALID [2018-11-23 10:40:16,649 INFO L256 TraceCheckUtils]: 4: Hoare triple {384#true} call #t~ret7 := main(); {384#true} is VALID [2018-11-23 10:40:16,650 INFO L273 TraceCheckUtils]: 5: Hoare triple {384#true} ~SIZE~0 := #t~nondet1;havoc #t~nondet1; {384#true} is VALID [2018-11-23 10:40:16,669 INFO L273 TraceCheckUtils]: 6: Hoare triple {384#true} assume ~bvsgt32(~SIZE~0, 1bv32);havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~bvmul32(4bv32, ~SIZE~0));~sum~0 := 0bv32;~i~0 := 0bv32; {407#(and (= main_~i~0 (_ bv0 32)) (bvsgt ~SIZE~0 (_ bv1 32)))} is VALID [2018-11-23 10:40:16,671 INFO L273 TraceCheckUtils]: 7: Hoare triple {407#(and (= main_~i~0 (_ bv0 32)) (bvsgt ~SIZE~0 (_ bv1 32)))} assume !~bvslt32(~i~0, ~SIZE~0); {385#false} is VALID [2018-11-23 10:40:16,671 INFO L273 TraceCheckUtils]: 8: Hoare triple {385#false} ~i~0 := 0bv32; {385#false} is VALID [2018-11-23 10:40:16,672 INFO L273 TraceCheckUtils]: 9: Hoare triple {385#false} assume !~bvslt32(~i~0, ~SIZE~0); {385#false} is VALID [2018-11-23 10:40:16,672 INFO L273 TraceCheckUtils]: 10: Hoare triple {385#false} ~i~0 := 0bv32; {385#false} is VALID [2018-11-23 10:40:16,672 INFO L273 TraceCheckUtils]: 11: Hoare triple {385#false} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem6 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);~sum~0 := ~bvsub32(~sum~0, #t~mem6);havoc #t~mem6; {385#false} is VALID [2018-11-23 10:40:16,673 INFO L273 TraceCheckUtils]: 12: Hoare triple {385#false} #t~post5 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post5);havoc #t~post5; {385#false} is VALID [2018-11-23 10:40:16,673 INFO L273 TraceCheckUtils]: 13: Hoare triple {385#false} assume !~bvslt32(~i~0, ~SIZE~0); {385#false} is VALID [2018-11-23 10:40:16,673 INFO L256 TraceCheckUtils]: 14: Hoare triple {385#false} call __VERIFIER_assert((if 0bv32 == ~sum~0 then 1bv32 else 0bv32)); {385#false} is VALID [2018-11-23 10:40:16,674 INFO L273 TraceCheckUtils]: 15: Hoare triple {385#false} ~cond := #in~cond; {385#false} is VALID [2018-11-23 10:40:16,674 INFO L273 TraceCheckUtils]: 16: Hoare triple {385#false} assume 0bv32 == ~cond; {385#false} is VALID [2018-11-23 10:40:16,674 INFO L273 TraceCheckUtils]: 17: Hoare triple {385#false} assume !false; {385#false} is VALID [2018-11-23 10:40:16,675 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 10:40:16,676 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 10:40:16,681 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 10:40:16,681 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2018-11-23 10:40:16,682 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 18 [2018-11-23 10:40:16,682 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 10:40:16,684 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2018-11-23 10:40:16,716 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 18 edges. 18 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:40:16,717 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2018-11-23 10:40:16,717 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-11-23 10:40:16,717 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 10:40:16,718 INFO L87 Difference]: Start difference. First operand 23 states and 26 transitions. Second operand 3 states. [2018-11-23 10:40:16,905 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:40:16,906 INFO L93 Difference]: Finished difference Result 39 states and 45 transitions. [2018-11-23 10:40:16,906 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-23 10:40:16,906 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 18 [2018-11-23 10:40:16,906 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 10:40:16,907 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 10:40:16,909 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 37 transitions. [2018-11-23 10:40:16,909 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 10:40:16,911 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 37 transitions. [2018-11-23 10:40:16,911 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 37 transitions. [2018-11-23 10:40:17,060 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 37 edges. 37 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:40:17,062 INFO L225 Difference]: With dead ends: 39 [2018-11-23 10:40:17,062 INFO L226 Difference]: Without dead ends: 25 [2018-11-23 10:40:17,063 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 17 GetRequests, 16 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 10:40:17,063 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 25 states. [2018-11-23 10:40:17,099 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 25 to 24. [2018-11-23 10:40:17,099 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 10:40:17,099 INFO L82 GeneralOperation]: Start isEquivalent. First operand 25 states. Second operand 24 states. [2018-11-23 10:40:17,099 INFO L74 IsIncluded]: Start isIncluded. First operand 25 states. Second operand 24 states. [2018-11-23 10:40:17,100 INFO L87 Difference]: Start difference. First operand 25 states. Second operand 24 states. [2018-11-23 10:40:17,102 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:40:17,102 INFO L93 Difference]: Finished difference Result 25 states and 28 transitions. [2018-11-23 10:40:17,102 INFO L276 IsEmpty]: Start isEmpty. Operand 25 states and 28 transitions. [2018-11-23 10:40:17,103 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:40:17,103 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:40:17,103 INFO L74 IsIncluded]: Start isIncluded. First operand 24 states. Second operand 25 states. [2018-11-23 10:40:17,103 INFO L87 Difference]: Start difference. First operand 24 states. Second operand 25 states. [2018-11-23 10:40:17,105 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:40:17,105 INFO L93 Difference]: Finished difference Result 25 states and 28 transitions. [2018-11-23 10:40:17,106 INFO L276 IsEmpty]: Start isEmpty. Operand 25 states and 28 transitions. [2018-11-23 10:40:17,106 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:40:17,106 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:40:17,106 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 10:40:17,107 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 10:40:17,107 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 24 states. [2018-11-23 10:40:17,108 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 27 transitions. [2018-11-23 10:40:17,109 INFO L78 Accepts]: Start accepts. Automaton has 24 states and 27 transitions. Word has length 18 [2018-11-23 10:40:17,109 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 10:40:17,109 INFO L480 AbstractCegarLoop]: Abstraction has 24 states and 27 transitions. [2018-11-23 10:40:17,109 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2018-11-23 10:40:17,109 INFO L276 IsEmpty]: Start isEmpty. Operand 24 states and 27 transitions. [2018-11-23 10:40:17,110 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 21 [2018-11-23 10:40:17,110 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 10:40:17,110 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] [2018-11-23 10:40:17,111 INFO L423 AbstractCegarLoop]: === Iteration 4 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 10:40:17,111 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 10:40:17,111 INFO L82 PathProgramCache]: Analyzing trace with hash 1697854689, now seen corresponding path program 1 times [2018-11-23 10:40:17,112 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 10:40:17,112 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 10:40:17,131 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 10:40:17,166 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:40:17,179 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:40:17,181 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 10:40:17,302 INFO L256 TraceCheckUtils]: 0: Hoare triple {583#true} call ULTIMATE.init(); {583#true} is VALID [2018-11-23 10:40:17,302 INFO L273 TraceCheckUtils]: 1: Hoare triple {583#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];~SIZE~0 := 0bv32; {583#true} is VALID [2018-11-23 10:40:17,303 INFO L273 TraceCheckUtils]: 2: Hoare triple {583#true} assume true; {583#true} is VALID [2018-11-23 10:40:17,303 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {583#true} {583#true} #69#return; {583#true} is VALID [2018-11-23 10:40:17,303 INFO L256 TraceCheckUtils]: 4: Hoare triple {583#true} call #t~ret7 := main(); {583#true} is VALID [2018-11-23 10:40:17,304 INFO L273 TraceCheckUtils]: 5: Hoare triple {583#true} ~SIZE~0 := #t~nondet1;havoc #t~nondet1; {583#true} is VALID [2018-11-23 10:40:17,307 INFO L273 TraceCheckUtils]: 6: Hoare triple {583#true} assume ~bvsgt32(~SIZE~0, 1bv32);havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~bvmul32(4bv32, ~SIZE~0));~sum~0 := 0bv32;~i~0 := 0bv32; {606#(and (= main_~i~0 (_ bv0 32)) (bvsgt ~SIZE~0 (_ bv1 32)))} is VALID [2018-11-23 10:40:17,307 INFO L273 TraceCheckUtils]: 7: Hoare triple {606#(and (= main_~i~0 (_ bv0 32)) (bvsgt ~SIZE~0 (_ bv1 32)))} assume !!~bvslt32(~i~0, ~SIZE~0);call write~intINTTYPE4(1bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {606#(and (= main_~i~0 (_ bv0 32)) (bvsgt ~SIZE~0 (_ bv1 32)))} is VALID [2018-11-23 10:40:17,308 INFO L273 TraceCheckUtils]: 8: Hoare triple {606#(and (= main_~i~0 (_ bv0 32)) (bvsgt ~SIZE~0 (_ bv1 32)))} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {613#(and (bvsgt ~SIZE~0 (_ bv1 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:40:17,309 INFO L273 TraceCheckUtils]: 9: Hoare triple {613#(and (bvsgt ~SIZE~0 (_ bv1 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} assume !~bvslt32(~i~0, ~SIZE~0); {584#false} is VALID [2018-11-23 10:40:17,310 INFO L273 TraceCheckUtils]: 10: Hoare triple {584#false} ~i~0 := 0bv32; {584#false} is VALID [2018-11-23 10:40:17,310 INFO L273 TraceCheckUtils]: 11: Hoare triple {584#false} assume !~bvslt32(~i~0, ~SIZE~0); {584#false} is VALID [2018-11-23 10:40:17,311 INFO L273 TraceCheckUtils]: 12: Hoare triple {584#false} ~i~0 := 0bv32; {584#false} is VALID [2018-11-23 10:40:17,311 INFO L273 TraceCheckUtils]: 13: Hoare triple {584#false} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem6 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);~sum~0 := ~bvsub32(~sum~0, #t~mem6);havoc #t~mem6; {584#false} is VALID [2018-11-23 10:40:17,312 INFO L273 TraceCheckUtils]: 14: Hoare triple {584#false} #t~post5 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post5);havoc #t~post5; {584#false} is VALID [2018-11-23 10:40:17,312 INFO L273 TraceCheckUtils]: 15: Hoare triple {584#false} assume !~bvslt32(~i~0, ~SIZE~0); {584#false} is VALID [2018-11-23 10:40:17,312 INFO L256 TraceCheckUtils]: 16: Hoare triple {584#false} call __VERIFIER_assert((if 0bv32 == ~sum~0 then 1bv32 else 0bv32)); {584#false} is VALID [2018-11-23 10:40:17,313 INFO L273 TraceCheckUtils]: 17: Hoare triple {584#false} ~cond := #in~cond; {584#false} is VALID [2018-11-23 10:40:17,313 INFO L273 TraceCheckUtils]: 18: Hoare triple {584#false} assume 0bv32 == ~cond; {584#false} is VALID [2018-11-23 10:40:17,313 INFO L273 TraceCheckUtils]: 19: Hoare triple {584#false} assume !false; {584#false} is VALID [2018-11-23 10:40:17,314 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:40:17,315 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-23 10:40:17,412 INFO L273 TraceCheckUtils]: 19: Hoare triple {584#false} assume !false; {584#false} is VALID [2018-11-23 10:40:17,413 INFO L273 TraceCheckUtils]: 18: Hoare triple {584#false} assume 0bv32 == ~cond; {584#false} is VALID [2018-11-23 10:40:17,413 INFO L273 TraceCheckUtils]: 17: Hoare triple {584#false} ~cond := #in~cond; {584#false} is VALID [2018-11-23 10:40:17,414 INFO L256 TraceCheckUtils]: 16: Hoare triple {584#false} call __VERIFIER_assert((if 0bv32 == ~sum~0 then 1bv32 else 0bv32)); {584#false} is VALID [2018-11-23 10:40:17,414 INFO L273 TraceCheckUtils]: 15: Hoare triple {584#false} assume !~bvslt32(~i~0, ~SIZE~0); {584#false} is VALID [2018-11-23 10:40:17,415 INFO L273 TraceCheckUtils]: 14: Hoare triple {584#false} #t~post5 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post5);havoc #t~post5; {584#false} is VALID [2018-11-23 10:40:17,415 INFO L273 TraceCheckUtils]: 13: Hoare triple {584#false} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem6 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);~sum~0 := ~bvsub32(~sum~0, #t~mem6);havoc #t~mem6; {584#false} is VALID [2018-11-23 10:40:17,415 INFO L273 TraceCheckUtils]: 12: Hoare triple {584#false} ~i~0 := 0bv32; {584#false} is VALID [2018-11-23 10:40:17,416 INFO L273 TraceCheckUtils]: 11: Hoare triple {584#false} assume !~bvslt32(~i~0, ~SIZE~0); {584#false} is VALID [2018-11-23 10:40:17,416 INFO L273 TraceCheckUtils]: 10: Hoare triple {584#false} ~i~0 := 0bv32; {584#false} is VALID [2018-11-23 10:40:17,416 INFO L273 TraceCheckUtils]: 9: Hoare triple {677#(bvslt main_~i~0 ~SIZE~0)} assume !~bvslt32(~i~0, ~SIZE~0); {584#false} is VALID [2018-11-23 10:40:17,418 INFO L273 TraceCheckUtils]: 8: Hoare triple {681#(bvslt (bvadd main_~i~0 (_ bv1 32)) ~SIZE~0)} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {677#(bvslt main_~i~0 ~SIZE~0)} is VALID [2018-11-23 10:40:17,418 INFO L273 TraceCheckUtils]: 7: Hoare triple {681#(bvslt (bvadd main_~i~0 (_ bv1 32)) ~SIZE~0)} assume !!~bvslt32(~i~0, ~SIZE~0);call write~intINTTYPE4(1bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {681#(bvslt (bvadd main_~i~0 (_ bv1 32)) ~SIZE~0)} is VALID [2018-11-23 10:40:17,419 INFO L273 TraceCheckUtils]: 6: Hoare triple {583#true} assume ~bvsgt32(~SIZE~0, 1bv32);havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~bvmul32(4bv32, ~SIZE~0));~sum~0 := 0bv32;~i~0 := 0bv32; {681#(bvslt (bvadd main_~i~0 (_ bv1 32)) ~SIZE~0)} is VALID [2018-11-23 10:40:17,419 INFO L273 TraceCheckUtils]: 5: Hoare triple {583#true} ~SIZE~0 := #t~nondet1;havoc #t~nondet1; {583#true} is VALID [2018-11-23 10:40:17,420 INFO L256 TraceCheckUtils]: 4: Hoare triple {583#true} call #t~ret7 := main(); {583#true} is VALID [2018-11-23 10:40:17,420 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {583#true} {583#true} #69#return; {583#true} is VALID [2018-11-23 10:40:17,420 INFO L273 TraceCheckUtils]: 2: Hoare triple {583#true} assume true; {583#true} is VALID [2018-11-23 10:40:17,421 INFO L273 TraceCheckUtils]: 1: Hoare triple {583#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];~SIZE~0 := 0bv32; {583#true} is VALID [2018-11-23 10:40:17,421 INFO L256 TraceCheckUtils]: 0: Hoare triple {583#true} call ULTIMATE.init(); {583#true} is VALID [2018-11-23 10:40:17,422 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:40:17,429 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 10:40:17,429 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4] total 6 [2018-11-23 10:40:17,429 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 20 [2018-11-23 10:40:17,430 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 10:40:17,430 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2018-11-23 10:40:17,479 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 10:40:17,479 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2018-11-23 10:40:17,480 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2018-11-23 10:40:17,480 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=12, Invalid=18, Unknown=0, NotChecked=0, Total=30 [2018-11-23 10:40:17,480 INFO L87 Difference]: Start difference. First operand 24 states and 27 transitions. Second operand 6 states. [2018-11-23 10:40:18,008 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:40:18,008 INFO L93 Difference]: Finished difference Result 41 states and 47 transitions. [2018-11-23 10:40:18,009 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2018-11-23 10:40:18,009 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 20 [2018-11-23 10:40:18,009 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 10:40:18,009 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-11-23 10:40:18,011 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 39 transitions. [2018-11-23 10:40:18,011 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-11-23 10:40:18,013 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 39 transitions. [2018-11-23 10:40:18,013 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 39 transitions. [2018-11-23 10:40:18,092 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 39 edges. 39 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:40:18,093 INFO L225 Difference]: With dead ends: 41 [2018-11-23 10:40:18,094 INFO L226 Difference]: Without dead ends: 27 [2018-11-23 10:40:18,094 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 39 GetRequests, 35 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=12, Invalid=18, Unknown=0, NotChecked=0, Total=30 [2018-11-23 10:40:18,095 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 27 states. [2018-11-23 10:40:18,117 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 27 to 26. [2018-11-23 10:40:18,117 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 10:40:18,118 INFO L82 GeneralOperation]: Start isEquivalent. First operand 27 states. Second operand 26 states. [2018-11-23 10:40:18,118 INFO L74 IsIncluded]: Start isIncluded. First operand 27 states. Second operand 26 states. [2018-11-23 10:40:18,118 INFO L87 Difference]: Start difference. First operand 27 states. Second operand 26 states. [2018-11-23 10:40:18,120 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:40:18,121 INFO L93 Difference]: Finished difference Result 27 states and 30 transitions. [2018-11-23 10:40:18,121 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 30 transitions. [2018-11-23 10:40:18,121 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:40:18,122 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:40:18,122 INFO L74 IsIncluded]: Start isIncluded. First operand 26 states. Second operand 27 states. [2018-11-23 10:40:18,122 INFO L87 Difference]: Start difference. First operand 26 states. Second operand 27 states. [2018-11-23 10:40:18,124 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:40:18,124 INFO L93 Difference]: Finished difference Result 27 states and 30 transitions. [2018-11-23 10:40:18,124 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 30 transitions. [2018-11-23 10:40:18,125 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:40:18,125 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:40:18,125 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 10:40:18,125 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 10:40:18,125 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 26 states. [2018-11-23 10:40:18,127 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 29 transitions. [2018-11-23 10:40:18,127 INFO L78 Accepts]: Start accepts. Automaton has 26 states and 29 transitions. Word has length 20 [2018-11-23 10:40:18,127 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 10:40:18,128 INFO L480 AbstractCegarLoop]: Abstraction has 26 states and 29 transitions. [2018-11-23 10:40:18,128 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2018-11-23 10:40:18,128 INFO L276 IsEmpty]: Start isEmpty. Operand 26 states and 29 transitions. [2018-11-23 10:40:18,129 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2018-11-23 10:40:18,129 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 10:40:18,129 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] [2018-11-23 10:40:18,129 INFO L423 AbstractCegarLoop]: === Iteration 5 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 10:40:18,130 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 10:40:18,130 INFO L82 PathProgramCache]: Analyzing trace with hash 209768479, now seen corresponding path program 2 times [2018-11-23 10:40:18,131 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 10:40:18,131 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 10:40:18,148 INFO L101 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2018-11-23 10:40:18,178 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2018-11-23 10:40:18,178 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 10:40:18,193 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:40:18,194 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 10:40:18,257 INFO L256 TraceCheckUtils]: 0: Hoare triple {861#true} call ULTIMATE.init(); {861#true} is VALID [2018-11-23 10:40:18,257 INFO L273 TraceCheckUtils]: 1: Hoare triple {861#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];~SIZE~0 := 0bv32; {861#true} is VALID [2018-11-23 10:40:18,258 INFO L273 TraceCheckUtils]: 2: Hoare triple {861#true} assume true; {861#true} is VALID [2018-11-23 10:40:18,258 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {861#true} {861#true} #69#return; {861#true} is VALID [2018-11-23 10:40:18,259 INFO L256 TraceCheckUtils]: 4: Hoare triple {861#true} call #t~ret7 := main(); {861#true} is VALID [2018-11-23 10:40:18,259 INFO L273 TraceCheckUtils]: 5: Hoare triple {861#true} ~SIZE~0 := #t~nondet1;havoc #t~nondet1; {861#true} is VALID [2018-11-23 10:40:18,278 INFO L273 TraceCheckUtils]: 6: Hoare triple {861#true} assume ~bvsgt32(~SIZE~0, 1bv32);havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~bvmul32(4bv32, ~SIZE~0));~sum~0 := 0bv32;~i~0 := 0bv32; {884#(bvsgt ~SIZE~0 (_ bv1 32))} is VALID [2018-11-23 10:40:18,290 INFO L273 TraceCheckUtils]: 7: Hoare triple {884#(bvsgt ~SIZE~0 (_ bv1 32))} assume !!~bvslt32(~i~0, ~SIZE~0);call write~intINTTYPE4(1bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {884#(bvsgt ~SIZE~0 (_ bv1 32))} is VALID [2018-11-23 10:40:18,291 INFO L273 TraceCheckUtils]: 8: Hoare triple {884#(bvsgt ~SIZE~0 (_ bv1 32))} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {884#(bvsgt ~SIZE~0 (_ bv1 32))} is VALID [2018-11-23 10:40:18,291 INFO L273 TraceCheckUtils]: 9: Hoare triple {884#(bvsgt ~SIZE~0 (_ bv1 32))} assume !!~bvslt32(~i~0, ~SIZE~0);call write~intINTTYPE4(1bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {884#(bvsgt ~SIZE~0 (_ bv1 32))} is VALID [2018-11-23 10:40:18,296 INFO L273 TraceCheckUtils]: 10: Hoare triple {884#(bvsgt ~SIZE~0 (_ bv1 32))} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {884#(bvsgt ~SIZE~0 (_ bv1 32))} is VALID [2018-11-23 10:40:18,296 INFO L273 TraceCheckUtils]: 11: Hoare triple {884#(bvsgt ~SIZE~0 (_ bv1 32))} assume !~bvslt32(~i~0, ~SIZE~0); {884#(bvsgt ~SIZE~0 (_ bv1 32))} is VALID [2018-11-23 10:40:18,297 INFO L273 TraceCheckUtils]: 12: Hoare triple {884#(bvsgt ~SIZE~0 (_ bv1 32))} ~i~0 := 0bv32; {903#(and (= main_~i~0 (_ bv0 32)) (bvsgt ~SIZE~0 (_ bv1 32)))} is VALID [2018-11-23 10:40:18,298 INFO L273 TraceCheckUtils]: 13: Hoare triple {903#(and (= main_~i~0 (_ bv0 32)) (bvsgt ~SIZE~0 (_ bv1 32)))} assume !~bvslt32(~i~0, ~SIZE~0); {862#false} is VALID [2018-11-23 10:40:18,298 INFO L273 TraceCheckUtils]: 14: Hoare triple {862#false} ~i~0 := 0bv32; {862#false} is VALID [2018-11-23 10:40:18,298 INFO L273 TraceCheckUtils]: 15: Hoare triple {862#false} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem6 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);~sum~0 := ~bvsub32(~sum~0, #t~mem6);havoc #t~mem6; {862#false} is VALID [2018-11-23 10:40:18,298 INFO L273 TraceCheckUtils]: 16: Hoare triple {862#false} #t~post5 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post5);havoc #t~post5; {862#false} is VALID [2018-11-23 10:40:18,299 INFO L273 TraceCheckUtils]: 17: Hoare triple {862#false} assume !~bvslt32(~i~0, ~SIZE~0); {862#false} is VALID [2018-11-23 10:40:18,299 INFO L256 TraceCheckUtils]: 18: Hoare triple {862#false} call __VERIFIER_assert((if 0bv32 == ~sum~0 then 1bv32 else 0bv32)); {862#false} is VALID [2018-11-23 10:40:18,300 INFO L273 TraceCheckUtils]: 19: Hoare triple {862#false} ~cond := #in~cond; {862#false} is VALID [2018-11-23 10:40:18,300 INFO L273 TraceCheckUtils]: 20: Hoare triple {862#false} assume 0bv32 == ~cond; {862#false} is VALID [2018-11-23 10:40:18,301 INFO L273 TraceCheckUtils]: 21: Hoare triple {862#false} assume !false; {862#false} is VALID [2018-11-23 10:40:18,302 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:40:18,302 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 (6)] Exception during sending of exit command (exit): Broken pipe [2018-11-23 10:40:18,307 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 10:40:18,307 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2018-11-23 10:40:18,308 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 22 [2018-11-23 10:40:18,308 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 10:40:18,308 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2018-11-23 10:40:18,343 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 20 edges. 20 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:40:18,344 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2018-11-23 10:40:18,344 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2018-11-23 10:40:18,344 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2018-11-23 10:40:18,345 INFO L87 Difference]: Start difference. First operand 26 states and 29 transitions. Second operand 4 states. [2018-11-23 10:40:18,510 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:40:18,511 INFO L93 Difference]: Finished difference Result 36 states and 40 transitions. [2018-11-23 10:40:18,511 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2018-11-23 10:40:18,511 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 22 [2018-11-23 10:40:18,511 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 10:40:18,511 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-23 10:40:18,513 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 38 transitions. [2018-11-23 10:40:18,513 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-23 10:40:18,515 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 38 transitions. [2018-11-23 10:40:18,515 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 38 transitions. [2018-11-23 10:40:18,596 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:40:18,597 INFO L225 Difference]: With dead ends: 36 [2018-11-23 10:40:18,598 INFO L226 Difference]: Without dead ends: 27 [2018-11-23 10:40:18,599 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 21 GetRequests, 19 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2018-11-23 10:40:18,599 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 27 states. [2018-11-23 10:40:18,625 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 27 to 25. [2018-11-23 10:40:18,625 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 10:40:18,625 INFO L82 GeneralOperation]: Start isEquivalent. First operand 27 states. Second operand 25 states. [2018-11-23 10:40:18,625 INFO L74 IsIncluded]: Start isIncluded. First operand 27 states. Second operand 25 states. [2018-11-23 10:40:18,625 INFO L87 Difference]: Start difference. First operand 27 states. Second operand 25 states. [2018-11-23 10:40:18,627 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:40:18,627 INFO L93 Difference]: Finished difference Result 27 states and 29 transitions. [2018-11-23 10:40:18,627 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 29 transitions. [2018-11-23 10:40:18,628 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:40:18,628 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:40:18,628 INFO L74 IsIncluded]: Start isIncluded. First operand 25 states. Second operand 27 states. [2018-11-23 10:40:18,629 INFO L87 Difference]: Start difference. First operand 25 states. Second operand 27 states. [2018-11-23 10:40:18,630 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:40:18,630 INFO L93 Difference]: Finished difference Result 27 states and 29 transitions. [2018-11-23 10:40:18,631 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 29 transitions. [2018-11-23 10:40:18,631 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:40:18,631 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:40:18,631 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 10:40:18,632 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 10:40:18,632 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 25 states. [2018-11-23 10:40:18,633 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 27 transitions. [2018-11-23 10:40:18,634 INFO L78 Accepts]: Start accepts. Automaton has 25 states and 27 transitions. Word has length 22 [2018-11-23 10:40:18,634 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 10:40:18,634 INFO L480 AbstractCegarLoop]: Abstraction has 25 states and 27 transitions. [2018-11-23 10:40:18,634 INFO L481 AbstractCegarLoop]: Interpolant automaton has 4 states. [2018-11-23 10:40:18,634 INFO L276 IsEmpty]: Start isEmpty. Operand 25 states and 27 transitions. [2018-11-23 10:40:18,635 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 25 [2018-11-23 10:40:18,635 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 10:40:18,635 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] [2018-11-23 10:40:18,636 INFO L423 AbstractCegarLoop]: === Iteration 6 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 10:40:18,636 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 10:40:18,636 INFO L82 PathProgramCache]: Analyzing trace with hash 834581405, now seen corresponding path program 1 times [2018-11-23 10:40:18,637 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 10:40:18,637 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 10:40:18,665 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 10:40:18,705 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:40:18,719 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:40:18,720 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 10:40:18,987 INFO L256 TraceCheckUtils]: 0: Hoare triple {1075#true} call ULTIMATE.init(); {1075#true} is VALID [2018-11-23 10:40:18,988 INFO L273 TraceCheckUtils]: 1: Hoare triple {1075#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];~SIZE~0 := 0bv32; {1075#true} is VALID [2018-11-23 10:40:18,988 INFO L273 TraceCheckUtils]: 2: Hoare triple {1075#true} assume true; {1075#true} is VALID [2018-11-23 10:40:18,988 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1075#true} {1075#true} #69#return; {1075#true} is VALID [2018-11-23 10:40:18,989 INFO L256 TraceCheckUtils]: 4: Hoare triple {1075#true} call #t~ret7 := main(); {1075#true} is VALID [2018-11-23 10:40:18,989 INFO L273 TraceCheckUtils]: 5: Hoare triple {1075#true} ~SIZE~0 := #t~nondet1;havoc #t~nondet1; {1075#true} is VALID [2018-11-23 10:40:19,008 INFO L273 TraceCheckUtils]: 6: Hoare triple {1075#true} assume ~bvsgt32(~SIZE~0, 1bv32);havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~bvmul32(4bv32, ~SIZE~0));~sum~0 := 0bv32;~i~0 := 0bv32; {1098#(and (= main_~i~0 (_ bv0 32)) (bvsgt ~SIZE~0 (_ bv1 32)))} is VALID [2018-11-23 10:40:19,010 INFO L273 TraceCheckUtils]: 7: Hoare triple {1098#(and (= main_~i~0 (_ bv0 32)) (bvsgt ~SIZE~0 (_ bv1 32)))} assume !!~bvslt32(~i~0, ~SIZE~0);call write~intINTTYPE4(1bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {1098#(and (= main_~i~0 (_ bv0 32)) (bvsgt ~SIZE~0 (_ bv1 32)))} is VALID [2018-11-23 10:40:19,011 INFO L273 TraceCheckUtils]: 8: Hoare triple {1098#(and (= main_~i~0 (_ bv0 32)) (bvsgt ~SIZE~0 (_ bv1 32)))} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {1105#(and (bvsgt ~SIZE~0 (_ bv1 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:40:19,025 INFO L273 TraceCheckUtils]: 9: Hoare triple {1105#(and (bvsgt ~SIZE~0 (_ bv1 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} assume !!~bvslt32(~i~0, ~SIZE~0);call write~intINTTYPE4(1bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {1105#(and (bvsgt ~SIZE~0 (_ bv1 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:40:19,026 INFO L273 TraceCheckUtils]: 10: Hoare triple {1105#(and (bvsgt ~SIZE~0 (_ bv1 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {1112#(and (bvsgt ~SIZE~0 (_ bv1 32)) (= (_ bv2 32) main_~i~0))} is VALID [2018-11-23 10:40:19,029 INFO L273 TraceCheckUtils]: 11: Hoare triple {1112#(and (bvsgt ~SIZE~0 (_ bv1 32)) (= (_ bv2 32) main_~i~0))} assume !~bvslt32(~i~0, ~SIZE~0); {1116#(and (not (bvslt (_ bv2 32) ~SIZE~0)) (bvsgt ~SIZE~0 (_ bv1 32)))} is VALID [2018-11-23 10:40:19,029 INFO L273 TraceCheckUtils]: 12: Hoare triple {1116#(and (not (bvslt (_ bv2 32) ~SIZE~0)) (bvsgt ~SIZE~0 (_ bv1 32)))} ~i~0 := 0bv32; {1120#(and (not (bvslt (_ bv2 32) ~SIZE~0)) (= main_~i~0 (_ bv0 32)) (bvsgt ~SIZE~0 (_ bv1 32)))} is VALID [2018-11-23 10:40:19,031 INFO L273 TraceCheckUtils]: 13: Hoare triple {1120#(and (not (bvslt (_ bv2 32) ~SIZE~0)) (= main_~i~0 (_ bv0 32)) (bvsgt ~SIZE~0 (_ bv1 32)))} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem4 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);~sum~0 := ~bvadd32(~sum~0, #t~mem4);havoc #t~mem4; {1120#(and (not (bvslt (_ bv2 32) ~SIZE~0)) (= main_~i~0 (_ bv0 32)) (bvsgt ~SIZE~0 (_ bv1 32)))} is VALID [2018-11-23 10:40:19,034 INFO L273 TraceCheckUtils]: 14: Hoare triple {1120#(and (not (bvslt (_ bv2 32) ~SIZE~0)) (= main_~i~0 (_ bv0 32)) (bvsgt ~SIZE~0 (_ bv1 32)))} #t~post3 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post3);havoc #t~post3; {1127#(and (not (bvslt (_ bv2 32) ~SIZE~0)) (bvsgt ~SIZE~0 (_ bv1 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:40:19,036 INFO L273 TraceCheckUtils]: 15: Hoare triple {1127#(and (not (bvslt (_ bv2 32) ~SIZE~0)) (bvsgt ~SIZE~0 (_ bv1 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} assume !~bvslt32(~i~0, ~SIZE~0); {1076#false} is VALID [2018-11-23 10:40:19,036 INFO L273 TraceCheckUtils]: 16: Hoare triple {1076#false} ~i~0 := 0bv32; {1076#false} is VALID [2018-11-23 10:40:19,037 INFO L273 TraceCheckUtils]: 17: Hoare triple {1076#false} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem6 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);~sum~0 := ~bvsub32(~sum~0, #t~mem6);havoc #t~mem6; {1076#false} is VALID [2018-11-23 10:40:19,037 INFO L273 TraceCheckUtils]: 18: Hoare triple {1076#false} #t~post5 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post5);havoc #t~post5; {1076#false} is VALID [2018-11-23 10:40:19,038 INFO L273 TraceCheckUtils]: 19: Hoare triple {1076#false} assume !~bvslt32(~i~0, ~SIZE~0); {1076#false} is VALID [2018-11-23 10:40:19,038 INFO L256 TraceCheckUtils]: 20: Hoare triple {1076#false} call __VERIFIER_assert((if 0bv32 == ~sum~0 then 1bv32 else 0bv32)); {1076#false} is VALID [2018-11-23 10:40:19,038 INFO L273 TraceCheckUtils]: 21: Hoare triple {1076#false} ~cond := #in~cond; {1076#false} is VALID [2018-11-23 10:40:19,038 INFO L273 TraceCheckUtils]: 22: Hoare triple {1076#false} assume 0bv32 == ~cond; {1076#false} is VALID [2018-11-23 10:40:19,039 INFO L273 TraceCheckUtils]: 23: Hoare triple {1076#false} assume !false; {1076#false} is VALID [2018-11-23 10:40:19,041 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:40:19,041 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-23 10:40:19,482 INFO L273 TraceCheckUtils]: 23: Hoare triple {1076#false} assume !false; {1076#false} is VALID [2018-11-23 10:40:19,483 INFO L273 TraceCheckUtils]: 22: Hoare triple {1076#false} assume 0bv32 == ~cond; {1076#false} is VALID [2018-11-23 10:40:19,483 INFO L273 TraceCheckUtils]: 21: Hoare triple {1076#false} ~cond := #in~cond; {1076#false} is VALID [2018-11-23 10:40:19,484 INFO L256 TraceCheckUtils]: 20: Hoare triple {1076#false} call __VERIFIER_assert((if 0bv32 == ~sum~0 then 1bv32 else 0bv32)); {1076#false} is VALID [2018-11-23 10:40:19,484 INFO L273 TraceCheckUtils]: 19: Hoare triple {1076#false} assume !~bvslt32(~i~0, ~SIZE~0); {1076#false} is VALID [2018-11-23 10:40:19,484 INFO L273 TraceCheckUtils]: 18: Hoare triple {1076#false} #t~post5 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post5);havoc #t~post5; {1076#false} is VALID [2018-11-23 10:40:19,485 INFO L273 TraceCheckUtils]: 17: Hoare triple {1076#false} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem6 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);~sum~0 := ~bvsub32(~sum~0, #t~mem6);havoc #t~mem6; {1076#false} is VALID [2018-11-23 10:40:19,485 INFO L273 TraceCheckUtils]: 16: Hoare triple {1076#false} ~i~0 := 0bv32; {1076#false} is VALID [2018-11-23 10:40:19,488 INFO L273 TraceCheckUtils]: 15: Hoare triple {1179#(bvslt main_~i~0 ~SIZE~0)} assume !~bvslt32(~i~0, ~SIZE~0); {1076#false} is VALID [2018-11-23 10:40:19,489 INFO L273 TraceCheckUtils]: 14: Hoare triple {1183#(bvslt (bvadd main_~i~0 (_ bv1 32)) ~SIZE~0)} #t~post3 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post3);havoc #t~post3; {1179#(bvslt main_~i~0 ~SIZE~0)} is VALID [2018-11-23 10:40:19,490 INFO L273 TraceCheckUtils]: 13: Hoare triple {1183#(bvslt (bvadd main_~i~0 (_ bv1 32)) ~SIZE~0)} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem4 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);~sum~0 := ~bvadd32(~sum~0, #t~mem4);havoc #t~mem4; {1183#(bvslt (bvadd main_~i~0 (_ bv1 32)) ~SIZE~0)} is VALID [2018-11-23 10:40:19,491 INFO L273 TraceCheckUtils]: 12: Hoare triple {1190#(bvslt (_ bv1 32) ~SIZE~0)} ~i~0 := 0bv32; {1183#(bvslt (bvadd main_~i~0 (_ bv1 32)) ~SIZE~0)} is VALID [2018-11-23 10:40:19,491 INFO L273 TraceCheckUtils]: 11: Hoare triple {1194#(or (bvslt (_ bv1 32) ~SIZE~0) (bvslt main_~i~0 ~SIZE~0))} assume !~bvslt32(~i~0, ~SIZE~0); {1190#(bvslt (_ bv1 32) ~SIZE~0)} is VALID [2018-11-23 10:40:19,492 INFO L273 TraceCheckUtils]: 10: Hoare triple {1198#(or (bvslt (_ bv1 32) ~SIZE~0) (bvslt (bvadd main_~i~0 (_ bv1 32)) ~SIZE~0))} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {1194#(or (bvslt (_ bv1 32) ~SIZE~0) (bvslt main_~i~0 ~SIZE~0))} is VALID [2018-11-23 10:40:19,492 INFO L273 TraceCheckUtils]: 9: Hoare triple {1198#(or (bvslt (_ bv1 32) ~SIZE~0) (bvslt (bvadd main_~i~0 (_ bv1 32)) ~SIZE~0))} assume !!~bvslt32(~i~0, ~SIZE~0);call write~intINTTYPE4(1bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {1198#(or (bvslt (_ bv1 32) ~SIZE~0) (bvslt (bvadd main_~i~0 (_ bv1 32)) ~SIZE~0))} is VALID [2018-11-23 10:40:19,520 INFO L273 TraceCheckUtils]: 8: Hoare triple {1205#(or (bvslt (bvadd main_~i~0 (_ bv2 32)) ~SIZE~0) (bvslt (_ bv1 32) ~SIZE~0))} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {1198#(or (bvslt (_ bv1 32) ~SIZE~0) (bvslt (bvadd main_~i~0 (_ bv1 32)) ~SIZE~0))} is VALID [2018-11-23 10:40:19,521 INFO L273 TraceCheckUtils]: 7: Hoare triple {1205#(or (bvslt (bvadd main_~i~0 (_ bv2 32)) ~SIZE~0) (bvslt (_ bv1 32) ~SIZE~0))} assume !!~bvslt32(~i~0, ~SIZE~0);call write~intINTTYPE4(1bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {1205#(or (bvslt (bvadd main_~i~0 (_ bv2 32)) ~SIZE~0) (bvslt (_ bv1 32) ~SIZE~0))} is VALID [2018-11-23 10:40:19,522 INFO L273 TraceCheckUtils]: 6: Hoare triple {1075#true} assume ~bvsgt32(~SIZE~0, 1bv32);havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~bvmul32(4bv32, ~SIZE~0));~sum~0 := 0bv32;~i~0 := 0bv32; {1205#(or (bvslt (bvadd main_~i~0 (_ bv2 32)) ~SIZE~0) (bvslt (_ bv1 32) ~SIZE~0))} is VALID [2018-11-23 10:40:19,522 INFO L273 TraceCheckUtils]: 5: Hoare triple {1075#true} ~SIZE~0 := #t~nondet1;havoc #t~nondet1; {1075#true} is VALID [2018-11-23 10:40:19,523 INFO L256 TraceCheckUtils]: 4: Hoare triple {1075#true} call #t~ret7 := main(); {1075#true} is VALID [2018-11-23 10:40:19,523 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1075#true} {1075#true} #69#return; {1075#true} is VALID [2018-11-23 10:40:19,523 INFO L273 TraceCheckUtils]: 2: Hoare triple {1075#true} assume true; {1075#true} is VALID [2018-11-23 10:40:19,523 INFO L273 TraceCheckUtils]: 1: Hoare triple {1075#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];~SIZE~0 := 0bv32; {1075#true} is VALID [2018-11-23 10:40:19,524 INFO L256 TraceCheckUtils]: 0: Hoare triple {1075#true} call ULTIMATE.init(); {1075#true} is VALID [2018-11-23 10:40:19,526 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:40:19,535 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 10:40:19,535 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 14 [2018-11-23 10:40:19,536 INFO L78 Accepts]: Start accepts. Automaton has 14 states. Word has length 24 [2018-11-23 10:40:19,536 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 10:40:19,536 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 14 states. [2018-11-23 10:40:19,629 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 10:40:19,629 INFO L459 AbstractCegarLoop]: Interpolant automaton has 14 states [2018-11-23 10:40:19,629 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2018-11-23 10:40:19,630 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=64, Invalid=118, Unknown=0, NotChecked=0, Total=182 [2018-11-23 10:40:19,630 INFO L87 Difference]: Start difference. First operand 25 states and 27 transitions. Second operand 14 states. [2018-11-23 10:40:20,798 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:40:20,798 INFO L93 Difference]: Finished difference Result 66 states and 77 transitions. [2018-11-23 10:40:20,798 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2018-11-23 10:40:20,798 INFO L78 Accepts]: Start accepts. Automaton has 14 states. Word has length 24 [2018-11-23 10:40:20,798 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 10:40:20,799 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 14 states. [2018-11-23 10:40:20,801 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 76 transitions. [2018-11-23 10:40:20,801 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 14 states. [2018-11-23 10:40:20,804 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 76 transitions. [2018-11-23 10:40:20,804 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states and 76 transitions. [2018-11-23 10:40:20,943 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 76 edges. 76 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:40:20,946 INFO L225 Difference]: With dead ends: 66 [2018-11-23 10:40:20,946 INFO L226 Difference]: Without dead ends: 55 [2018-11-23 10:40:20,947 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 50 GetRequests, 35 SyntacticMatches, 0 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 39 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=92, Invalid=180, Unknown=0, NotChecked=0, Total=272 [2018-11-23 10:40:20,947 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 55 states. [2018-11-23 10:40:20,985 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 55 to 45. [2018-11-23 10:40:20,985 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 10:40:20,985 INFO L82 GeneralOperation]: Start isEquivalent. First operand 55 states. Second operand 45 states. [2018-11-23 10:40:20,985 INFO L74 IsIncluded]: Start isIncluded. First operand 55 states. Second operand 45 states. [2018-11-23 10:40:20,986 INFO L87 Difference]: Start difference. First operand 55 states. Second operand 45 states. [2018-11-23 10:40:20,988 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:40:20,988 INFO L93 Difference]: Finished difference Result 55 states and 59 transitions. [2018-11-23 10:40:20,988 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 59 transitions. [2018-11-23 10:40:20,989 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:40:20,989 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:40:20,989 INFO L74 IsIncluded]: Start isIncluded. First operand 45 states. Second operand 55 states. [2018-11-23 10:40:20,989 INFO L87 Difference]: Start difference. First operand 45 states. Second operand 55 states. [2018-11-23 10:40:20,992 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:40:20,992 INFO L93 Difference]: Finished difference Result 55 states and 59 transitions. [2018-11-23 10:40:20,992 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 59 transitions. [2018-11-23 10:40:20,993 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:40:20,993 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:40:20,993 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 10:40:20,993 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 10:40:20,993 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 45 states. [2018-11-23 10:40:20,995 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 45 states to 45 states and 49 transitions. [2018-11-23 10:40:20,995 INFO L78 Accepts]: Start accepts. Automaton has 45 states and 49 transitions. Word has length 24 [2018-11-23 10:40:20,995 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 10:40:20,996 INFO L480 AbstractCegarLoop]: Abstraction has 45 states and 49 transitions. [2018-11-23 10:40:20,996 INFO L481 AbstractCegarLoop]: Interpolant automaton has 14 states. [2018-11-23 10:40:20,996 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 49 transitions. [2018-11-23 10:40:20,997 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2018-11-23 10:40:20,997 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 10:40:20,997 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] [2018-11-23 10:40:20,997 INFO L423 AbstractCegarLoop]: === Iteration 7 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 10:40:20,997 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 10:40:20,998 INFO L82 PathProgramCache]: Analyzing trace with hash -1106988071, now seen corresponding path program 2 times [2018-11-23 10:40:20,998 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 10:40:20,998 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 10:40:21,032 INFO L101 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2018-11-23 10:40:21,115 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-23 10:40:21,116 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 10:40:21,487 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:40:21,489 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 10:40:22,174 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 17 [2018-11-23 10:40:22,185 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 9 [2018-11-23 10:40:22,208 INFO L267 ElimStorePlain]: Start of recursive call 3: 2 dim-0 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2018-11-23 10:40:22,222 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2018-11-23 10:40:22,228 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2018-11-23 10:40:22,229 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:25, output treesize:9 [2018-11-23 10:40:22,508 INFO L256 TraceCheckUtils]: 0: Hoare triple {1513#true} call ULTIMATE.init(); {1513#true} is VALID [2018-11-23 10:40:22,508 INFO L273 TraceCheckUtils]: 1: Hoare triple {1513#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];~SIZE~0 := 0bv32; {1513#true} is VALID [2018-11-23 10:40:22,508 INFO L273 TraceCheckUtils]: 2: Hoare triple {1513#true} assume true; {1513#true} is VALID [2018-11-23 10:40:22,509 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1513#true} {1513#true} #69#return; {1513#true} is VALID [2018-11-23 10:40:22,509 INFO L256 TraceCheckUtils]: 4: Hoare triple {1513#true} call #t~ret7 := main(); {1513#true} is VALID [2018-11-23 10:40:22,509 INFO L273 TraceCheckUtils]: 5: Hoare triple {1513#true} ~SIZE~0 := #t~nondet1;havoc #t~nondet1; {1513#true} is VALID [2018-11-23 10:40:22,510 INFO L273 TraceCheckUtils]: 6: Hoare triple {1513#true} assume ~bvsgt32(~SIZE~0, 1bv32);havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~bvmul32(4bv32, ~SIZE~0));~sum~0 := 0bv32;~i~0 := 0bv32; {1536#(and (= |main_~#a~0.offset| (_ bv0 32)) (= main_~sum~0 (_ bv0 32)))} is VALID [2018-11-23 10:40:22,511 INFO L273 TraceCheckUtils]: 7: Hoare triple {1536#(and (= |main_~#a~0.offset| (_ bv0 32)) (= main_~sum~0 (_ bv0 32)))} assume !!~bvslt32(~i~0, ~SIZE~0);call write~intINTTYPE4(1bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {1536#(and (= |main_~#a~0.offset| (_ bv0 32)) (= main_~sum~0 (_ bv0 32)))} is VALID [2018-11-23 10:40:22,511 INFO L273 TraceCheckUtils]: 8: Hoare triple {1536#(and (= |main_~#a~0.offset| (_ bv0 32)) (= main_~sum~0 (_ bv0 32)))} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {1536#(and (= |main_~#a~0.offset| (_ bv0 32)) (= main_~sum~0 (_ bv0 32)))} is VALID [2018-11-23 10:40:22,512 INFO L273 TraceCheckUtils]: 9: Hoare triple {1536#(and (= |main_~#a~0.offset| (_ bv0 32)) (= main_~sum~0 (_ bv0 32)))} assume !!~bvslt32(~i~0, ~SIZE~0);call write~intINTTYPE4(1bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {1536#(and (= |main_~#a~0.offset| (_ bv0 32)) (= main_~sum~0 (_ bv0 32)))} is VALID [2018-11-23 10:40:22,512 INFO L273 TraceCheckUtils]: 10: Hoare triple {1536#(and (= |main_~#a~0.offset| (_ bv0 32)) (= main_~sum~0 (_ bv0 32)))} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {1536#(and (= |main_~#a~0.offset| (_ bv0 32)) (= main_~sum~0 (_ bv0 32)))} is VALID [2018-11-23 10:40:22,513 INFO L273 TraceCheckUtils]: 11: Hoare triple {1536#(and (= |main_~#a~0.offset| (_ bv0 32)) (= main_~sum~0 (_ bv0 32)))} assume !~bvslt32(~i~0, ~SIZE~0); {1536#(and (= |main_~#a~0.offset| (_ bv0 32)) (= main_~sum~0 (_ bv0 32)))} is VALID [2018-11-23 10:40:22,514 INFO L273 TraceCheckUtils]: 12: Hoare triple {1536#(and (= |main_~#a~0.offset| (_ bv0 32)) (= main_~sum~0 (_ bv0 32)))} ~i~0 := 0bv32; {1555#(and (= |main_~#a~0.offset| (_ bv0 32)) (= main_~i~0 (_ bv0 32)) (= main_~sum~0 (_ bv0 32)))} is VALID [2018-11-23 10:40:22,517 INFO L273 TraceCheckUtils]: 13: Hoare triple {1555#(and (= |main_~#a~0.offset| (_ bv0 32)) (= main_~i~0 (_ bv0 32)) (= main_~sum~0 (_ bv0 32)))} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem4 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);~sum~0 := ~bvadd32(~sum~0, #t~mem4);havoc #t~mem4; {1559#(and (= main_~sum~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0)))) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~i~0 (_ bv0 32)))} is VALID [2018-11-23 10:40:22,518 INFO L273 TraceCheckUtils]: 14: Hoare triple {1559#(and (= main_~sum~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0)))) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~i~0 (_ bv0 32)))} #t~post3 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post3);havoc #t~post3; {1563#(and (= main_~sum~0 (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) (= |main_~#a~0.offset| (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:40:22,519 INFO L273 TraceCheckUtils]: 15: Hoare triple {1563#(and (= main_~sum~0 (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) (= |main_~#a~0.offset| (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem4 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);~sum~0 := ~bvadd32(~sum~0, #t~mem4);havoc #t~mem4; {1567#(and (= |main_~#a~0.offset| (_ bv0 32)) (= (bvadd (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0)))) main_~sum~0) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:40:22,520 INFO L273 TraceCheckUtils]: 16: Hoare triple {1567#(and (= |main_~#a~0.offset| (_ bv0 32)) (= (bvadd (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0)))) main_~sum~0) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} #t~post3 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post3);havoc #t~post3; {1571#(and (= main_~sum~0 (bvadd (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv4 32))))) (= |main_~#a~0.offset| (_ bv0 32)))} is VALID [2018-11-23 10:40:22,521 INFO L273 TraceCheckUtils]: 17: Hoare triple {1571#(and (= main_~sum~0 (bvadd (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv4 32))))) (= |main_~#a~0.offset| (_ bv0 32)))} assume !~bvslt32(~i~0, ~SIZE~0); {1571#(and (= main_~sum~0 (bvadd (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv4 32))))) (= |main_~#a~0.offset| (_ bv0 32)))} is VALID [2018-11-23 10:40:22,522 INFO L273 TraceCheckUtils]: 18: Hoare triple {1571#(and (= main_~sum~0 (bvadd (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv4 32))))) (= |main_~#a~0.offset| (_ bv0 32)))} ~i~0 := 0bv32; {1578#(and (= main_~sum~0 (bvadd (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv4 32))))) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~i~0 (_ bv0 32)))} is VALID [2018-11-23 10:40:22,598 INFO L273 TraceCheckUtils]: 19: Hoare triple {1578#(and (= main_~sum~0 (bvadd (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv4 32))))) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~i~0 (_ bv0 32)))} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem6 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);~sum~0 := ~bvsub32(~sum~0, #t~mem6);havoc #t~mem6; {1582#(and (= (bvadd (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv4 32))) (bvneg (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0))))) main_~sum~0) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~i~0 (_ bv0 32)))} is VALID [2018-11-23 10:40:22,600 INFO L273 TraceCheckUtils]: 20: Hoare triple {1582#(and (= (bvadd (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv4 32))) (bvneg (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0))))) main_~sum~0) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~i~0 (_ bv0 32)))} #t~post5 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post5);havoc #t~post5; {1586#(and (= main_~sum~0 (bvadd (bvneg (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv4 32))))) (= |main_~#a~0.offset| (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:40:22,614 INFO L273 TraceCheckUtils]: 21: Hoare triple {1586#(and (= main_~sum~0 (bvadd (bvneg (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv4 32))))) (= |main_~#a~0.offset| (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem6 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);~sum~0 := ~bvsub32(~sum~0, #t~mem6);havoc #t~mem6; {1590#(exists ((v_arrayElimCell_2 (_ BitVec 32)) (v_arrayElimCell_3 (_ BitVec 32))) (= (bvadd (bvneg v_arrayElimCell_2) (bvneg v_arrayElimCell_3) v_arrayElimCell_2 v_arrayElimCell_3) main_~sum~0))} is VALID [2018-11-23 10:40:22,615 INFO L273 TraceCheckUtils]: 22: Hoare triple {1590#(exists ((v_arrayElimCell_2 (_ BitVec 32)) (v_arrayElimCell_3 (_ BitVec 32))) (= (bvadd (bvneg v_arrayElimCell_2) (bvneg v_arrayElimCell_3) v_arrayElimCell_2 v_arrayElimCell_3) main_~sum~0))} #t~post5 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post5);havoc #t~post5; {1590#(exists ((v_arrayElimCell_2 (_ BitVec 32)) (v_arrayElimCell_3 (_ BitVec 32))) (= (bvadd (bvneg v_arrayElimCell_2) (bvneg v_arrayElimCell_3) v_arrayElimCell_2 v_arrayElimCell_3) main_~sum~0))} is VALID [2018-11-23 10:40:22,616 INFO L273 TraceCheckUtils]: 23: Hoare triple {1590#(exists ((v_arrayElimCell_2 (_ BitVec 32)) (v_arrayElimCell_3 (_ BitVec 32))) (= (bvadd (bvneg v_arrayElimCell_2) (bvneg v_arrayElimCell_3) v_arrayElimCell_2 v_arrayElimCell_3) main_~sum~0))} assume !~bvslt32(~i~0, ~SIZE~0); {1590#(exists ((v_arrayElimCell_2 (_ BitVec 32)) (v_arrayElimCell_3 (_ BitVec 32))) (= (bvadd (bvneg v_arrayElimCell_2) (bvneg v_arrayElimCell_3) v_arrayElimCell_2 v_arrayElimCell_3) main_~sum~0))} is VALID [2018-11-23 10:40:22,617 INFO L256 TraceCheckUtils]: 24: Hoare triple {1590#(exists ((v_arrayElimCell_2 (_ BitVec 32)) (v_arrayElimCell_3 (_ BitVec 32))) (= (bvadd (bvneg v_arrayElimCell_2) (bvneg v_arrayElimCell_3) v_arrayElimCell_2 v_arrayElimCell_3) main_~sum~0))} call __VERIFIER_assert((if 0bv32 == ~sum~0 then 1bv32 else 0bv32)); {1600#(= (bvadd |__VERIFIER_assert_#in~cond| (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 10:40:22,618 INFO L273 TraceCheckUtils]: 25: Hoare triple {1600#(= (bvadd |__VERIFIER_assert_#in~cond| (_ bv4294967295 32)) (_ bv0 32))} ~cond := #in~cond; {1604#(= (bvadd __VERIFIER_assert_~cond (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 10:40:22,618 INFO L273 TraceCheckUtils]: 26: Hoare triple {1604#(= (bvadd __VERIFIER_assert_~cond (_ bv4294967295 32)) (_ bv0 32))} assume 0bv32 == ~cond; {1514#false} is VALID [2018-11-23 10:40:22,618 INFO L273 TraceCheckUtils]: 27: Hoare triple {1514#false} assume !false; {1514#false} is VALID [2018-11-23 10:40:22,622 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 8 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2018-11-23 10:40:22,623 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-23 10:40:24,307 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 37 treesize of output 29 [2018-11-23 10:40:26,325 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 10:40:26,344 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 10:40:26,419 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 4 select indices, 4 select index equivalence classes, 4 disjoint index pairs (out of 6 index pairs), introduced 4 new quantified variables, introduced 4 case distinctions, treesize of input 29 treesize of output 82 [2018-11-23 10:40:29,338 INFO L267 ElimStorePlain]: Start of recursive call 3: 13 dim-0 vars, End of recursive call: 13 dim-0 vars, and 16 xjuncts. [2018-11-23 10:40:29,430 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 2 xjuncts. [2018-11-23 10:40:29,441 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: 2 dim-0 vars, and 2 xjuncts. [2018-11-23 10:40:29,441 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:37, output treesize:21 [2018-11-23 10:40:29,495 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 10:40:29,495 WARN L384 uantifierElimination]: Input elimination task: ∀ [|#memory_int|, |main_~#a~0.base|]. (= (let ((.cse1 (bvmul (_ bv4 32) main_~i~0)) (.cse0 (select |#memory_int| |main_~#a~0.base|))) (bvadd (bvneg (select .cse0 |main_~#a~0.offset|)) (select .cse0 (bvadd |main_~#a~0.offset| .cse1 (_ bv4 32))) (select .cse0 (bvadd |main_~#a~0.offset| .cse1)) main_~sum~0 (bvneg (select .cse0 (bvadd |main_~#a~0.offset| (_ bv4 32)))))) (_ bv0 32)) [2018-11-23 10:40:29,496 WARN L385 uantifierElimination]: ElimStorePlain result: ∀ [v_prenex_9, v_prenex_10]. (and (= (_ bv0 32) (bvadd main_~sum~0 v_prenex_9 (bvneg v_prenex_9) v_prenex_10 (bvneg v_prenex_10))) (= (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4 32)) (bvadd |main_~#a~0.offset| (_ bv4 32)))) [2018-11-23 10:40:29,649 INFO L273 TraceCheckUtils]: 27: Hoare triple {1514#false} assume !false; {1514#false} is VALID [2018-11-23 10:40:29,649 INFO L273 TraceCheckUtils]: 26: Hoare triple {1614#(not (= (_ bv0 32) __VERIFIER_assert_~cond))} assume 0bv32 == ~cond; {1514#false} is VALID [2018-11-23 10:40:29,650 INFO L273 TraceCheckUtils]: 25: Hoare triple {1618#(not (= |__VERIFIER_assert_#in~cond| (_ bv0 32)))} ~cond := #in~cond; {1614#(not (= (_ bv0 32) __VERIFIER_assert_~cond))} is VALID [2018-11-23 10:40:29,651 INFO L256 TraceCheckUtils]: 24: Hoare triple {1622#(= main_~sum~0 (_ bv0 32))} call __VERIFIER_assert((if 0bv32 == ~sum~0 then 1bv32 else 0bv32)); {1618#(not (= |__VERIFIER_assert_#in~cond| (_ bv0 32)))} is VALID [2018-11-23 10:40:29,653 INFO L273 TraceCheckUtils]: 23: Hoare triple {1622#(= main_~sum~0 (_ bv0 32))} assume !~bvslt32(~i~0, ~SIZE~0); {1622#(= main_~sum~0 (_ bv0 32))} is VALID [2018-11-23 10:40:29,653 INFO L273 TraceCheckUtils]: 22: Hoare triple {1622#(= main_~sum~0 (_ bv0 32))} #t~post5 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post5);havoc #t~post5; {1622#(= main_~sum~0 (_ bv0 32))} is VALID [2018-11-23 10:40:29,655 INFO L273 TraceCheckUtils]: 21: Hoare triple {1632#(= (_ bv0 32) (bvadd main_~sum~0 (bvneg (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0))))))} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem6 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);~sum~0 := ~bvsub32(~sum~0, #t~mem6);havoc #t~mem6; {1622#(= main_~sum~0 (_ bv0 32))} is VALID [2018-11-23 10:40:29,875 INFO L273 TraceCheckUtils]: 20: Hoare triple {1636#(= (bvadd main_~sum~0 (bvneg (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4 32))))) (_ bv0 32))} #t~post5 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post5);havoc #t~post5; {1632#(= (_ bv0 32) (bvadd main_~sum~0 (bvneg (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0))))))} is VALID [2018-11-23 10:40:30,046 INFO L273 TraceCheckUtils]: 19: Hoare triple {1640#(= (bvadd main_~sum~0 (bvneg (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4 32)))) (bvneg (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0))))) (_ bv0 32))} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem6 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);~sum~0 := ~bvsub32(~sum~0, #t~mem6);havoc #t~mem6; {1636#(= (bvadd main_~sum~0 (bvneg (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4 32))))) (_ bv0 32))} is VALID [2018-11-23 10:40:30,107 INFO L273 TraceCheckUtils]: 18: Hoare triple {1644#(= (_ bv0 32) (bvadd (bvneg (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) main_~sum~0 (bvneg (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv4 32))))))} ~i~0 := 0bv32; {1640#(= (bvadd main_~sum~0 (bvneg (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4 32)))) (bvneg (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0))))) (_ bv0 32))} is VALID [2018-11-23 10:40:30,108 INFO L273 TraceCheckUtils]: 17: Hoare triple {1644#(= (_ bv0 32) (bvadd (bvneg (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) main_~sum~0 (bvneg (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv4 32))))))} assume !~bvslt32(~i~0, ~SIZE~0); {1644#(= (_ bv0 32) (bvadd (bvneg (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) main_~sum~0 (bvneg (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv4 32))))))} is VALID [2018-11-23 10:40:30,109 INFO L273 TraceCheckUtils]: 16: Hoare triple {1644#(= (_ bv0 32) (bvadd (bvneg (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) main_~sum~0 (bvneg (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv4 32))))))} #t~post3 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post3);havoc #t~post3; {1644#(= (_ bv0 32) (bvadd (bvneg (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) main_~sum~0 (bvneg (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv4 32))))))} is VALID [2018-11-23 10:40:30,163 INFO L273 TraceCheckUtils]: 15: Hoare triple {1654#(= (bvadd (bvneg (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0))) main_~sum~0 (bvneg (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv4 32))))) (_ bv0 32))} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem4 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);~sum~0 := ~bvadd32(~sum~0, #t~mem4);havoc #t~mem4; {1644#(= (_ bv0 32) (bvadd (bvneg (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) main_~sum~0 (bvneg (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv4 32))))))} is VALID [2018-11-23 10:40:32,181 INFO L273 TraceCheckUtils]: 14: Hoare triple {1658#(= (bvadd (bvneg (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4 32))) main_~sum~0 (bvneg (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv4 32))))) (_ bv0 32))} #t~post3 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post3);havoc #t~post3; {1654#(= (bvadd (bvneg (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0))) main_~sum~0 (bvneg (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv4 32))))) (_ bv0 32))} is UNKNOWN [2018-11-23 10:40:32,182 INFO L273 TraceCheckUtils]: 13: Hoare triple {1662#(and (= (bvmul (_ bv4 32) main_~i~0) (_ bv0 32)) (forall ((v_prenex_10 (_ BitVec 32)) (v_prenex_9 (_ BitVec 32))) (= (_ bv0 32) (bvadd v_prenex_10 main_~sum~0 v_prenex_9 (bvneg v_prenex_10) (bvneg v_prenex_9)))))} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem4 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);~sum~0 := ~bvadd32(~sum~0, #t~mem4);havoc #t~mem4; {1658#(= (bvadd (bvneg (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4 32))) main_~sum~0 (bvneg (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv4 32))))) (_ bv0 32))} is VALID [2018-11-23 10:40:32,185 INFO L273 TraceCheckUtils]: 12: Hoare triple {1622#(= main_~sum~0 (_ bv0 32))} ~i~0 := 0bv32; {1662#(and (= (bvmul (_ bv4 32) main_~i~0) (_ bv0 32)) (forall ((v_prenex_10 (_ BitVec 32)) (v_prenex_9 (_ BitVec 32))) (= (_ bv0 32) (bvadd v_prenex_10 main_~sum~0 v_prenex_9 (bvneg v_prenex_10) (bvneg v_prenex_9)))))} is VALID [2018-11-23 10:40:32,185 INFO L273 TraceCheckUtils]: 11: Hoare triple {1622#(= main_~sum~0 (_ bv0 32))} assume !~bvslt32(~i~0, ~SIZE~0); {1622#(= main_~sum~0 (_ bv0 32))} is VALID [2018-11-23 10:40:32,186 INFO L273 TraceCheckUtils]: 10: Hoare triple {1622#(= main_~sum~0 (_ bv0 32))} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {1622#(= main_~sum~0 (_ bv0 32))} is VALID [2018-11-23 10:40:32,186 INFO L273 TraceCheckUtils]: 9: Hoare triple {1622#(= main_~sum~0 (_ bv0 32))} assume !!~bvslt32(~i~0, ~SIZE~0);call write~intINTTYPE4(1bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {1622#(= main_~sum~0 (_ bv0 32))} is VALID [2018-11-23 10:40:32,197 INFO L273 TraceCheckUtils]: 8: Hoare triple {1622#(= main_~sum~0 (_ bv0 32))} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {1622#(= main_~sum~0 (_ bv0 32))} is VALID [2018-11-23 10:40:32,199 INFO L273 TraceCheckUtils]: 7: Hoare triple {1622#(= main_~sum~0 (_ bv0 32))} assume !!~bvslt32(~i~0, ~SIZE~0);call write~intINTTYPE4(1bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {1622#(= main_~sum~0 (_ bv0 32))} is VALID [2018-11-23 10:40:32,199 INFO L273 TraceCheckUtils]: 6: Hoare triple {1513#true} assume ~bvsgt32(~SIZE~0, 1bv32);havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~bvmul32(4bv32, ~SIZE~0));~sum~0 := 0bv32;~i~0 := 0bv32; {1622#(= main_~sum~0 (_ bv0 32))} is VALID [2018-11-23 10:40:32,199 INFO L273 TraceCheckUtils]: 5: Hoare triple {1513#true} ~SIZE~0 := #t~nondet1;havoc #t~nondet1; {1513#true} is VALID [2018-11-23 10:40:32,200 INFO L256 TraceCheckUtils]: 4: Hoare triple {1513#true} call #t~ret7 := main(); {1513#true} is VALID [2018-11-23 10:40:32,200 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1513#true} {1513#true} #69#return; {1513#true} is VALID [2018-11-23 10:40:32,200 INFO L273 TraceCheckUtils]: 2: Hoare triple {1513#true} assume true; {1513#true} is VALID [2018-11-23 10:40:32,200 INFO L273 TraceCheckUtils]: 1: Hoare triple {1513#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];~SIZE~0 := 0bv32; {1513#true} is VALID [2018-11-23 10:40:32,200 INFO L256 TraceCheckUtils]: 0: Hoare triple {1513#true} call ULTIMATE.init(); {1513#true} is VALID [2018-11-23 10:40:32,202 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 8 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2018-11-23 10:40:32,204 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 10:40:32,204 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 12] total 24 [2018-11-23 10:40:32,204 INFO L78 Accepts]: Start accepts. Automaton has 24 states. Word has length 28 [2018-11-23 10:40:32,205 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 10:40:32,205 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 24 states. [2018-11-23 10:40:36,828 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 43 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2018-11-23 10:40:36,829 INFO L459 AbstractCegarLoop]: Interpolant automaton has 24 states [2018-11-23 10:40:36,829 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 24 interpolants. [2018-11-23 10:40:36,829 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=69, Invalid=483, Unknown=0, NotChecked=0, Total=552 [2018-11-23 10:40:36,829 INFO L87 Difference]: Start difference. First operand 45 states and 49 transitions. Second operand 24 states. [2018-11-23 10:40:39,226 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:40:39,227 INFO L93 Difference]: Finished difference Result 50 states and 53 transitions. [2018-11-23 10:40:39,227 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2018-11-23 10:40:39,227 INFO L78 Accepts]: Start accepts. Automaton has 24 states. Word has length 28 [2018-11-23 10:40:39,227 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 10:40:39,228 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 24 states. [2018-11-23 10:40:39,229 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 40 transitions. [2018-11-23 10:40:39,229 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 24 states. [2018-11-23 10:40:39,231 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 40 transitions. [2018-11-23 10:40:39,231 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 13 states and 40 transitions. [2018-11-23 10:40:39,448 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:40:39,449 INFO L225 Difference]: With dead ends: 50 [2018-11-23 10:40:39,449 INFO L226 Difference]: Without dead ends: 33 [2018-11-23 10:40:39,450 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 56 GetRequests, 32 SyntacticMatches, 1 SemanticMatches, 23 ConstructedPredicates, 0 IntricatePredicates, 1 DeprecatedPredicates, 131 ImplicationChecksByTransitivity, 2.3s TimeCoverageRelationStatistics Valid=75, Invalid=525, Unknown=0, NotChecked=0, Total=600 [2018-11-23 10:40:39,450 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 33 states. [2018-11-23 10:40:39,484 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 33 to 33. [2018-11-23 10:40:39,484 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 10:40:39,484 INFO L82 GeneralOperation]: Start isEquivalent. First operand 33 states. Second operand 33 states. [2018-11-23 10:40:39,484 INFO L74 IsIncluded]: Start isIncluded. First operand 33 states. Second operand 33 states. [2018-11-23 10:40:39,485 INFO L87 Difference]: Start difference. First operand 33 states. Second operand 33 states. [2018-11-23 10:40:39,487 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:40:39,488 INFO L93 Difference]: Finished difference Result 33 states and 35 transitions. [2018-11-23 10:40:39,488 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 35 transitions. [2018-11-23 10:40:39,488 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:40:39,489 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:40:39,489 INFO L74 IsIncluded]: Start isIncluded. First operand 33 states. Second operand 33 states. [2018-11-23 10:40:39,489 INFO L87 Difference]: Start difference. First operand 33 states. Second operand 33 states. [2018-11-23 10:40:39,490 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:40:39,491 INFO L93 Difference]: Finished difference Result 33 states and 35 transitions. [2018-11-23 10:40:39,491 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 35 transitions. [2018-11-23 10:40:39,491 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:40:39,491 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:40:39,492 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 10:40:39,492 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 10:40:39,492 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 33 states. [2018-11-23 10:40:39,493 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 35 transitions. [2018-11-23 10:40:39,493 INFO L78 Accepts]: Start accepts. Automaton has 33 states and 35 transitions. Word has length 28 [2018-11-23 10:40:39,494 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 10:40:39,494 INFO L480 AbstractCegarLoop]: Abstraction has 33 states and 35 transitions. [2018-11-23 10:40:39,494 INFO L481 AbstractCegarLoop]: Interpolant automaton has 24 states. [2018-11-23 10:40:39,494 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 35 transitions. [2018-11-23 10:40:39,495 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2018-11-23 10:40:39,495 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 10:40:39,495 INFO L402 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 10:40:39,495 INFO L423 AbstractCegarLoop]: === Iteration 8 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 10:40:39,495 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 10:40:39,496 INFO L82 PathProgramCache]: Analyzing trace with hash -1542936939, now seen corresponding path program 3 times [2018-11-23 10:40:39,496 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 10:40:39,496 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 10:40:39,517 INFO L101 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2018-11-23 10:40:39,709 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 4 check-sat command(s) [2018-11-23 10:40:39,710 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 10:40:39,741 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:40:39,742 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 10:40:39,907 INFO L256 TraceCheckUtils]: 0: Hoare triple {1897#true} call ULTIMATE.init(); {1897#true} is VALID [2018-11-23 10:40:39,907 INFO L273 TraceCheckUtils]: 1: Hoare triple {1897#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];~SIZE~0 := 0bv32; {1897#true} is VALID [2018-11-23 10:40:39,907 INFO L273 TraceCheckUtils]: 2: Hoare triple {1897#true} assume true; {1897#true} is VALID [2018-11-23 10:40:39,907 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1897#true} {1897#true} #69#return; {1897#true} is VALID [2018-11-23 10:40:39,908 INFO L256 TraceCheckUtils]: 4: Hoare triple {1897#true} call #t~ret7 := main(); {1897#true} is VALID [2018-11-23 10:40:39,908 INFO L273 TraceCheckUtils]: 5: Hoare triple {1897#true} ~SIZE~0 := #t~nondet1;havoc #t~nondet1; {1897#true} is VALID [2018-11-23 10:40:39,908 INFO L273 TraceCheckUtils]: 6: Hoare triple {1897#true} assume ~bvsgt32(~SIZE~0, 1bv32);havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~bvmul32(4bv32, ~SIZE~0));~sum~0 := 0bv32;~i~0 := 0bv32; {1920#(bvsgt ~SIZE~0 (_ bv1 32))} is VALID [2018-11-23 10:40:39,908 INFO L273 TraceCheckUtils]: 7: Hoare triple {1920#(bvsgt ~SIZE~0 (_ bv1 32))} assume !!~bvslt32(~i~0, ~SIZE~0);call write~intINTTYPE4(1bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {1920#(bvsgt ~SIZE~0 (_ bv1 32))} is VALID [2018-11-23 10:40:39,909 INFO L273 TraceCheckUtils]: 8: Hoare triple {1920#(bvsgt ~SIZE~0 (_ bv1 32))} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {1920#(bvsgt ~SIZE~0 (_ bv1 32))} is VALID [2018-11-23 10:40:39,909 INFO L273 TraceCheckUtils]: 9: Hoare triple {1920#(bvsgt ~SIZE~0 (_ bv1 32))} assume !!~bvslt32(~i~0, ~SIZE~0);call write~intINTTYPE4(1bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {1920#(bvsgt ~SIZE~0 (_ bv1 32))} is VALID [2018-11-23 10:40:39,910 INFO L273 TraceCheckUtils]: 10: Hoare triple {1920#(bvsgt ~SIZE~0 (_ bv1 32))} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {1920#(bvsgt ~SIZE~0 (_ bv1 32))} is VALID [2018-11-23 10:40:39,910 INFO L273 TraceCheckUtils]: 11: Hoare triple {1920#(bvsgt ~SIZE~0 (_ bv1 32))} assume !!~bvslt32(~i~0, ~SIZE~0);call write~intINTTYPE4(1bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {1920#(bvsgt ~SIZE~0 (_ bv1 32))} is VALID [2018-11-23 10:40:39,910 INFO L273 TraceCheckUtils]: 12: Hoare triple {1920#(bvsgt ~SIZE~0 (_ bv1 32))} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {1920#(bvsgt ~SIZE~0 (_ bv1 32))} is VALID [2018-11-23 10:40:39,911 INFO L273 TraceCheckUtils]: 13: Hoare triple {1920#(bvsgt ~SIZE~0 (_ bv1 32))} assume !~bvslt32(~i~0, ~SIZE~0); {1920#(bvsgt ~SIZE~0 (_ bv1 32))} is VALID [2018-11-23 10:40:39,912 INFO L273 TraceCheckUtils]: 14: Hoare triple {1920#(bvsgt ~SIZE~0 (_ bv1 32))} ~i~0 := 0bv32; {1945#(and (= main_~i~0 (_ bv0 32)) (bvsgt ~SIZE~0 (_ bv1 32)))} is VALID [2018-11-23 10:40:39,913 INFO L273 TraceCheckUtils]: 15: Hoare triple {1945#(and (= main_~i~0 (_ bv0 32)) (bvsgt ~SIZE~0 (_ bv1 32)))} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem4 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);~sum~0 := ~bvadd32(~sum~0, #t~mem4);havoc #t~mem4; {1945#(and (= main_~i~0 (_ bv0 32)) (bvsgt ~SIZE~0 (_ bv1 32)))} is VALID [2018-11-23 10:40:39,914 INFO L273 TraceCheckUtils]: 16: Hoare triple {1945#(and (= main_~i~0 (_ bv0 32)) (bvsgt ~SIZE~0 (_ bv1 32)))} #t~post3 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post3);havoc #t~post3; {1952#(and (bvsgt ~SIZE~0 (_ bv1 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:40:39,915 INFO L273 TraceCheckUtils]: 17: Hoare triple {1952#(and (bvsgt ~SIZE~0 (_ bv1 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem4 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);~sum~0 := ~bvadd32(~sum~0, #t~mem4);havoc #t~mem4; {1952#(and (bvsgt ~SIZE~0 (_ bv1 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:40:39,916 INFO L273 TraceCheckUtils]: 18: Hoare triple {1952#(and (bvsgt ~SIZE~0 (_ bv1 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} #t~post3 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post3);havoc #t~post3; {1959#(and (bvsgt ~SIZE~0 (_ bv1 32)) (= (_ bv2 32) main_~i~0))} is VALID [2018-11-23 10:40:39,917 INFO L273 TraceCheckUtils]: 19: Hoare triple {1959#(and (bvsgt ~SIZE~0 (_ bv1 32)) (= (_ bv2 32) main_~i~0))} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem4 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);~sum~0 := ~bvadd32(~sum~0, #t~mem4);havoc #t~mem4; {1963#(bvslt (_ bv2 32) ~SIZE~0)} is VALID [2018-11-23 10:40:39,917 INFO L273 TraceCheckUtils]: 20: Hoare triple {1963#(bvslt (_ bv2 32) ~SIZE~0)} #t~post3 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post3);havoc #t~post3; {1963#(bvslt (_ bv2 32) ~SIZE~0)} is VALID [2018-11-23 10:40:39,918 INFO L273 TraceCheckUtils]: 21: Hoare triple {1963#(bvslt (_ bv2 32) ~SIZE~0)} assume !~bvslt32(~i~0, ~SIZE~0); {1963#(bvslt (_ bv2 32) ~SIZE~0)} is VALID [2018-11-23 10:40:39,919 INFO L273 TraceCheckUtils]: 22: Hoare triple {1963#(bvslt (_ bv2 32) ~SIZE~0)} ~i~0 := 0bv32; {1973#(and (= main_~i~0 (_ bv0 32)) (bvslt (_ bv2 32) ~SIZE~0))} is VALID [2018-11-23 10:40:39,919 INFO L273 TraceCheckUtils]: 23: Hoare triple {1973#(and (= main_~i~0 (_ bv0 32)) (bvslt (_ bv2 32) ~SIZE~0))} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem6 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);~sum~0 := ~bvsub32(~sum~0, #t~mem6);havoc #t~mem6; {1973#(and (= main_~i~0 (_ bv0 32)) (bvslt (_ bv2 32) ~SIZE~0))} is VALID [2018-11-23 10:40:39,920 INFO L273 TraceCheckUtils]: 24: Hoare triple {1973#(and (= main_~i~0 (_ bv0 32)) (bvslt (_ bv2 32) ~SIZE~0))} #t~post5 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post5);havoc #t~post5; {1980#(and (bvslt (_ bv2 32) ~SIZE~0) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:40:39,921 INFO L273 TraceCheckUtils]: 25: Hoare triple {1980#(and (bvslt (_ bv2 32) ~SIZE~0) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem6 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);~sum~0 := ~bvsub32(~sum~0, #t~mem6);havoc #t~mem6; {1980#(and (bvslt (_ bv2 32) ~SIZE~0) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:40:39,922 INFO L273 TraceCheckUtils]: 26: Hoare triple {1980#(and (bvslt (_ bv2 32) ~SIZE~0) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} #t~post5 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post5);havoc #t~post5; {1987#(and (= (_ bv2 32) main_~i~0) (bvslt (_ bv2 32) ~SIZE~0))} is VALID [2018-11-23 10:40:39,923 INFO L273 TraceCheckUtils]: 27: Hoare triple {1987#(and (= (_ bv2 32) main_~i~0) (bvslt (_ bv2 32) ~SIZE~0))} assume !~bvslt32(~i~0, ~SIZE~0); {1898#false} is VALID [2018-11-23 10:40:39,923 INFO L256 TraceCheckUtils]: 28: Hoare triple {1898#false} call __VERIFIER_assert((if 0bv32 == ~sum~0 then 1bv32 else 0bv32)); {1898#false} is VALID [2018-11-23 10:40:39,924 INFO L273 TraceCheckUtils]: 29: Hoare triple {1898#false} ~cond := #in~cond; {1898#false} is VALID [2018-11-23 10:40:39,924 INFO L273 TraceCheckUtils]: 30: Hoare triple {1898#false} assume 0bv32 == ~cond; {1898#false} is VALID [2018-11-23 10:40:39,924 INFO L273 TraceCheckUtils]: 31: Hoare triple {1898#false} assume !false; {1898#false} is VALID [2018-11-23 10:40:39,928 INFO L134 CoverageAnalysis]: Checked inductivity of 22 backedges. 0 proven. 13 refuted. 0 times theorem prover too weak. 9 trivial. 0 not checked. [2018-11-23 10:40:39,928 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-23 10:40:40,175 INFO L273 TraceCheckUtils]: 31: Hoare triple {1898#false} assume !false; {1898#false} is VALID [2018-11-23 10:40:40,175 INFO L273 TraceCheckUtils]: 30: Hoare triple {1898#false} assume 0bv32 == ~cond; {1898#false} is VALID [2018-11-23 10:40:40,175 INFO L273 TraceCheckUtils]: 29: Hoare triple {1898#false} ~cond := #in~cond; {1898#false} is VALID [2018-11-23 10:40:40,175 INFO L256 TraceCheckUtils]: 28: Hoare triple {1898#false} call __VERIFIER_assert((if 0bv32 == ~sum~0 then 1bv32 else 0bv32)); {1898#false} is VALID [2018-11-23 10:40:40,176 INFO L273 TraceCheckUtils]: 27: Hoare triple {2015#(bvslt main_~i~0 ~SIZE~0)} assume !~bvslt32(~i~0, ~SIZE~0); {1898#false} is VALID [2018-11-23 10:40:40,178 INFO L273 TraceCheckUtils]: 26: Hoare triple {2019#(bvslt (bvadd main_~i~0 (_ bv1 32)) ~SIZE~0)} #t~post5 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post5);havoc #t~post5; {2015#(bvslt main_~i~0 ~SIZE~0)} is VALID [2018-11-23 10:40:40,180 INFO L273 TraceCheckUtils]: 25: Hoare triple {2019#(bvslt (bvadd main_~i~0 (_ bv1 32)) ~SIZE~0)} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem6 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);~sum~0 := ~bvsub32(~sum~0, #t~mem6);havoc #t~mem6; {2019#(bvslt (bvadd main_~i~0 (_ bv1 32)) ~SIZE~0)} is VALID [2018-11-23 10:40:40,210 INFO L273 TraceCheckUtils]: 24: Hoare triple {2026#(bvslt (bvadd main_~i~0 (_ bv2 32)) ~SIZE~0)} #t~post5 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post5);havoc #t~post5; {2019#(bvslt (bvadd main_~i~0 (_ bv1 32)) ~SIZE~0)} is VALID [2018-11-23 10:40:40,212 INFO L273 TraceCheckUtils]: 23: Hoare triple {2026#(bvslt (bvadd main_~i~0 (_ bv2 32)) ~SIZE~0)} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem6 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);~sum~0 := ~bvsub32(~sum~0, #t~mem6);havoc #t~mem6; {2026#(bvslt (bvadd main_~i~0 (_ bv2 32)) ~SIZE~0)} is VALID [2018-11-23 10:40:40,213 INFO L273 TraceCheckUtils]: 22: Hoare triple {1963#(bvslt (_ bv2 32) ~SIZE~0)} ~i~0 := 0bv32; {2026#(bvslt (bvadd main_~i~0 (_ bv2 32)) ~SIZE~0)} is VALID [2018-11-23 10:40:40,213 INFO L273 TraceCheckUtils]: 21: Hoare triple {1963#(bvslt (_ bv2 32) ~SIZE~0)} assume !~bvslt32(~i~0, ~SIZE~0); {1963#(bvslt (_ bv2 32) ~SIZE~0)} is VALID [2018-11-23 10:40:40,213 INFO L273 TraceCheckUtils]: 20: Hoare triple {1963#(bvslt (_ bv2 32) ~SIZE~0)} #t~post3 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post3);havoc #t~post3; {1963#(bvslt (_ bv2 32) ~SIZE~0)} is VALID [2018-11-23 10:40:40,214 INFO L273 TraceCheckUtils]: 19: Hoare triple {2042#(or (not (bvslt main_~i~0 ~SIZE~0)) (bvslt (_ bv2 32) ~SIZE~0))} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem4 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);~sum~0 := ~bvadd32(~sum~0, #t~mem4);havoc #t~mem4; {1963#(bvslt (_ bv2 32) ~SIZE~0)} is VALID [2018-11-23 10:40:40,214 INFO L273 TraceCheckUtils]: 18: Hoare triple {2046#(or (not (bvslt (bvadd main_~i~0 (_ bv1 32)) ~SIZE~0)) (bvslt (_ bv2 32) ~SIZE~0))} #t~post3 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post3);havoc #t~post3; {2042#(or (not (bvslt main_~i~0 ~SIZE~0)) (bvslt (_ bv2 32) ~SIZE~0))} is VALID [2018-11-23 10:40:40,215 INFO L273 TraceCheckUtils]: 17: Hoare triple {2046#(or (not (bvslt (bvadd main_~i~0 (_ bv1 32)) ~SIZE~0)) (bvslt (_ bv2 32) ~SIZE~0))} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem4 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);~sum~0 := ~bvadd32(~sum~0, #t~mem4);havoc #t~mem4; {2046#(or (not (bvslt (bvadd main_~i~0 (_ bv1 32)) ~SIZE~0)) (bvslt (_ bv2 32) ~SIZE~0))} is VALID [2018-11-23 10:40:40,252 INFO L273 TraceCheckUtils]: 16: Hoare triple {2053#(or (not (bvslt (bvadd main_~i~0 (_ bv2 32)) ~SIZE~0)) (bvslt (_ bv2 32) ~SIZE~0))} #t~post3 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post3);havoc #t~post3; {2046#(or (not (bvslt (bvadd main_~i~0 (_ bv1 32)) ~SIZE~0)) (bvslt (_ bv2 32) ~SIZE~0))} is VALID [2018-11-23 10:40:40,252 INFO L273 TraceCheckUtils]: 15: Hoare triple {2053#(or (not (bvslt (bvadd main_~i~0 (_ bv2 32)) ~SIZE~0)) (bvslt (_ bv2 32) ~SIZE~0))} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem4 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);~sum~0 := ~bvadd32(~sum~0, #t~mem4);havoc #t~mem4; {2053#(or (not (bvslt (bvadd main_~i~0 (_ bv2 32)) ~SIZE~0)) (bvslt (_ bv2 32) ~SIZE~0))} is VALID [2018-11-23 10:40:40,253 INFO L273 TraceCheckUtils]: 14: Hoare triple {1897#true} ~i~0 := 0bv32; {2053#(or (not (bvslt (bvadd main_~i~0 (_ bv2 32)) ~SIZE~0)) (bvslt (_ bv2 32) ~SIZE~0))} is VALID [2018-11-23 10:40:40,254 INFO L273 TraceCheckUtils]: 13: Hoare triple {1897#true} assume !~bvslt32(~i~0, ~SIZE~0); {1897#true} is VALID [2018-11-23 10:40:40,254 INFO L273 TraceCheckUtils]: 12: Hoare triple {1897#true} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {1897#true} is VALID [2018-11-23 10:40:40,254 INFO L273 TraceCheckUtils]: 11: Hoare triple {1897#true} assume !!~bvslt32(~i~0, ~SIZE~0);call write~intINTTYPE4(1bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {1897#true} is VALID [2018-11-23 10:40:40,254 INFO L273 TraceCheckUtils]: 10: Hoare triple {1897#true} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {1897#true} is VALID [2018-11-23 10:40:40,255 INFO L273 TraceCheckUtils]: 9: Hoare triple {1897#true} assume !!~bvslt32(~i~0, ~SIZE~0);call write~intINTTYPE4(1bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {1897#true} is VALID [2018-11-23 10:40:40,255 INFO L273 TraceCheckUtils]: 8: Hoare triple {1897#true} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {1897#true} is VALID [2018-11-23 10:40:40,255 INFO L273 TraceCheckUtils]: 7: Hoare triple {1897#true} assume !!~bvslt32(~i~0, ~SIZE~0);call write~intINTTYPE4(1bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {1897#true} is VALID [2018-11-23 10:40:40,255 INFO L273 TraceCheckUtils]: 6: Hoare triple {1897#true} assume ~bvsgt32(~SIZE~0, 1bv32);havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~bvmul32(4bv32, ~SIZE~0));~sum~0 := 0bv32;~i~0 := 0bv32; {1897#true} is VALID [2018-11-23 10:40:40,256 INFO L273 TraceCheckUtils]: 5: Hoare triple {1897#true} ~SIZE~0 := #t~nondet1;havoc #t~nondet1; {1897#true} is VALID [2018-11-23 10:40:40,256 INFO L256 TraceCheckUtils]: 4: Hoare triple {1897#true} call #t~ret7 := main(); {1897#true} is VALID [2018-11-23 10:40:40,256 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1897#true} {1897#true} #69#return; {1897#true} is VALID [2018-11-23 10:40:40,257 INFO L273 TraceCheckUtils]: 2: Hoare triple {1897#true} assume true; {1897#true} is VALID [2018-11-23 10:40:40,257 INFO L273 TraceCheckUtils]: 1: Hoare triple {1897#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];~SIZE~0 := 0bv32; {1897#true} is VALID [2018-11-23 10:40:40,257 INFO L256 TraceCheckUtils]: 0: Hoare triple {1897#true} call ULTIMATE.init(); {1897#true} is VALID [2018-11-23 10:40:40,259 INFO L134 CoverageAnalysis]: Checked inductivity of 22 backedges. 5 proven. 8 refuted. 0 times theorem prover too weak. 9 trivial. 0 not checked. [2018-11-23 10:40:40,267 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 10:40:40,267 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 9] total 16 [2018-11-23 10:40:40,267 INFO L78 Accepts]: Start accepts. Automaton has 16 states. Word has length 32 [2018-11-23 10:40:40,268 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 10:40:40,268 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 16 states. [2018-11-23 10:40:40,447 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:40:40,447 INFO L459 AbstractCegarLoop]: Interpolant automaton has 16 states [2018-11-23 10:40:40,448 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2018-11-23 10:40:40,448 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=69, Invalid=171, Unknown=0, NotChecked=0, Total=240 [2018-11-23 10:40:40,448 INFO L87 Difference]: Start difference. First operand 33 states and 35 transitions. Second operand 16 states. [2018-11-23 10:40:41,438 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:40:41,438 INFO L93 Difference]: Finished difference Result 43 states and 45 transitions. [2018-11-23 10:40:41,439 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2018-11-23 10:40:41,439 INFO L78 Accepts]: Start accepts. Automaton has 16 states. Word has length 32 [2018-11-23 10:40:41,439 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 10:40:41,439 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 16 states. [2018-11-23 10:40:41,441 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 45 transitions. [2018-11-23 10:40:41,441 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 16 states. [2018-11-23 10:40:41,443 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 45 transitions. [2018-11-23 10:40:41,443 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 45 transitions. [2018-11-23 10:40:41,513 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 45 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:40:41,515 INFO L225 Difference]: With dead ends: 43 [2018-11-23 10:40:41,515 INFO L226 Difference]: Without dead ends: 38 [2018-11-23 10:40:41,516 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 65 GetRequests, 50 SyntacticMatches, 0 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 67 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=80, Invalid=192, Unknown=0, NotChecked=0, Total=272 [2018-11-23 10:40:41,516 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 38 states. [2018-11-23 10:40:41,676 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 38 to 35. [2018-11-23 10:40:41,676 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 10:40:41,676 INFO L82 GeneralOperation]: Start isEquivalent. First operand 38 states. Second operand 35 states. [2018-11-23 10:40:41,676 INFO L74 IsIncluded]: Start isIncluded. First operand 38 states. Second operand 35 states. [2018-11-23 10:40:41,676 INFO L87 Difference]: Start difference. First operand 38 states. Second operand 35 states. [2018-11-23 10:40:41,679 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:40:41,679 INFO L93 Difference]: Finished difference Result 38 states and 40 transitions. [2018-11-23 10:40:41,679 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 40 transitions. [2018-11-23 10:40:41,680 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:40:41,680 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:40:41,680 INFO L74 IsIncluded]: Start isIncluded. First operand 35 states. Second operand 38 states. [2018-11-23 10:40:41,680 INFO L87 Difference]: Start difference. First operand 35 states. Second operand 38 states. [2018-11-23 10:40:41,681 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:40:41,682 INFO L93 Difference]: Finished difference Result 38 states and 40 transitions. [2018-11-23 10:40:41,682 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 40 transitions. [2018-11-23 10:40:41,682 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:40:41,682 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:40:41,682 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 10:40:41,683 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 10:40:41,683 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 35 states. [2018-11-23 10:40:41,684 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 35 states to 35 states and 37 transitions. [2018-11-23 10:40:41,684 INFO L78 Accepts]: Start accepts. Automaton has 35 states and 37 transitions. Word has length 32 [2018-11-23 10:40:41,684 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 10:40:41,684 INFO L480 AbstractCegarLoop]: Abstraction has 35 states and 37 transitions. [2018-11-23 10:40:41,684 INFO L481 AbstractCegarLoop]: Interpolant automaton has 16 states. [2018-11-23 10:40:41,685 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 37 transitions. [2018-11-23 10:40:41,685 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2018-11-23 10:40:41,685 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 10:40:41,685 INFO L402 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 10:40:41,686 INFO L423 AbstractCegarLoop]: === Iteration 9 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 10:40:41,686 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 10:40:41,686 INFO L82 PathProgramCache]: Analyzing trace with hash 18469971, now seen corresponding path program 4 times [2018-11-23 10:40:41,686 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 10:40:41,686 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 10:40:41,707 INFO L101 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2018-11-23 10:40:41,781 INFO L249 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2018-11-23 10:40:41,782 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 10:40:43,804 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unknown [2018-11-23 10:40:43,809 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 10:40:44,705 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 24 [2018-11-23 10:40:44,719 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 12 [2018-11-23 10:40:44,732 INFO L267 ElimStorePlain]: Start of recursive call 3: 3 dim-0 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-11-23 10:40:44,740 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-11-23 10:40:44,798 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-11-23 10:40:44,798 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:36, output treesize:12 [2018-11-23 10:40:45,192 INFO L256 TraceCheckUtils]: 0: Hoare triple {2299#true} call ULTIMATE.init(); {2299#true} is VALID [2018-11-23 10:40:45,193 INFO L273 TraceCheckUtils]: 1: Hoare triple {2299#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];~SIZE~0 := 0bv32; {2299#true} is VALID [2018-11-23 10:40:45,193 INFO L273 TraceCheckUtils]: 2: Hoare triple {2299#true} assume true; {2299#true} is VALID [2018-11-23 10:40:45,193 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2299#true} {2299#true} #69#return; {2299#true} is VALID [2018-11-23 10:40:45,193 INFO L256 TraceCheckUtils]: 4: Hoare triple {2299#true} call #t~ret7 := main(); {2299#true} is VALID [2018-11-23 10:40:45,193 INFO L273 TraceCheckUtils]: 5: Hoare triple {2299#true} ~SIZE~0 := #t~nondet1;havoc #t~nondet1; {2299#true} is VALID [2018-11-23 10:40:45,194 INFO L273 TraceCheckUtils]: 6: Hoare triple {2299#true} assume ~bvsgt32(~SIZE~0, 1bv32);havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~bvmul32(4bv32, ~SIZE~0));~sum~0 := 0bv32;~i~0 := 0bv32; {2322#(and (= |main_~#a~0.offset| (_ bv0 32)) (= main_~sum~0 (_ bv0 32)))} is VALID [2018-11-23 10:40:45,195 INFO L273 TraceCheckUtils]: 7: Hoare triple {2322#(and (= |main_~#a~0.offset| (_ bv0 32)) (= main_~sum~0 (_ bv0 32)))} assume !!~bvslt32(~i~0, ~SIZE~0);call write~intINTTYPE4(1bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {2322#(and (= |main_~#a~0.offset| (_ bv0 32)) (= main_~sum~0 (_ bv0 32)))} is VALID [2018-11-23 10:40:45,195 INFO L273 TraceCheckUtils]: 8: Hoare triple {2322#(and (= |main_~#a~0.offset| (_ bv0 32)) (= main_~sum~0 (_ bv0 32)))} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {2322#(and (= |main_~#a~0.offset| (_ bv0 32)) (= main_~sum~0 (_ bv0 32)))} is VALID [2018-11-23 10:40:45,196 INFO L273 TraceCheckUtils]: 9: Hoare triple {2322#(and (= |main_~#a~0.offset| (_ bv0 32)) (= main_~sum~0 (_ bv0 32)))} assume !!~bvslt32(~i~0, ~SIZE~0);call write~intINTTYPE4(1bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {2322#(and (= |main_~#a~0.offset| (_ bv0 32)) (= main_~sum~0 (_ bv0 32)))} is VALID [2018-11-23 10:40:45,196 INFO L273 TraceCheckUtils]: 10: Hoare triple {2322#(and (= |main_~#a~0.offset| (_ bv0 32)) (= main_~sum~0 (_ bv0 32)))} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {2322#(and (= |main_~#a~0.offset| (_ bv0 32)) (= main_~sum~0 (_ bv0 32)))} is VALID [2018-11-23 10:40:45,196 INFO L273 TraceCheckUtils]: 11: Hoare triple {2322#(and (= |main_~#a~0.offset| (_ bv0 32)) (= main_~sum~0 (_ bv0 32)))} assume !!~bvslt32(~i~0, ~SIZE~0);call write~intINTTYPE4(1bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {2322#(and (= |main_~#a~0.offset| (_ bv0 32)) (= main_~sum~0 (_ bv0 32)))} is VALID [2018-11-23 10:40:45,197 INFO L273 TraceCheckUtils]: 12: Hoare triple {2322#(and (= |main_~#a~0.offset| (_ bv0 32)) (= main_~sum~0 (_ bv0 32)))} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {2322#(and (= |main_~#a~0.offset| (_ bv0 32)) (= main_~sum~0 (_ bv0 32)))} is VALID [2018-11-23 10:40:45,197 INFO L273 TraceCheckUtils]: 13: Hoare triple {2322#(and (= |main_~#a~0.offset| (_ bv0 32)) (= main_~sum~0 (_ bv0 32)))} assume !~bvslt32(~i~0, ~SIZE~0); {2322#(and (= |main_~#a~0.offset| (_ bv0 32)) (= main_~sum~0 (_ bv0 32)))} is VALID [2018-11-23 10:40:45,198 INFO L273 TraceCheckUtils]: 14: Hoare triple {2322#(and (= |main_~#a~0.offset| (_ bv0 32)) (= main_~sum~0 (_ bv0 32)))} ~i~0 := 0bv32; {2347#(and (= |main_~#a~0.offset| (_ bv0 32)) (= main_~i~0 (_ bv0 32)) (= main_~sum~0 (_ bv0 32)))} is VALID [2018-11-23 10:40:45,199 INFO L273 TraceCheckUtils]: 15: Hoare triple {2347#(and (= |main_~#a~0.offset| (_ bv0 32)) (= main_~i~0 (_ bv0 32)) (= main_~sum~0 (_ bv0 32)))} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem4 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);~sum~0 := ~bvadd32(~sum~0, #t~mem4);havoc #t~mem4; {2351#(and (= main_~sum~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0)))) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~i~0 (_ bv0 32)))} is VALID [2018-11-23 10:40:45,200 INFO L273 TraceCheckUtils]: 16: Hoare triple {2351#(and (= main_~sum~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0)))) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~i~0 (_ bv0 32)))} #t~post3 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post3);havoc #t~post3; {2355#(and (= main_~sum~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4294967292 32)))) (= |main_~#a~0.offset| (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:40:45,235 INFO L273 TraceCheckUtils]: 17: Hoare triple {2355#(and (= main_~sum~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4294967292 32)))) (= |main_~#a~0.offset| (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem4 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);~sum~0 := ~bvadd32(~sum~0, #t~mem4);havoc #t~mem4; {2359#(and (= |main_~#a~0.offset| (_ bv0 32)) (= main_~sum~0 (bvadd (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0))) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4294967292 32))))) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:40:45,236 INFO L273 TraceCheckUtils]: 18: Hoare triple {2359#(and (= |main_~#a~0.offset| (_ bv0 32)) (= main_~sum~0 (bvadd (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0))) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4294967292 32))))) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} #t~post3 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post3);havoc #t~post3; {2363#(and (= main_~sum~0 (bvadd (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4294967288 32))) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4294967292 32))))) (= |main_~#a~0.offset| (_ bv0 32)) (= (_ bv2 32) main_~i~0))} is VALID [2018-11-23 10:40:45,532 INFO L273 TraceCheckUtils]: 19: Hoare triple {2363#(and (= main_~sum~0 (bvadd (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4294967288 32))) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4294967292 32))))) (= |main_~#a~0.offset| (_ bv0 32)) (= (_ bv2 32) main_~i~0))} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem4 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);~sum~0 := ~bvadd32(~sum~0, #t~mem4);havoc #t~mem4; {2367#(and (= (bvadd (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv4 32))) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32)))) main_~sum~0) (= |main_~#a~0.offset| (_ bv0 32)))} is VALID [2018-11-23 10:40:45,533 INFO L273 TraceCheckUtils]: 20: Hoare triple {2367#(and (= (bvadd (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv4 32))) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32)))) main_~sum~0) (= |main_~#a~0.offset| (_ bv0 32)))} #t~post3 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post3);havoc #t~post3; {2367#(and (= (bvadd (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv4 32))) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32)))) main_~sum~0) (= |main_~#a~0.offset| (_ bv0 32)))} is VALID [2018-11-23 10:40:45,534 INFO L273 TraceCheckUtils]: 21: Hoare triple {2367#(and (= (bvadd (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv4 32))) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32)))) main_~sum~0) (= |main_~#a~0.offset| (_ bv0 32)))} assume !~bvslt32(~i~0, ~SIZE~0); {2367#(and (= (bvadd (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv4 32))) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32)))) main_~sum~0) (= |main_~#a~0.offset| (_ bv0 32)))} is VALID [2018-11-23 10:40:45,535 INFO L273 TraceCheckUtils]: 22: Hoare triple {2367#(and (= (bvadd (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv4 32))) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32)))) main_~sum~0) (= |main_~#a~0.offset| (_ bv0 32)))} ~i~0 := 0bv32; {2377#(and (= (bvadd (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv4 32))) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32)))) main_~sum~0) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~i~0 (_ bv0 32)))} is VALID [2018-11-23 10:40:47,548 INFO L273 TraceCheckUtils]: 23: Hoare triple {2377#(and (= (bvadd (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv4 32))) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32)))) main_~sum~0) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~i~0 (_ bv0 32)))} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem6 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);~sum~0 := ~bvsub32(~sum~0, #t~mem6);havoc #t~mem6; {2381#(and (= |main_~#a~0.offset| (_ bv0 32)) (= main_~i~0 (_ bv0 32)) (= main_~sum~0 (bvadd (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv4 32))) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32))) (bvneg (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0)))))))} is UNKNOWN [2018-11-23 10:40:47,549 INFO L273 TraceCheckUtils]: 24: Hoare triple {2381#(and (= |main_~#a~0.offset| (_ bv0 32)) (= main_~i~0 (_ bv0 32)) (= main_~sum~0 (bvadd (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv4 32))) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32))) (bvneg (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0)))))))} #t~post5 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post5);havoc #t~post5; {2385#(and (= main_~sum~0 (bvadd (bvneg (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv4 32))) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32))))) (= |main_~#a~0.offset| (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:40:47,936 INFO L273 TraceCheckUtils]: 25: Hoare triple {2385#(and (= main_~sum~0 (bvadd (bvneg (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv4 32))) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32))))) (= |main_~#a~0.offset| (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem6 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);~sum~0 := ~bvsub32(~sum~0, #t~mem6);havoc #t~mem6; {2389#(and (= (bvadd (bvneg (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv4 32))) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32))) (bvneg (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0))))) main_~sum~0) (= |main_~#a~0.offset| (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:40:47,937 INFO L273 TraceCheckUtils]: 26: Hoare triple {2389#(and (= (bvadd (bvneg (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv4 32))) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32))) (bvneg (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0))))) main_~sum~0) (= |main_~#a~0.offset| (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} #t~post5 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post5);havoc #t~post5; {2393#(and (= |main_~#a~0.offset| (_ bv0 32)) (= (bvadd (bvneg (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv4 32))) (bvneg (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4294967292 32)))) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32)))) main_~sum~0) (= (_ bv2 32) main_~i~0))} is VALID [2018-11-23 10:40:47,951 INFO L273 TraceCheckUtils]: 27: Hoare triple {2393#(and (= |main_~#a~0.offset| (_ bv0 32)) (= (bvadd (bvneg (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv4 32))) (bvneg (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4294967292 32)))) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32)))) main_~sum~0) (= (_ bv2 32) main_~i~0))} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem6 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);~sum~0 := ~bvsub32(~sum~0, #t~mem6);havoc #t~mem6; {2397#(exists ((v_arrayElimCell_10 (_ BitVec 32)) (v_arrayElimCell_11 (_ BitVec 32)) (v_arrayElimCell_12 (_ BitVec 32))) (= main_~sum~0 (bvadd (bvneg v_arrayElimCell_11) (bvneg v_arrayElimCell_12) v_arrayElimCell_10 v_arrayElimCell_11 v_arrayElimCell_12 (bvneg v_arrayElimCell_10))))} is VALID [2018-11-23 10:40:47,952 INFO L273 TraceCheckUtils]: 28: Hoare triple {2397#(exists ((v_arrayElimCell_10 (_ BitVec 32)) (v_arrayElimCell_11 (_ BitVec 32)) (v_arrayElimCell_12 (_ BitVec 32))) (= main_~sum~0 (bvadd (bvneg v_arrayElimCell_11) (bvneg v_arrayElimCell_12) v_arrayElimCell_10 v_arrayElimCell_11 v_arrayElimCell_12 (bvneg v_arrayElimCell_10))))} #t~post5 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post5);havoc #t~post5; {2397#(exists ((v_arrayElimCell_10 (_ BitVec 32)) (v_arrayElimCell_11 (_ BitVec 32)) (v_arrayElimCell_12 (_ BitVec 32))) (= main_~sum~0 (bvadd (bvneg v_arrayElimCell_11) (bvneg v_arrayElimCell_12) v_arrayElimCell_10 v_arrayElimCell_11 v_arrayElimCell_12 (bvneg v_arrayElimCell_10))))} is VALID [2018-11-23 10:40:47,953 INFO L273 TraceCheckUtils]: 29: Hoare triple {2397#(exists ((v_arrayElimCell_10 (_ BitVec 32)) (v_arrayElimCell_11 (_ BitVec 32)) (v_arrayElimCell_12 (_ BitVec 32))) (= main_~sum~0 (bvadd (bvneg v_arrayElimCell_11) (bvneg v_arrayElimCell_12) v_arrayElimCell_10 v_arrayElimCell_11 v_arrayElimCell_12 (bvneg v_arrayElimCell_10))))} assume !~bvslt32(~i~0, ~SIZE~0); {2397#(exists ((v_arrayElimCell_10 (_ BitVec 32)) (v_arrayElimCell_11 (_ BitVec 32)) (v_arrayElimCell_12 (_ BitVec 32))) (= main_~sum~0 (bvadd (bvneg v_arrayElimCell_11) (bvneg v_arrayElimCell_12) v_arrayElimCell_10 v_arrayElimCell_11 v_arrayElimCell_12 (bvneg v_arrayElimCell_10))))} is VALID [2018-11-23 10:40:47,959 INFO L256 TraceCheckUtils]: 30: Hoare triple {2397#(exists ((v_arrayElimCell_10 (_ BitVec 32)) (v_arrayElimCell_11 (_ BitVec 32)) (v_arrayElimCell_12 (_ BitVec 32))) (= main_~sum~0 (bvadd (bvneg v_arrayElimCell_11) (bvneg v_arrayElimCell_12) v_arrayElimCell_10 v_arrayElimCell_11 v_arrayElimCell_12 (bvneg v_arrayElimCell_10))))} call __VERIFIER_assert((if 0bv32 == ~sum~0 then 1bv32 else 0bv32)); {2407#(= (bvadd |__VERIFIER_assert_#in~cond| (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 10:40:47,959 INFO L273 TraceCheckUtils]: 31: Hoare triple {2407#(= (bvadd |__VERIFIER_assert_#in~cond| (_ bv4294967295 32)) (_ bv0 32))} ~cond := #in~cond; {2411#(= (bvadd __VERIFIER_assert_~cond (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 10:40:47,961 INFO L273 TraceCheckUtils]: 32: Hoare triple {2411#(= (bvadd __VERIFIER_assert_~cond (_ bv4294967295 32)) (_ bv0 32))} assume 0bv32 == ~cond; {2300#false} is VALID [2018-11-23 10:40:47,961 INFO L273 TraceCheckUtils]: 33: Hoare triple {2300#false} assume !false; {2300#false} is VALID [2018-11-23 10:40:47,966 INFO L134 CoverageAnalysis]: Checked inductivity of 27 backedges. 0 proven. 18 refuted. 0 times theorem prover too weak. 9 trivial. 0 not checked. [2018-11-23 10:40:47,966 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-23 10:40:55,083 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 55 treesize of output 43 [2018-11-23 10:40:59,417 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 10:40:59,418 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 10:40:59,452 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 10:40:59,484 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 10:40:59,485 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 10:40:59,486 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 10:40:59,557 INFO L303 Elim1Store]: Index analysis took 149 ms [2018-11-23 10:40:59,697 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 6 select indices, 6 select index equivalence classes, 9 disjoint index pairs (out of 15 index pairs), introduced 6 new quantified variables, introduced 9 case distinctions, treesize of input 43 treesize of output 194 [2018-11-23 10:40:59,698 WARN L138 XnfTransformerHelper]: expecting exponential blowup for input size 9 [2018-11-23 10:42:10,115 INFO L267 ElimStorePlain]: Start of recursive call 3: 508 dim-0 vars, End of recursive call: 508 dim-0 vars, and 512 xjuncts. [2018-11-23 10:42:17,976 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 2 xjuncts. [2018-11-23 10:42:17,984 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: 1 dim-0 vars, and 2 xjuncts. [2018-11-23 10:42:17,984 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:55, output treesize:22 [2018-11-23 10:42:18,019 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 10:42:18,020 WARN L384 uantifierElimination]: Input elimination task: ∀ [|#memory_int|, |main_~#a~0.base|]. (= (let ((.cse0 (select |#memory_int| |main_~#a~0.base|)) (.cse1 (bvmul (_ bv4 32) main_~i~0))) (bvadd (bvneg (select .cse0 |main_~#a~0.offset|)) (select .cse0 (bvadd |main_~#a~0.offset| .cse1 (_ bv4 32))) (select .cse0 (bvadd |main_~#a~0.offset| .cse1)) main_~sum~0 (bvneg (select .cse0 (bvadd |main_~#a~0.offset| (_ bv4 32)))) (bvneg (select .cse0 (bvadd |main_~#a~0.offset| (_ bv8 32)))) (select .cse0 (bvadd |main_~#a~0.offset| .cse1 (_ bv8 32))))) (_ bv0 32)) [2018-11-23 10:42:18,020 WARN L385 uantifierElimination]: ElimStorePlain result: ∀ [v_prenex_391]. (and (= (_ bv0 32) (bvadd (bvmul (_ bv3 32) (bvneg v_prenex_391)) main_~sum~0 (bvmul (_ bv3 32) v_prenex_391))) (= (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv8 32)) (bvadd |main_~#a~0.offset| (_ bv8 32)))) [2018-11-23 10:42:18,193 INFO L273 TraceCheckUtils]: 33: Hoare triple {2300#false} assume !false; {2300#false} is VALID [2018-11-23 10:42:18,193 INFO L273 TraceCheckUtils]: 32: Hoare triple {2421#(not (= (_ bv0 32) __VERIFIER_assert_~cond))} assume 0bv32 == ~cond; {2300#false} is VALID [2018-11-23 10:42:18,194 INFO L273 TraceCheckUtils]: 31: Hoare triple {2425#(not (= |__VERIFIER_assert_#in~cond| (_ bv0 32)))} ~cond := #in~cond; {2421#(not (= (_ bv0 32) __VERIFIER_assert_~cond))} is VALID [2018-11-23 10:42:18,195 INFO L256 TraceCheckUtils]: 30: Hoare triple {2429#(= main_~sum~0 (_ bv0 32))} call __VERIFIER_assert((if 0bv32 == ~sum~0 then 1bv32 else 0bv32)); {2425#(not (= |__VERIFIER_assert_#in~cond| (_ bv0 32)))} is VALID [2018-11-23 10:42:18,196 INFO L273 TraceCheckUtils]: 29: Hoare triple {2429#(= main_~sum~0 (_ bv0 32))} assume !~bvslt32(~i~0, ~SIZE~0); {2429#(= main_~sum~0 (_ bv0 32))} is VALID [2018-11-23 10:42:18,196 INFO L273 TraceCheckUtils]: 28: Hoare triple {2429#(= main_~sum~0 (_ bv0 32))} #t~post5 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post5);havoc #t~post5; {2429#(= main_~sum~0 (_ bv0 32))} is VALID [2018-11-23 10:42:18,199 INFO L273 TraceCheckUtils]: 27: Hoare triple {2439#(= (_ bv0 32) (bvadd main_~sum~0 (bvneg (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0))))))} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem6 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);~sum~0 := ~bvsub32(~sum~0, #t~mem6);havoc #t~mem6; {2429#(= main_~sum~0 (_ bv0 32))} is VALID [2018-11-23 10:42:18,444 INFO L273 TraceCheckUtils]: 26: Hoare triple {2443#(= (bvadd main_~sum~0 (bvneg (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4 32))))) (_ bv0 32))} #t~post5 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post5);havoc #t~post5; {2439#(= (_ bv0 32) (bvadd main_~sum~0 (bvneg (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0))))))} is VALID [2018-11-23 10:42:18,578 INFO L273 TraceCheckUtils]: 25: Hoare triple {2447#(= (bvadd main_~sum~0 (bvneg (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4 32)))) (bvneg (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0))))) (_ bv0 32))} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem6 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);~sum~0 := ~bvsub32(~sum~0, #t~mem6);havoc #t~mem6; {2443#(= (bvadd main_~sum~0 (bvneg (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4 32))))) (_ bv0 32))} is VALID [2018-11-23 10:42:20,596 INFO L273 TraceCheckUtils]: 24: Hoare triple {2451#(= (bvadd (bvneg (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv8 32)))) main_~sum~0 (bvneg (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4 32))))) (_ bv0 32))} #t~post5 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post5);havoc #t~post5; {2447#(= (bvadd main_~sum~0 (bvneg (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4 32)))) (bvneg (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0))))) (_ bv0 32))} is UNKNOWN [2018-11-23 10:42:22,041 INFO L273 TraceCheckUtils]: 23: Hoare triple {2455#(= (bvadd (bvneg (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv8 32)))) main_~sum~0 (bvneg (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4 32)))) (bvneg (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0))))) (_ bv0 32))} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem6 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);~sum~0 := ~bvsub32(~sum~0, #t~mem6);havoc #t~mem6; {2451#(= (bvadd (bvneg (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv8 32)))) main_~sum~0 (bvneg (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4 32))))) (_ bv0 32))} is VALID [2018-11-23 10:42:22,710 INFO L273 TraceCheckUtils]: 22: Hoare triple {2459#(= (bvadd (bvneg (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) main_~sum~0 (bvneg (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv4 32)))) (bvneg (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32))))) (_ bv0 32))} ~i~0 := 0bv32; {2455#(= (bvadd (bvneg (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv8 32)))) main_~sum~0 (bvneg (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4 32)))) (bvneg (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0))))) (_ bv0 32))} is VALID [2018-11-23 10:42:22,711 INFO L273 TraceCheckUtils]: 21: Hoare triple {2459#(= (bvadd (bvneg (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) main_~sum~0 (bvneg (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv4 32)))) (bvneg (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32))))) (_ bv0 32))} assume !~bvslt32(~i~0, ~SIZE~0); {2459#(= (bvadd (bvneg (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) main_~sum~0 (bvneg (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv4 32)))) (bvneg (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32))))) (_ bv0 32))} is VALID [2018-11-23 10:42:22,711 INFO L273 TraceCheckUtils]: 20: Hoare triple {2459#(= (bvadd (bvneg (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) main_~sum~0 (bvneg (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv4 32)))) (bvneg (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32))))) (_ bv0 32))} #t~post3 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post3);havoc #t~post3; {2459#(= (bvadd (bvneg (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) main_~sum~0 (bvneg (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv4 32)))) (bvneg (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32))))) (_ bv0 32))} is VALID [2018-11-23 10:42:23,845 INFO L273 TraceCheckUtils]: 19: Hoare triple {2469#(= (bvadd (bvneg (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0))) main_~sum~0 (bvneg (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv4 32)))) (bvneg (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32))))) (_ bv0 32))} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem4 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);~sum~0 := ~bvadd32(~sum~0, #t~mem4);havoc #t~mem4; {2459#(= (bvadd (bvneg (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) main_~sum~0 (bvneg (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv4 32)))) (bvneg (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32))))) (_ bv0 32))} is VALID [2018-11-23 10:42:25,851 INFO L273 TraceCheckUtils]: 18: Hoare triple {2473#(= (_ bv0 32) (bvadd (bvneg (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4 32))) main_~sum~0 (bvneg (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv4 32)))) (bvneg (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32))))))} #t~post3 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post3);havoc #t~post3; {2469#(= (bvadd (bvneg (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0))) main_~sum~0 (bvneg (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv4 32)))) (bvneg (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32))))) (_ bv0 32))} is UNKNOWN [2018-11-23 10:42:27,857 INFO L273 TraceCheckUtils]: 17: Hoare triple {2477#(= (bvadd (bvneg (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4 32))) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0))) main_~sum~0 (bvneg (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv4 32)))) (bvneg (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32))))) (_ bv0 32))} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem4 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);~sum~0 := ~bvadd32(~sum~0, #t~mem4);havoc #t~mem4; {2473#(= (_ bv0 32) (bvadd (bvneg (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4 32))) main_~sum~0 (bvneg (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv4 32)))) (bvneg (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32))))))} is UNKNOWN [2018-11-23 10:42:29,862 INFO L273 TraceCheckUtils]: 16: Hoare triple {2481#(= (_ bv0 32) (bvadd (bvneg (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4 32))) main_~sum~0 (bvneg (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv4 32)))) (bvneg (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32)))) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv8 32)))))} #t~post3 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post3);havoc #t~post3; {2477#(= (bvadd (bvneg (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4 32))) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0))) main_~sum~0 (bvneg (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv4 32)))) (bvneg (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32))))) (_ bv0 32))} is UNKNOWN [2018-11-23 10:42:29,863 INFO L273 TraceCheckUtils]: 15: Hoare triple {2485#(and (= (bvmul (_ bv4 32) main_~i~0) (_ bv0 32)) (forall ((v_prenex_391 (_ BitVec 32))) (= (_ bv0 32) (bvadd (bvmul (_ bv3 32) (bvneg v_prenex_391)) (bvmul (_ bv3 32) v_prenex_391) main_~sum~0))))} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem4 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);~sum~0 := ~bvadd32(~sum~0, #t~mem4);havoc #t~mem4; {2481#(= (_ bv0 32) (bvadd (bvneg (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4 32))) main_~sum~0 (bvneg (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv4 32)))) (bvneg (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32)))) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv8 32)))))} is VALID [2018-11-23 10:42:29,864 INFO L273 TraceCheckUtils]: 14: Hoare triple {2429#(= main_~sum~0 (_ bv0 32))} ~i~0 := 0bv32; {2485#(and (= (bvmul (_ bv4 32) main_~i~0) (_ bv0 32)) (forall ((v_prenex_391 (_ BitVec 32))) (= (_ bv0 32) (bvadd (bvmul (_ bv3 32) (bvneg v_prenex_391)) (bvmul (_ bv3 32) v_prenex_391) main_~sum~0))))} is VALID [2018-11-23 10:42:29,864 INFO L273 TraceCheckUtils]: 13: Hoare triple {2429#(= main_~sum~0 (_ bv0 32))} assume !~bvslt32(~i~0, ~SIZE~0); {2429#(= main_~sum~0 (_ bv0 32))} is VALID [2018-11-23 10:42:29,864 INFO L273 TraceCheckUtils]: 12: Hoare triple {2429#(= main_~sum~0 (_ bv0 32))} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {2429#(= main_~sum~0 (_ bv0 32))} is VALID [2018-11-23 10:42:29,865 INFO L273 TraceCheckUtils]: 11: Hoare triple {2429#(= main_~sum~0 (_ bv0 32))} assume !!~bvslt32(~i~0, ~SIZE~0);call write~intINTTYPE4(1bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {2429#(= main_~sum~0 (_ bv0 32))} is VALID [2018-11-23 10:42:29,865 INFO L273 TraceCheckUtils]: 10: Hoare triple {2429#(= main_~sum~0 (_ bv0 32))} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {2429#(= main_~sum~0 (_ bv0 32))} is VALID [2018-11-23 10:42:29,865 INFO L273 TraceCheckUtils]: 9: Hoare triple {2429#(= main_~sum~0 (_ bv0 32))} assume !!~bvslt32(~i~0, ~SIZE~0);call write~intINTTYPE4(1bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {2429#(= main_~sum~0 (_ bv0 32))} is VALID [2018-11-23 10:42:29,866 INFO L273 TraceCheckUtils]: 8: Hoare triple {2429#(= main_~sum~0 (_ bv0 32))} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {2429#(= main_~sum~0 (_ bv0 32))} is VALID [2018-11-23 10:42:29,866 INFO L273 TraceCheckUtils]: 7: Hoare triple {2429#(= main_~sum~0 (_ bv0 32))} assume !!~bvslt32(~i~0, ~SIZE~0);call write~intINTTYPE4(1bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {2429#(= main_~sum~0 (_ bv0 32))} is VALID [2018-11-23 10:42:29,867 INFO L273 TraceCheckUtils]: 6: Hoare triple {2299#true} assume ~bvsgt32(~SIZE~0, 1bv32);havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~bvmul32(4bv32, ~SIZE~0));~sum~0 := 0bv32;~i~0 := 0bv32; {2429#(= main_~sum~0 (_ bv0 32))} is VALID [2018-11-23 10:42:29,867 INFO L273 TraceCheckUtils]: 5: Hoare triple {2299#true} ~SIZE~0 := #t~nondet1;havoc #t~nondet1; {2299#true} is VALID [2018-11-23 10:42:29,868 INFO L256 TraceCheckUtils]: 4: Hoare triple {2299#true} call #t~ret7 := main(); {2299#true} is VALID [2018-11-23 10:42:29,868 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2299#true} {2299#true} #69#return; {2299#true} is VALID [2018-11-23 10:42:29,868 INFO L273 TraceCheckUtils]: 2: Hoare triple {2299#true} assume true; {2299#true} is VALID [2018-11-23 10:42:29,868 INFO L273 TraceCheckUtils]: 1: Hoare triple {2299#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];~SIZE~0 := 0bv32; {2299#true} is VALID [2018-11-23 10:42:29,868 INFO L256 TraceCheckUtils]: 0: Hoare triple {2299#true} call ULTIMATE.init(); {2299#true} is VALID [2018-11-23 10:42:29,872 INFO L134 CoverageAnalysis]: Checked inductivity of 27 backedges. 0 proven. 18 refuted. 0 times theorem prover too weak. 9 trivial. 0 not checked. [2018-11-23 10:42:29,882 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 10:42:29,883 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 16] total 31 [2018-11-23 10:42:29,883 INFO L78 Accepts]: Start accepts. Automaton has 31 states. Word has length 34 [2018-11-23 10:42:29,883 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 10:42:29,883 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 31 states. [2018-11-23 10:42:42,137 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 48 inductive. 0 not inductive. 5 times theorem prover too weak to decide inductivity. [2018-11-23 10:42:42,137 INFO L459 AbstractCegarLoop]: Interpolant automaton has 31 states [2018-11-23 10:42:42,137 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 31 interpolants. [2018-11-23 10:42:42,138 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=85, Invalid=845, Unknown=0, NotChecked=0, Total=930 [2018-11-23 10:42:42,138 INFO L87 Difference]: Start difference. First operand 35 states and 37 transitions. Second operand 31 states. [2018-11-23 10:42:50,761 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:42:50,761 INFO L93 Difference]: Finished difference Result 50 states and 53 transitions. [2018-11-23 10:42:50,761 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2018-11-23 10:42:50,762 INFO L78 Accepts]: Start accepts. Automaton has 31 states. Word has length 34 [2018-11-23 10:42:50,762 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 10:42:50,762 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 31 states. [2018-11-23 10:42:50,764 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 45 transitions. [2018-11-23 10:42:50,764 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 31 states. [2018-11-23 10:42:50,765 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 45 transitions. [2018-11-23 10:42:50,765 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 16 states and 45 transitions. [2018-11-23 10:42:51,121 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 45 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:42:51,123 INFO L225 Difference]: With dead ends: 50 [2018-11-23 10:42:51,123 INFO L226 Difference]: Without dead ends: 45 [2018-11-23 10:42:51,124 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 68 GetRequests, 37 SyntacticMatches, 1 SemanticMatches, 30 ConstructedPredicates, 0 IntricatePredicates, 1 DeprecatedPredicates, 186 ImplicationChecksByTransitivity, 8.0s TimeCoverageRelationStatistics Valid=91, Invalid=901, Unknown=0, NotChecked=0, Total=992 [2018-11-23 10:42:51,124 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 45 states. [2018-11-23 10:42:51,189 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 45 to 40. [2018-11-23 10:42:51,190 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 10:42:51,190 INFO L82 GeneralOperation]: Start isEquivalent. First operand 45 states. Second operand 40 states. [2018-11-23 10:42:51,190 INFO L74 IsIncluded]: Start isIncluded. First operand 45 states. Second operand 40 states. [2018-11-23 10:42:51,190 INFO L87 Difference]: Start difference. First operand 45 states. Second operand 40 states. [2018-11-23 10:42:51,192 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:42:51,193 INFO L93 Difference]: Finished difference Result 45 states and 48 transitions. [2018-11-23 10:42:51,193 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 48 transitions. [2018-11-23 10:42:51,193 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:42:51,193 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:42:51,193 INFO L74 IsIncluded]: Start isIncluded. First operand 40 states. Second operand 45 states. [2018-11-23 10:42:51,193 INFO L87 Difference]: Start difference. First operand 40 states. Second operand 45 states. [2018-11-23 10:42:51,195 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:42:51,195 INFO L93 Difference]: Finished difference Result 45 states and 48 transitions. [2018-11-23 10:42:51,196 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 48 transitions. [2018-11-23 10:42:51,196 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:42:51,196 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:42:51,196 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 10:42:51,196 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 10:42:51,196 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 40 states. [2018-11-23 10:42:51,198 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 40 states to 40 states and 43 transitions. [2018-11-23 10:42:51,198 INFO L78 Accepts]: Start accepts. Automaton has 40 states and 43 transitions. Word has length 34 [2018-11-23 10:42:51,198 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 10:42:51,198 INFO L480 AbstractCegarLoop]: Abstraction has 40 states and 43 transitions. [2018-11-23 10:42:51,198 INFO L481 AbstractCegarLoop]: Interpolant automaton has 31 states. [2018-11-23 10:42:51,199 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 43 transitions. [2018-11-23 10:42:51,199 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 37 [2018-11-23 10:42:51,199 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 10:42:51,199 INFO L402 BasicCegarLoop]: trace histogram [4, 4, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 10:42:51,200 INFO L423 AbstractCegarLoop]: === Iteration 10 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 10:42:51,200 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 10:42:51,200 INFO L82 PathProgramCache]: Analyzing trace with hash 1586924177, now seen corresponding path program 5 times [2018-11-23 10:42:51,200 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 10:42:51,200 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 10:42:51,229 INFO L101 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2018-11-23 10:42:51,547 INFO L249 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 5 check-sat command(s) [2018-11-23 10:42:51,547 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 10:42:51,590 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:42:51,592 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 10:42:51,797 INFO L256 TraceCheckUtils]: 0: Hoare triple {2760#true} call ULTIMATE.init(); {2760#true} is VALID [2018-11-23 10:42:51,797 INFO L273 TraceCheckUtils]: 1: Hoare triple {2760#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];~SIZE~0 := 0bv32; {2760#true} is VALID [2018-11-23 10:42:51,797 INFO L273 TraceCheckUtils]: 2: Hoare triple {2760#true} assume true; {2760#true} is VALID [2018-11-23 10:42:51,798 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2760#true} {2760#true} #69#return; {2760#true} is VALID [2018-11-23 10:42:51,798 INFO L256 TraceCheckUtils]: 4: Hoare triple {2760#true} call #t~ret7 := main(); {2760#true} is VALID [2018-11-23 10:42:51,798 INFO L273 TraceCheckUtils]: 5: Hoare triple {2760#true} ~SIZE~0 := #t~nondet1;havoc #t~nondet1; {2760#true} is VALID [2018-11-23 10:42:51,798 INFO L273 TraceCheckUtils]: 6: Hoare triple {2760#true} assume ~bvsgt32(~SIZE~0, 1bv32);havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~bvmul32(4bv32, ~SIZE~0));~sum~0 := 0bv32;~i~0 := 0bv32; {2783#(and (= main_~i~0 (_ bv0 32)) (bvsgt ~SIZE~0 (_ bv1 32)))} is VALID [2018-11-23 10:42:51,799 INFO L273 TraceCheckUtils]: 7: Hoare triple {2783#(and (= main_~i~0 (_ bv0 32)) (bvsgt ~SIZE~0 (_ bv1 32)))} assume !!~bvslt32(~i~0, ~SIZE~0);call write~intINTTYPE4(1bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {2783#(and (= main_~i~0 (_ bv0 32)) (bvsgt ~SIZE~0 (_ bv1 32)))} is VALID [2018-11-23 10:42:51,799 INFO L273 TraceCheckUtils]: 8: Hoare triple {2783#(and (= main_~i~0 (_ bv0 32)) (bvsgt ~SIZE~0 (_ bv1 32)))} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {2790#(and (bvsgt ~SIZE~0 (_ bv1 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:42:51,800 INFO L273 TraceCheckUtils]: 9: Hoare triple {2790#(and (bvsgt ~SIZE~0 (_ bv1 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} assume !!~bvslt32(~i~0, ~SIZE~0);call write~intINTTYPE4(1bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {2790#(and (bvsgt ~SIZE~0 (_ bv1 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:42:51,800 INFO L273 TraceCheckUtils]: 10: Hoare triple {2790#(and (bvsgt ~SIZE~0 (_ bv1 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {2797#(and (bvsgt ~SIZE~0 (_ bv1 32)) (= (_ bv2 32) main_~i~0))} is VALID [2018-11-23 10:42:51,801 INFO L273 TraceCheckUtils]: 11: Hoare triple {2797#(and (bvsgt ~SIZE~0 (_ bv1 32)) (= (_ bv2 32) main_~i~0))} assume !!~bvslt32(~i~0, ~SIZE~0);call write~intINTTYPE4(1bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {2797#(and (bvsgt ~SIZE~0 (_ bv1 32)) (= (_ bv2 32) main_~i~0))} is VALID [2018-11-23 10:42:51,802 INFO L273 TraceCheckUtils]: 12: Hoare triple {2797#(and (bvsgt ~SIZE~0 (_ bv1 32)) (= (_ bv2 32) main_~i~0))} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {2804#(and (= (bvadd main_~i~0 (_ bv4294967293 32)) (_ bv0 32)) (bvsgt ~SIZE~0 (_ bv1 32)))} is VALID [2018-11-23 10:42:51,802 INFO L273 TraceCheckUtils]: 13: Hoare triple {2804#(and (= (bvadd main_~i~0 (_ bv4294967293 32)) (_ bv0 32)) (bvsgt ~SIZE~0 (_ bv1 32)))} assume !~bvslt32(~i~0, ~SIZE~0); {2808#(and (not (bvslt (_ bv3 32) ~SIZE~0)) (bvsgt ~SIZE~0 (_ bv1 32)))} is VALID [2018-11-23 10:42:51,803 INFO L273 TraceCheckUtils]: 14: Hoare triple {2808#(and (not (bvslt (_ bv3 32) ~SIZE~0)) (bvsgt ~SIZE~0 (_ bv1 32)))} ~i~0 := 0bv32; {2808#(and (not (bvslt (_ bv3 32) ~SIZE~0)) (bvsgt ~SIZE~0 (_ bv1 32)))} is VALID [2018-11-23 10:42:51,803 INFO L273 TraceCheckUtils]: 15: Hoare triple {2808#(and (not (bvslt (_ bv3 32) ~SIZE~0)) (bvsgt ~SIZE~0 (_ bv1 32)))} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem4 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);~sum~0 := ~bvadd32(~sum~0, #t~mem4);havoc #t~mem4; {2808#(and (not (bvslt (_ bv3 32) ~SIZE~0)) (bvsgt ~SIZE~0 (_ bv1 32)))} is VALID [2018-11-23 10:42:51,804 INFO L273 TraceCheckUtils]: 16: Hoare triple {2808#(and (not (bvslt (_ bv3 32) ~SIZE~0)) (bvsgt ~SIZE~0 (_ bv1 32)))} #t~post3 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post3);havoc #t~post3; {2808#(and (not (bvslt (_ bv3 32) ~SIZE~0)) (bvsgt ~SIZE~0 (_ bv1 32)))} is VALID [2018-11-23 10:42:51,805 INFO L273 TraceCheckUtils]: 17: Hoare triple {2808#(and (not (bvslt (_ bv3 32) ~SIZE~0)) (bvsgt ~SIZE~0 (_ bv1 32)))} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem4 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);~sum~0 := ~bvadd32(~sum~0, #t~mem4);havoc #t~mem4; {2808#(and (not (bvslt (_ bv3 32) ~SIZE~0)) (bvsgt ~SIZE~0 (_ bv1 32)))} is VALID [2018-11-23 10:42:51,806 INFO L273 TraceCheckUtils]: 18: Hoare triple {2808#(and (not (bvslt (_ bv3 32) ~SIZE~0)) (bvsgt ~SIZE~0 (_ bv1 32)))} #t~post3 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post3);havoc #t~post3; {2808#(and (not (bvslt (_ bv3 32) ~SIZE~0)) (bvsgt ~SIZE~0 (_ bv1 32)))} is VALID [2018-11-23 10:42:51,807 INFO L273 TraceCheckUtils]: 19: Hoare triple {2808#(and (not (bvslt (_ bv3 32) ~SIZE~0)) (bvsgt ~SIZE~0 (_ bv1 32)))} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem4 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);~sum~0 := ~bvadd32(~sum~0, #t~mem4);havoc #t~mem4; {2808#(and (not (bvslt (_ bv3 32) ~SIZE~0)) (bvsgt ~SIZE~0 (_ bv1 32)))} is VALID [2018-11-23 10:42:51,807 INFO L273 TraceCheckUtils]: 20: Hoare triple {2808#(and (not (bvslt (_ bv3 32) ~SIZE~0)) (bvsgt ~SIZE~0 (_ bv1 32)))} #t~post3 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post3);havoc #t~post3; {2808#(and (not (bvslt (_ bv3 32) ~SIZE~0)) (bvsgt ~SIZE~0 (_ bv1 32)))} is VALID [2018-11-23 10:42:51,808 INFO L273 TraceCheckUtils]: 21: Hoare triple {2808#(and (not (bvslt (_ bv3 32) ~SIZE~0)) (bvsgt ~SIZE~0 (_ bv1 32)))} assume !~bvslt32(~i~0, ~SIZE~0); {2808#(and (not (bvslt (_ bv3 32) ~SIZE~0)) (bvsgt ~SIZE~0 (_ bv1 32)))} is VALID [2018-11-23 10:42:51,809 INFO L273 TraceCheckUtils]: 22: Hoare triple {2808#(and (not (bvslt (_ bv3 32) ~SIZE~0)) (bvsgt ~SIZE~0 (_ bv1 32)))} ~i~0 := 0bv32; {2836#(and (not (bvslt (_ bv3 32) ~SIZE~0)) (= main_~i~0 (_ bv0 32)) (bvsgt ~SIZE~0 (_ bv1 32)))} is VALID [2018-11-23 10:42:51,810 INFO L273 TraceCheckUtils]: 23: Hoare triple {2836#(and (not (bvslt (_ bv3 32) ~SIZE~0)) (= main_~i~0 (_ bv0 32)) (bvsgt ~SIZE~0 (_ bv1 32)))} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem6 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);~sum~0 := ~bvsub32(~sum~0, #t~mem6);havoc #t~mem6; {2836#(and (not (bvslt (_ bv3 32) ~SIZE~0)) (= main_~i~0 (_ bv0 32)) (bvsgt ~SIZE~0 (_ bv1 32)))} is VALID [2018-11-23 10:42:51,811 INFO L273 TraceCheckUtils]: 24: Hoare triple {2836#(and (not (bvslt (_ bv3 32) ~SIZE~0)) (= main_~i~0 (_ bv0 32)) (bvsgt ~SIZE~0 (_ bv1 32)))} #t~post5 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post5);havoc #t~post5; {2843#(and (not (bvslt (_ bv3 32) ~SIZE~0)) (bvsgt ~SIZE~0 (_ bv1 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:42:51,811 INFO L273 TraceCheckUtils]: 25: Hoare triple {2843#(and (not (bvslt (_ bv3 32) ~SIZE~0)) (bvsgt ~SIZE~0 (_ bv1 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem6 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);~sum~0 := ~bvsub32(~sum~0, #t~mem6);havoc #t~mem6; {2843#(and (not (bvslt (_ bv3 32) ~SIZE~0)) (bvsgt ~SIZE~0 (_ bv1 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:42:51,812 INFO L273 TraceCheckUtils]: 26: Hoare triple {2843#(and (not (bvslt (_ bv3 32) ~SIZE~0)) (bvsgt ~SIZE~0 (_ bv1 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} #t~post5 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post5);havoc #t~post5; {2850#(and (not (bvslt (_ bv3 32) ~SIZE~0)) (bvsgt ~SIZE~0 (_ bv1 32)) (= (_ bv2 32) main_~i~0))} is VALID [2018-11-23 10:42:51,813 INFO L273 TraceCheckUtils]: 27: Hoare triple {2850#(and (not (bvslt (_ bv3 32) ~SIZE~0)) (bvsgt ~SIZE~0 (_ bv1 32)) (= (_ bv2 32) main_~i~0))} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem6 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);~sum~0 := ~bvsub32(~sum~0, #t~mem6);havoc #t~mem6; {2850#(and (not (bvslt (_ bv3 32) ~SIZE~0)) (bvsgt ~SIZE~0 (_ bv1 32)) (= (_ bv2 32) main_~i~0))} is VALID [2018-11-23 10:42:51,815 INFO L273 TraceCheckUtils]: 28: Hoare triple {2850#(and (not (bvslt (_ bv3 32) ~SIZE~0)) (bvsgt ~SIZE~0 (_ bv1 32)) (= (_ bv2 32) main_~i~0))} #t~post5 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post5);havoc #t~post5; {2857#(and (not (bvslt (_ bv3 32) ~SIZE~0)) (= (bvadd main_~i~0 (_ bv4294967293 32)) (_ bv0 32)) (bvsgt ~SIZE~0 (_ bv1 32)))} is VALID [2018-11-23 10:42:51,818 INFO L273 TraceCheckUtils]: 29: Hoare triple {2857#(and (not (bvslt (_ bv3 32) ~SIZE~0)) (= (bvadd main_~i~0 (_ bv4294967293 32)) (_ bv0 32)) (bvsgt ~SIZE~0 (_ bv1 32)))} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem6 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);~sum~0 := ~bvsub32(~sum~0, #t~mem6);havoc #t~mem6; {2761#false} is VALID [2018-11-23 10:42:51,818 INFO L273 TraceCheckUtils]: 30: Hoare triple {2761#false} #t~post5 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post5);havoc #t~post5; {2761#false} is VALID [2018-11-23 10:42:51,819 INFO L273 TraceCheckUtils]: 31: Hoare triple {2761#false} assume !~bvslt32(~i~0, ~SIZE~0); {2761#false} is VALID [2018-11-23 10:42:51,819 INFO L256 TraceCheckUtils]: 32: Hoare triple {2761#false} call __VERIFIER_assert((if 0bv32 == ~sum~0 then 1bv32 else 0bv32)); {2761#false} is VALID [2018-11-23 10:42:51,819 INFO L273 TraceCheckUtils]: 33: Hoare triple {2761#false} ~cond := #in~cond; {2761#false} is VALID [2018-11-23 10:42:51,819 INFO L273 TraceCheckUtils]: 34: Hoare triple {2761#false} assume 0bv32 == ~cond; {2761#false} is VALID [2018-11-23 10:42:51,819 INFO L273 TraceCheckUtils]: 35: Hoare triple {2761#false} assume !false; {2761#false} is VALID [2018-11-23 10:42:51,822 INFO L134 CoverageAnalysis]: Checked inductivity of 34 backedges. 7 proven. 18 refuted. 0 times theorem prover too weak. 9 trivial. 0 not checked. [2018-11-23 10:42:51,822 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-23 10:42:52,328 INFO L273 TraceCheckUtils]: 35: Hoare triple {2761#false} assume !false; {2761#false} is VALID [2018-11-23 10:42:52,329 INFO L273 TraceCheckUtils]: 34: Hoare triple {2761#false} assume 0bv32 == ~cond; {2761#false} is VALID [2018-11-23 10:42:52,329 INFO L273 TraceCheckUtils]: 33: Hoare triple {2761#false} ~cond := #in~cond; {2761#false} is VALID [2018-11-23 10:42:52,329 INFO L256 TraceCheckUtils]: 32: Hoare triple {2761#false} call __VERIFIER_assert((if 0bv32 == ~sum~0 then 1bv32 else 0bv32)); {2761#false} is VALID [2018-11-23 10:42:52,329 INFO L273 TraceCheckUtils]: 31: Hoare triple {2761#false} assume !~bvslt32(~i~0, ~SIZE~0); {2761#false} is VALID [2018-11-23 10:42:52,330 INFO L273 TraceCheckUtils]: 30: Hoare triple {2761#false} #t~post5 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post5);havoc #t~post5; {2761#false} is VALID [2018-11-23 10:42:52,330 INFO L273 TraceCheckUtils]: 29: Hoare triple {2897#(not (bvslt main_~i~0 ~SIZE~0))} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem6 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);~sum~0 := ~bvsub32(~sum~0, #t~mem6);havoc #t~mem6; {2761#false} is VALID [2018-11-23 10:42:52,332 INFO L273 TraceCheckUtils]: 28: Hoare triple {2901#(not (bvslt (bvadd main_~i~0 (_ bv1 32)) ~SIZE~0))} #t~post5 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post5);havoc #t~post5; {2897#(not (bvslt main_~i~0 ~SIZE~0))} is VALID [2018-11-23 10:42:52,332 INFO L273 TraceCheckUtils]: 27: Hoare triple {2901#(not (bvslt (bvadd main_~i~0 (_ bv1 32)) ~SIZE~0))} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem6 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);~sum~0 := ~bvsub32(~sum~0, #t~mem6);havoc #t~mem6; {2901#(not (bvslt (bvadd main_~i~0 (_ bv1 32)) ~SIZE~0))} is VALID [2018-11-23 10:42:52,355 INFO L273 TraceCheckUtils]: 26: Hoare triple {2908#(not (bvslt (bvadd main_~i~0 (_ bv2 32)) ~SIZE~0))} #t~post5 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post5);havoc #t~post5; {2901#(not (bvslt (bvadd main_~i~0 (_ bv1 32)) ~SIZE~0))} is VALID [2018-11-23 10:42:52,356 INFO L273 TraceCheckUtils]: 25: Hoare triple {2908#(not (bvslt (bvadd main_~i~0 (_ bv2 32)) ~SIZE~0))} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem6 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);~sum~0 := ~bvsub32(~sum~0, #t~mem6);havoc #t~mem6; {2908#(not (bvslt (bvadd main_~i~0 (_ bv2 32)) ~SIZE~0))} is VALID [2018-11-23 10:42:52,380 INFO L273 TraceCheckUtils]: 24: Hoare triple {2915#(not (bvslt (bvadd main_~i~0 (_ bv3 32)) ~SIZE~0))} #t~post5 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post5);havoc #t~post5; {2908#(not (bvslt (bvadd main_~i~0 (_ bv2 32)) ~SIZE~0))} is VALID [2018-11-23 10:42:52,381 INFO L273 TraceCheckUtils]: 23: Hoare triple {2915#(not (bvslt (bvadd main_~i~0 (_ bv3 32)) ~SIZE~0))} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem6 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);~sum~0 := ~bvsub32(~sum~0, #t~mem6);havoc #t~mem6; {2915#(not (bvslt (bvadd main_~i~0 (_ bv3 32)) ~SIZE~0))} is VALID [2018-11-23 10:42:52,381 INFO L273 TraceCheckUtils]: 22: Hoare triple {2922#(not (bvslt (_ bv3 32) ~SIZE~0))} ~i~0 := 0bv32; {2915#(not (bvslt (bvadd main_~i~0 (_ bv3 32)) ~SIZE~0))} is VALID [2018-11-23 10:42:52,382 INFO L273 TraceCheckUtils]: 21: Hoare triple {2922#(not (bvslt (_ bv3 32) ~SIZE~0))} assume !~bvslt32(~i~0, ~SIZE~0); {2922#(not (bvslt (_ bv3 32) ~SIZE~0))} is VALID [2018-11-23 10:42:52,382 INFO L273 TraceCheckUtils]: 20: Hoare triple {2922#(not (bvslt (_ bv3 32) ~SIZE~0))} #t~post3 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post3);havoc #t~post3; {2922#(not (bvslt (_ bv3 32) ~SIZE~0))} is VALID [2018-11-23 10:42:52,382 INFO L273 TraceCheckUtils]: 19: Hoare triple {2922#(not (bvslt (_ bv3 32) ~SIZE~0))} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem4 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);~sum~0 := ~bvadd32(~sum~0, #t~mem4);havoc #t~mem4; {2922#(not (bvslt (_ bv3 32) ~SIZE~0))} is VALID [2018-11-23 10:42:52,383 INFO L273 TraceCheckUtils]: 18: Hoare triple {2922#(not (bvslt (_ bv3 32) ~SIZE~0))} #t~post3 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post3);havoc #t~post3; {2922#(not (bvslt (_ bv3 32) ~SIZE~0))} is VALID [2018-11-23 10:42:52,383 INFO L273 TraceCheckUtils]: 17: Hoare triple {2922#(not (bvslt (_ bv3 32) ~SIZE~0))} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem4 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);~sum~0 := ~bvadd32(~sum~0, #t~mem4);havoc #t~mem4; {2922#(not (bvslt (_ bv3 32) ~SIZE~0))} is VALID [2018-11-23 10:42:52,383 INFO L273 TraceCheckUtils]: 16: Hoare triple {2922#(not (bvslt (_ bv3 32) ~SIZE~0))} #t~post3 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post3);havoc #t~post3; {2922#(not (bvslt (_ bv3 32) ~SIZE~0))} is VALID [2018-11-23 10:42:52,384 INFO L273 TraceCheckUtils]: 15: Hoare triple {2922#(not (bvslt (_ bv3 32) ~SIZE~0))} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem4 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);~sum~0 := ~bvadd32(~sum~0, #t~mem4);havoc #t~mem4; {2922#(not (bvslt (_ bv3 32) ~SIZE~0))} is VALID [2018-11-23 10:42:52,384 INFO L273 TraceCheckUtils]: 14: Hoare triple {2922#(not (bvslt (_ bv3 32) ~SIZE~0))} ~i~0 := 0bv32; {2922#(not (bvslt (_ bv3 32) ~SIZE~0))} is VALID [2018-11-23 10:42:52,385 INFO L273 TraceCheckUtils]: 13: Hoare triple {2950#(or (not (bvslt (_ bv3 32) ~SIZE~0)) (bvslt main_~i~0 ~SIZE~0))} assume !~bvslt32(~i~0, ~SIZE~0); {2922#(not (bvslt (_ bv3 32) ~SIZE~0))} is VALID [2018-11-23 10:42:52,386 INFO L273 TraceCheckUtils]: 12: Hoare triple {2954#(or (not (bvslt (_ bv3 32) ~SIZE~0)) (bvslt (bvadd main_~i~0 (_ bv1 32)) ~SIZE~0))} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {2950#(or (not (bvslt (_ bv3 32) ~SIZE~0)) (bvslt main_~i~0 ~SIZE~0))} is VALID [2018-11-23 10:42:52,387 INFO L273 TraceCheckUtils]: 11: Hoare triple {2954#(or (not (bvslt (_ bv3 32) ~SIZE~0)) (bvslt (bvadd main_~i~0 (_ bv1 32)) ~SIZE~0))} assume !!~bvslt32(~i~0, ~SIZE~0);call write~intINTTYPE4(1bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {2954#(or (not (bvslt (_ bv3 32) ~SIZE~0)) (bvslt (bvadd main_~i~0 (_ bv1 32)) ~SIZE~0))} is VALID [2018-11-23 10:42:52,418 INFO L273 TraceCheckUtils]: 10: Hoare triple {2961#(or (not (bvslt (_ bv3 32) ~SIZE~0)) (bvslt (bvadd main_~i~0 (_ bv2 32)) ~SIZE~0))} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {2954#(or (not (bvslt (_ bv3 32) ~SIZE~0)) (bvslt (bvadd main_~i~0 (_ bv1 32)) ~SIZE~0))} is VALID [2018-11-23 10:42:52,418 INFO L273 TraceCheckUtils]: 9: Hoare triple {2961#(or (not (bvslt (_ bv3 32) ~SIZE~0)) (bvslt (bvadd main_~i~0 (_ bv2 32)) ~SIZE~0))} assume !!~bvslt32(~i~0, ~SIZE~0);call write~intINTTYPE4(1bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {2961#(or (not (bvslt (_ bv3 32) ~SIZE~0)) (bvslt (bvadd main_~i~0 (_ bv2 32)) ~SIZE~0))} is VALID [2018-11-23 10:42:52,448 INFO L273 TraceCheckUtils]: 8: Hoare triple {2968#(or (not (bvslt (_ bv3 32) ~SIZE~0)) (bvslt (bvadd main_~i~0 (_ bv3 32)) ~SIZE~0))} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {2961#(or (not (bvslt (_ bv3 32) ~SIZE~0)) (bvslt (bvadd main_~i~0 (_ bv2 32)) ~SIZE~0))} is VALID [2018-11-23 10:42:52,449 INFO L273 TraceCheckUtils]: 7: Hoare triple {2968#(or (not (bvslt (_ bv3 32) ~SIZE~0)) (bvslt (bvadd main_~i~0 (_ bv3 32)) ~SIZE~0))} assume !!~bvslt32(~i~0, ~SIZE~0);call write~intINTTYPE4(1bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {2968#(or (not (bvslt (_ bv3 32) ~SIZE~0)) (bvslt (bvadd main_~i~0 (_ bv3 32)) ~SIZE~0))} is VALID [2018-11-23 10:42:52,450 INFO L273 TraceCheckUtils]: 6: Hoare triple {2760#true} assume ~bvsgt32(~SIZE~0, 1bv32);havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~bvmul32(4bv32, ~SIZE~0));~sum~0 := 0bv32;~i~0 := 0bv32; {2968#(or (not (bvslt (_ bv3 32) ~SIZE~0)) (bvslt (bvadd main_~i~0 (_ bv3 32)) ~SIZE~0))} is VALID [2018-11-23 10:42:52,450 INFO L273 TraceCheckUtils]: 5: Hoare triple {2760#true} ~SIZE~0 := #t~nondet1;havoc #t~nondet1; {2760#true} is VALID [2018-11-23 10:42:52,450 INFO L256 TraceCheckUtils]: 4: Hoare triple {2760#true} call #t~ret7 := main(); {2760#true} is VALID [2018-11-23 10:42:52,450 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2760#true} {2760#true} #69#return; {2760#true} is VALID [2018-11-23 10:42:52,450 INFO L273 TraceCheckUtils]: 2: Hoare triple {2760#true} assume true; {2760#true} is VALID [2018-11-23 10:42:52,450 INFO L273 TraceCheckUtils]: 1: Hoare triple {2760#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];~SIZE~0 := 0bv32; {2760#true} is VALID [2018-11-23 10:42:52,451 INFO L256 TraceCheckUtils]: 0: Hoare triple {2760#true} call ULTIMATE.init(); {2760#true} is VALID [2018-11-23 10:42:52,452 INFO L134 CoverageAnalysis]: Checked inductivity of 34 backedges. 7 proven. 18 refuted. 0 times theorem prover too weak. 9 trivial. 0 not checked. [2018-11-23 10:42:52,454 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 10:42:52,454 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 11] total 20 [2018-11-23 10:42:52,455 INFO L78 Accepts]: Start accepts. Automaton has 20 states. Word has length 36 [2018-11-23 10:42:52,455 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 10:42:52,455 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 20 states. [2018-11-23 10:42:52,657 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:42:52,657 INFO L459 AbstractCegarLoop]: Interpolant automaton has 20 states [2018-11-23 10:42:52,657 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 20 interpolants. [2018-11-23 10:42:52,657 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=94, Invalid=286, Unknown=0, NotChecked=0, Total=380 [2018-11-23 10:42:52,658 INFO L87 Difference]: Start difference. First operand 40 states and 43 transitions. Second operand 20 states. [2018-11-23 10:42:56,223 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:42:56,224 INFO L93 Difference]: Finished difference Result 86 states and 92 transitions. [2018-11-23 10:42:56,224 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 23 states. [2018-11-23 10:42:56,224 INFO L78 Accepts]: Start accepts. Automaton has 20 states. Word has length 36 [2018-11-23 10:42:56,224 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 10:42:56,224 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 20 states. [2018-11-23 10:42:56,227 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 87 transitions. [2018-11-23 10:42:56,227 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 20 states. [2018-11-23 10:42:56,229 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 87 transitions. [2018-11-23 10:42:56,230 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 23 states and 87 transitions. [2018-11-23 10:42:56,815 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 10:42:56,816 INFO L225 Difference]: With dead ends: 86 [2018-11-23 10:42:56,816 INFO L226 Difference]: Without dead ends: 47 [2018-11-23 10:42:56,817 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 81 GetRequests, 53 SyntacticMatches, 0 SemanticMatches, 28 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 134 ImplicationChecksByTransitivity, 1.0s TimeCoverageRelationStatistics Valid=245, Invalid=625, Unknown=0, NotChecked=0, Total=870 [2018-11-23 10:42:56,817 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 47 states. [2018-11-23 10:42:56,865 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 47 to 39. [2018-11-23 10:42:56,866 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 10:42:56,866 INFO L82 GeneralOperation]: Start isEquivalent. First operand 47 states. Second operand 39 states. [2018-11-23 10:42:56,866 INFO L74 IsIncluded]: Start isIncluded. First operand 47 states. Second operand 39 states. [2018-11-23 10:42:56,866 INFO L87 Difference]: Start difference. First operand 47 states. Second operand 39 states. [2018-11-23 10:42:56,867 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:42:56,867 INFO L93 Difference]: Finished difference Result 47 states and 49 transitions. [2018-11-23 10:42:56,867 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 49 transitions. [2018-11-23 10:42:56,868 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:42:56,868 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:42:56,868 INFO L74 IsIncluded]: Start isIncluded. First operand 39 states. Second operand 47 states. [2018-11-23 10:42:56,869 INFO L87 Difference]: Start difference. First operand 39 states. Second operand 47 states. [2018-11-23 10:42:56,870 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:42:56,870 INFO L93 Difference]: Finished difference Result 47 states and 49 transitions. [2018-11-23 10:42:56,871 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 49 transitions. [2018-11-23 10:42:56,871 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:42:56,871 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:42:56,871 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 10:42:56,871 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 10:42:56,871 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 39 states. [2018-11-23 10:42:56,872 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 39 states to 39 states and 41 transitions. [2018-11-23 10:42:56,872 INFO L78 Accepts]: Start accepts. Automaton has 39 states and 41 transitions. Word has length 36 [2018-11-23 10:42:56,873 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 10:42:56,873 INFO L480 AbstractCegarLoop]: Abstraction has 39 states and 41 transitions. [2018-11-23 10:42:56,873 INFO L481 AbstractCegarLoop]: Interpolant automaton has 20 states. [2018-11-23 10:42:56,873 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 41 transitions. [2018-11-23 10:42:56,874 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2018-11-23 10:42:56,874 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 10:42:56,874 INFO L402 BasicCegarLoop]: trace histogram [4, 4, 4, 4, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 10:42:56,874 INFO L423 AbstractCegarLoop]: === Iteration 11 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 10:42:56,874 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 10:42:56,874 INFO L82 PathProgramCache]: Analyzing trace with hash 630241807, now seen corresponding path program 6 times [2018-11-23 10:42:56,875 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 10:42:56,875 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 10:42:56,892 INFO L101 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2018-11-23 10:42:57,107 INFO L249 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2018-11-23 10:42:57,107 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 10:42:57,138 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:42:57,140 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 10:42:57,450 INFO L256 TraceCheckUtils]: 0: Hoare triple {3296#true} call ULTIMATE.init(); {3296#true} is VALID [2018-11-23 10:42:57,450 INFO L273 TraceCheckUtils]: 1: Hoare triple {3296#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];~SIZE~0 := 0bv32; {3296#true} is VALID [2018-11-23 10:42:57,451 INFO L273 TraceCheckUtils]: 2: Hoare triple {3296#true} assume true; {3296#true} is VALID [2018-11-23 10:42:57,451 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3296#true} {3296#true} #69#return; {3296#true} is VALID [2018-11-23 10:42:57,451 INFO L256 TraceCheckUtils]: 4: Hoare triple {3296#true} call #t~ret7 := main(); {3296#true} is VALID [2018-11-23 10:42:57,451 INFO L273 TraceCheckUtils]: 5: Hoare triple {3296#true} ~SIZE~0 := #t~nondet1;havoc #t~nondet1; {3296#true} is VALID [2018-11-23 10:42:57,452 INFO L273 TraceCheckUtils]: 6: Hoare triple {3296#true} assume ~bvsgt32(~SIZE~0, 1bv32);havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~bvmul32(4bv32, ~SIZE~0));~sum~0 := 0bv32;~i~0 := 0bv32; {3319#(bvsgt ~SIZE~0 (_ bv1 32))} is VALID [2018-11-23 10:42:57,452 INFO L273 TraceCheckUtils]: 7: Hoare triple {3319#(bvsgt ~SIZE~0 (_ bv1 32))} assume !!~bvslt32(~i~0, ~SIZE~0);call write~intINTTYPE4(1bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {3319#(bvsgt ~SIZE~0 (_ bv1 32))} is VALID [2018-11-23 10:42:57,452 INFO L273 TraceCheckUtils]: 8: Hoare triple {3319#(bvsgt ~SIZE~0 (_ bv1 32))} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {3319#(bvsgt ~SIZE~0 (_ bv1 32))} is VALID [2018-11-23 10:42:57,453 INFO L273 TraceCheckUtils]: 9: Hoare triple {3319#(bvsgt ~SIZE~0 (_ bv1 32))} assume !!~bvslt32(~i~0, ~SIZE~0);call write~intINTTYPE4(1bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {3319#(bvsgt ~SIZE~0 (_ bv1 32))} is VALID [2018-11-23 10:42:57,453 INFO L273 TraceCheckUtils]: 10: Hoare triple {3319#(bvsgt ~SIZE~0 (_ bv1 32))} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {3319#(bvsgt ~SIZE~0 (_ bv1 32))} is VALID [2018-11-23 10:42:57,453 INFO L273 TraceCheckUtils]: 11: Hoare triple {3319#(bvsgt ~SIZE~0 (_ bv1 32))} assume !!~bvslt32(~i~0, ~SIZE~0);call write~intINTTYPE4(1bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {3319#(bvsgt ~SIZE~0 (_ bv1 32))} is VALID [2018-11-23 10:42:57,454 INFO L273 TraceCheckUtils]: 12: Hoare triple {3319#(bvsgt ~SIZE~0 (_ bv1 32))} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {3319#(bvsgt ~SIZE~0 (_ bv1 32))} is VALID [2018-11-23 10:42:57,454 INFO L273 TraceCheckUtils]: 13: Hoare triple {3319#(bvsgt ~SIZE~0 (_ bv1 32))} assume !!~bvslt32(~i~0, ~SIZE~0);call write~intINTTYPE4(1bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {3319#(bvsgt ~SIZE~0 (_ bv1 32))} is VALID [2018-11-23 10:42:57,459 INFO L273 TraceCheckUtils]: 14: Hoare triple {3319#(bvsgt ~SIZE~0 (_ bv1 32))} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {3319#(bvsgt ~SIZE~0 (_ bv1 32))} is VALID [2018-11-23 10:42:57,460 INFO L273 TraceCheckUtils]: 15: Hoare triple {3319#(bvsgt ~SIZE~0 (_ bv1 32))} assume !~bvslt32(~i~0, ~SIZE~0); {3319#(bvsgt ~SIZE~0 (_ bv1 32))} is VALID [2018-11-23 10:42:57,461 INFO L273 TraceCheckUtils]: 16: Hoare triple {3319#(bvsgt ~SIZE~0 (_ bv1 32))} ~i~0 := 0bv32; {3350#(and (= main_~i~0 (_ bv0 32)) (bvsgt ~SIZE~0 (_ bv1 32)))} is VALID [2018-11-23 10:42:57,461 INFO L273 TraceCheckUtils]: 17: Hoare triple {3350#(and (= main_~i~0 (_ bv0 32)) (bvsgt ~SIZE~0 (_ bv1 32)))} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem4 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);~sum~0 := ~bvadd32(~sum~0, #t~mem4);havoc #t~mem4; {3350#(and (= main_~i~0 (_ bv0 32)) (bvsgt ~SIZE~0 (_ bv1 32)))} is VALID [2018-11-23 10:42:57,462 INFO L273 TraceCheckUtils]: 18: Hoare triple {3350#(and (= main_~i~0 (_ bv0 32)) (bvsgt ~SIZE~0 (_ bv1 32)))} #t~post3 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post3);havoc #t~post3; {3357#(and (bvsgt ~SIZE~0 (_ bv1 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:42:57,462 INFO L273 TraceCheckUtils]: 19: Hoare triple {3357#(and (bvsgt ~SIZE~0 (_ bv1 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem4 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);~sum~0 := ~bvadd32(~sum~0, #t~mem4);havoc #t~mem4; {3357#(and (bvsgt ~SIZE~0 (_ bv1 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:42:57,463 INFO L273 TraceCheckUtils]: 20: Hoare triple {3357#(and (bvsgt ~SIZE~0 (_ bv1 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} #t~post3 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post3);havoc #t~post3; {3364#(and (bvsgt ~SIZE~0 (_ bv1 32)) (= (_ bv2 32) main_~i~0))} is VALID [2018-11-23 10:42:57,463 INFO L273 TraceCheckUtils]: 21: Hoare triple {3364#(and (bvsgt ~SIZE~0 (_ bv1 32)) (= (_ bv2 32) main_~i~0))} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem4 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);~sum~0 := ~bvadd32(~sum~0, #t~mem4);havoc #t~mem4; {3364#(and (bvsgt ~SIZE~0 (_ bv1 32)) (= (_ bv2 32) main_~i~0))} is VALID [2018-11-23 10:42:57,465 INFO L273 TraceCheckUtils]: 22: Hoare triple {3364#(and (bvsgt ~SIZE~0 (_ bv1 32)) (= (_ bv2 32) main_~i~0))} #t~post3 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post3);havoc #t~post3; {3371#(and (= (bvadd main_~i~0 (_ bv4294967293 32)) (_ bv0 32)) (bvsgt ~SIZE~0 (_ bv1 32)))} is VALID [2018-11-23 10:42:57,466 INFO L273 TraceCheckUtils]: 23: Hoare triple {3371#(and (= (bvadd main_~i~0 (_ bv4294967293 32)) (_ bv0 32)) (bvsgt ~SIZE~0 (_ bv1 32)))} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem4 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);~sum~0 := ~bvadd32(~sum~0, #t~mem4);havoc #t~mem4; {3375#(and (= (bvadd main_~i~0 (_ bv4294967293 32)) (_ bv0 32)) (bvslt main_~i~0 ~SIZE~0))} is VALID [2018-11-23 10:42:57,467 INFO L273 TraceCheckUtils]: 24: Hoare triple {3375#(and (= (bvadd main_~i~0 (_ bv4294967293 32)) (_ bv0 32)) (bvslt main_~i~0 ~SIZE~0))} #t~post3 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post3);havoc #t~post3; {3379#(and (bvslt (bvadd main_~i~0 (_ bv4294967295 32)) ~SIZE~0) (= (_ bv4 32) main_~i~0))} is VALID [2018-11-23 10:42:57,467 INFO L273 TraceCheckUtils]: 25: Hoare triple {3379#(and (bvslt (bvadd main_~i~0 (_ bv4294967295 32)) ~SIZE~0) (= (_ bv4 32) main_~i~0))} assume !~bvslt32(~i~0, ~SIZE~0); {3383#(and (not (bvslt (_ bv4 32) ~SIZE~0)) (bvslt (_ bv3 32) ~SIZE~0))} is VALID [2018-11-23 10:42:57,468 INFO L273 TraceCheckUtils]: 26: Hoare triple {3383#(and (not (bvslt (_ bv4 32) ~SIZE~0)) (bvslt (_ bv3 32) ~SIZE~0))} ~i~0 := 0bv32; {3387#(and (not (bvslt (_ bv4 32) ~SIZE~0)) (= main_~i~0 (_ bv0 32)) (bvslt (_ bv3 32) ~SIZE~0))} is VALID [2018-11-23 10:42:57,469 INFO L273 TraceCheckUtils]: 27: Hoare triple {3387#(and (not (bvslt (_ bv4 32) ~SIZE~0)) (= main_~i~0 (_ bv0 32)) (bvslt (_ bv3 32) ~SIZE~0))} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem6 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);~sum~0 := ~bvsub32(~sum~0, #t~mem6);havoc #t~mem6; {3387#(and (not (bvslt (_ bv4 32) ~SIZE~0)) (= main_~i~0 (_ bv0 32)) (bvslt (_ bv3 32) ~SIZE~0))} is VALID [2018-11-23 10:42:57,470 INFO L273 TraceCheckUtils]: 28: Hoare triple {3387#(and (not (bvslt (_ bv4 32) ~SIZE~0)) (= main_~i~0 (_ bv0 32)) (bvslt (_ bv3 32) ~SIZE~0))} #t~post5 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post5);havoc #t~post5; {3394#(and (not (bvslt (_ bv4 32) ~SIZE~0)) (bvslt (_ bv3 32) ~SIZE~0) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:42:57,471 INFO L273 TraceCheckUtils]: 29: Hoare triple {3394#(and (not (bvslt (_ bv4 32) ~SIZE~0)) (bvslt (_ bv3 32) ~SIZE~0) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem6 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);~sum~0 := ~bvsub32(~sum~0, #t~mem6);havoc #t~mem6; {3394#(and (not (bvslt (_ bv4 32) ~SIZE~0)) (bvslt (_ bv3 32) ~SIZE~0) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:42:57,472 INFO L273 TraceCheckUtils]: 30: Hoare triple {3394#(and (not (bvslt (_ bv4 32) ~SIZE~0)) (bvslt (_ bv3 32) ~SIZE~0) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} #t~post5 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post5);havoc #t~post5; {3401#(and (not (bvslt (_ bv4 32) ~SIZE~0)) (= (_ bv2 32) main_~i~0) (bvslt (_ bv3 32) ~SIZE~0))} is VALID [2018-11-23 10:42:57,473 INFO L273 TraceCheckUtils]: 31: Hoare triple {3401#(and (not (bvslt (_ bv4 32) ~SIZE~0)) (= (_ bv2 32) main_~i~0) (bvslt (_ bv3 32) ~SIZE~0))} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem6 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);~sum~0 := ~bvsub32(~sum~0, #t~mem6);havoc #t~mem6; {3401#(and (not (bvslt (_ bv4 32) ~SIZE~0)) (= (_ bv2 32) main_~i~0) (bvslt (_ bv3 32) ~SIZE~0))} is VALID [2018-11-23 10:42:57,473 INFO L273 TraceCheckUtils]: 32: Hoare triple {3401#(and (not (bvslt (_ bv4 32) ~SIZE~0)) (= (_ bv2 32) main_~i~0) (bvslt (_ bv3 32) ~SIZE~0))} #t~post5 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post5);havoc #t~post5; {3408#(and (not (bvslt (_ bv4 32) ~SIZE~0)) (= (bvadd main_~i~0 (_ bv4294967293 32)) (_ bv0 32)) (bvslt (_ bv3 32) ~SIZE~0))} is VALID [2018-11-23 10:42:57,474 INFO L273 TraceCheckUtils]: 33: Hoare triple {3408#(and (not (bvslt (_ bv4 32) ~SIZE~0)) (= (bvadd main_~i~0 (_ bv4294967293 32)) (_ bv0 32)) (bvslt (_ bv3 32) ~SIZE~0))} assume !~bvslt32(~i~0, ~SIZE~0); {3297#false} is VALID [2018-11-23 10:42:57,474 INFO L256 TraceCheckUtils]: 34: Hoare triple {3297#false} call __VERIFIER_assert((if 0bv32 == ~sum~0 then 1bv32 else 0bv32)); {3297#false} is VALID [2018-11-23 10:42:57,475 INFO L273 TraceCheckUtils]: 35: Hoare triple {3297#false} ~cond := #in~cond; {3297#false} is VALID [2018-11-23 10:42:57,475 INFO L273 TraceCheckUtils]: 36: Hoare triple {3297#false} assume 0bv32 == ~cond; {3297#false} is VALID [2018-11-23 10:42:57,475 INFO L273 TraceCheckUtils]: 37: Hoare triple {3297#false} assume !false; {3297#false} is VALID [2018-11-23 10:42:57,478 INFO L134 CoverageAnalysis]: Checked inductivity of 41 backedges. 0 proven. 25 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2018-11-23 10:42:57,479 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-23 10:42:58,104 INFO L273 TraceCheckUtils]: 37: Hoare triple {3297#false} assume !false; {3297#false} is VALID [2018-11-23 10:42:58,105 INFO L273 TraceCheckUtils]: 36: Hoare triple {3297#false} assume 0bv32 == ~cond; {3297#false} is VALID [2018-11-23 10:42:58,105 INFO L273 TraceCheckUtils]: 35: Hoare triple {3297#false} ~cond := #in~cond; {3297#false} is VALID [2018-11-23 10:42:58,105 INFO L256 TraceCheckUtils]: 34: Hoare triple {3297#false} call __VERIFIER_assert((if 0bv32 == ~sum~0 then 1bv32 else 0bv32)); {3297#false} is VALID [2018-11-23 10:42:58,105 INFO L273 TraceCheckUtils]: 33: Hoare triple {3436#(bvslt main_~i~0 ~SIZE~0)} assume !~bvslt32(~i~0, ~SIZE~0); {3297#false} is VALID [2018-11-23 10:42:58,106 INFO L273 TraceCheckUtils]: 32: Hoare triple {3440#(bvslt (bvadd main_~i~0 (_ bv1 32)) ~SIZE~0)} #t~post5 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post5);havoc #t~post5; {3436#(bvslt main_~i~0 ~SIZE~0)} is VALID [2018-11-23 10:42:58,107 INFO L273 TraceCheckUtils]: 31: Hoare triple {3440#(bvslt (bvadd main_~i~0 (_ bv1 32)) ~SIZE~0)} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem6 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);~sum~0 := ~bvsub32(~sum~0, #t~mem6);havoc #t~mem6; {3440#(bvslt (bvadd main_~i~0 (_ bv1 32)) ~SIZE~0)} is VALID [2018-11-23 10:42:58,129 INFO L273 TraceCheckUtils]: 30: Hoare triple {3447#(bvslt (bvadd main_~i~0 (_ bv2 32)) ~SIZE~0)} #t~post5 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post5);havoc #t~post5; {3440#(bvslt (bvadd main_~i~0 (_ bv1 32)) ~SIZE~0)} is VALID [2018-11-23 10:42:58,130 INFO L273 TraceCheckUtils]: 29: Hoare triple {3447#(bvslt (bvadd main_~i~0 (_ bv2 32)) ~SIZE~0)} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem6 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);~sum~0 := ~bvsub32(~sum~0, #t~mem6);havoc #t~mem6; {3447#(bvslt (bvadd main_~i~0 (_ bv2 32)) ~SIZE~0)} is VALID [2018-11-23 10:42:58,163 INFO L273 TraceCheckUtils]: 28: Hoare triple {3454#(bvslt (bvadd main_~i~0 (_ bv3 32)) ~SIZE~0)} #t~post5 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post5);havoc #t~post5; {3447#(bvslt (bvadd main_~i~0 (_ bv2 32)) ~SIZE~0)} is VALID [2018-11-23 10:42:58,164 INFO L273 TraceCheckUtils]: 27: Hoare triple {3454#(bvslt (bvadd main_~i~0 (_ bv3 32)) ~SIZE~0)} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem6 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);~sum~0 := ~bvsub32(~sum~0, #t~mem6);havoc #t~mem6; {3454#(bvslt (bvadd main_~i~0 (_ bv3 32)) ~SIZE~0)} is VALID [2018-11-23 10:42:58,164 INFO L273 TraceCheckUtils]: 26: Hoare triple {3461#(bvslt (_ bv3 32) ~SIZE~0)} ~i~0 := 0bv32; {3454#(bvslt (bvadd main_~i~0 (_ bv3 32)) ~SIZE~0)} is VALID [2018-11-23 10:42:58,165 INFO L273 TraceCheckUtils]: 25: Hoare triple {3465#(or (bvslt main_~i~0 ~SIZE~0) (bvslt (_ bv3 32) ~SIZE~0))} assume !~bvslt32(~i~0, ~SIZE~0); {3461#(bvslt (_ bv3 32) ~SIZE~0)} is VALID [2018-11-23 10:42:58,166 INFO L273 TraceCheckUtils]: 24: Hoare triple {3469#(or (bvslt (bvadd main_~i~0 (_ bv1 32)) ~SIZE~0) (bvslt (_ bv3 32) ~SIZE~0))} #t~post3 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post3);havoc #t~post3; {3465#(or (bvslt main_~i~0 ~SIZE~0) (bvslt (_ bv3 32) ~SIZE~0))} is VALID [2018-11-23 10:42:58,166 INFO L273 TraceCheckUtils]: 23: Hoare triple {3473#(or (not (bvslt main_~i~0 ~SIZE~0)) (bvslt (bvadd main_~i~0 (_ bv1 32)) ~SIZE~0) (bvslt (_ bv3 32) ~SIZE~0))} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem4 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);~sum~0 := ~bvadd32(~sum~0, #t~mem4);havoc #t~mem4; {3469#(or (bvslt (bvadd main_~i~0 (_ bv1 32)) ~SIZE~0) (bvslt (_ bv3 32) ~SIZE~0))} is VALID [2018-11-23 10:42:58,195 INFO L273 TraceCheckUtils]: 22: Hoare triple {3477#(or (bvslt (bvadd main_~i~0 (_ bv2 32)) ~SIZE~0) (not (bvslt (bvadd main_~i~0 (_ bv1 32)) ~SIZE~0)) (bvslt (_ bv3 32) ~SIZE~0))} #t~post3 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post3);havoc #t~post3; {3473#(or (not (bvslt main_~i~0 ~SIZE~0)) (bvslt (bvadd main_~i~0 (_ bv1 32)) ~SIZE~0) (bvslt (_ bv3 32) ~SIZE~0))} is VALID [2018-11-23 10:42:58,196 INFO L273 TraceCheckUtils]: 21: Hoare triple {3477#(or (bvslt (bvadd main_~i~0 (_ bv2 32)) ~SIZE~0) (not (bvslt (bvadd main_~i~0 (_ bv1 32)) ~SIZE~0)) (bvslt (_ bv3 32) ~SIZE~0))} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem4 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);~sum~0 := ~bvadd32(~sum~0, #t~mem4);havoc #t~mem4; {3477#(or (bvslt (bvadd main_~i~0 (_ bv2 32)) ~SIZE~0) (not (bvslt (bvadd main_~i~0 (_ bv1 32)) ~SIZE~0)) (bvslt (_ bv3 32) ~SIZE~0))} is VALID [2018-11-23 10:42:58,278 INFO L273 TraceCheckUtils]: 20: Hoare triple {3484#(or (not (bvslt (bvadd main_~i~0 (_ bv2 32)) ~SIZE~0)) (bvslt (bvadd main_~i~0 (_ bv3 32)) ~SIZE~0) (bvslt (_ bv3 32) ~SIZE~0))} #t~post3 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post3);havoc #t~post3; {3477#(or (bvslt (bvadd main_~i~0 (_ bv2 32)) ~SIZE~0) (not (bvslt (bvadd main_~i~0 (_ bv1 32)) ~SIZE~0)) (bvslt (_ bv3 32) ~SIZE~0))} is VALID [2018-11-23 10:42:58,279 INFO L273 TraceCheckUtils]: 19: Hoare triple {3484#(or (not (bvslt (bvadd main_~i~0 (_ bv2 32)) ~SIZE~0)) (bvslt (bvadd main_~i~0 (_ bv3 32)) ~SIZE~0) (bvslt (_ bv3 32) ~SIZE~0))} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem4 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);~sum~0 := ~bvadd32(~sum~0, #t~mem4);havoc #t~mem4; {3484#(or (not (bvslt (bvadd main_~i~0 (_ bv2 32)) ~SIZE~0)) (bvslt (bvadd main_~i~0 (_ bv3 32)) ~SIZE~0) (bvslt (_ bv3 32) ~SIZE~0))} is VALID [2018-11-23 10:42:58,339 INFO L273 TraceCheckUtils]: 18: Hoare triple {3491#(or (bvslt (bvadd main_~i~0 (_ bv4 32)) ~SIZE~0) (not (bvslt (bvadd main_~i~0 (_ bv3 32)) ~SIZE~0)) (bvslt (_ bv3 32) ~SIZE~0))} #t~post3 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post3);havoc #t~post3; {3484#(or (not (bvslt (bvadd main_~i~0 (_ bv2 32)) ~SIZE~0)) (bvslt (bvadd main_~i~0 (_ bv3 32)) ~SIZE~0) (bvslt (_ bv3 32) ~SIZE~0))} is VALID [2018-11-23 10:42:58,340 INFO L273 TraceCheckUtils]: 17: Hoare triple {3491#(or (bvslt (bvadd main_~i~0 (_ bv4 32)) ~SIZE~0) (not (bvslt (bvadd main_~i~0 (_ bv3 32)) ~SIZE~0)) (bvslt (_ bv3 32) ~SIZE~0))} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem4 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);~sum~0 := ~bvadd32(~sum~0, #t~mem4);havoc #t~mem4; {3491#(or (bvslt (bvadd main_~i~0 (_ bv4 32)) ~SIZE~0) (not (bvslt (bvadd main_~i~0 (_ bv3 32)) ~SIZE~0)) (bvslt (_ bv3 32) ~SIZE~0))} is VALID [2018-11-23 10:42:58,340 INFO L273 TraceCheckUtils]: 16: Hoare triple {3296#true} ~i~0 := 0bv32; {3491#(or (bvslt (bvadd main_~i~0 (_ bv4 32)) ~SIZE~0) (not (bvslt (bvadd main_~i~0 (_ bv3 32)) ~SIZE~0)) (bvslt (_ bv3 32) ~SIZE~0))} is VALID [2018-11-23 10:42:58,341 INFO L273 TraceCheckUtils]: 15: Hoare triple {3296#true} assume !~bvslt32(~i~0, ~SIZE~0); {3296#true} is VALID [2018-11-23 10:42:58,341 INFO L273 TraceCheckUtils]: 14: Hoare triple {3296#true} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {3296#true} is VALID [2018-11-23 10:42:58,341 INFO L273 TraceCheckUtils]: 13: Hoare triple {3296#true} assume !!~bvslt32(~i~0, ~SIZE~0);call write~intINTTYPE4(1bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {3296#true} is VALID [2018-11-23 10:42:58,341 INFO L273 TraceCheckUtils]: 12: Hoare triple {3296#true} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {3296#true} is VALID [2018-11-23 10:42:58,341 INFO L273 TraceCheckUtils]: 11: Hoare triple {3296#true} assume !!~bvslt32(~i~0, ~SIZE~0);call write~intINTTYPE4(1bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {3296#true} is VALID [2018-11-23 10:42:58,341 INFO L273 TraceCheckUtils]: 10: Hoare triple {3296#true} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {3296#true} is VALID [2018-11-23 10:42:58,341 INFO L273 TraceCheckUtils]: 9: Hoare triple {3296#true} assume !!~bvslt32(~i~0, ~SIZE~0);call write~intINTTYPE4(1bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {3296#true} is VALID [2018-11-23 10:42:58,342 INFO L273 TraceCheckUtils]: 8: Hoare triple {3296#true} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {3296#true} is VALID [2018-11-23 10:42:58,342 INFO L273 TraceCheckUtils]: 7: Hoare triple {3296#true} assume !!~bvslt32(~i~0, ~SIZE~0);call write~intINTTYPE4(1bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {3296#true} is VALID [2018-11-23 10:42:58,342 INFO L273 TraceCheckUtils]: 6: Hoare triple {3296#true} assume ~bvsgt32(~SIZE~0, 1bv32);havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~bvmul32(4bv32, ~SIZE~0));~sum~0 := 0bv32;~i~0 := 0bv32; {3296#true} is VALID [2018-11-23 10:42:58,342 INFO L273 TraceCheckUtils]: 5: Hoare triple {3296#true} ~SIZE~0 := #t~nondet1;havoc #t~nondet1; {3296#true} is VALID [2018-11-23 10:42:58,342 INFO L256 TraceCheckUtils]: 4: Hoare triple {3296#true} call #t~ret7 := main(); {3296#true} is VALID [2018-11-23 10:42:58,342 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3296#true} {3296#true} #69#return; {3296#true} is VALID [2018-11-23 10:42:58,342 INFO L273 TraceCheckUtils]: 2: Hoare triple {3296#true} assume true; {3296#true} is VALID [2018-11-23 10:42:58,343 INFO L273 TraceCheckUtils]: 1: Hoare triple {3296#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];~SIZE~0 := 0bv32; {3296#true} is VALID [2018-11-23 10:42:58,343 INFO L256 TraceCheckUtils]: 0: Hoare triple {3296#true} call ULTIMATE.init(); {3296#true} is VALID [2018-11-23 10:42:58,344 INFO L134 CoverageAnalysis]: Checked inductivity of 41 backedges. 0 proven. 25 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2018-11-23 10:42:58,346 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 10:42:58,346 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 13] total 25 [2018-11-23 10:42:58,347 INFO L78 Accepts]: Start accepts. Automaton has 25 states. Word has length 38 [2018-11-23 10:42:58,347 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 10:42:58,347 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 25 states. [2018-11-23 10:42:58,658 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:42:58,659 INFO L459 AbstractCegarLoop]: Interpolant automaton has 25 states [2018-11-23 10:42:58,659 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 25 interpolants. [2018-11-23 10:42:58,659 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=161, Invalid=439, Unknown=0, NotChecked=0, Total=600 [2018-11-23 10:42:58,660 INFO L87 Difference]: Start difference. First operand 39 states and 41 transitions. Second operand 25 states. [2018-11-23 10:43:01,780 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:43:01,780 INFO L93 Difference]: Finished difference Result 90 states and 99 transitions. [2018-11-23 10:43:01,781 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 21 states. [2018-11-23 10:43:01,781 INFO L78 Accepts]: Start accepts. Automaton has 25 states. Word has length 38 [2018-11-23 10:43:01,781 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 10:43:01,781 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 25 states. [2018-11-23 10:43:01,783 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 94 transitions. [2018-11-23 10:43:01,783 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 25 states. [2018-11-23 10:43:01,785 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 94 transitions. [2018-11-23 10:43:01,786 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 21 states and 94 transitions. [2018-11-23 10:43:01,981 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 94 edges. 94 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:43:01,983 INFO L225 Difference]: With dead ends: 90 [2018-11-23 10:43:01,983 INFO L226 Difference]: Without dead ends: 75 [2018-11-23 10:43:01,984 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 85 GetRequests, 55 SyntacticMatches, 0 SemanticMatches, 30 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 249 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=261, Invalid=731, Unknown=0, NotChecked=0, Total=992 [2018-11-23 10:43:01,984 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 75 states. [2018-11-23 10:43:02,069 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 75 to 65. [2018-11-23 10:43:02,070 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 10:43:02,070 INFO L82 GeneralOperation]: Start isEquivalent. First operand 75 states. Second operand 65 states. [2018-11-23 10:43:02,070 INFO L74 IsIncluded]: Start isIncluded. First operand 75 states. Second operand 65 states. [2018-11-23 10:43:02,070 INFO L87 Difference]: Start difference. First operand 75 states. Second operand 65 states. [2018-11-23 10:43:02,073 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:43:02,073 INFO L93 Difference]: Finished difference Result 75 states and 79 transitions. [2018-11-23 10:43:02,073 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 79 transitions. [2018-11-23 10:43:02,073 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:43:02,073 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:43:02,074 INFO L74 IsIncluded]: Start isIncluded. First operand 65 states. Second operand 75 states. [2018-11-23 10:43:02,074 INFO L87 Difference]: Start difference. First operand 65 states. Second operand 75 states. [2018-11-23 10:43:02,075 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:43:02,075 INFO L93 Difference]: Finished difference Result 75 states and 79 transitions. [2018-11-23 10:43:02,075 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 79 transitions. [2018-11-23 10:43:02,075 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:43:02,075 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:43:02,076 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 10:43:02,076 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 10:43:02,076 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 65 states. [2018-11-23 10:43:02,077 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 65 states to 65 states and 69 transitions. [2018-11-23 10:43:02,077 INFO L78 Accepts]: Start accepts. Automaton has 65 states and 69 transitions. Word has length 38 [2018-11-23 10:43:02,077 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 10:43:02,077 INFO L480 AbstractCegarLoop]: Abstraction has 65 states and 69 transitions. [2018-11-23 10:43:02,078 INFO L481 AbstractCegarLoop]: Interpolant automaton has 25 states. [2018-11-23 10:43:02,078 INFO L276 IsEmpty]: Start isEmpty. Operand 65 states and 69 transitions. [2018-11-23 10:43:02,078 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 41 [2018-11-23 10:43:02,078 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 10:43:02,078 INFO L402 BasicCegarLoop]: trace histogram [4, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 10:43:02,079 INFO L423 AbstractCegarLoop]: === Iteration 12 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 10:43:02,079 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 10:43:02,079 INFO L82 PathProgramCache]: Analyzing trace with hash 1089139021, now seen corresponding path program 7 times [2018-11-23 10:43:02,079 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 10:43:02,080 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:43:02,106 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 10:43:02,192 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:43:04,236 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unknown [2018-11-23 10:43:04,240 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 10:43:05,873 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 47 treesize of output 31 [2018-11-23 10:43:05,894 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 4 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 15 [2018-11-23 10:43:05,909 INFO L267 ElimStorePlain]: Start of recursive call 3: 4 dim-0 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2018-11-23 10:43:05,920 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2018-11-23 10:43:05,930 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2018-11-23 10:43:05,930 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:47, output treesize:15 [2018-11-23 10:43:06,568 INFO L256 TraceCheckUtils]: 0: Hoare triple {3946#true} call ULTIMATE.init(); {3946#true} is VALID [2018-11-23 10:43:06,568 INFO L273 TraceCheckUtils]: 1: Hoare triple {3946#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];~SIZE~0 := 0bv32; {3946#true} is VALID [2018-11-23 10:43:06,569 INFO L273 TraceCheckUtils]: 2: Hoare triple {3946#true} assume true; {3946#true} is VALID [2018-11-23 10:43:06,569 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3946#true} {3946#true} #69#return; {3946#true} is VALID [2018-11-23 10:43:06,569 INFO L256 TraceCheckUtils]: 4: Hoare triple {3946#true} call #t~ret7 := main(); {3946#true} is VALID [2018-11-23 10:43:06,569 INFO L273 TraceCheckUtils]: 5: Hoare triple {3946#true} ~SIZE~0 := #t~nondet1;havoc #t~nondet1; {3946#true} is VALID [2018-11-23 10:43:06,570 INFO L273 TraceCheckUtils]: 6: Hoare triple {3946#true} assume ~bvsgt32(~SIZE~0, 1bv32);havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~bvmul32(4bv32, ~SIZE~0));~sum~0 := 0bv32;~i~0 := 0bv32; {3969#(and (= |main_~#a~0.offset| (_ bv0 32)) (= main_~sum~0 (_ bv0 32)))} is VALID [2018-11-23 10:43:06,571 INFO L273 TraceCheckUtils]: 7: Hoare triple {3969#(and (= |main_~#a~0.offset| (_ bv0 32)) (= main_~sum~0 (_ bv0 32)))} assume !!~bvslt32(~i~0, ~SIZE~0);call write~intINTTYPE4(1bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {3969#(and (= |main_~#a~0.offset| (_ bv0 32)) (= main_~sum~0 (_ bv0 32)))} is VALID [2018-11-23 10:43:06,572 INFO L273 TraceCheckUtils]: 8: Hoare triple {3969#(and (= |main_~#a~0.offset| (_ bv0 32)) (= main_~sum~0 (_ bv0 32)))} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {3969#(and (= |main_~#a~0.offset| (_ bv0 32)) (= main_~sum~0 (_ bv0 32)))} is VALID [2018-11-23 10:43:06,572 INFO L273 TraceCheckUtils]: 9: Hoare triple {3969#(and (= |main_~#a~0.offset| (_ bv0 32)) (= main_~sum~0 (_ bv0 32)))} assume !!~bvslt32(~i~0, ~SIZE~0);call write~intINTTYPE4(1bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {3969#(and (= |main_~#a~0.offset| (_ bv0 32)) (= main_~sum~0 (_ bv0 32)))} is VALID [2018-11-23 10:43:06,573 INFO L273 TraceCheckUtils]: 10: Hoare triple {3969#(and (= |main_~#a~0.offset| (_ bv0 32)) (= main_~sum~0 (_ bv0 32)))} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {3969#(and (= |main_~#a~0.offset| (_ bv0 32)) (= main_~sum~0 (_ bv0 32)))} is VALID [2018-11-23 10:43:06,574 INFO L273 TraceCheckUtils]: 11: Hoare triple {3969#(and (= |main_~#a~0.offset| (_ bv0 32)) (= main_~sum~0 (_ bv0 32)))} assume !!~bvslt32(~i~0, ~SIZE~0);call write~intINTTYPE4(1bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {3969#(and (= |main_~#a~0.offset| (_ bv0 32)) (= main_~sum~0 (_ bv0 32)))} is VALID [2018-11-23 10:43:06,575 INFO L273 TraceCheckUtils]: 12: Hoare triple {3969#(and (= |main_~#a~0.offset| (_ bv0 32)) (= main_~sum~0 (_ bv0 32)))} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {3969#(and (= |main_~#a~0.offset| (_ bv0 32)) (= main_~sum~0 (_ bv0 32)))} is VALID [2018-11-23 10:43:06,576 INFO L273 TraceCheckUtils]: 13: Hoare triple {3969#(and (= |main_~#a~0.offset| (_ bv0 32)) (= main_~sum~0 (_ bv0 32)))} assume !!~bvslt32(~i~0, ~SIZE~0);call write~intINTTYPE4(1bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {3969#(and (= |main_~#a~0.offset| (_ bv0 32)) (= main_~sum~0 (_ bv0 32)))} is VALID [2018-11-23 10:43:06,576 INFO L273 TraceCheckUtils]: 14: Hoare triple {3969#(and (= |main_~#a~0.offset| (_ bv0 32)) (= main_~sum~0 (_ bv0 32)))} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {3969#(and (= |main_~#a~0.offset| (_ bv0 32)) (= main_~sum~0 (_ bv0 32)))} is VALID [2018-11-23 10:43:06,577 INFO L273 TraceCheckUtils]: 15: Hoare triple {3969#(and (= |main_~#a~0.offset| (_ bv0 32)) (= main_~sum~0 (_ bv0 32)))} assume !~bvslt32(~i~0, ~SIZE~0); {3969#(and (= |main_~#a~0.offset| (_ bv0 32)) (= main_~sum~0 (_ bv0 32)))} is VALID [2018-11-23 10:43:06,594 INFO L273 TraceCheckUtils]: 16: Hoare triple {3969#(and (= |main_~#a~0.offset| (_ bv0 32)) (= main_~sum~0 (_ bv0 32)))} ~i~0 := 0bv32; {4000#(and (= |main_~#a~0.offset| (_ bv0 32)) (= main_~i~0 (_ bv0 32)) (= main_~sum~0 (_ bv0 32)))} is VALID [2018-11-23 10:43:06,595 INFO L273 TraceCheckUtils]: 17: Hoare triple {4000#(and (= |main_~#a~0.offset| (_ bv0 32)) (= main_~i~0 (_ bv0 32)) (= main_~sum~0 (_ bv0 32)))} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem4 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);~sum~0 := ~bvadd32(~sum~0, #t~mem4);havoc #t~mem4; {4004#(and (= main_~sum~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0)))) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~i~0 (_ bv0 32)))} is VALID [2018-11-23 10:43:06,596 INFO L273 TraceCheckUtils]: 18: Hoare triple {4004#(and (= main_~sum~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0)))) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~i~0 (_ bv0 32)))} #t~post3 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post3);havoc #t~post3; {4008#(and (= main_~sum~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4294967292 32)))) (= |main_~#a~0.offset| (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:43:06,621 INFO L273 TraceCheckUtils]: 19: Hoare triple {4008#(and (= main_~sum~0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4294967292 32)))) (= |main_~#a~0.offset| (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem4 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);~sum~0 := ~bvadd32(~sum~0, #t~mem4);havoc #t~mem4; {4012#(and (= |main_~#a~0.offset| (_ bv0 32)) (= main_~sum~0 (bvadd (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0))) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4294967292 32))))) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:43:06,623 INFO L273 TraceCheckUtils]: 20: Hoare triple {4012#(and (= |main_~#a~0.offset| (_ bv0 32)) (= main_~sum~0 (bvadd (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0))) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4294967292 32))))) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} #t~post3 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post3);havoc #t~post3; {4016#(and (= main_~sum~0 (bvadd (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4294967288 32))) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4294967292 32))))) (= |main_~#a~0.offset| (_ bv0 32)) (= (_ bv2 32) main_~i~0))} is VALID [2018-11-23 10:43:06,655 INFO L273 TraceCheckUtils]: 21: Hoare triple {4016#(and (= main_~sum~0 (bvadd (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4294967288 32))) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4294967292 32))))) (= |main_~#a~0.offset| (_ bv0 32)) (= (_ bv2 32) main_~i~0))} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem4 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);~sum~0 := ~bvadd32(~sum~0, #t~mem4);havoc #t~mem4; {4020#(and (= main_~sum~0 (bvadd (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0))) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4294967288 32))) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4294967292 32))))) (= |main_~#a~0.offset| (_ bv0 32)) (= (_ bv2 32) main_~i~0))} is VALID [2018-11-23 10:43:06,657 INFO L273 TraceCheckUtils]: 22: Hoare triple {4020#(and (= main_~sum~0 (bvadd (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0))) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4294967288 32))) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4294967292 32))))) (= |main_~#a~0.offset| (_ bv0 32)) (= (_ bv2 32) main_~i~0))} #t~post3 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post3);havoc #t~post3; {4024#(and (= (bvadd main_~i~0 (_ bv4294967293 32)) (_ bv0 32)) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~sum~0 (bvadd (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4294967284 32))) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4294967288 32))) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4294967292 32))))))} is VALID [2018-11-23 10:43:08,662 INFO L273 TraceCheckUtils]: 23: Hoare triple {4024#(and (= (bvadd main_~i~0 (_ bv4294967293 32)) (_ bv0 32)) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~sum~0 (bvadd (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4294967284 32))) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4294967288 32))) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4294967292 32))))))} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem4 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);~sum~0 := ~bvadd32(~sum~0, #t~mem4);havoc #t~mem4; {4028#(and (= main_~sum~0 (bvadd (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv4 32))) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv12 32))) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32))))) (= |main_~#a~0.offset| (_ bv0 32)))} is UNKNOWN [2018-11-23 10:43:08,663 INFO L273 TraceCheckUtils]: 24: Hoare triple {4028#(and (= main_~sum~0 (bvadd (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv4 32))) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv12 32))) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32))))) (= |main_~#a~0.offset| (_ bv0 32)))} #t~post3 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post3);havoc #t~post3; {4028#(and (= main_~sum~0 (bvadd (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv4 32))) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv12 32))) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32))))) (= |main_~#a~0.offset| (_ bv0 32)))} is VALID [2018-11-23 10:43:08,664 INFO L273 TraceCheckUtils]: 25: Hoare triple {4028#(and (= main_~sum~0 (bvadd (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv4 32))) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv12 32))) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32))))) (= |main_~#a~0.offset| (_ bv0 32)))} assume !~bvslt32(~i~0, ~SIZE~0); {4028#(and (= main_~sum~0 (bvadd (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv4 32))) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv12 32))) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32))))) (= |main_~#a~0.offset| (_ bv0 32)))} is VALID [2018-11-23 10:43:08,665 INFO L273 TraceCheckUtils]: 26: Hoare triple {4028#(and (= main_~sum~0 (bvadd (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv4 32))) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv12 32))) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32))))) (= |main_~#a~0.offset| (_ bv0 32)))} ~i~0 := 0bv32; {4038#(and (= main_~sum~0 (bvadd (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv4 32))) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv12 32))) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32))))) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~i~0 (_ bv0 32)))} is VALID [2018-11-23 10:43:08,717 INFO L273 TraceCheckUtils]: 27: Hoare triple {4038#(and (= main_~sum~0 (bvadd (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv4 32))) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv12 32))) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32))))) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~i~0 (_ bv0 32)))} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem6 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);~sum~0 := ~bvsub32(~sum~0, #t~mem6);havoc #t~mem6; {4042#(and (= (bvadd (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv4 32))) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv12 32))) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32))) (bvneg (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0))))) main_~sum~0) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~i~0 (_ bv0 32)))} is VALID [2018-11-23 10:43:08,721 INFO L273 TraceCheckUtils]: 28: Hoare triple {4042#(and (= (bvadd (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv4 32))) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv12 32))) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32))) (bvneg (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0))))) main_~sum~0) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~i~0 (_ bv0 32)))} #t~post5 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post5);havoc #t~post5; {4046#(and (= main_~sum~0 (bvadd (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv4 32))) (bvneg (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4294967292 32)))) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv12 32))) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32))))) (= |main_~#a~0.offset| (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:43:08,776 INFO L273 TraceCheckUtils]: 29: Hoare triple {4046#(and (= main_~sum~0 (bvadd (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv4 32))) (bvneg (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4294967292 32)))) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv12 32))) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32))))) (= |main_~#a~0.offset| (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem6 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);~sum~0 := ~bvsub32(~sum~0, #t~mem6);havoc #t~mem6; {4050#(and (= main_~sum~0 (bvadd (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv4 32))) (bvneg (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4294967292 32)))) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv12 32))) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32))) (bvneg (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0)))))) (= |main_~#a~0.offset| (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:43:08,778 INFO L273 TraceCheckUtils]: 30: Hoare triple {4050#(and (= main_~sum~0 (bvadd (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv4 32))) (bvneg (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4294967292 32)))) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv12 32))) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32))) (bvneg (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0)))))) (= |main_~#a~0.offset| (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} #t~post5 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post5);havoc #t~post5; {4054#(and (= |main_~#a~0.offset| (_ bv0 32)) (= main_~sum~0 (bvadd (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv4 32))) (bvneg (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4294967292 32)))) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv12 32))) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32))) (bvneg (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4294967288 32)))))) (= (_ bv2 32) main_~i~0))} is VALID [2018-11-23 10:43:08,851 INFO L273 TraceCheckUtils]: 31: Hoare triple {4054#(and (= |main_~#a~0.offset| (_ bv0 32)) (= main_~sum~0 (bvadd (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv4 32))) (bvneg (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4294967292 32)))) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv12 32))) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32))) (bvneg (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4294967288 32)))))) (= (_ bv2 32) main_~i~0))} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem6 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);~sum~0 := ~bvsub32(~sum~0, #t~mem6);havoc #t~mem6; {4058#(and (= (bvadd (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv4 32))) (bvneg (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4294967292 32)))) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv12 32))) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32))) (bvneg (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4294967288 32)))) (bvneg (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0))))) main_~sum~0) (= |main_~#a~0.offset| (_ bv0 32)) (= (_ bv2 32) main_~i~0))} is VALID [2018-11-23 10:43:08,857 INFO L273 TraceCheckUtils]: 32: Hoare triple {4058#(and (= (bvadd (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv4 32))) (bvneg (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4294967292 32)))) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv12 32))) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32))) (bvneg (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4294967288 32)))) (bvneg (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0))))) main_~sum~0) (= |main_~#a~0.offset| (_ bv0 32)) (= (_ bv2 32) main_~i~0))} #t~post5 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post5);havoc #t~post5; {4062#(and (= (bvadd main_~i~0 (_ bv4294967293 32)) (_ bv0 32)) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~sum~0 (bvadd (bvneg (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4294967284 32)))) (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv4 32))) (bvneg (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4294967292 32)))) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv12 32))) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32))) (bvneg (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4294967288 32)))))))} is VALID [2018-11-23 10:43:08,874 INFO L273 TraceCheckUtils]: 33: Hoare triple {4062#(and (= (bvadd main_~i~0 (_ bv4294967293 32)) (_ bv0 32)) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~sum~0 (bvadd (bvneg (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4294967284 32)))) (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv4 32))) (bvneg (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4294967292 32)))) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv12 32))) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32))) (bvneg (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4294967288 32)))))))} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem6 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);~sum~0 := ~bvsub32(~sum~0, #t~mem6);havoc #t~mem6; {4066#(exists ((v_arrayElimCell_24 (_ BitVec 32)) (v_arrayElimCell_21 (_ BitVec 32)) (v_arrayElimCell_22 (_ BitVec 32)) (v_arrayElimCell_23 (_ BitVec 32))) (= (bvadd v_arrayElimCell_24 (bvneg v_arrayElimCell_23) (bvneg v_arrayElimCell_22) v_arrayElimCell_21 (bvneg v_arrayElimCell_24) v_arrayElimCell_22 v_arrayElimCell_23 (bvneg v_arrayElimCell_21)) main_~sum~0))} is VALID [2018-11-23 10:43:08,875 INFO L273 TraceCheckUtils]: 34: Hoare triple {4066#(exists ((v_arrayElimCell_24 (_ BitVec 32)) (v_arrayElimCell_21 (_ BitVec 32)) (v_arrayElimCell_22 (_ BitVec 32)) (v_arrayElimCell_23 (_ BitVec 32))) (= (bvadd v_arrayElimCell_24 (bvneg v_arrayElimCell_23) (bvneg v_arrayElimCell_22) v_arrayElimCell_21 (bvneg v_arrayElimCell_24) v_arrayElimCell_22 v_arrayElimCell_23 (bvneg v_arrayElimCell_21)) main_~sum~0))} #t~post5 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post5);havoc #t~post5; {4066#(exists ((v_arrayElimCell_24 (_ BitVec 32)) (v_arrayElimCell_21 (_ BitVec 32)) (v_arrayElimCell_22 (_ BitVec 32)) (v_arrayElimCell_23 (_ BitVec 32))) (= (bvadd v_arrayElimCell_24 (bvneg v_arrayElimCell_23) (bvneg v_arrayElimCell_22) v_arrayElimCell_21 (bvneg v_arrayElimCell_24) v_arrayElimCell_22 v_arrayElimCell_23 (bvneg v_arrayElimCell_21)) main_~sum~0))} is VALID [2018-11-23 10:43:08,876 INFO L273 TraceCheckUtils]: 35: Hoare triple {4066#(exists ((v_arrayElimCell_24 (_ BitVec 32)) (v_arrayElimCell_21 (_ BitVec 32)) (v_arrayElimCell_22 (_ BitVec 32)) (v_arrayElimCell_23 (_ BitVec 32))) (= (bvadd v_arrayElimCell_24 (bvneg v_arrayElimCell_23) (bvneg v_arrayElimCell_22) v_arrayElimCell_21 (bvneg v_arrayElimCell_24) v_arrayElimCell_22 v_arrayElimCell_23 (bvneg v_arrayElimCell_21)) main_~sum~0))} assume !~bvslt32(~i~0, ~SIZE~0); {4066#(exists ((v_arrayElimCell_24 (_ BitVec 32)) (v_arrayElimCell_21 (_ BitVec 32)) (v_arrayElimCell_22 (_ BitVec 32)) (v_arrayElimCell_23 (_ BitVec 32))) (= (bvadd v_arrayElimCell_24 (bvneg v_arrayElimCell_23) (bvneg v_arrayElimCell_22) v_arrayElimCell_21 (bvneg v_arrayElimCell_24) v_arrayElimCell_22 v_arrayElimCell_23 (bvneg v_arrayElimCell_21)) main_~sum~0))} is VALID [2018-11-23 10:43:08,877 INFO L256 TraceCheckUtils]: 36: Hoare triple {4066#(exists ((v_arrayElimCell_24 (_ BitVec 32)) (v_arrayElimCell_21 (_ BitVec 32)) (v_arrayElimCell_22 (_ BitVec 32)) (v_arrayElimCell_23 (_ BitVec 32))) (= (bvadd v_arrayElimCell_24 (bvneg v_arrayElimCell_23) (bvneg v_arrayElimCell_22) v_arrayElimCell_21 (bvneg v_arrayElimCell_24) v_arrayElimCell_22 v_arrayElimCell_23 (bvneg v_arrayElimCell_21)) main_~sum~0))} call __VERIFIER_assert((if 0bv32 == ~sum~0 then 1bv32 else 0bv32)); {4076#(= (bvadd |__VERIFIER_assert_#in~cond| (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 10:43:08,877 INFO L273 TraceCheckUtils]: 37: Hoare triple {4076#(= (bvadd |__VERIFIER_assert_#in~cond| (_ bv4294967295 32)) (_ bv0 32))} ~cond := #in~cond; {4080#(= (bvadd __VERIFIER_assert_~cond (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 10:43:08,877 INFO L273 TraceCheckUtils]: 38: Hoare triple {4080#(= (bvadd __VERIFIER_assert_~cond (_ bv4294967295 32)) (_ bv0 32))} assume 0bv32 == ~cond; {3947#false} is VALID [2018-11-23 10:43:08,878 INFO L273 TraceCheckUtils]: 39: Hoare triple {3947#false} assume !false; {3947#false} is VALID [2018-11-23 10:43:08,886 INFO L134 CoverageAnalysis]: Checked inductivity of 48 backedges. 0 proven. 32 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2018-11-23 10:43:08,886 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-23 10:43:41,180 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 73 treesize of output 57 [2018-11-23 10:43:49,259 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 10:43:49,259 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 10:43:49,276 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 10:43:49,303 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 10:43:49,310 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 10:43:49,311 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 10:43:49,311 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 10:43:49,324 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 10:43:49,352 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 10:43:49,372 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 10:43:49,373 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 10:43:49,386 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 10:43:49,556 INFO L303 Elim1Store]: Index analysis took 342 ms