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-tiling/mlceu_false-unreach-call.i -------------------------------------------------------------------------------- This is Ultimate 0.1.23-61f4311 [2018-11-23 10:25:14,547 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-23 10:25:14,549 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-23 10:25:14,564 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-23 10:25:14,564 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-23 10:25:14,565 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-23 10:25:14,568 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-23 10:25:14,570 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-23 10:25:14,573 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-23 10:25:14,574 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-23 10:25:14,576 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-23 10:25:14,577 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-23 10:25:14,578 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-23 10:25:14,579 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-23 10:25:14,580 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-23 10:25:14,588 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-23 10:25:14,589 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-23 10:25:14,591 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-23 10:25:14,596 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-23 10:25:14,597 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-23 10:25:14,598 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-23 10:25:14,600 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-23 10:25:14,602 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-23 10:25:14,602 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-23 10:25:14,602 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-23 10:25:14,603 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-23 10:25:14,604 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-23 10:25:14,605 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-23 10:25:14,606 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-23 10:25:14,608 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-23 10:25:14,608 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-23 10:25:14,609 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-23 10:25:14,609 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-23 10:25:14,609 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-23 10:25:14,611 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-23 10:25:14,612 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-23 10:25:14,612 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:25:14,631 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-23 10:25:14,631 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-23 10:25:14,632 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-23 10:25:14,632 INFO L133 SettingsManager]: * ... calls to implemented procedures=ONLY_FOR_CONCURRENT_PROGRAMS [2018-11-23 10:25:14,633 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-23 10:25:14,633 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-23 10:25:14,633 INFO L133 SettingsManager]: * Use SBE=true [2018-11-23 10:25:14,634 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-23 10:25:14,634 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-23 10:25:14,634 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-23 10:25:14,634 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-23 10:25:14,635 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-23 10:25:14,635 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-23 10:25:14,635 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-23 10:25:14,635 INFO L133 SettingsManager]: * Use bitvectors instead of ints=true [2018-11-23 10:25:14,635 INFO L133 SettingsManager]: * Memory model=HoenickeLindenmann_4ByteResolution [2018-11-23 10:25:14,635 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-23 10:25:14,636 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-23 10:25:14,636 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-23 10:25:14,636 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-23 10:25:14,636 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-23 10:25:14,637 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-23 10:25:14,637 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-23 10:25:14,637 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-11-23 10:25:14,637 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 10:25:14,637 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-23 10:25:14,638 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-23 10:25:14,638 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-23 10:25:14,638 INFO L133 SettingsManager]: * Trace refinement strategy=WOLF [2018-11-23 10:25:14,638 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-23 10:25:14,638 INFO L133 SettingsManager]: * Command for external solver=cvc4nyu --tear-down-incremental --rewrite-divk --print-success --lang smt [2018-11-23 10:25:14,639 INFO L133 SettingsManager]: * Logic for external solver=AUFBV [2018-11-23 10:25:14,639 INFO L133 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2018-11-23 10:25:14,685 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-23 10:25:14,698 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-23 10:25:14,702 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-23 10:25:14,703 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-23 10:25:14,704 INFO L276 PluginConnector]: CDTParser initialized [2018-11-23 10:25:14,705 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/array-tiling/mlceu_false-unreach-call.i [2018-11-23 10:25:14,776 INFO L221 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/2b596a82e/6f790cab9b624d66affcf3b7d01e6867/FLAG8d86c7712 [2018-11-23 10:25:15,279 INFO L307 CDTParser]: Found 1 translation units. [2018-11-23 10:25:15,280 INFO L161 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/array-tiling/mlceu_false-unreach-call.i [2018-11-23 10:25:15,287 INFO L355 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/2b596a82e/6f790cab9b624d66affcf3b7d01e6867/FLAG8d86c7712 [2018-11-23 10:25:15,628 INFO L363 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/2b596a82e/6f790cab9b624d66affcf3b7d01e6867 [2018-11-23 10:25:15,638 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-23 10:25:15,640 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-23 10:25:15,641 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-23 10:25:15,641 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-23 10:25:15,646 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-23 10:25:15,648 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 10:25:15" (1/1) ... [2018-11-23 10:25:15,651 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@3e75a9ce and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 10:25:15, skipping insertion in model container [2018-11-23 10:25:15,651 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 10:25:15" (1/1) ... [2018-11-23 10:25:15,663 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-23 10:25:15,690 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-23 10:25:15,932 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 10:25:15,940 INFO L191 MainTranslator]: Completed pre-run [2018-11-23 10:25:15,969 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 10:25:15,996 INFO L195 MainTranslator]: Completed translation [2018-11-23 10:25:15,996 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 10:25:15 WrapperNode [2018-11-23 10:25:15,996 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-23 10:25:15,997 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-23 10:25:15,997 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-23 10:25:15,998 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-23 10:25:16,007 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:25:15" (1/1) ... [2018-11-23 10:25:16,018 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:25:15" (1/1) ... [2018-11-23 10:25:16,025 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-23 10:25:16,025 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-23 10:25:16,025 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-23 10:25:16,026 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-23 10:25:16,036 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 10:25:15" (1/1) ... [2018-11-23 10:25:16,037 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 10:25:15" (1/1) ... [2018-11-23 10:25:16,039 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 10:25:15" (1/1) ... [2018-11-23 10:25:16,039 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 10:25:15" (1/1) ... [2018-11-23 10:25:16,054 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 10:25:15" (1/1) ... [2018-11-23 10:25:16,060 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 10:25:15" (1/1) ... [2018-11-23 10:25:16,062 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 10:25:15" (1/1) ... [2018-11-23 10:25:16,064 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-23 10:25:16,065 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-23 10:25:16,065 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-23 10:25:16,065 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-23 10:25:16,066 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 10:25:15" (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:25:16,189 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-11-23 10:25:16,189 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-11-23 10:25:16,189 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-23 10:25:16,190 INFO L130 BoogieDeclarations]: Found specification of procedure read~intINTTYPE4 [2018-11-23 10:25:16,190 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-23 10:25:16,190 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-23 10:25:16,190 INFO L130 BoogieDeclarations]: Found specification of procedure main [2018-11-23 10:25:16,190 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2018-11-23 10:25:16,190 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2018-11-23 10:25:16,191 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2018-11-23 10:25:16,191 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-23 10:25:16,191 INFO L130 BoogieDeclarations]: Found specification of procedure write~intINTTYPE4 [2018-11-23 10:25:16,773 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-23 10:25:16,774 INFO L280 CfgBuilder]: Removed 2 assue(true) statements. [2018-11-23 10:25:16,774 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 10:25:16 BoogieIcfgContainer [2018-11-23 10:25:16,774 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-23 10:25:16,775 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-11-23 10:25:16,776 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-11-23 10:25:16,779 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-11-23 10:25:16,779 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 23.11 10:25:15" (1/3) ... [2018-11-23 10:25:16,780 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@612e4149 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 10:25:16, skipping insertion in model container [2018-11-23 10:25:16,781 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 10:25:15" (2/3) ... [2018-11-23 10:25:16,781 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@612e4149 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 10:25:16, skipping insertion in model container [2018-11-23 10:25:16,781 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 10:25:16" (3/3) ... [2018-11-23 10:25:16,783 INFO L112 eAbstractionObserver]: Analyzing ICFG mlceu_false-unreach-call.i [2018-11-23 10:25:16,794 INFO L156 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-11-23 10:25:16,803 INFO L168 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2018-11-23 10:25:16,823 INFO L257 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2018-11-23 10:25:16,857 INFO L133 ementStrategyFactory]: Using default assertion order modulation [2018-11-23 10:25:16,857 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-11-23 10:25:16,858 INFO L383 AbstractCegarLoop]: Hoare is true [2018-11-23 10:25:16,858 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-11-23 10:25:16,858 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-23 10:25:16,858 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-23 10:25:16,859 INFO L387 AbstractCegarLoop]: Difference is false [2018-11-23 10:25:16,859 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-23 10:25:16,859 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-11-23 10:25:16,878 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states. [2018-11-23 10:25:16,885 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2018-11-23 10:25:16,885 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 10:25:16,890 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 10:25:16,892 INFO L423 AbstractCegarLoop]: === Iteration 1 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 10:25:16,902 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 10:25:16,903 INFO L82 PathProgramCache]: Analyzing trace with hash 1959366484, now seen corresponding path program 1 times [2018-11-23 10:25:16,907 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 10:25:16,908 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:25:16,932 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 10:25:16,977 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:25:16,995 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:25:16,999 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 10:25:17,120 INFO L256 TraceCheckUtils]: 0: Hoare triple {30#true} call ULTIMATE.init(); {30#true} is VALID [2018-11-23 10:25:17,124 INFO L273 TraceCheckUtils]: 1: Hoare triple {30#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];~SIZE~0 := 0bv32; {30#true} is VALID [2018-11-23 10:25:17,125 INFO L273 TraceCheckUtils]: 2: Hoare triple {30#true} assume true; {30#true} is VALID [2018-11-23 10:25:17,125 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {30#true} {30#true} #61#return; {30#true} is VALID [2018-11-23 10:25:17,125 INFO L256 TraceCheckUtils]: 4: Hoare triple {30#true} call #t~ret5 := main(); {30#true} is VALID [2018-11-23 10:25:17,125 INFO L273 TraceCheckUtils]: 5: Hoare triple {30#true} ~SIZE~0 := #t~nondet1;havoc #t~nondet1; {30#true} is VALID [2018-11-23 10:25:17,126 INFO L273 TraceCheckUtils]: 6: Hoare triple {30#true} assume ~bvsgt32(~SIZE~0, 1bv32);havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~bvmul32(4bv32, ~SIZE~0));~i~0 := 0bv32; {30#true} is VALID [2018-11-23 10:25:17,127 INFO L273 TraceCheckUtils]: 7: Hoare triple {30#true} assume !true; {31#false} is VALID [2018-11-23 10:25:17,127 INFO L273 TraceCheckUtils]: 8: Hoare triple {31#false} ~i~0 := 0bv32; {31#false} is VALID [2018-11-23 10:25:17,127 INFO L273 TraceCheckUtils]: 9: Hoare triple {31#false} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem4 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {31#false} is VALID [2018-11-23 10:25:17,128 INFO L256 TraceCheckUtils]: 10: Hoare triple {31#false} call __VERIFIER_assert((if 0bv32 == #t~mem4 then 1bv32 else 0bv32)); {31#false} is VALID [2018-11-23 10:25:17,128 INFO L273 TraceCheckUtils]: 11: Hoare triple {31#false} ~cond := #in~cond; {31#false} is VALID [2018-11-23 10:25:17,128 INFO L273 TraceCheckUtils]: 12: Hoare triple {31#false} assume 0bv32 == ~cond; {31#false} is VALID [2018-11-23 10:25:17,128 INFO L273 TraceCheckUtils]: 13: Hoare triple {31#false} assume !false; {31#false} is VALID [2018-11-23 10:25:17,131 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 10:25:17,131 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 10:25:17,136 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 10:25:17,136 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2018-11-23 10:25:17,141 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 14 [2018-11-23 10:25:17,144 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 10:25:17,147 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states. [2018-11-23 10:25:17,276 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:25:17,276 INFO L459 AbstractCegarLoop]: Interpolant automaton has 2 states [2018-11-23 10:25:17,286 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2018-11-23 10:25:17,287 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-23 10:25:17,290 INFO L87 Difference]: Start difference. First operand 27 states. Second operand 2 states. [2018-11-23 10:25:17,523 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:25:17,523 INFO L93 Difference]: Finished difference Result 44 states and 53 transitions. [2018-11-23 10:25:17,524 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2018-11-23 10:25:17,524 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 14 [2018-11-23 10:25:17,524 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 10:25:17,525 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2018-11-23 10:25:17,536 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 53 transitions. [2018-11-23 10:25:17,536 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2018-11-23 10:25:17,542 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 53 transitions. [2018-11-23 10:25:17,542 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states and 53 transitions. [2018-11-23 10:25:17,762 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:25:17,773 INFO L225 Difference]: With dead ends: 44 [2018-11-23 10:25:17,773 INFO L226 Difference]: Without dead ends: 21 [2018-11-23 10:25:17,777 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 13 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:25:17,795 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 21 states. [2018-11-23 10:25:17,889 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 21 to 21. [2018-11-23 10:25:17,890 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 10:25:17,890 INFO L82 GeneralOperation]: Start isEquivalent. First operand 21 states. Second operand 21 states. [2018-11-23 10:25:17,891 INFO L74 IsIncluded]: Start isIncluded. First operand 21 states. Second operand 21 states. [2018-11-23 10:25:17,892 INFO L87 Difference]: Start difference. First operand 21 states. Second operand 21 states. [2018-11-23 10:25:17,895 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:25:17,896 INFO L93 Difference]: Finished difference Result 21 states and 23 transitions. [2018-11-23 10:25:17,896 INFO L276 IsEmpty]: Start isEmpty. Operand 21 states and 23 transitions. [2018-11-23 10:25:17,897 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:25:17,897 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:25:17,897 INFO L74 IsIncluded]: Start isIncluded. First operand 21 states. Second operand 21 states. [2018-11-23 10:25:17,897 INFO L87 Difference]: Start difference. First operand 21 states. Second operand 21 states. [2018-11-23 10:25:17,901 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:25:17,901 INFO L93 Difference]: Finished difference Result 21 states and 23 transitions. [2018-11-23 10:25:17,902 INFO L276 IsEmpty]: Start isEmpty. Operand 21 states and 23 transitions. [2018-11-23 10:25:17,902 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:25:17,902 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:25:17,903 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 10:25:17,903 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 10:25:17,903 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 21 states. [2018-11-23 10:25:17,906 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 23 transitions. [2018-11-23 10:25:17,908 INFO L78 Accepts]: Start accepts. Automaton has 21 states and 23 transitions. Word has length 14 [2018-11-23 10:25:17,908 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 10:25:17,908 INFO L480 AbstractCegarLoop]: Abstraction has 21 states and 23 transitions. [2018-11-23 10:25:17,908 INFO L481 AbstractCegarLoop]: Interpolant automaton has 2 states. [2018-11-23 10:25:17,909 INFO L276 IsEmpty]: Start isEmpty. Operand 21 states and 23 transitions. [2018-11-23 10:25:17,909 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2018-11-23 10:25:17,910 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 10:25:17,910 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 10:25:17,910 INFO L423 AbstractCegarLoop]: === Iteration 2 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 10:25:17,911 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 10:25:17,911 INFO L82 PathProgramCache]: Analyzing trace with hash 786760585, now seen corresponding path program 1 times [2018-11-23 10:25:17,911 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 10:25:17,912 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:25:17,939 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 10:25:17,974 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:25:17,989 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:25:17,991 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 10:25:18,185 INFO L256 TraceCheckUtils]: 0: Hoare triple {199#true} call ULTIMATE.init(); {199#true} is VALID [2018-11-23 10:25:18,186 INFO L273 TraceCheckUtils]: 1: Hoare triple {199#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];~SIZE~0 := 0bv32; {199#true} is VALID [2018-11-23 10:25:18,186 INFO L273 TraceCheckUtils]: 2: Hoare triple {199#true} assume true; {199#true} is VALID [2018-11-23 10:25:18,187 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {199#true} {199#true} #61#return; {199#true} is VALID [2018-11-23 10:25:18,187 INFO L256 TraceCheckUtils]: 4: Hoare triple {199#true} call #t~ret5 := main(); {199#true} is VALID [2018-11-23 10:25:18,187 INFO L273 TraceCheckUtils]: 5: Hoare triple {199#true} ~SIZE~0 := #t~nondet1;havoc #t~nondet1; {199#true} is VALID [2018-11-23 10:25:18,190 INFO L273 TraceCheckUtils]: 6: Hoare triple {199#true} assume ~bvsgt32(~SIZE~0, 1bv32);havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~bvmul32(4bv32, ~SIZE~0));~i~0 := 0bv32; {222#(and (= main_~i~0 (_ bv0 32)) (bvsgt ~SIZE~0 (_ bv1 32)))} is VALID [2018-11-23 10:25:18,191 INFO L273 TraceCheckUtils]: 7: Hoare triple {222#(and (= main_~i~0 (_ bv0 32)) (bvsgt ~SIZE~0 (_ bv1 32)))} assume !~bvslt32(~i~0, ~SIZE~0); {200#false} is VALID [2018-11-23 10:25:18,191 INFO L273 TraceCheckUtils]: 8: Hoare triple {200#false} ~i~0 := 0bv32; {200#false} is VALID [2018-11-23 10:25:18,191 INFO L273 TraceCheckUtils]: 9: Hoare triple {200#false} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem4 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {200#false} is VALID [2018-11-23 10:25:18,192 INFO L256 TraceCheckUtils]: 10: Hoare triple {200#false} call __VERIFIER_assert((if 0bv32 == #t~mem4 then 1bv32 else 0bv32)); {200#false} is VALID [2018-11-23 10:25:18,192 INFO L273 TraceCheckUtils]: 11: Hoare triple {200#false} ~cond := #in~cond; {200#false} is VALID [2018-11-23 10:25:18,192 INFO L273 TraceCheckUtils]: 12: Hoare triple {200#false} assume 0bv32 == ~cond; {200#false} is VALID [2018-11-23 10:25:18,193 INFO L273 TraceCheckUtils]: 13: Hoare triple {200#false} assume !false; {200#false} is VALID [2018-11-23 10:25:18,195 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:25:18,195 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 (3)] Exception during sending of exit command (exit): Broken pipe [2018-11-23 10:25:18,198 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 10:25:18,199 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2018-11-23 10:25:18,201 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 14 [2018-11-23 10:25:18,202 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 10:25:18,202 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2018-11-23 10:25:18,243 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:25:18,243 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2018-11-23 10:25:18,244 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-11-23 10:25:18,244 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 10:25:18,244 INFO L87 Difference]: Start difference. First operand 21 states and 23 transitions. Second operand 3 states. [2018-11-23 10:25:18,637 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:25:18,642 INFO L93 Difference]: Finished difference Result 38 states and 44 transitions. [2018-11-23 10:25:18,642 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-23 10:25:18,642 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 14 [2018-11-23 10:25:18,643 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 10:25:18,643 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 10:25:18,651 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 44 transitions. [2018-11-23 10:25:18,652 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 10:25:18,659 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 44 transitions. [2018-11-23 10:25:18,659 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 44 transitions. [2018-11-23 10:25:18,857 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:25:18,860 INFO L225 Difference]: With dead ends: 38 [2018-11-23 10:25:18,860 INFO L226 Difference]: Without dead ends: 24 [2018-11-23 10:25:18,862 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 12 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:25:18,862 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 24 states. [2018-11-23 10:25:18,886 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 24 to 23. [2018-11-23 10:25:18,886 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 10:25:18,886 INFO L82 GeneralOperation]: Start isEquivalent. First operand 24 states. Second operand 23 states. [2018-11-23 10:25:18,887 INFO L74 IsIncluded]: Start isIncluded. First operand 24 states. Second operand 23 states. [2018-11-23 10:25:18,887 INFO L87 Difference]: Start difference. First operand 24 states. Second operand 23 states. [2018-11-23 10:25:18,889 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:25:18,890 INFO L93 Difference]: Finished difference Result 24 states and 26 transitions. [2018-11-23 10:25:18,890 INFO L276 IsEmpty]: Start isEmpty. Operand 24 states and 26 transitions. [2018-11-23 10:25:18,890 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:25:18,891 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:25:18,891 INFO L74 IsIncluded]: Start isIncluded. First operand 23 states. Second operand 24 states. [2018-11-23 10:25:18,891 INFO L87 Difference]: Start difference. First operand 23 states. Second operand 24 states. [2018-11-23 10:25:18,893 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:25:18,894 INFO L93 Difference]: Finished difference Result 24 states and 26 transitions. [2018-11-23 10:25:18,894 INFO L276 IsEmpty]: Start isEmpty. Operand 24 states and 26 transitions. [2018-11-23 10:25:18,894 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:25:18,895 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:25:18,895 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 10:25:18,895 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 10:25:18,895 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 23 states. [2018-11-23 10:25:18,898 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 25 transitions. [2018-11-23 10:25:18,898 INFO L78 Accepts]: Start accepts. Automaton has 23 states and 25 transitions. Word has length 14 [2018-11-23 10:25:18,898 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 10:25:18,898 INFO L480 AbstractCegarLoop]: Abstraction has 23 states and 25 transitions. [2018-11-23 10:25:18,899 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2018-11-23 10:25:18,899 INFO L276 IsEmpty]: Start isEmpty. Operand 23 states and 25 transitions. [2018-11-23 10:25:18,899 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 18 [2018-11-23 10:25:18,900 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 10:25:18,900 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 10:25:18,900 INFO L423 AbstractCegarLoop]: === Iteration 3 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 10:25:18,900 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 10:25:18,901 INFO L82 PathProgramCache]: Analyzing trace with hash 1100225495, now seen corresponding path program 1 times [2018-11-23 10:25:18,901 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 10:25:18,901 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:25:18,931 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 10:25:18,967 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:25:18,994 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:25:18,995 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 10:25:19,095 INFO L256 TraceCheckUtils]: 0: Hoare triple {374#true} call ULTIMATE.init(); {374#true} is VALID [2018-11-23 10:25:19,095 INFO L273 TraceCheckUtils]: 1: Hoare triple {374#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];~SIZE~0 := 0bv32; {374#true} is VALID [2018-11-23 10:25:19,095 INFO L273 TraceCheckUtils]: 2: Hoare triple {374#true} assume true; {374#true} is VALID [2018-11-23 10:25:19,096 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {374#true} {374#true} #61#return; {374#true} is VALID [2018-11-23 10:25:19,096 INFO L256 TraceCheckUtils]: 4: Hoare triple {374#true} call #t~ret5 := main(); {374#true} is VALID [2018-11-23 10:25:19,096 INFO L273 TraceCheckUtils]: 5: Hoare triple {374#true} ~SIZE~0 := #t~nondet1;havoc #t~nondet1; {374#true} is VALID [2018-11-23 10:25:19,097 INFO L273 TraceCheckUtils]: 6: Hoare triple {374#true} assume ~bvsgt32(~SIZE~0, 1bv32);havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~bvmul32(4bv32, ~SIZE~0));~i~0 := 0bv32; {397#(and (= main_~i~0 (_ bv0 32)) (bvsgt ~SIZE~0 (_ bv1 32)))} is VALID [2018-11-23 10:25:19,106 INFO L273 TraceCheckUtils]: 7: Hoare triple {397#(and (= main_~i~0 (_ bv0 32)) (bvsgt ~SIZE~0 (_ bv1 32)))} assume !!~bvslt32(~i~0, ~SIZE~0); {397#(and (= main_~i~0 (_ bv0 32)) (bvsgt ~SIZE~0 (_ bv1 32)))} is VALID [2018-11-23 10:25:19,107 INFO L273 TraceCheckUtils]: 8: Hoare triple {397#(and (= main_~i~0 (_ bv0 32)) (bvsgt ~SIZE~0 (_ bv1 32)))} assume !~bvsgt32(~bvashr32(~i~0, 16bv32), 250bv32);call write~intINTTYPE4(0bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {397#(and (= main_~i~0 (_ bv0 32)) (bvsgt ~SIZE~0 (_ bv1 32)))} is VALID [2018-11-23 10:25:19,108 INFO L273 TraceCheckUtils]: 9: Hoare triple {397#(and (= main_~i~0 (_ bv0 32)) (bvsgt ~SIZE~0 (_ bv1 32)))} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {407#(and (bvsgt ~SIZE~0 (_ bv1 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:25:19,113 INFO L273 TraceCheckUtils]: 10: Hoare triple {407#(and (bvsgt ~SIZE~0 (_ bv1 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} assume !~bvslt32(~i~0, ~SIZE~0); {375#false} is VALID [2018-11-23 10:25:19,113 INFO L273 TraceCheckUtils]: 11: Hoare triple {375#false} ~i~0 := 0bv32; {375#false} is VALID [2018-11-23 10:25:19,113 INFO L273 TraceCheckUtils]: 12: Hoare triple {375#false} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem4 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {375#false} is VALID [2018-11-23 10:25:19,114 INFO L256 TraceCheckUtils]: 13: Hoare triple {375#false} call __VERIFIER_assert((if 0bv32 == #t~mem4 then 1bv32 else 0bv32)); {375#false} is VALID [2018-11-23 10:25:19,114 INFO L273 TraceCheckUtils]: 14: Hoare triple {375#false} ~cond := #in~cond; {375#false} is VALID [2018-11-23 10:25:19,114 INFO L273 TraceCheckUtils]: 15: Hoare triple {375#false} assume 0bv32 == ~cond; {375#false} is VALID [2018-11-23 10:25:19,114 INFO L273 TraceCheckUtils]: 16: Hoare triple {375#false} assume !false; {375#false} is VALID [2018-11-23 10:25:19,116 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 10:25:19,116 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-23 10:25:19,297 INFO L273 TraceCheckUtils]: 16: Hoare triple {375#false} assume !false; {375#false} is VALID [2018-11-23 10:25:19,298 INFO L273 TraceCheckUtils]: 15: Hoare triple {375#false} assume 0bv32 == ~cond; {375#false} is VALID [2018-11-23 10:25:19,298 INFO L273 TraceCheckUtils]: 14: Hoare triple {375#false} ~cond := #in~cond; {375#false} is VALID [2018-11-23 10:25:19,298 INFO L256 TraceCheckUtils]: 13: Hoare triple {375#false} call __VERIFIER_assert((if 0bv32 == #t~mem4 then 1bv32 else 0bv32)); {375#false} is VALID [2018-11-23 10:25:19,298 INFO L273 TraceCheckUtils]: 12: Hoare triple {375#false} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem4 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {375#false} is VALID [2018-11-23 10:25:19,299 INFO L273 TraceCheckUtils]: 11: Hoare triple {375#false} ~i~0 := 0bv32; {375#false} is VALID [2018-11-23 10:25:19,304 INFO L273 TraceCheckUtils]: 10: Hoare triple {447#(bvslt main_~i~0 ~SIZE~0)} assume !~bvslt32(~i~0, ~SIZE~0); {375#false} is VALID [2018-11-23 10:25:19,305 INFO L273 TraceCheckUtils]: 9: Hoare triple {451#(bvslt (bvadd main_~i~0 (_ bv1 32)) ~SIZE~0)} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {447#(bvslt main_~i~0 ~SIZE~0)} is VALID [2018-11-23 10:25:19,306 INFO L273 TraceCheckUtils]: 8: Hoare triple {451#(bvslt (bvadd main_~i~0 (_ bv1 32)) ~SIZE~0)} assume !~bvsgt32(~bvashr32(~i~0, 16bv32), 250bv32);call write~intINTTYPE4(0bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {451#(bvslt (bvadd main_~i~0 (_ bv1 32)) ~SIZE~0)} is VALID [2018-11-23 10:25:19,306 INFO L273 TraceCheckUtils]: 7: Hoare triple {451#(bvslt (bvadd main_~i~0 (_ bv1 32)) ~SIZE~0)} assume !!~bvslt32(~i~0, ~SIZE~0); {451#(bvslt (bvadd main_~i~0 (_ bv1 32)) ~SIZE~0)} is VALID [2018-11-23 10:25:19,307 INFO L273 TraceCheckUtils]: 6: Hoare triple {374#true} assume ~bvsgt32(~SIZE~0, 1bv32);havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~bvmul32(4bv32, ~SIZE~0));~i~0 := 0bv32; {451#(bvslt (bvadd main_~i~0 (_ bv1 32)) ~SIZE~0)} is VALID [2018-11-23 10:25:19,308 INFO L273 TraceCheckUtils]: 5: Hoare triple {374#true} ~SIZE~0 := #t~nondet1;havoc #t~nondet1; {374#true} is VALID [2018-11-23 10:25:19,308 INFO L256 TraceCheckUtils]: 4: Hoare triple {374#true} call #t~ret5 := main(); {374#true} is VALID [2018-11-23 10:25:19,309 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {374#true} {374#true} #61#return; {374#true} is VALID [2018-11-23 10:25:19,309 INFO L273 TraceCheckUtils]: 2: Hoare triple {374#true} assume true; {374#true} is VALID [2018-11-23 10:25:19,310 INFO L273 TraceCheckUtils]: 1: Hoare triple {374#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];~SIZE~0 := 0bv32; {374#true} is VALID [2018-11-23 10:25:19,310 INFO L256 TraceCheckUtils]: 0: Hoare triple {374#true} call ULTIMATE.init(); {374#true} is VALID [2018-11-23 10:25:19,311 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 10:25:19,314 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 10:25:19,314 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4] total 6 [2018-11-23 10:25:19,314 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 17 [2018-11-23 10:25:19,315 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 10:25:19,315 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2018-11-23 10:25:19,370 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 22 edges. 22 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:25:19,370 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2018-11-23 10:25:19,371 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2018-11-23 10:25:19,371 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=12, Invalid=18, Unknown=0, NotChecked=0, Total=30 [2018-11-23 10:25:19,372 INFO L87 Difference]: Start difference. First operand 23 states and 25 transitions. Second operand 6 states. [2018-11-23 10:25:19,793 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:25:19,793 INFO L93 Difference]: Finished difference Result 41 states and 47 transitions. [2018-11-23 10:25:19,794 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2018-11-23 10:25:19,794 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 17 [2018-11-23 10:25:19,794 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 10:25:19,794 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-11-23 10:25:19,797 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 47 transitions. [2018-11-23 10:25:19,798 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-11-23 10:25:19,800 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 47 transitions. [2018-11-23 10:25:19,800 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 47 transitions. [2018-11-23 10:25:19,922 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 47 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:25:19,925 INFO L225 Difference]: With dead ends: 41 [2018-11-23 10:25:19,925 INFO L226 Difference]: Without dead ends: 27 [2018-11-23 10:25:19,925 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 33 GetRequests, 29 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=12, Invalid=18, Unknown=0, NotChecked=0, Total=30 [2018-11-23 10:25:19,926 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 27 states. [2018-11-23 10:25:19,952 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 27 to 26. [2018-11-23 10:25:19,952 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 10:25:19,952 INFO L82 GeneralOperation]: Start isEquivalent. First operand 27 states. Second operand 26 states. [2018-11-23 10:25:19,952 INFO L74 IsIncluded]: Start isIncluded. First operand 27 states. Second operand 26 states. [2018-11-23 10:25:19,952 INFO L87 Difference]: Start difference. First operand 27 states. Second operand 26 states. [2018-11-23 10:25:19,954 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:25:19,955 INFO L93 Difference]: Finished difference Result 27 states and 29 transitions. [2018-11-23 10:25:19,955 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 29 transitions. [2018-11-23 10:25:19,955 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:25:19,955 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:25:19,955 INFO L74 IsIncluded]: Start isIncluded. First operand 26 states. Second operand 27 states. [2018-11-23 10:25:19,956 INFO L87 Difference]: Start difference. First operand 26 states. Second operand 27 states. [2018-11-23 10:25:19,958 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:25:19,958 INFO L93 Difference]: Finished difference Result 27 states and 29 transitions. [2018-11-23 10:25:19,958 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 29 transitions. [2018-11-23 10:25:19,959 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:25:19,959 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:25:19,959 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 10:25:19,959 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 10:25:19,959 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 26 states. [2018-11-23 10:25:19,961 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 28 transitions. [2018-11-23 10:25:19,962 INFO L78 Accepts]: Start accepts. Automaton has 26 states and 28 transitions. Word has length 17 [2018-11-23 10:25:19,962 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 10:25:19,962 INFO L480 AbstractCegarLoop]: Abstraction has 26 states and 28 transitions. [2018-11-23 10:25:19,962 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2018-11-23 10:25:19,962 INFO L276 IsEmpty]: Start isEmpty. Operand 26 states and 28 transitions. [2018-11-23 10:25:19,963 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 21 [2018-11-23 10:25:19,963 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 10:25:19,963 INFO L402 BasicCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 10:25:19,964 INFO L423 AbstractCegarLoop]: === Iteration 4 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 10:25:19,964 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 10:25:19,964 INFO L82 PathProgramCache]: Analyzing trace with hash -2020509495, now seen corresponding path program 2 times [2018-11-23 10:25:19,965 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 10:25:19,965 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:25:19,981 INFO L101 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2018-11-23 10:25:20,032 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-23 10:25:20,033 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 10:25:20,047 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:25:20,049 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 10:25:20,154 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 12 [2018-11-23 10:25:20,161 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 11 [2018-11-23 10:25:20,166 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 10:25:20,172 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 10:25:20,185 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 10:25:20,185 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:22, output treesize:18 [2018-11-23 10:25:20,303 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 16 [2018-11-23 10:25:20,352 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 10:25:20,354 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 23 [2018-11-23 10:25:20,377 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 10:25:20,388 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 10:25:20,401 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 10:25:20,402 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:24, output treesize:20 [2018-11-23 10:25:20,507 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 22 treesize of output 16 [2018-11-23 10:25:20,525 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 0 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 3 [2018-11-23 10:25:20,529 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 10:25:20,531 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 10:25:20,533 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 10:25:20,533 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:22, output treesize:3 [2018-11-23 10:25:20,536 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 10:25:20,537 WARN L384 uantifierElimination]: Input elimination task: ∃ [|#memory_int|, |main_~#a~0.base|]. (let ((.cse0 (select |#memory_int| |main_~#a~0.base|))) (let ((.cse1 (select .cse0 (_ bv0 32)))) (and (= (_ bv0 32) (select .cse0 (_ bv4 32))) (= (_ bv0 32) .cse1) (= .cse1 |main_#t~mem4|)))) [2018-11-23 10:25:20,537 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (= (_ bv0 32) |main_#t~mem4|) [2018-11-23 10:25:20,636 INFO L256 TraceCheckUtils]: 0: Hoare triple {626#true} call ULTIMATE.init(); {626#true} is VALID [2018-11-23 10:25:20,637 INFO L273 TraceCheckUtils]: 1: Hoare triple {626#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];~SIZE~0 := 0bv32; {626#true} is VALID [2018-11-23 10:25:20,637 INFO L273 TraceCheckUtils]: 2: Hoare triple {626#true} assume true; {626#true} is VALID [2018-11-23 10:25:20,638 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {626#true} {626#true} #61#return; {626#true} is VALID [2018-11-23 10:25:20,638 INFO L256 TraceCheckUtils]: 4: Hoare triple {626#true} call #t~ret5 := main(); {626#true} is VALID [2018-11-23 10:25:20,639 INFO L273 TraceCheckUtils]: 5: Hoare triple {626#true} ~SIZE~0 := #t~nondet1;havoc #t~nondet1; {626#true} is VALID [2018-11-23 10:25:20,655 INFO L273 TraceCheckUtils]: 6: Hoare triple {626#true} assume ~bvsgt32(~SIZE~0, 1bv32);havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~bvmul32(4bv32, ~SIZE~0));~i~0 := 0bv32; {649#(and (= |main_~#a~0.offset| (_ bv0 32)) (= main_~i~0 (_ bv0 32)))} is VALID [2018-11-23 10:25:20,669 INFO L273 TraceCheckUtils]: 7: Hoare triple {649#(and (= |main_~#a~0.offset| (_ bv0 32)) (= main_~i~0 (_ bv0 32)))} assume !!~bvslt32(~i~0, ~SIZE~0); {649#(and (= |main_~#a~0.offset| (_ bv0 32)) (= main_~i~0 (_ bv0 32)))} is VALID [2018-11-23 10:25:20,679 INFO L273 TraceCheckUtils]: 8: Hoare triple {649#(and (= |main_~#a~0.offset| (_ bv0 32)) (= main_~i~0 (_ bv0 32)))} assume !~bvsgt32(~bvashr32(~i~0, 16bv32), 250bv32);call write~intINTTYPE4(0bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {656#(and (= |main_~#a~0.offset| (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0)))) (= main_~i~0 (_ bv0 32)))} is VALID [2018-11-23 10:25:20,695 INFO L273 TraceCheckUtils]: 9: Hoare triple {656#(and (= |main_~#a~0.offset| (_ bv0 32)) (= (_ bv0 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0)))) (= main_~i~0 (_ bv0 32)))} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {660#(and (= (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|) (_ bv0 32)) (= |main_~#a~0.offset| (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:25:20,709 INFO L273 TraceCheckUtils]: 10: Hoare triple {660#(and (= (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|) (_ bv0 32)) (= |main_~#a~0.offset| (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} assume !!~bvslt32(~i~0, ~SIZE~0); {660#(and (= (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|) (_ bv0 32)) (= |main_~#a~0.offset| (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:25:20,724 INFO L273 TraceCheckUtils]: 11: Hoare triple {660#(and (= (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|) (_ bv0 32)) (= |main_~#a~0.offset| (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} assume !~bvsgt32(~bvashr32(~i~0, 16bv32), 250bv32);call write~intINTTYPE4(0bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {667#(and (= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv4 32))) (_ bv0 32)) (= (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|) (_ bv0 32)) (= |main_~#a~0.offset| (_ bv0 32)))} is VALID [2018-11-23 10:25:20,734 INFO L273 TraceCheckUtils]: 12: Hoare triple {667#(and (= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv4 32))) (_ bv0 32)) (= (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|) (_ bv0 32)) (= |main_~#a~0.offset| (_ bv0 32)))} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {667#(and (= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv4 32))) (_ bv0 32)) (= (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|) (_ bv0 32)) (= |main_~#a~0.offset| (_ bv0 32)))} is VALID [2018-11-23 10:25:20,747 INFO L273 TraceCheckUtils]: 13: Hoare triple {667#(and (= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv4 32))) (_ bv0 32)) (= (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|) (_ bv0 32)) (= |main_~#a~0.offset| (_ bv0 32)))} assume !~bvslt32(~i~0, ~SIZE~0); {667#(and (= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv4 32))) (_ bv0 32)) (= (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|) (_ bv0 32)) (= |main_~#a~0.offset| (_ bv0 32)))} is VALID [2018-11-23 10:25:20,762 INFO L273 TraceCheckUtils]: 14: Hoare triple {667#(and (= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv4 32))) (_ bv0 32)) (= (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|) (_ bv0 32)) (= |main_~#a~0.offset| (_ bv0 32)))} ~i~0 := 0bv32; {677#(and (= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv4 32))) (_ bv0 32)) (= (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|) (_ bv0 32)) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~i~0 (_ bv0 32)))} is VALID [2018-11-23 10:25:20,771 INFO L273 TraceCheckUtils]: 15: Hoare triple {677#(and (= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv4 32))) (_ bv0 32)) (= (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|) (_ bv0 32)) (= |main_~#a~0.offset| (_ bv0 32)) (= main_~i~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); {681#(= (_ bv0 32) |main_#t~mem4|)} is VALID [2018-11-23 10:25:20,778 INFO L256 TraceCheckUtils]: 16: Hoare triple {681#(= (_ bv0 32) |main_#t~mem4|)} call __VERIFIER_assert((if 0bv32 == #t~mem4 then 1bv32 else 0bv32)); {685#(= (bvadd |__VERIFIER_assert_#in~cond| (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 10:25:20,779 INFO L273 TraceCheckUtils]: 17: Hoare triple {685#(= (bvadd |__VERIFIER_assert_#in~cond| (_ bv4294967295 32)) (_ bv0 32))} ~cond := #in~cond; {689#(= (bvadd __VERIFIER_assert_~cond (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 10:25:20,780 INFO L273 TraceCheckUtils]: 18: Hoare triple {689#(= (bvadd __VERIFIER_assert_~cond (_ bv4294967295 32)) (_ bv0 32))} assume 0bv32 == ~cond; {627#false} is VALID [2018-11-23 10:25:20,780 INFO L273 TraceCheckUtils]: 19: Hoare triple {627#false} assume !false; {627#false} is VALID [2018-11-23 10:25:20,782 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 0 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 10:25:20,782 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-23 10:25:21,144 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 22 treesize of output 20 [2018-11-23 10:25:21,151 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 20 treesize of output 24 [2018-11-23 10:25:21,210 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 11 [2018-11-23 10:25:21,217 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-23 10:25:21,224 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 10:25:21,234 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 10:25:21,247 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 10:25:21,247 INFO L202 ElimStorePlain]: Needed 4 recursive calls to eliminate 2 variables, input treesize:22, output treesize:15 [2018-11-23 10:25:21,251 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 10:25:21,251 WARN L384 uantifierElimination]: Input elimination task: ∀ [|#memory_int|, |main_~#a~0.base|]. (= (select (let ((.cse0 (bvmul (_ bv4 32) main_~i~0))) (store (store (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| .cse0) (_ bv0 32)) (bvadd |main_~#a~0.offset| .cse0 (_ bv4 32)) (_ bv0 32))) |main_~#a~0.offset|) (_ bv0 32)) [2018-11-23 10:25:21,251 WARN L385 uantifierElimination]: ElimStorePlain result: ∀ []. (let ((.cse0 (bvmul (_ bv4 32) main_~i~0))) (or (= (bvadd .cse0 (_ bv4 32)) (_ bv0 32)) (= |main_~#a~0.offset| (bvadd |main_~#a~0.offset| .cse0)))) [2018-11-23 10:25:21,371 INFO L273 TraceCheckUtils]: 19: Hoare triple {627#false} assume !false; {627#false} is VALID [2018-11-23 10:25:21,373 INFO L273 TraceCheckUtils]: 18: Hoare triple {699#(not (= (_ bv0 32) __VERIFIER_assert_~cond))} assume 0bv32 == ~cond; {627#false} is VALID [2018-11-23 10:25:21,373 INFO L273 TraceCheckUtils]: 17: Hoare triple {703#(not (= |__VERIFIER_assert_#in~cond| (_ bv0 32)))} ~cond := #in~cond; {699#(not (= (_ bv0 32) __VERIFIER_assert_~cond))} is VALID [2018-11-23 10:25:21,375 INFO L256 TraceCheckUtils]: 16: Hoare triple {681#(= (_ bv0 32) |main_#t~mem4|)} call __VERIFIER_assert((if 0bv32 == #t~mem4 then 1bv32 else 0bv32)); {703#(not (= |__VERIFIER_assert_#in~cond| (_ bv0 32)))} is VALID [2018-11-23 10:25:21,376 INFO L273 TraceCheckUtils]: 15: Hoare triple {710#(= (_ bv0 32) (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~mem4 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {681#(= (_ bv0 32) |main_#t~mem4|)} is VALID [2018-11-23 10:25:21,378 INFO L273 TraceCheckUtils]: 14: Hoare triple {714#(= (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|) (_ bv0 32))} ~i~0 := 0bv32; {710#(= (_ bv0 32) (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:25:21,381 INFO L273 TraceCheckUtils]: 13: Hoare triple {714#(= (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|) (_ bv0 32))} assume !~bvslt32(~i~0, ~SIZE~0); {714#(= (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|) (_ bv0 32))} is VALID [2018-11-23 10:25:21,383 INFO L273 TraceCheckUtils]: 12: Hoare triple {714#(= (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|) (_ bv0 32))} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {714#(= (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|) (_ bv0 32))} is VALID [2018-11-23 10:25:21,394 INFO L273 TraceCheckUtils]: 11: Hoare triple {724#(= (_ bv0 32) (select (store (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0)) (_ bv0 32)) |main_~#a~0.offset|))} assume !~bvsgt32(~bvashr32(~i~0, 16bv32), 250bv32);call write~intINTTYPE4(0bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {714#(= (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|) (_ bv0 32))} is VALID [2018-11-23 10:25:21,399 INFO L273 TraceCheckUtils]: 10: Hoare triple {724#(= (_ bv0 32) (select (store (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0)) (_ bv0 32)) |main_~#a~0.offset|))} assume !!~bvslt32(~i~0, ~SIZE~0); {724#(= (_ bv0 32) (select (store (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0)) (_ bv0 32)) |main_~#a~0.offset|))} is VALID [2018-11-23 10:25:21,401 INFO L273 TraceCheckUtils]: 9: Hoare triple {731#(= (_ bv0 32) (select (store (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4 32)) (_ bv0 32)) |main_~#a~0.offset|))} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {724#(= (_ bv0 32) (select (store (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0)) (_ bv0 32)) |main_~#a~0.offset|))} is VALID [2018-11-23 10:25:21,405 INFO L273 TraceCheckUtils]: 8: Hoare triple {735#(or (= (_ bv0 32) (bvmul (_ bv4 32) main_~i~0)) (= (bvadd (bvmul (_ bv4 32) main_~i~0) (_ bv4 32)) (_ bv0 32)))} assume !~bvsgt32(~bvashr32(~i~0, 16bv32), 250bv32);call write~intINTTYPE4(0bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {731#(= (_ bv0 32) (select (store (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4 32)) (_ bv0 32)) |main_~#a~0.offset|))} is VALID [2018-11-23 10:25:21,406 INFO L273 TraceCheckUtils]: 7: Hoare triple {735#(or (= (_ bv0 32) (bvmul (_ bv4 32) main_~i~0)) (= (bvadd (bvmul (_ bv4 32) main_~i~0) (_ bv4 32)) (_ bv0 32)))} assume !!~bvslt32(~i~0, ~SIZE~0); {735#(or (= (_ bv0 32) (bvmul (_ bv4 32) main_~i~0)) (= (bvadd (bvmul (_ bv4 32) main_~i~0) (_ bv4 32)) (_ bv0 32)))} is VALID [2018-11-23 10:25:21,406 INFO L273 TraceCheckUtils]: 6: Hoare triple {626#true} assume ~bvsgt32(~SIZE~0, 1bv32);havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~bvmul32(4bv32, ~SIZE~0));~i~0 := 0bv32; {735#(or (= (_ bv0 32) (bvmul (_ bv4 32) main_~i~0)) (= (bvadd (bvmul (_ bv4 32) main_~i~0) (_ bv4 32)) (_ bv0 32)))} is VALID [2018-11-23 10:25:21,407 INFO L273 TraceCheckUtils]: 5: Hoare triple {626#true} ~SIZE~0 := #t~nondet1;havoc #t~nondet1; {626#true} is VALID [2018-11-23 10:25:21,407 INFO L256 TraceCheckUtils]: 4: Hoare triple {626#true} call #t~ret5 := main(); {626#true} is VALID [2018-11-23 10:25:21,407 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {626#true} {626#true} #61#return; {626#true} is VALID [2018-11-23 10:25:21,407 INFO L273 TraceCheckUtils]: 2: Hoare triple {626#true} assume true; {626#true} is VALID [2018-11-23 10:25:21,408 INFO L273 TraceCheckUtils]: 1: Hoare triple {626#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];~SIZE~0 := 0bv32; {626#true} is VALID [2018-11-23 10:25:21,408 INFO L256 TraceCheckUtils]: 0: Hoare triple {626#true} call ULTIMATE.init(); {626#true} is VALID [2018-11-23 10:25:21,410 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 2 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 10:25:21,413 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 10:25:21,414 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10] total 17 [2018-11-23 10:25:21,415 INFO L78 Accepts]: Start accepts. Automaton has 17 states. Word has length 20 [2018-11-23 10:25:21,415 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 10:25:21,419 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 17 states. [2018-11-23 10:25:21,504 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 33 edges. 33 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:25:21,504 INFO L459 AbstractCegarLoop]: Interpolant automaton has 17 states [2018-11-23 10:25:21,504 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2018-11-23 10:25:21,505 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=57, Invalid=215, Unknown=0, NotChecked=0, Total=272 [2018-11-23 10:25:21,505 INFO L87 Difference]: Start difference. First operand 26 states and 28 transitions. Second operand 17 states. [2018-11-23 10:25:23,703 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:25:23,704 INFO L93 Difference]: Finished difference Result 55 states and 62 transitions. [2018-11-23 10:25:23,704 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2018-11-23 10:25:23,704 INFO L78 Accepts]: Start accepts. Automaton has 17 states. Word has length 20 [2018-11-23 10:25:23,704 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 10:25:23,705 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 17 states. [2018-11-23 10:25:23,709 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 62 transitions. [2018-11-23 10:25:23,709 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 17 states. [2018-11-23 10:25:23,713 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 62 transitions. [2018-11-23 10:25:23,713 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 17 states and 62 transitions. [2018-11-23 10:25:23,851 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 62 edges. 62 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:25:23,855 INFO L225 Difference]: With dead ends: 55 [2018-11-23 10:25:23,855 INFO L226 Difference]: Without dead ends: 53 [2018-11-23 10:25:23,856 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 45 GetRequests, 24 SyntacticMatches, 0 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 70 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=112, Invalid=394, Unknown=0, NotChecked=0, Total=506 [2018-11-23 10:25:23,856 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 53 states. [2018-11-23 10:25:23,908 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 53 to 40. [2018-11-23 10:25:23,908 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 10:25:23,909 INFO L82 GeneralOperation]: Start isEquivalent. First operand 53 states. Second operand 40 states. [2018-11-23 10:25:23,909 INFO L74 IsIncluded]: Start isIncluded. First operand 53 states. Second operand 40 states. [2018-11-23 10:25:23,909 INFO L87 Difference]: Start difference. First operand 53 states. Second operand 40 states. [2018-11-23 10:25:23,916 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:25:23,917 INFO L93 Difference]: Finished difference Result 53 states and 60 transitions. [2018-11-23 10:25:23,917 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 60 transitions. [2018-11-23 10:25:23,918 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:25:23,918 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:25:23,918 INFO L74 IsIncluded]: Start isIncluded. First operand 40 states. Second operand 53 states. [2018-11-23 10:25:23,918 INFO L87 Difference]: Start difference. First operand 40 states. Second operand 53 states. [2018-11-23 10:25:23,922 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:25:23,922 INFO L93 Difference]: Finished difference Result 53 states and 60 transitions. [2018-11-23 10:25:23,923 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 60 transitions. [2018-11-23 10:25:23,923 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:25:23,924 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:25:23,924 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 10:25:23,924 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 10:25:23,924 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 40 states. [2018-11-23 10:25:23,926 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 40 states to 40 states and 45 transitions. [2018-11-23 10:25:23,927 INFO L78 Accepts]: Start accepts. Automaton has 40 states and 45 transitions. Word has length 20 [2018-11-23 10:25:23,927 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 10:25:23,927 INFO L480 AbstractCegarLoop]: Abstraction has 40 states and 45 transitions. [2018-11-23 10:25:23,927 INFO L481 AbstractCegarLoop]: Interpolant automaton has 17 states. [2018-11-23 10:25:23,927 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 45 transitions. [2018-11-23 10:25:23,928 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2018-11-23 10:25:23,928 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 10:25:23,928 INFO L402 BasicCegarLoop]: trace histogram [3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 10:25:23,928 INFO L423 AbstractCegarLoop]: === Iteration 5 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 10:25:23,929 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 10:25:23,929 INFO L82 PathProgramCache]: Analyzing trace with hash 640401557, now seen corresponding path program 1 times [2018-11-23 10:25:23,929 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 10:25:23,929 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:25:23,949 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 10:25:23,979 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:25:23,999 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:25:24,000 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 10:25:24,090 INFO L256 TraceCheckUtils]: 0: Hoare triple {1011#true} call ULTIMATE.init(); {1011#true} is VALID [2018-11-23 10:25:24,090 INFO L273 TraceCheckUtils]: 1: Hoare triple {1011#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];~SIZE~0 := 0bv32; {1011#true} is VALID [2018-11-23 10:25:24,090 INFO L273 TraceCheckUtils]: 2: Hoare triple {1011#true} assume true; {1011#true} is VALID [2018-11-23 10:25:24,091 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1011#true} {1011#true} #61#return; {1011#true} is VALID [2018-11-23 10:25:24,091 INFO L256 TraceCheckUtils]: 4: Hoare triple {1011#true} call #t~ret5 := main(); {1011#true} is VALID [2018-11-23 10:25:24,092 INFO L273 TraceCheckUtils]: 5: Hoare triple {1011#true} ~SIZE~0 := #t~nondet1;havoc #t~nondet1; {1011#true} is VALID [2018-11-23 10:25:24,100 INFO L273 TraceCheckUtils]: 6: Hoare triple {1011#true} assume ~bvsgt32(~SIZE~0, 1bv32);havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~bvmul32(4bv32, ~SIZE~0));~i~0 := 0bv32; {1034#(= main_~i~0 (_ bv0 32))} is VALID [2018-11-23 10:25:24,102 INFO L273 TraceCheckUtils]: 7: Hoare triple {1034#(= main_~i~0 (_ bv0 32))} assume !!~bvslt32(~i~0, ~SIZE~0); {1034#(= main_~i~0 (_ bv0 32))} is VALID [2018-11-23 10:25:24,102 INFO L273 TraceCheckUtils]: 8: Hoare triple {1034#(= main_~i~0 (_ bv0 32))} assume !~bvsgt32(~bvashr32(~i~0, 16bv32), 250bv32);call write~intINTTYPE4(0bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {1034#(= main_~i~0 (_ bv0 32))} is VALID [2018-11-23 10:25:24,104 INFO L273 TraceCheckUtils]: 9: Hoare triple {1034#(= main_~i~0 (_ bv0 32))} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {1044#(= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 10:25:24,104 INFO L273 TraceCheckUtils]: 10: Hoare triple {1044#(= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32))} assume !!~bvslt32(~i~0, ~SIZE~0); {1044#(= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 10:25:24,106 INFO L273 TraceCheckUtils]: 11: Hoare triple {1044#(= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32))} assume !~bvsgt32(~bvashr32(~i~0, 16bv32), 250bv32);call write~intINTTYPE4(0bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {1044#(= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 10:25:24,106 INFO L273 TraceCheckUtils]: 12: Hoare triple {1044#(= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32))} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {1054#(= (_ bv2 32) main_~i~0)} is VALID [2018-11-23 10:25:24,108 INFO L273 TraceCheckUtils]: 13: Hoare triple {1054#(= (_ bv2 32) main_~i~0)} assume !!~bvslt32(~i~0, ~SIZE~0); {1054#(= (_ bv2 32) main_~i~0)} is VALID [2018-11-23 10:25:24,108 INFO L273 TraceCheckUtils]: 14: Hoare triple {1054#(= (_ bv2 32) main_~i~0)} assume ~bvsgt32(~bvashr32(~i~0, 16bv32), 250bv32);call write~intINTTYPE4(1bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {1012#false} is VALID [2018-11-23 10:25:24,109 INFO L273 TraceCheckUtils]: 15: Hoare triple {1012#false} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {1012#false} is VALID [2018-11-23 10:25:24,109 INFO L273 TraceCheckUtils]: 16: Hoare triple {1012#false} assume !~bvslt32(~i~0, ~SIZE~0); {1012#false} is VALID [2018-11-23 10:25:24,109 INFO L273 TraceCheckUtils]: 17: Hoare triple {1012#false} ~i~0 := 0bv32; {1012#false} is VALID [2018-11-23 10:25:24,109 INFO L273 TraceCheckUtils]: 18: Hoare triple {1012#false} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem4 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {1012#false} is VALID [2018-11-23 10:25:24,110 INFO L256 TraceCheckUtils]: 19: Hoare triple {1012#false} call __VERIFIER_assert((if 0bv32 == #t~mem4 then 1bv32 else 0bv32)); {1012#false} is VALID [2018-11-23 10:25:24,110 INFO L273 TraceCheckUtils]: 20: Hoare triple {1012#false} ~cond := #in~cond; {1012#false} is VALID [2018-11-23 10:25:24,111 INFO L273 TraceCheckUtils]: 21: Hoare triple {1012#false} assume 0bv32 == ~cond; {1012#false} is VALID [2018-11-23 10:25:24,111 INFO L273 TraceCheckUtils]: 22: Hoare triple {1012#false} assume !false; {1012#false} is VALID [2018-11-23 10:25:24,113 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 5 proven. 7 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 10:25:24,113 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-23 10:25:24,226 INFO L273 TraceCheckUtils]: 22: Hoare triple {1012#false} assume !false; {1012#false} is VALID [2018-11-23 10:25:24,227 INFO L273 TraceCheckUtils]: 21: Hoare triple {1012#false} assume 0bv32 == ~cond; {1012#false} is VALID [2018-11-23 10:25:24,227 INFO L273 TraceCheckUtils]: 20: Hoare triple {1012#false} ~cond := #in~cond; {1012#false} is VALID [2018-11-23 10:25:24,228 INFO L256 TraceCheckUtils]: 19: Hoare triple {1012#false} call __VERIFIER_assert((if 0bv32 == #t~mem4 then 1bv32 else 0bv32)); {1012#false} is VALID [2018-11-23 10:25:24,228 INFO L273 TraceCheckUtils]: 18: Hoare triple {1012#false} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem4 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {1012#false} is VALID [2018-11-23 10:25:24,229 INFO L273 TraceCheckUtils]: 17: Hoare triple {1012#false} ~i~0 := 0bv32; {1012#false} is VALID [2018-11-23 10:25:24,229 INFO L273 TraceCheckUtils]: 16: Hoare triple {1012#false} assume !~bvslt32(~i~0, ~SIZE~0); {1012#false} is VALID [2018-11-23 10:25:24,229 INFO L273 TraceCheckUtils]: 15: Hoare triple {1012#false} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {1012#false} is VALID [2018-11-23 10:25:24,231 INFO L273 TraceCheckUtils]: 14: Hoare triple {1109#(not (bvsgt (bvashr main_~i~0 (_ bv16 32)) (_ bv250 32)))} assume ~bvsgt32(~bvashr32(~i~0, 16bv32), 250bv32);call write~intINTTYPE4(1bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {1012#false} is VALID [2018-11-23 10:25:24,232 INFO L273 TraceCheckUtils]: 13: Hoare triple {1109#(not (bvsgt (bvashr main_~i~0 (_ bv16 32)) (_ bv250 32)))} assume !!~bvslt32(~i~0, ~SIZE~0); {1109#(not (bvsgt (bvashr main_~i~0 (_ bv16 32)) (_ bv250 32)))} is VALID [2018-11-23 10:25:24,232 INFO L273 TraceCheckUtils]: 12: Hoare triple {1116#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv1 32)) (_ bv16 32)) (_ bv250 32)))} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {1109#(not (bvsgt (bvashr main_~i~0 (_ bv16 32)) (_ bv250 32)))} is VALID [2018-11-23 10:25:24,233 INFO L273 TraceCheckUtils]: 11: Hoare triple {1116#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv1 32)) (_ bv16 32)) (_ bv250 32)))} assume !~bvsgt32(~bvashr32(~i~0, 16bv32), 250bv32);call write~intINTTYPE4(0bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {1116#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv1 32)) (_ bv16 32)) (_ bv250 32)))} is VALID [2018-11-23 10:25:24,233 INFO L273 TraceCheckUtils]: 10: Hoare triple {1116#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv1 32)) (_ bv16 32)) (_ bv250 32)))} assume !!~bvslt32(~i~0, ~SIZE~0); {1116#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv1 32)) (_ bv16 32)) (_ bv250 32)))} is VALID [2018-11-23 10:25:24,239 INFO L273 TraceCheckUtils]: 9: Hoare triple {1126#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv2 32)) (_ bv16 32)) (_ bv250 32)))} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {1116#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv1 32)) (_ bv16 32)) (_ bv250 32)))} is VALID [2018-11-23 10:25:24,240 INFO L273 TraceCheckUtils]: 8: Hoare triple {1126#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv2 32)) (_ bv16 32)) (_ bv250 32)))} assume !~bvsgt32(~bvashr32(~i~0, 16bv32), 250bv32);call write~intINTTYPE4(0bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {1126#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv2 32)) (_ bv16 32)) (_ bv250 32)))} is VALID [2018-11-23 10:25:24,240 INFO L273 TraceCheckUtils]: 7: Hoare triple {1126#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv2 32)) (_ bv16 32)) (_ bv250 32)))} assume !!~bvslt32(~i~0, ~SIZE~0); {1126#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv2 32)) (_ bv16 32)) (_ bv250 32)))} is VALID [2018-11-23 10:25:24,241 INFO L273 TraceCheckUtils]: 6: Hoare triple {1011#true} assume ~bvsgt32(~SIZE~0, 1bv32);havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~bvmul32(4bv32, ~SIZE~0));~i~0 := 0bv32; {1126#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv2 32)) (_ bv16 32)) (_ bv250 32)))} is VALID [2018-11-23 10:25:24,241 INFO L273 TraceCheckUtils]: 5: Hoare triple {1011#true} ~SIZE~0 := #t~nondet1;havoc #t~nondet1; {1011#true} is VALID [2018-11-23 10:25:24,241 INFO L256 TraceCheckUtils]: 4: Hoare triple {1011#true} call #t~ret5 := main(); {1011#true} is VALID [2018-11-23 10:25:24,242 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1011#true} {1011#true} #61#return; {1011#true} is VALID [2018-11-23 10:25:24,242 INFO L273 TraceCheckUtils]: 2: Hoare triple {1011#true} assume true; {1011#true} is VALID [2018-11-23 10:25:24,243 INFO L273 TraceCheckUtils]: 1: Hoare triple {1011#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];~SIZE~0 := 0bv32; {1011#true} is VALID [2018-11-23 10:25:24,243 INFO L256 TraceCheckUtils]: 0: Hoare triple {1011#true} call ULTIMATE.init(); {1011#true} is VALID [2018-11-23 10:25:24,245 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 5 proven. 7 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [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:25:24,255 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 10:25:24,255 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5] total 8 [2018-11-23 10:25:24,256 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 23 [2018-11-23 10:25:24,256 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 10:25:24,256 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-11-23 10:25:24,305 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 32 edges. 32 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:25:24,305 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-11-23 10:25:24,305 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-11-23 10:25:24,305 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=22, Invalid=34, Unknown=0, NotChecked=0, Total=56 [2018-11-23 10:25:24,306 INFO L87 Difference]: Start difference. First operand 40 states and 45 transitions. Second operand 8 states. [2018-11-23 10:25:25,656 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:25:25,657 INFO L93 Difference]: Finished difference Result 95 states and 116 transitions. [2018-11-23 10:25:25,657 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2018-11-23 10:25:25,657 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 23 [2018-11-23 10:25:25,657 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 10:25:25,657 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-11-23 10:25:25,664 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 99 transitions. [2018-11-23 10:25:25,664 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-11-23 10:25:25,672 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 99 transitions. [2018-11-23 10:25:25,672 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 99 transitions. [2018-11-23 10:25:25,966 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 99 edges. 99 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:25:25,970 INFO L225 Difference]: With dead ends: 95 [2018-11-23 10:25:25,970 INFO L226 Difference]: Without dead ends: 81 [2018-11-23 10:25:25,971 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 47 GetRequests, 39 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=38, Invalid=52, Unknown=0, NotChecked=0, Total=90 [2018-11-23 10:25:25,971 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 81 states. [2018-11-23 10:25:26,054 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 81 to 52. [2018-11-23 10:25:26,054 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 10:25:26,055 INFO L82 GeneralOperation]: Start isEquivalent. First operand 81 states. Second operand 52 states. [2018-11-23 10:25:26,055 INFO L74 IsIncluded]: Start isIncluded. First operand 81 states. Second operand 52 states. [2018-11-23 10:25:26,055 INFO L87 Difference]: Start difference. First operand 81 states. Second operand 52 states. [2018-11-23 10:25:26,059 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:25:26,060 INFO L93 Difference]: Finished difference Result 81 states and 96 transitions. [2018-11-23 10:25:26,060 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 96 transitions. [2018-11-23 10:25:26,061 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:25:26,062 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:25:26,062 INFO L74 IsIncluded]: Start isIncluded. First operand 52 states. Second operand 81 states. [2018-11-23 10:25:26,062 INFO L87 Difference]: Start difference. First operand 52 states. Second operand 81 states. [2018-11-23 10:25:26,067 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:25:26,067 INFO L93 Difference]: Finished difference Result 81 states and 96 transitions. [2018-11-23 10:25:26,067 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 96 transitions. [2018-11-23 10:25:26,068 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:25:26,069 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:25:26,069 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 10:25:26,069 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 10:25:26,069 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 52 states. [2018-11-23 10:25:26,072 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 52 states to 52 states and 61 transitions. [2018-11-23 10:25:26,072 INFO L78 Accepts]: Start accepts. Automaton has 52 states and 61 transitions. Word has length 23 [2018-11-23 10:25:26,072 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 10:25:26,072 INFO L480 AbstractCegarLoop]: Abstraction has 52 states and 61 transitions. [2018-11-23 10:25:26,072 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-11-23 10:25:26,073 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 61 transitions. [2018-11-23 10:25:26,074 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 37 [2018-11-23 10:25:26,074 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 10:25:26,074 INFO L402 BasicCegarLoop]: trace histogram [3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 10:25:26,074 INFO L423 AbstractCegarLoop]: === Iteration 6 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 10:25:26,074 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 10:25:26,075 INFO L82 PathProgramCache]: Analyzing trace with hash 855189807, now seen corresponding path program 1 times [2018-11-23 10:25:26,075 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 10:25:26,075 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:25:26,109 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 10:25:26,159 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:25:26,172 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:25:26,173 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 10:25:26,507 INFO L256 TraceCheckUtils]: 0: Hoare triple {1525#true} call ULTIMATE.init(); {1525#true} is VALID [2018-11-23 10:25:26,507 INFO L273 TraceCheckUtils]: 1: Hoare triple {1525#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];~SIZE~0 := 0bv32; {1525#true} is VALID [2018-11-23 10:25:26,508 INFO L273 TraceCheckUtils]: 2: Hoare triple {1525#true} assume true; {1525#true} is VALID [2018-11-23 10:25:26,508 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1525#true} {1525#true} #61#return; {1525#true} is VALID [2018-11-23 10:25:26,508 INFO L256 TraceCheckUtils]: 4: Hoare triple {1525#true} call #t~ret5 := main(); {1525#true} is VALID [2018-11-23 10:25:26,508 INFO L273 TraceCheckUtils]: 5: Hoare triple {1525#true} ~SIZE~0 := #t~nondet1;havoc #t~nondet1; {1525#true} is VALID [2018-11-23 10:25:26,509 INFO L273 TraceCheckUtils]: 6: Hoare triple {1525#true} assume ~bvsgt32(~SIZE~0, 1bv32);havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~bvmul32(4bv32, ~SIZE~0));~i~0 := 0bv32; {1548#(and (= main_~i~0 (_ bv0 32)) (bvsgt ~SIZE~0 (_ bv1 32)))} is VALID [2018-11-23 10:25:26,510 INFO L273 TraceCheckUtils]: 7: Hoare triple {1548#(and (= main_~i~0 (_ bv0 32)) (bvsgt ~SIZE~0 (_ bv1 32)))} assume !!~bvslt32(~i~0, ~SIZE~0); {1548#(and (= main_~i~0 (_ bv0 32)) (bvsgt ~SIZE~0 (_ bv1 32)))} is VALID [2018-11-23 10:25:26,510 INFO L273 TraceCheckUtils]: 8: Hoare triple {1548#(and (= main_~i~0 (_ bv0 32)) (bvsgt ~SIZE~0 (_ bv1 32)))} assume !~bvsgt32(~bvashr32(~i~0, 16bv32), 250bv32);call write~intINTTYPE4(0bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {1548#(and (= main_~i~0 (_ bv0 32)) (bvsgt ~SIZE~0 (_ bv1 32)))} is VALID [2018-11-23 10:25:26,511 INFO L273 TraceCheckUtils]: 9: Hoare triple {1548#(and (= main_~i~0 (_ bv0 32)) (bvsgt ~SIZE~0 (_ bv1 32)))} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {1558#(and (bvsgt ~SIZE~0 (_ bv1 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:25:26,511 INFO L273 TraceCheckUtils]: 10: Hoare triple {1558#(and (bvsgt ~SIZE~0 (_ bv1 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} assume !!~bvslt32(~i~0, ~SIZE~0); {1558#(and (bvsgt ~SIZE~0 (_ bv1 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:25:26,512 INFO L273 TraceCheckUtils]: 11: Hoare triple {1558#(and (bvsgt ~SIZE~0 (_ bv1 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} assume !~bvsgt32(~bvashr32(~i~0, 16bv32), 250bv32);call write~intINTTYPE4(0bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {1558#(and (bvsgt ~SIZE~0 (_ bv1 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:25:26,512 INFO L273 TraceCheckUtils]: 12: Hoare triple {1558#(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; {1568#(and (bvsgt ~SIZE~0 (_ bv1 32)) (= (_ bv2 32) main_~i~0))} is VALID [2018-11-23 10:25:26,513 INFO L273 TraceCheckUtils]: 13: Hoare triple {1568#(and (bvsgt ~SIZE~0 (_ bv1 32)) (= (_ bv2 32) main_~i~0))} assume !~bvslt32(~i~0, ~SIZE~0); {1572#(and (not (bvslt (_ bv2 32) ~SIZE~0)) (bvsgt ~SIZE~0 (_ bv1 32)))} is VALID [2018-11-23 10:25:26,514 INFO L273 TraceCheckUtils]: 14: Hoare triple {1572#(and (not (bvslt (_ bv2 32) ~SIZE~0)) (bvsgt ~SIZE~0 (_ bv1 32)))} ~i~0 := 0bv32; {1576#(and (not (bvslt (_ bv2 32) ~SIZE~0)) (= main_~i~0 (_ bv0 32)) (bvsgt ~SIZE~0 (_ bv1 32)))} is VALID [2018-11-23 10:25:26,514 INFO L273 TraceCheckUtils]: 15: Hoare triple {1576#(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); {1576#(and (not (bvslt (_ bv2 32) ~SIZE~0)) (= main_~i~0 (_ bv0 32)) (bvsgt ~SIZE~0 (_ bv1 32)))} is VALID [2018-11-23 10:25:26,515 INFO L256 TraceCheckUtils]: 16: Hoare triple {1576#(and (not (bvslt (_ bv2 32) ~SIZE~0)) (= main_~i~0 (_ bv0 32)) (bvsgt ~SIZE~0 (_ bv1 32)))} call __VERIFIER_assert((if 0bv32 == #t~mem4 then 1bv32 else 0bv32)); {1572#(and (not (bvslt (_ bv2 32) ~SIZE~0)) (bvsgt ~SIZE~0 (_ bv1 32)))} is VALID [2018-11-23 10:25:26,516 INFO L273 TraceCheckUtils]: 17: Hoare triple {1572#(and (not (bvslt (_ bv2 32) ~SIZE~0)) (bvsgt ~SIZE~0 (_ bv1 32)))} ~cond := #in~cond; {1572#(and (not (bvslt (_ bv2 32) ~SIZE~0)) (bvsgt ~SIZE~0 (_ bv1 32)))} is VALID [2018-11-23 10:25:26,516 INFO L273 TraceCheckUtils]: 18: Hoare triple {1572#(and (not (bvslt (_ bv2 32) ~SIZE~0)) (bvsgt ~SIZE~0 (_ bv1 32)))} assume !(0bv32 == ~cond); {1572#(and (not (bvslt (_ bv2 32) ~SIZE~0)) (bvsgt ~SIZE~0 (_ bv1 32)))} is VALID [2018-11-23 10:25:26,524 INFO L273 TraceCheckUtils]: 19: Hoare triple {1572#(and (not (bvslt (_ bv2 32) ~SIZE~0)) (bvsgt ~SIZE~0 (_ bv1 32)))} assume true; {1572#(and (not (bvslt (_ bv2 32) ~SIZE~0)) (bvsgt ~SIZE~0 (_ bv1 32)))} is VALID [2018-11-23 10:25:26,525 INFO L268 TraceCheckUtils]: 20: Hoare quadruple {1572#(and (not (bvslt (_ bv2 32) ~SIZE~0)) (bvsgt ~SIZE~0 (_ bv1 32)))} {1576#(and (not (bvslt (_ bv2 32) ~SIZE~0)) (= main_~i~0 (_ bv0 32)) (bvsgt ~SIZE~0 (_ bv1 32)))} #65#return; {1576#(and (not (bvslt (_ bv2 32) ~SIZE~0)) (= main_~i~0 (_ bv0 32)) (bvsgt ~SIZE~0 (_ bv1 32)))} is VALID [2018-11-23 10:25:26,525 INFO L273 TraceCheckUtils]: 21: Hoare triple {1576#(and (not (bvslt (_ bv2 32) ~SIZE~0)) (= main_~i~0 (_ bv0 32)) (bvsgt ~SIZE~0 (_ bv1 32)))} havoc #t~mem4; {1576#(and (not (bvslt (_ bv2 32) ~SIZE~0)) (= main_~i~0 (_ bv0 32)) (bvsgt ~SIZE~0 (_ bv1 32)))} is VALID [2018-11-23 10:25:26,534 INFO L273 TraceCheckUtils]: 22: Hoare triple {1576#(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; {1601#(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:25:26,547 INFO L273 TraceCheckUtils]: 23: Hoare triple {1601#(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);call #t~mem4 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {1601#(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:25:26,560 INFO L256 TraceCheckUtils]: 24: Hoare triple {1601#(and (not (bvslt (_ bv2 32) ~SIZE~0)) (bvsgt ~SIZE~0 (_ bv1 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} call __VERIFIER_assert((if 0bv32 == #t~mem4 then 1bv32 else 0bv32)); {1572#(and (not (bvslt (_ bv2 32) ~SIZE~0)) (bvsgt ~SIZE~0 (_ bv1 32)))} is VALID [2018-11-23 10:25:26,573 INFO L273 TraceCheckUtils]: 25: Hoare triple {1572#(and (not (bvslt (_ bv2 32) ~SIZE~0)) (bvsgt ~SIZE~0 (_ bv1 32)))} ~cond := #in~cond; {1572#(and (not (bvslt (_ bv2 32) ~SIZE~0)) (bvsgt ~SIZE~0 (_ bv1 32)))} is VALID [2018-11-23 10:25:26,586 INFO L273 TraceCheckUtils]: 26: Hoare triple {1572#(and (not (bvslt (_ bv2 32) ~SIZE~0)) (bvsgt ~SIZE~0 (_ bv1 32)))} assume !(0bv32 == ~cond); {1572#(and (not (bvslt (_ bv2 32) ~SIZE~0)) (bvsgt ~SIZE~0 (_ bv1 32)))} is VALID [2018-11-23 10:25:26,599 INFO L273 TraceCheckUtils]: 27: Hoare triple {1572#(and (not (bvslt (_ bv2 32) ~SIZE~0)) (bvsgt ~SIZE~0 (_ bv1 32)))} assume true; {1572#(and (not (bvslt (_ bv2 32) ~SIZE~0)) (bvsgt ~SIZE~0 (_ bv1 32)))} is VALID [2018-11-23 10:25:26,612 INFO L268 TraceCheckUtils]: 28: Hoare quadruple {1572#(and (not (bvslt (_ bv2 32) ~SIZE~0)) (bvsgt ~SIZE~0 (_ bv1 32)))} {1601#(and (not (bvslt (_ bv2 32) ~SIZE~0)) (bvsgt ~SIZE~0 (_ bv1 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} #65#return; {1601#(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:25:26,624 INFO L273 TraceCheckUtils]: 29: Hoare triple {1601#(and (not (bvslt (_ bv2 32) ~SIZE~0)) (bvsgt ~SIZE~0 (_ bv1 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} havoc #t~mem4; {1601#(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:25:26,637 INFO L273 TraceCheckUtils]: 30: Hoare triple {1601#(and (not (bvslt (_ bv2 32) ~SIZE~0)) (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; {1626#(and (not (bvslt (_ bv2 32) ~SIZE~0)) (bvsgt ~SIZE~0 (_ bv1 32)) (= (_ bv2 32) main_~i~0))} is VALID [2018-11-23 10:25:26,650 INFO L273 TraceCheckUtils]: 31: Hoare triple {1626#(and (not (bvslt (_ bv2 32) ~SIZE~0)) (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); {1526#false} is VALID [2018-11-23 10:25:26,651 INFO L256 TraceCheckUtils]: 32: Hoare triple {1526#false} call __VERIFIER_assert((if 0bv32 == #t~mem4 then 1bv32 else 0bv32)); {1526#false} is VALID [2018-11-23 10:25:26,651 INFO L273 TraceCheckUtils]: 33: Hoare triple {1526#false} ~cond := #in~cond; {1526#false} is VALID [2018-11-23 10:25:26,651 INFO L273 TraceCheckUtils]: 34: Hoare triple {1526#false} assume 0bv32 == ~cond; {1526#false} is VALID [2018-11-23 10:25:26,651 INFO L273 TraceCheckUtils]: 35: Hoare triple {1526#false} assume !false; {1526#false} is VALID [2018-11-23 10:25:26,656 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 6 proven. 11 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2018-11-23 10:25:26,656 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-23 10:25:27,041 INFO L273 TraceCheckUtils]: 35: Hoare triple {1526#false} assume !false; {1526#false} is VALID [2018-11-23 10:25:27,042 INFO L273 TraceCheckUtils]: 34: Hoare triple {1526#false} assume 0bv32 == ~cond; {1526#false} is VALID [2018-11-23 10:25:27,043 INFO L273 TraceCheckUtils]: 33: Hoare triple {1526#false} ~cond := #in~cond; {1526#false} is VALID [2018-11-23 10:25:27,043 INFO L256 TraceCheckUtils]: 32: Hoare triple {1526#false} call __VERIFIER_assert((if 0bv32 == #t~mem4 then 1bv32 else 0bv32)); {1526#false} is VALID [2018-11-23 10:25:27,046 INFO L273 TraceCheckUtils]: 31: Hoare triple {1654#(not (bvslt main_~i~0 ~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); {1526#false} is VALID [2018-11-23 10:25:27,047 INFO L273 TraceCheckUtils]: 30: Hoare triple {1658#(not (bvslt (bvadd main_~i~0 (_ bv1 32)) ~SIZE~0))} #t~post3 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post3);havoc #t~post3; {1654#(not (bvslt main_~i~0 ~SIZE~0))} is VALID [2018-11-23 10:25:27,048 INFO L273 TraceCheckUtils]: 29: Hoare triple {1658#(not (bvslt (bvadd main_~i~0 (_ bv1 32)) ~SIZE~0))} havoc #t~mem4; {1658#(not (bvslt (bvadd main_~i~0 (_ bv1 32)) ~SIZE~0))} is VALID [2018-11-23 10:25:27,048 INFO L268 TraceCheckUtils]: 28: Hoare quadruple {1525#true} {1658#(not (bvslt (bvadd main_~i~0 (_ bv1 32)) ~SIZE~0))} #65#return; {1658#(not (bvslt (bvadd main_~i~0 (_ bv1 32)) ~SIZE~0))} is VALID [2018-11-23 10:25:27,048 INFO L273 TraceCheckUtils]: 27: Hoare triple {1525#true} assume true; {1525#true} is VALID [2018-11-23 10:25:27,049 INFO L273 TraceCheckUtils]: 26: Hoare triple {1525#true} assume !(0bv32 == ~cond); {1525#true} is VALID [2018-11-23 10:25:27,049 INFO L273 TraceCheckUtils]: 25: Hoare triple {1525#true} ~cond := #in~cond; {1525#true} is VALID [2018-11-23 10:25:27,049 INFO L256 TraceCheckUtils]: 24: Hoare triple {1658#(not (bvslt (bvadd main_~i~0 (_ bv1 32)) ~SIZE~0))} call __VERIFIER_assert((if 0bv32 == #t~mem4 then 1bv32 else 0bv32)); {1525#true} is VALID [2018-11-23 10:25:27,050 INFO L273 TraceCheckUtils]: 23: Hoare triple {1658#(not (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); {1658#(not (bvslt (bvadd main_~i~0 (_ bv1 32)) ~SIZE~0))} is VALID [2018-11-23 10:25:27,080 INFO L273 TraceCheckUtils]: 22: Hoare triple {1683#(not (bvslt (bvadd main_~i~0 (_ bv2 32)) ~SIZE~0))} #t~post3 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post3);havoc #t~post3; {1658#(not (bvslt (bvadd main_~i~0 (_ bv1 32)) ~SIZE~0))} is VALID [2018-11-23 10:25:27,081 INFO L273 TraceCheckUtils]: 21: Hoare triple {1683#(not (bvslt (bvadd main_~i~0 (_ bv2 32)) ~SIZE~0))} havoc #t~mem4; {1683#(not (bvslt (bvadd main_~i~0 (_ bv2 32)) ~SIZE~0))} is VALID [2018-11-23 10:25:27,081 INFO L268 TraceCheckUtils]: 20: Hoare quadruple {1525#true} {1683#(not (bvslt (bvadd main_~i~0 (_ bv2 32)) ~SIZE~0))} #65#return; {1683#(not (bvslt (bvadd main_~i~0 (_ bv2 32)) ~SIZE~0))} is VALID [2018-11-23 10:25:27,082 INFO L273 TraceCheckUtils]: 19: Hoare triple {1525#true} assume true; {1525#true} is VALID [2018-11-23 10:25:27,082 INFO L273 TraceCheckUtils]: 18: Hoare triple {1525#true} assume !(0bv32 == ~cond); {1525#true} is VALID [2018-11-23 10:25:27,082 INFO L273 TraceCheckUtils]: 17: Hoare triple {1525#true} ~cond := #in~cond; {1525#true} is VALID [2018-11-23 10:25:27,082 INFO L256 TraceCheckUtils]: 16: Hoare triple {1683#(not (bvslt (bvadd main_~i~0 (_ bv2 32)) ~SIZE~0))} call __VERIFIER_assert((if 0bv32 == #t~mem4 then 1bv32 else 0bv32)); {1525#true} is VALID [2018-11-23 10:25:27,088 INFO L273 TraceCheckUtils]: 15: Hoare triple {1683#(not (bvslt (bvadd main_~i~0 (_ 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); {1683#(not (bvslt (bvadd main_~i~0 (_ bv2 32)) ~SIZE~0))} is VALID [2018-11-23 10:25:27,089 INFO L273 TraceCheckUtils]: 14: Hoare triple {1708#(not (bvslt (_ bv2 32) ~SIZE~0))} ~i~0 := 0bv32; {1683#(not (bvslt (bvadd main_~i~0 (_ bv2 32)) ~SIZE~0))} is VALID [2018-11-23 10:25:27,090 INFO L273 TraceCheckUtils]: 13: Hoare triple {1712#(or (not (bvslt (_ bv2 32) ~SIZE~0)) (bvslt main_~i~0 ~SIZE~0))} assume !~bvslt32(~i~0, ~SIZE~0); {1708#(not (bvslt (_ bv2 32) ~SIZE~0))} is VALID [2018-11-23 10:25:27,090 INFO L273 TraceCheckUtils]: 12: Hoare triple {1716#(or (not (bvslt (_ bv2 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; {1712#(or (not (bvslt (_ bv2 32) ~SIZE~0)) (bvslt main_~i~0 ~SIZE~0))} is VALID [2018-11-23 10:25:27,091 INFO L273 TraceCheckUtils]: 11: Hoare triple {1716#(or (not (bvslt (_ bv2 32) ~SIZE~0)) (bvslt (bvadd main_~i~0 (_ bv1 32)) ~SIZE~0))} assume !~bvsgt32(~bvashr32(~i~0, 16bv32), 250bv32);call write~intINTTYPE4(0bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {1716#(or (not (bvslt (_ bv2 32) ~SIZE~0)) (bvslt (bvadd main_~i~0 (_ bv1 32)) ~SIZE~0))} is VALID [2018-11-23 10:25:27,091 INFO L273 TraceCheckUtils]: 10: Hoare triple {1716#(or (not (bvslt (_ bv2 32) ~SIZE~0)) (bvslt (bvadd main_~i~0 (_ bv1 32)) ~SIZE~0))} assume !!~bvslt32(~i~0, ~SIZE~0); {1716#(or (not (bvslt (_ bv2 32) ~SIZE~0)) (bvslt (bvadd main_~i~0 (_ bv1 32)) ~SIZE~0))} is VALID [2018-11-23 10:25:27,117 INFO L273 TraceCheckUtils]: 9: Hoare triple {1726#(or (bvslt (bvadd main_~i~0 (_ bv2 32)) ~SIZE~0) (not (bvslt (_ bv2 32) ~SIZE~0)))} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {1716#(or (not (bvslt (_ bv2 32) ~SIZE~0)) (bvslt (bvadd main_~i~0 (_ bv1 32)) ~SIZE~0))} is VALID [2018-11-23 10:25:27,118 INFO L273 TraceCheckUtils]: 8: Hoare triple {1726#(or (bvslt (bvadd main_~i~0 (_ bv2 32)) ~SIZE~0) (not (bvslt (_ bv2 32) ~SIZE~0)))} assume !~bvsgt32(~bvashr32(~i~0, 16bv32), 250bv32);call write~intINTTYPE4(0bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {1726#(or (bvslt (bvadd main_~i~0 (_ bv2 32)) ~SIZE~0) (not (bvslt (_ bv2 32) ~SIZE~0)))} is VALID [2018-11-23 10:25:27,118 INFO L273 TraceCheckUtils]: 7: Hoare triple {1726#(or (bvslt (bvadd main_~i~0 (_ bv2 32)) ~SIZE~0) (not (bvslt (_ bv2 32) ~SIZE~0)))} assume !!~bvslt32(~i~0, ~SIZE~0); {1726#(or (bvslt (bvadd main_~i~0 (_ bv2 32)) ~SIZE~0) (not (bvslt (_ bv2 32) ~SIZE~0)))} is VALID [2018-11-23 10:25:27,120 INFO L273 TraceCheckUtils]: 6: Hoare triple {1525#true} assume ~bvsgt32(~SIZE~0, 1bv32);havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~bvmul32(4bv32, ~SIZE~0));~i~0 := 0bv32; {1726#(or (bvslt (bvadd main_~i~0 (_ bv2 32)) ~SIZE~0) (not (bvslt (_ bv2 32) ~SIZE~0)))} is VALID [2018-11-23 10:25:27,120 INFO L273 TraceCheckUtils]: 5: Hoare triple {1525#true} ~SIZE~0 := #t~nondet1;havoc #t~nondet1; {1525#true} is VALID [2018-11-23 10:25:27,121 INFO L256 TraceCheckUtils]: 4: Hoare triple {1525#true} call #t~ret5 := main(); {1525#true} is VALID [2018-11-23 10:25:27,121 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1525#true} {1525#true} #61#return; {1525#true} is VALID [2018-11-23 10:25:27,121 INFO L273 TraceCheckUtils]: 2: Hoare triple {1525#true} assume true; {1525#true} is VALID [2018-11-23 10:25:27,122 INFO L273 TraceCheckUtils]: 1: Hoare triple {1525#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];~SIZE~0 := 0bv32; {1525#true} is VALID [2018-11-23 10:25:27,122 INFO L256 TraceCheckUtils]: 0: Hoare triple {1525#true} call ULTIMATE.init(); {1525#true} is VALID [2018-11-23 10:25:27,124 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 6 proven. 11 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2018-11-23 10:25:27,126 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 10:25:27,126 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 16 [2018-11-23 10:25:27,127 INFO L78 Accepts]: Start accepts. Automaton has 16 states. Word has length 36 [2018-11-23 10:25:27,128 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 10:25:27,128 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 16 states. [2018-11-23 10:25:27,271 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:25:27,272 INFO L459 AbstractCegarLoop]: Interpolant automaton has 16 states [2018-11-23 10:25:27,272 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2018-11-23 10:25:27,272 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=66, Invalid=174, Unknown=0, NotChecked=0, Total=240 [2018-11-23 10:25:27,272 INFO L87 Difference]: Start difference. First operand 52 states and 61 transitions. Second operand 16 states. [2018-11-23 10:25:28,993 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:25:28,993 INFO L93 Difference]: Finished difference Result 85 states and 97 transitions. [2018-11-23 10:25:28,993 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2018-11-23 10:25:28,993 INFO L78 Accepts]: Start accepts. Automaton has 16 states. Word has length 36 [2018-11-23 10:25:28,994 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 10:25:28,994 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 16 states. [2018-11-23 10:25:28,997 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 69 transitions. [2018-11-23 10:25:28,997 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 16 states. [2018-11-23 10:25:29,000 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 69 transitions. [2018-11-23 10:25:29,000 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 14 states and 69 transitions. [2018-11-23 10:25:29,184 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 69 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:25:29,186 INFO L225 Difference]: With dead ends: 85 [2018-11-23 10:25:29,187 INFO L226 Difference]: Without dead ends: 61 [2018-11-23 10:25:29,187 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 73 GetRequests, 57 SyntacticMatches, 0 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 52 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=89, Invalid=217, Unknown=0, NotChecked=0, Total=306 [2018-11-23 10:25:29,188 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 61 states. [2018-11-23 10:25:29,250 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 61 to 52. [2018-11-23 10:25:29,250 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 10:25:29,250 INFO L82 GeneralOperation]: Start isEquivalent. First operand 61 states. Second operand 52 states. [2018-11-23 10:25:29,250 INFO L74 IsIncluded]: Start isIncluded. First operand 61 states. Second operand 52 states. [2018-11-23 10:25:29,251 INFO L87 Difference]: Start difference. First operand 61 states. Second operand 52 states. [2018-11-23 10:25:29,254 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:25:29,255 INFO L93 Difference]: Finished difference Result 61 states and 71 transitions. [2018-11-23 10:25:29,255 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 71 transitions. [2018-11-23 10:25:29,256 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:25:29,256 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:25:29,256 INFO L74 IsIncluded]: Start isIncluded. First operand 52 states. Second operand 61 states. [2018-11-23 10:25:29,256 INFO L87 Difference]: Start difference. First operand 52 states. Second operand 61 states. [2018-11-23 10:25:29,259 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:25:29,259 INFO L93 Difference]: Finished difference Result 61 states and 71 transitions. [2018-11-23 10:25:29,260 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 71 transitions. [2018-11-23 10:25:29,260 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:25:29,260 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:25:29,260 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 10:25:29,260 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 10:25:29,261 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 52 states. [2018-11-23 10:25:29,263 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 52 states to 52 states and 60 transitions. [2018-11-23 10:25:29,263 INFO L78 Accepts]: Start accepts. Automaton has 52 states and 60 transitions. Word has length 36 [2018-11-23 10:25:29,263 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 10:25:29,263 INFO L480 AbstractCegarLoop]: Abstraction has 52 states and 60 transitions. [2018-11-23 10:25:29,263 INFO L481 AbstractCegarLoop]: Interpolant automaton has 16 states. [2018-11-23 10:25:29,263 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 60 transitions. [2018-11-23 10:25:29,264 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 36 [2018-11-23 10:25:29,264 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 10:25:29,264 INFO L402 BasicCegarLoop]: trace histogram [7, 7, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 10:25:29,265 INFO L423 AbstractCegarLoop]: === Iteration 7 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 10:25:29,265 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 10:25:29,265 INFO L82 PathProgramCache]: Analyzing trace with hash 985765397, now seen corresponding path program 2 times [2018-11-23 10:25:29,266 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 10:25:29,266 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:25:29,292 INFO L101 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2018-11-23 10:25:29,349 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-23 10:25:29,349 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 10:25:29,373 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:25:29,374 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 10:25:29,480 INFO L256 TraceCheckUtils]: 0: Hoare triple {2073#true} call ULTIMATE.init(); {2073#true} is VALID [2018-11-23 10:25:29,481 INFO L273 TraceCheckUtils]: 1: Hoare triple {2073#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];~SIZE~0 := 0bv32; {2073#true} is VALID [2018-11-23 10:25:29,481 INFO L273 TraceCheckUtils]: 2: Hoare triple {2073#true} assume true; {2073#true} is VALID [2018-11-23 10:25:29,481 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2073#true} {2073#true} #61#return; {2073#true} is VALID [2018-11-23 10:25:29,481 INFO L256 TraceCheckUtils]: 4: Hoare triple {2073#true} call #t~ret5 := main(); {2073#true} is VALID [2018-11-23 10:25:29,481 INFO L273 TraceCheckUtils]: 5: Hoare triple {2073#true} ~SIZE~0 := #t~nondet1;havoc #t~nondet1; {2073#true} is VALID [2018-11-23 10:25:29,482 INFO L273 TraceCheckUtils]: 6: Hoare triple {2073#true} assume ~bvsgt32(~SIZE~0, 1bv32);havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~bvmul32(4bv32, ~SIZE~0));~i~0 := 0bv32; {2096#(= main_~i~0 (_ bv0 32))} is VALID [2018-11-23 10:25:29,482 INFO L273 TraceCheckUtils]: 7: Hoare triple {2096#(= main_~i~0 (_ bv0 32))} assume !!~bvslt32(~i~0, ~SIZE~0); {2096#(= main_~i~0 (_ bv0 32))} is VALID [2018-11-23 10:25:29,483 INFO L273 TraceCheckUtils]: 8: Hoare triple {2096#(= main_~i~0 (_ bv0 32))} assume !~bvsgt32(~bvashr32(~i~0, 16bv32), 250bv32);call write~intINTTYPE4(0bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {2096#(= main_~i~0 (_ bv0 32))} is VALID [2018-11-23 10:25:29,483 INFO L273 TraceCheckUtils]: 9: Hoare triple {2096#(= main_~i~0 (_ bv0 32))} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {2106#(= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 10:25:29,484 INFO L273 TraceCheckUtils]: 10: Hoare triple {2106#(= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32))} assume !!~bvslt32(~i~0, ~SIZE~0); {2106#(= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 10:25:29,484 INFO L273 TraceCheckUtils]: 11: Hoare triple {2106#(= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32))} assume !~bvsgt32(~bvashr32(~i~0, 16bv32), 250bv32);call write~intINTTYPE4(0bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {2106#(= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 10:25:29,485 INFO L273 TraceCheckUtils]: 12: Hoare triple {2106#(= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32))} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {2116#(= (_ bv2 32) main_~i~0)} is VALID [2018-11-23 10:25:29,485 INFO L273 TraceCheckUtils]: 13: Hoare triple {2116#(= (_ bv2 32) main_~i~0)} assume !!~bvslt32(~i~0, ~SIZE~0); {2116#(= (_ bv2 32) main_~i~0)} is VALID [2018-11-23 10:25:29,486 INFO L273 TraceCheckUtils]: 14: Hoare triple {2116#(= (_ bv2 32) main_~i~0)} assume !~bvsgt32(~bvashr32(~i~0, 16bv32), 250bv32);call write~intINTTYPE4(0bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {2116#(= (_ bv2 32) main_~i~0)} is VALID [2018-11-23 10:25:29,487 INFO L273 TraceCheckUtils]: 15: Hoare triple {2116#(= (_ bv2 32) main_~i~0)} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {2126#(= (bvadd main_~i~0 (_ bv4294967293 32)) (_ bv0 32))} is VALID [2018-11-23 10:25:29,487 INFO L273 TraceCheckUtils]: 16: Hoare triple {2126#(= (bvadd main_~i~0 (_ bv4294967293 32)) (_ bv0 32))} assume !!~bvslt32(~i~0, ~SIZE~0); {2126#(= (bvadd main_~i~0 (_ bv4294967293 32)) (_ bv0 32))} is VALID [2018-11-23 10:25:29,488 INFO L273 TraceCheckUtils]: 17: Hoare triple {2126#(= (bvadd main_~i~0 (_ bv4294967293 32)) (_ bv0 32))} assume !~bvsgt32(~bvashr32(~i~0, 16bv32), 250bv32);call write~intINTTYPE4(0bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {2126#(= (bvadd main_~i~0 (_ bv4294967293 32)) (_ bv0 32))} is VALID [2018-11-23 10:25:29,488 INFO L273 TraceCheckUtils]: 18: Hoare triple {2126#(= (bvadd main_~i~0 (_ bv4294967293 32)) (_ bv0 32))} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {2136#(= (_ bv4 32) main_~i~0)} is VALID [2018-11-23 10:25:29,489 INFO L273 TraceCheckUtils]: 19: Hoare triple {2136#(= (_ bv4 32) main_~i~0)} assume !!~bvslt32(~i~0, ~SIZE~0); {2136#(= (_ bv4 32) main_~i~0)} is VALID [2018-11-23 10:25:29,490 INFO L273 TraceCheckUtils]: 20: Hoare triple {2136#(= (_ bv4 32) main_~i~0)} assume !~bvsgt32(~bvashr32(~i~0, 16bv32), 250bv32);call write~intINTTYPE4(0bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {2136#(= (_ bv4 32) main_~i~0)} is VALID [2018-11-23 10:25:29,491 INFO L273 TraceCheckUtils]: 21: Hoare triple {2136#(= (_ bv4 32) main_~i~0)} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {2146#(= (bvadd main_~i~0 (_ bv4294967291 32)) (_ bv0 32))} is VALID [2018-11-23 10:25:29,491 INFO L273 TraceCheckUtils]: 22: Hoare triple {2146#(= (bvadd main_~i~0 (_ bv4294967291 32)) (_ bv0 32))} assume !!~bvslt32(~i~0, ~SIZE~0); {2146#(= (bvadd main_~i~0 (_ bv4294967291 32)) (_ bv0 32))} is VALID [2018-11-23 10:25:29,492 INFO L273 TraceCheckUtils]: 23: Hoare triple {2146#(= (bvadd main_~i~0 (_ bv4294967291 32)) (_ bv0 32))} assume !~bvsgt32(~bvashr32(~i~0, 16bv32), 250bv32);call write~intINTTYPE4(0bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {2146#(= (bvadd main_~i~0 (_ bv4294967291 32)) (_ bv0 32))} is VALID [2018-11-23 10:25:29,493 INFO L273 TraceCheckUtils]: 24: Hoare triple {2146#(= (bvadd main_~i~0 (_ bv4294967291 32)) (_ bv0 32))} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {2156#(= (_ bv6 32) main_~i~0)} is VALID [2018-11-23 10:25:29,499 INFO L273 TraceCheckUtils]: 25: Hoare triple {2156#(= (_ bv6 32) main_~i~0)} assume !!~bvslt32(~i~0, ~SIZE~0); {2156#(= (_ bv6 32) main_~i~0)} is VALID [2018-11-23 10:25:29,500 INFO L273 TraceCheckUtils]: 26: Hoare triple {2156#(= (_ bv6 32) main_~i~0)} assume ~bvsgt32(~bvashr32(~i~0, 16bv32), 250bv32);call write~intINTTYPE4(1bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {2074#false} is VALID [2018-11-23 10:25:29,500 INFO L273 TraceCheckUtils]: 27: Hoare triple {2074#false} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {2074#false} is VALID [2018-11-23 10:25:29,500 INFO L273 TraceCheckUtils]: 28: Hoare triple {2074#false} assume !~bvslt32(~i~0, ~SIZE~0); {2074#false} is VALID [2018-11-23 10:25:29,501 INFO L273 TraceCheckUtils]: 29: Hoare triple {2074#false} ~i~0 := 0bv32; {2074#false} is VALID [2018-11-23 10:25:29,501 INFO L273 TraceCheckUtils]: 30: Hoare triple {2074#false} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem4 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {2074#false} is VALID [2018-11-23 10:25:29,501 INFO L256 TraceCheckUtils]: 31: Hoare triple {2074#false} call __VERIFIER_assert((if 0bv32 == #t~mem4 then 1bv32 else 0bv32)); {2074#false} is VALID [2018-11-23 10:25:29,501 INFO L273 TraceCheckUtils]: 32: Hoare triple {2074#false} ~cond := #in~cond; {2074#false} is VALID [2018-11-23 10:25:29,501 INFO L273 TraceCheckUtils]: 33: Hoare triple {2074#false} assume 0bv32 == ~cond; {2074#false} is VALID [2018-11-23 10:25:29,502 INFO L273 TraceCheckUtils]: 34: Hoare triple {2074#false} assume !false; {2074#false} is VALID [2018-11-23 10:25:29,503 INFO L134 CoverageAnalysis]: Checked inductivity of 70 backedges. 13 proven. 57 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 10:25:29,503 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-23 10:25:29,888 INFO L273 TraceCheckUtils]: 34: Hoare triple {2074#false} assume !false; {2074#false} is VALID [2018-11-23 10:25:29,888 INFO L273 TraceCheckUtils]: 33: Hoare triple {2074#false} assume 0bv32 == ~cond; {2074#false} is VALID [2018-11-23 10:25:29,889 INFO L273 TraceCheckUtils]: 32: Hoare triple {2074#false} ~cond := #in~cond; {2074#false} is VALID [2018-11-23 10:25:29,889 INFO L256 TraceCheckUtils]: 31: Hoare triple {2074#false} call __VERIFIER_assert((if 0bv32 == #t~mem4 then 1bv32 else 0bv32)); {2074#false} is VALID [2018-11-23 10:25:29,889 INFO L273 TraceCheckUtils]: 30: Hoare triple {2074#false} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem4 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {2074#false} is VALID [2018-11-23 10:25:29,889 INFO L273 TraceCheckUtils]: 29: Hoare triple {2074#false} ~i~0 := 0bv32; {2074#false} is VALID [2018-11-23 10:25:29,889 INFO L273 TraceCheckUtils]: 28: Hoare triple {2074#false} assume !~bvslt32(~i~0, ~SIZE~0); {2074#false} is VALID [2018-11-23 10:25:29,889 INFO L273 TraceCheckUtils]: 27: Hoare triple {2074#false} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {2074#false} is VALID [2018-11-23 10:25:29,894 INFO L273 TraceCheckUtils]: 26: Hoare triple {2211#(not (bvsgt (bvashr main_~i~0 (_ bv16 32)) (_ bv250 32)))} assume ~bvsgt32(~bvashr32(~i~0, 16bv32), 250bv32);call write~intINTTYPE4(1bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {2074#false} is VALID [2018-11-23 10:25:29,895 INFO L273 TraceCheckUtils]: 25: Hoare triple {2211#(not (bvsgt (bvashr main_~i~0 (_ bv16 32)) (_ bv250 32)))} assume !!~bvslt32(~i~0, ~SIZE~0); {2211#(not (bvsgt (bvashr main_~i~0 (_ bv16 32)) (_ bv250 32)))} is VALID [2018-11-23 10:25:29,895 INFO L273 TraceCheckUtils]: 24: Hoare triple {2218#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv1 32)) (_ bv16 32)) (_ bv250 32)))} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {2211#(not (bvsgt (bvashr main_~i~0 (_ bv16 32)) (_ bv250 32)))} is VALID [2018-11-23 10:25:29,896 INFO L273 TraceCheckUtils]: 23: Hoare triple {2218#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv1 32)) (_ bv16 32)) (_ bv250 32)))} assume !~bvsgt32(~bvashr32(~i~0, 16bv32), 250bv32);call write~intINTTYPE4(0bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {2218#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv1 32)) (_ bv16 32)) (_ bv250 32)))} is VALID [2018-11-23 10:25:29,896 INFO L273 TraceCheckUtils]: 22: Hoare triple {2218#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv1 32)) (_ bv16 32)) (_ bv250 32)))} assume !!~bvslt32(~i~0, ~SIZE~0); {2218#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv1 32)) (_ bv16 32)) (_ bv250 32)))} is VALID [2018-11-23 10:25:29,901 INFO L273 TraceCheckUtils]: 21: Hoare triple {2228#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv2 32)) (_ bv16 32)) (_ bv250 32)))} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {2218#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv1 32)) (_ bv16 32)) (_ bv250 32)))} is VALID [2018-11-23 10:25:29,902 INFO L273 TraceCheckUtils]: 20: Hoare triple {2228#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv2 32)) (_ bv16 32)) (_ bv250 32)))} assume !~bvsgt32(~bvashr32(~i~0, 16bv32), 250bv32);call write~intINTTYPE4(0bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {2228#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv2 32)) (_ bv16 32)) (_ bv250 32)))} is VALID [2018-11-23 10:25:29,903 INFO L273 TraceCheckUtils]: 19: Hoare triple {2228#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv2 32)) (_ bv16 32)) (_ bv250 32)))} assume !!~bvslt32(~i~0, ~SIZE~0); {2228#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv2 32)) (_ bv16 32)) (_ bv250 32)))} is VALID [2018-11-23 10:25:29,908 INFO L273 TraceCheckUtils]: 18: Hoare triple {2238#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv3 32)) (_ bv16 32)) (_ bv250 32)))} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {2228#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv2 32)) (_ bv16 32)) (_ bv250 32)))} is VALID [2018-11-23 10:25:29,908 INFO L273 TraceCheckUtils]: 17: Hoare triple {2238#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv3 32)) (_ bv16 32)) (_ bv250 32)))} assume !~bvsgt32(~bvashr32(~i~0, 16bv32), 250bv32);call write~intINTTYPE4(0bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {2238#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv3 32)) (_ bv16 32)) (_ bv250 32)))} is VALID [2018-11-23 10:25:29,909 INFO L273 TraceCheckUtils]: 16: Hoare triple {2238#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv3 32)) (_ bv16 32)) (_ bv250 32)))} assume !!~bvslt32(~i~0, ~SIZE~0); {2238#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv3 32)) (_ bv16 32)) (_ bv250 32)))} is VALID [2018-11-23 10:25:29,916 INFO L273 TraceCheckUtils]: 15: Hoare triple {2248#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv4 32)) (_ bv16 32)) (_ bv250 32)))} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {2238#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv3 32)) (_ bv16 32)) (_ bv250 32)))} is VALID [2018-11-23 10:25:29,916 INFO L273 TraceCheckUtils]: 14: Hoare triple {2248#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv4 32)) (_ bv16 32)) (_ bv250 32)))} assume !~bvsgt32(~bvashr32(~i~0, 16bv32), 250bv32);call write~intINTTYPE4(0bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {2248#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv4 32)) (_ bv16 32)) (_ bv250 32)))} is VALID [2018-11-23 10:25:29,916 INFO L273 TraceCheckUtils]: 13: Hoare triple {2248#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv4 32)) (_ bv16 32)) (_ bv250 32)))} assume !!~bvslt32(~i~0, ~SIZE~0); {2248#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv4 32)) (_ bv16 32)) (_ bv250 32)))} is VALID [2018-11-23 10:25:29,922 INFO L273 TraceCheckUtils]: 12: Hoare triple {2258#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv5 32)) (_ bv16 32)) (_ bv250 32)))} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {2248#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv4 32)) (_ bv16 32)) (_ bv250 32)))} is VALID [2018-11-23 10:25:29,923 INFO L273 TraceCheckUtils]: 11: Hoare triple {2258#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv5 32)) (_ bv16 32)) (_ bv250 32)))} assume !~bvsgt32(~bvashr32(~i~0, 16bv32), 250bv32);call write~intINTTYPE4(0bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {2258#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv5 32)) (_ bv16 32)) (_ bv250 32)))} is VALID [2018-11-23 10:25:29,923 INFO L273 TraceCheckUtils]: 10: Hoare triple {2258#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv5 32)) (_ bv16 32)) (_ bv250 32)))} assume !!~bvslt32(~i~0, ~SIZE~0); {2258#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv5 32)) (_ bv16 32)) (_ bv250 32)))} is VALID [2018-11-23 10:25:29,929 INFO L273 TraceCheckUtils]: 9: Hoare triple {2268#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv6 32)) (_ bv16 32)) (_ bv250 32)))} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {2258#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv5 32)) (_ bv16 32)) (_ bv250 32)))} is VALID [2018-11-23 10:25:29,930 INFO L273 TraceCheckUtils]: 8: Hoare triple {2268#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv6 32)) (_ bv16 32)) (_ bv250 32)))} assume !~bvsgt32(~bvashr32(~i~0, 16bv32), 250bv32);call write~intINTTYPE4(0bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {2268#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv6 32)) (_ bv16 32)) (_ bv250 32)))} is VALID [2018-11-23 10:25:29,930 INFO L273 TraceCheckUtils]: 7: Hoare triple {2268#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv6 32)) (_ bv16 32)) (_ bv250 32)))} assume !!~bvslt32(~i~0, ~SIZE~0); {2268#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv6 32)) (_ bv16 32)) (_ bv250 32)))} is VALID [2018-11-23 10:25:29,932 INFO L273 TraceCheckUtils]: 6: Hoare triple {2073#true} assume ~bvsgt32(~SIZE~0, 1bv32);havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~bvmul32(4bv32, ~SIZE~0));~i~0 := 0bv32; {2268#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv6 32)) (_ bv16 32)) (_ bv250 32)))} is VALID [2018-11-23 10:25:29,932 INFO L273 TraceCheckUtils]: 5: Hoare triple {2073#true} ~SIZE~0 := #t~nondet1;havoc #t~nondet1; {2073#true} is VALID [2018-11-23 10:25:29,932 INFO L256 TraceCheckUtils]: 4: Hoare triple {2073#true} call #t~ret5 := main(); {2073#true} is VALID [2018-11-23 10:25:29,932 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2073#true} {2073#true} #61#return; {2073#true} is VALID [2018-11-23 10:25:29,933 INFO L273 TraceCheckUtils]: 2: Hoare triple {2073#true} assume true; {2073#true} is VALID [2018-11-23 10:25:29,933 INFO L273 TraceCheckUtils]: 1: Hoare triple {2073#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];~SIZE~0 := 0bv32; {2073#true} is VALID [2018-11-23 10:25:29,933 INFO L256 TraceCheckUtils]: 0: Hoare triple {2073#true} call ULTIMATE.init(); {2073#true} is VALID [2018-11-23 10:25:29,935 INFO L134 CoverageAnalysis]: Checked inductivity of 70 backedges. 13 proven. 57 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 10:25:29,941 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 10:25:29,941 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 16 [2018-11-23 10:25:29,942 INFO L78 Accepts]: Start accepts. Automaton has 16 states. Word has length 35 [2018-11-23 10:25:29,942 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 10:25:29,942 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 16 states. [2018-11-23 10:25:30,058 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:25:30,059 INFO L459 AbstractCegarLoop]: Interpolant automaton has 16 states [2018-11-23 10:25:30,059 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2018-11-23 10:25:30,059 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=78, Invalid=162, Unknown=0, NotChecked=0, Total=240 [2018-11-23 10:25:30,059 INFO L87 Difference]: Start difference. First operand 52 states and 60 transitions. Second operand 16 states. [2018-11-23 10:25:33,719 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:25:33,719 INFO L93 Difference]: Finished difference Result 158 states and 198 transitions. [2018-11-23 10:25:33,720 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2018-11-23 10:25:33,720 INFO L78 Accepts]: Start accepts. Automaton has 16 states. Word has length 35 [2018-11-23 10:25:33,720 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 10:25:33,720 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 16 states. [2018-11-23 10:25:33,726 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 181 transitions. [2018-11-23 10:25:33,726 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 16 states. [2018-11-23 10:25:33,732 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 181 transitions. [2018-11-23 10:25:33,732 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 16 states and 181 transitions. [2018-11-23 10:25:34,072 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 181 edges. 181 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:25:34,076 INFO L225 Difference]: With dead ends: 158 [2018-11-23 10:25:34,076 INFO L226 Difference]: Without dead ends: 144 [2018-11-23 10:25:34,077 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 75 GetRequests, 55 SyntacticMatches, 0 SemanticMatches, 20 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 15 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=174, Invalid=288, Unknown=0, NotChecked=0, Total=462 [2018-11-23 10:25:34,077 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 144 states. [2018-11-23 10:25:34,202 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 144 to 76. [2018-11-23 10:25:34,203 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 10:25:34,203 INFO L82 GeneralOperation]: Start isEquivalent. First operand 144 states. Second operand 76 states. [2018-11-23 10:25:34,203 INFO L74 IsIncluded]: Start isIncluded. First operand 144 states. Second operand 76 states. [2018-11-23 10:25:34,203 INFO L87 Difference]: Start difference. First operand 144 states. Second operand 76 states. [2018-11-23 10:25:34,209 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:25:34,209 INFO L93 Difference]: Finished difference Result 144 states and 174 transitions. [2018-11-23 10:25:34,210 INFO L276 IsEmpty]: Start isEmpty. Operand 144 states and 174 transitions. [2018-11-23 10:25:34,210 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:25:34,210 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:25:34,211 INFO L74 IsIncluded]: Start isIncluded. First operand 76 states. Second operand 144 states. [2018-11-23 10:25:34,211 INFO L87 Difference]: Start difference. First operand 76 states. Second operand 144 states. [2018-11-23 10:25:34,218 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:25:34,218 INFO L93 Difference]: Finished difference Result 144 states and 174 transitions. [2018-11-23 10:25:34,218 INFO L276 IsEmpty]: Start isEmpty. Operand 144 states and 174 transitions. [2018-11-23 10:25:34,219 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:25:34,219 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:25:34,220 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 10:25:34,220 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 10:25:34,220 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 76 states. [2018-11-23 10:25:34,223 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 76 states to 76 states and 92 transitions. [2018-11-23 10:25:34,223 INFO L78 Accepts]: Start accepts. Automaton has 76 states and 92 transitions. Word has length 35 [2018-11-23 10:25:34,223 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 10:25:34,223 INFO L480 AbstractCegarLoop]: Abstraction has 76 states and 92 transitions. [2018-11-23 10:25:34,223 INFO L481 AbstractCegarLoop]: Interpolant automaton has 16 states. [2018-11-23 10:25:34,224 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 92 transitions. [2018-11-23 10:25:34,224 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2018-11-23 10:25:34,225 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 10:25:34,225 INFO L402 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 10:25:34,225 INFO L423 AbstractCegarLoop]: === Iteration 8 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 10:25:34,225 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 10:25:34,226 INFO L82 PathProgramCache]: Analyzing trace with hash -907873539, now seen corresponding path program 2 times [2018-11-23 10:25:34,226 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 10:25:34,226 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:25:34,246 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-23 10:25:34,310 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-23 10:25:34,310 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 10:25:34,330 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:25:34,333 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 10:25:34,407 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 10 [2018-11-23 10:25:34,411 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 10 treesize of output 9 [2018-11-23 10:25:34,413 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 10:25:34,418 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 10:25:34,423 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 10:25:34,423 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:13, output treesize:9 [2018-11-23 10:25:34,737 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 19 treesize of output 15 [2018-11-23 10:25:34,743 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 3 [2018-11-23 10:25:34,748 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 10:25:34,750 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 10:25:34,751 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 10:25:34,752 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 3 variables, input treesize:19, output treesize:3 [2018-11-23 10:25:34,755 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 10:25:34,755 WARN L384 uantifierElimination]: Input elimination task: ∃ [|#memory_int|, |main_~#a~0.base|, |main_~#a~0.offset|]. (let ((.cse0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32))))) (and (= |main_#t~mem4| .cse0) (= (_ bv0 32) .cse0))) [2018-11-23 10:25:34,755 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (= (_ bv0 32) |main_#t~mem4|) [2018-11-23 10:25:34,947 INFO L256 TraceCheckUtils]: 0: Hoare triple {2920#true} call ULTIMATE.init(); {2920#true} is VALID [2018-11-23 10:25:34,948 INFO L273 TraceCheckUtils]: 1: Hoare triple {2920#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];~SIZE~0 := 0bv32; {2920#true} is VALID [2018-11-23 10:25:34,948 INFO L273 TraceCheckUtils]: 2: Hoare triple {2920#true} assume true; {2920#true} is VALID [2018-11-23 10:25:34,948 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2920#true} {2920#true} #61#return; {2920#true} is VALID [2018-11-23 10:25:34,948 INFO L256 TraceCheckUtils]: 4: Hoare triple {2920#true} call #t~ret5 := main(); {2920#true} is VALID [2018-11-23 10:25:34,949 INFO L273 TraceCheckUtils]: 5: Hoare triple {2920#true} ~SIZE~0 := #t~nondet1;havoc #t~nondet1; {2920#true} is VALID [2018-11-23 10:25:34,949 INFO L273 TraceCheckUtils]: 6: Hoare triple {2920#true} assume ~bvsgt32(~SIZE~0, 1bv32);havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~bvmul32(4bv32, ~SIZE~0));~i~0 := 0bv32; {2943#(= main_~i~0 (_ bv0 32))} is VALID [2018-11-23 10:25:34,950 INFO L273 TraceCheckUtils]: 7: Hoare triple {2943#(= main_~i~0 (_ bv0 32))} assume !!~bvslt32(~i~0, ~SIZE~0); {2943#(= main_~i~0 (_ bv0 32))} is VALID [2018-11-23 10:25:34,950 INFO L273 TraceCheckUtils]: 8: Hoare triple {2943#(= main_~i~0 (_ bv0 32))} assume !~bvsgt32(~bvashr32(~i~0, 16bv32), 250bv32);call write~intINTTYPE4(0bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {2943#(= main_~i~0 (_ bv0 32))} is VALID [2018-11-23 10:25:34,951 INFO L273 TraceCheckUtils]: 9: Hoare triple {2943#(= main_~i~0 (_ bv0 32))} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {2953#(= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 10:25:34,951 INFO L273 TraceCheckUtils]: 10: Hoare triple {2953#(= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32))} assume !!~bvslt32(~i~0, ~SIZE~0); {2953#(= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 10:25:34,951 INFO L273 TraceCheckUtils]: 11: Hoare triple {2953#(= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32))} assume !~bvsgt32(~bvashr32(~i~0, 16bv32), 250bv32);call write~intINTTYPE4(0bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {2953#(= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 10:25:34,952 INFO L273 TraceCheckUtils]: 12: Hoare triple {2953#(= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32))} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {2963#(= (_ bv2 32) main_~i~0)} is VALID [2018-11-23 10:25:34,952 INFO L273 TraceCheckUtils]: 13: Hoare triple {2963#(= (_ bv2 32) main_~i~0)} assume !!~bvslt32(~i~0, ~SIZE~0); {2963#(= (_ bv2 32) main_~i~0)} is VALID [2018-11-23 10:25:34,953 INFO L273 TraceCheckUtils]: 14: Hoare triple {2963#(= (_ bv2 32) main_~i~0)} assume !~bvsgt32(~bvashr32(~i~0, 16bv32), 250bv32);call write~intINTTYPE4(0bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {2970#(= (_ bv0 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32))))} is VALID [2018-11-23 10:25:34,954 INFO L273 TraceCheckUtils]: 15: Hoare triple {2970#(= (_ bv0 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32))))} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {2970#(= (_ bv0 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32))))} is VALID [2018-11-23 10:25:34,955 INFO L273 TraceCheckUtils]: 16: Hoare triple {2970#(= (_ bv0 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32))))} assume !~bvslt32(~i~0, ~SIZE~0); {2970#(= (_ bv0 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32))))} is VALID [2018-11-23 10:25:34,957 INFO L273 TraceCheckUtils]: 17: Hoare triple {2970#(= (_ bv0 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32))))} ~i~0 := 0bv32; {2980#(and (= (_ bv0 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32)))) (= main_~i~0 (_ bv0 32)))} is VALID [2018-11-23 10:25:34,958 INFO L273 TraceCheckUtils]: 18: Hoare triple {2980#(and (= (_ bv0 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32)))) (= main_~i~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); {2980#(and (= (_ bv0 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32)))) (= main_~i~0 (_ bv0 32)))} is VALID [2018-11-23 10:25:34,960 INFO L256 TraceCheckUtils]: 19: Hoare triple {2980#(and (= (_ bv0 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32)))) (= main_~i~0 (_ bv0 32)))} call __VERIFIER_assert((if 0bv32 == #t~mem4 then 1bv32 else 0bv32)); {2987#(exists ((|v_main_~#a~0.base_BEFORE_CALL_1| (_ BitVec 32)) (|v_main_~#a~0.offset_BEFORE_CALL_1| (_ BitVec 32))) (= (_ bv0 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) (bvadd |v_main_~#a~0.offset_BEFORE_CALL_1| (_ bv8 32)))))} is VALID [2018-11-23 10:25:34,960 INFO L273 TraceCheckUtils]: 20: Hoare triple {2987#(exists ((|v_main_~#a~0.base_BEFORE_CALL_1| (_ BitVec 32)) (|v_main_~#a~0.offset_BEFORE_CALL_1| (_ BitVec 32))) (= (_ bv0 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) (bvadd |v_main_~#a~0.offset_BEFORE_CALL_1| (_ bv8 32)))))} ~cond := #in~cond; {2987#(exists ((|v_main_~#a~0.base_BEFORE_CALL_1| (_ BitVec 32)) (|v_main_~#a~0.offset_BEFORE_CALL_1| (_ BitVec 32))) (= (_ bv0 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) (bvadd |v_main_~#a~0.offset_BEFORE_CALL_1| (_ bv8 32)))))} is VALID [2018-11-23 10:25:34,960 INFO L273 TraceCheckUtils]: 21: Hoare triple {2987#(exists ((|v_main_~#a~0.base_BEFORE_CALL_1| (_ BitVec 32)) (|v_main_~#a~0.offset_BEFORE_CALL_1| (_ BitVec 32))) (= (_ bv0 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) (bvadd |v_main_~#a~0.offset_BEFORE_CALL_1| (_ bv8 32)))))} assume !(0bv32 == ~cond); {2987#(exists ((|v_main_~#a~0.base_BEFORE_CALL_1| (_ BitVec 32)) (|v_main_~#a~0.offset_BEFORE_CALL_1| (_ BitVec 32))) (= (_ bv0 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) (bvadd |v_main_~#a~0.offset_BEFORE_CALL_1| (_ bv8 32)))))} is VALID [2018-11-23 10:25:34,961 INFO L273 TraceCheckUtils]: 22: Hoare triple {2987#(exists ((|v_main_~#a~0.base_BEFORE_CALL_1| (_ BitVec 32)) (|v_main_~#a~0.offset_BEFORE_CALL_1| (_ BitVec 32))) (= (_ bv0 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) (bvadd |v_main_~#a~0.offset_BEFORE_CALL_1| (_ bv8 32)))))} assume true; {2987#(exists ((|v_main_~#a~0.base_BEFORE_CALL_1| (_ BitVec 32)) (|v_main_~#a~0.offset_BEFORE_CALL_1| (_ BitVec 32))) (= (_ bv0 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) (bvadd |v_main_~#a~0.offset_BEFORE_CALL_1| (_ bv8 32)))))} is VALID [2018-11-23 10:25:34,962 INFO L268 TraceCheckUtils]: 23: Hoare quadruple {2987#(exists ((|v_main_~#a~0.base_BEFORE_CALL_1| (_ BitVec 32)) (|v_main_~#a~0.offset_BEFORE_CALL_1| (_ BitVec 32))) (= (_ bv0 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) (bvadd |v_main_~#a~0.offset_BEFORE_CALL_1| (_ bv8 32)))))} {2980#(and (= (_ bv0 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32)))) (= main_~i~0 (_ bv0 32)))} #65#return; {2980#(and (= (_ bv0 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32)))) (= main_~i~0 (_ bv0 32)))} is VALID [2018-11-23 10:25:34,963 INFO L273 TraceCheckUtils]: 24: Hoare triple {2980#(and (= (_ bv0 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32)))) (= main_~i~0 (_ bv0 32)))} havoc #t~mem4; {2980#(and (= (_ bv0 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32)))) (= main_~i~0 (_ bv0 32)))} is VALID [2018-11-23 10:25:34,963 INFO L273 TraceCheckUtils]: 25: Hoare triple {2980#(and (= (_ bv0 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32)))) (= main_~i~0 (_ bv0 32)))} #t~post3 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post3);havoc #t~post3; {3006#(and (= (_ bv0 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32)))) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:25:34,964 INFO L273 TraceCheckUtils]: 26: Hoare triple {3006#(and (= (_ bv0 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 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); {3006#(and (= (_ bv0 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32)))) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:25:34,969 INFO L256 TraceCheckUtils]: 27: Hoare triple {3006#(and (= (_ bv0 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32)))) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} call __VERIFIER_assert((if 0bv32 == #t~mem4 then 1bv32 else 0bv32)); {2987#(exists ((|v_main_~#a~0.base_BEFORE_CALL_1| (_ BitVec 32)) (|v_main_~#a~0.offset_BEFORE_CALL_1| (_ BitVec 32))) (= (_ bv0 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) (bvadd |v_main_~#a~0.offset_BEFORE_CALL_1| (_ bv8 32)))))} is VALID [2018-11-23 10:25:34,970 INFO L273 TraceCheckUtils]: 28: Hoare triple {2987#(exists ((|v_main_~#a~0.base_BEFORE_CALL_1| (_ BitVec 32)) (|v_main_~#a~0.offset_BEFORE_CALL_1| (_ BitVec 32))) (= (_ bv0 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) (bvadd |v_main_~#a~0.offset_BEFORE_CALL_1| (_ bv8 32)))))} ~cond := #in~cond; {2987#(exists ((|v_main_~#a~0.base_BEFORE_CALL_1| (_ BitVec 32)) (|v_main_~#a~0.offset_BEFORE_CALL_1| (_ BitVec 32))) (= (_ bv0 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) (bvadd |v_main_~#a~0.offset_BEFORE_CALL_1| (_ bv8 32)))))} is VALID [2018-11-23 10:25:34,970 INFO L273 TraceCheckUtils]: 29: Hoare triple {2987#(exists ((|v_main_~#a~0.base_BEFORE_CALL_1| (_ BitVec 32)) (|v_main_~#a~0.offset_BEFORE_CALL_1| (_ BitVec 32))) (= (_ bv0 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) (bvadd |v_main_~#a~0.offset_BEFORE_CALL_1| (_ bv8 32)))))} assume !(0bv32 == ~cond); {2987#(exists ((|v_main_~#a~0.base_BEFORE_CALL_1| (_ BitVec 32)) (|v_main_~#a~0.offset_BEFORE_CALL_1| (_ BitVec 32))) (= (_ bv0 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) (bvadd |v_main_~#a~0.offset_BEFORE_CALL_1| (_ bv8 32)))))} is VALID [2018-11-23 10:25:34,971 INFO L273 TraceCheckUtils]: 30: Hoare triple {2987#(exists ((|v_main_~#a~0.base_BEFORE_CALL_1| (_ BitVec 32)) (|v_main_~#a~0.offset_BEFORE_CALL_1| (_ BitVec 32))) (= (_ bv0 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) (bvadd |v_main_~#a~0.offset_BEFORE_CALL_1| (_ bv8 32)))))} assume true; {2987#(exists ((|v_main_~#a~0.base_BEFORE_CALL_1| (_ BitVec 32)) (|v_main_~#a~0.offset_BEFORE_CALL_1| (_ BitVec 32))) (= (_ bv0 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) (bvadd |v_main_~#a~0.offset_BEFORE_CALL_1| (_ bv8 32)))))} is VALID [2018-11-23 10:25:34,972 INFO L268 TraceCheckUtils]: 31: Hoare quadruple {2987#(exists ((|v_main_~#a~0.base_BEFORE_CALL_1| (_ BitVec 32)) (|v_main_~#a~0.offset_BEFORE_CALL_1| (_ BitVec 32))) (= (_ bv0 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) (bvadd |v_main_~#a~0.offset_BEFORE_CALL_1| (_ bv8 32)))))} {3006#(and (= (_ bv0 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32)))) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} #65#return; {3006#(and (= (_ bv0 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32)))) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:25:34,972 INFO L273 TraceCheckUtils]: 32: Hoare triple {3006#(and (= (_ bv0 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32)))) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} havoc #t~mem4; {3006#(and (= (_ bv0 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32)))) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:25:34,973 INFO L273 TraceCheckUtils]: 33: Hoare triple {3006#(and (= (_ bv0 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32)))) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} #t~post3 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post3);havoc #t~post3; {3031#(and (= (_ bv0 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32)))) (= (_ bv2 32) main_~i~0))} is VALID [2018-11-23 10:25:34,974 INFO L273 TraceCheckUtils]: 34: Hoare triple {3031#(and (= (_ bv0 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 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); {3035#(= (_ bv0 32) |main_#t~mem4|)} is VALID [2018-11-23 10:25:34,975 INFO L256 TraceCheckUtils]: 35: Hoare triple {3035#(= (_ bv0 32) |main_#t~mem4|)} call __VERIFIER_assert((if 0bv32 == #t~mem4 then 1bv32 else 0bv32)); {3039#(= (bvadd |__VERIFIER_assert_#in~cond| (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 10:25:34,976 INFO L273 TraceCheckUtils]: 36: Hoare triple {3039#(= (bvadd |__VERIFIER_assert_#in~cond| (_ bv4294967295 32)) (_ bv0 32))} ~cond := #in~cond; {3043#(= (bvadd __VERIFIER_assert_~cond (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 10:25:34,977 INFO L273 TraceCheckUtils]: 37: Hoare triple {3043#(= (bvadd __VERIFIER_assert_~cond (_ bv4294967295 32)) (_ bv0 32))} assume 0bv32 == ~cond; {2921#false} is VALID [2018-11-23 10:25:34,977 INFO L273 TraceCheckUtils]: 38: Hoare triple {2921#false} assume !false; {2921#false} is VALID [2018-11-23 10:25:34,982 INFO L134 CoverageAnalysis]: Checked inductivity of 28 backedges. 0 proven. 24 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2018-11-23 10:25:34,982 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-23 10:25:41,344 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 16 treesize of output 14 [2018-11-23 10:25:41,379 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 7 treesize of output 3 [2018-11-23 10:25:41,381 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 10:25:41,384 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 10:25:41,387 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 10:25:41,388 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 3 variables, input treesize:16, output treesize:5 [2018-11-23 10:25:41,393 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 10:25:41,393 WARN L384 uantifierElimination]: Input elimination task: ∀ [|#memory_int|, |main_~#a~0.base|, |main_~#a~0.offset|]. (= (_ bv0 32) (select (store (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0)) (_ bv0 32)) (bvadd |main_~#a~0.offset| (_ bv8 32)))) [2018-11-23 10:25:41,394 WARN L385 uantifierElimination]: ElimStorePlain result: ∀ []. (= (_ bv8 32) (bvmul (_ bv4 32) main_~i~0)) [2018-11-23 10:25:41,779 INFO L273 TraceCheckUtils]: 38: Hoare triple {2921#false} assume !false; {2921#false} is VALID [2018-11-23 10:25:41,779 INFO L273 TraceCheckUtils]: 37: Hoare triple {3053#(not (= (_ bv0 32) __VERIFIER_assert_~cond))} assume 0bv32 == ~cond; {2921#false} is VALID [2018-11-23 10:25:41,781 INFO L273 TraceCheckUtils]: 36: Hoare triple {3057#(not (= |__VERIFIER_assert_#in~cond| (_ bv0 32)))} ~cond := #in~cond; {3053#(not (= (_ bv0 32) __VERIFIER_assert_~cond))} is VALID [2018-11-23 10:25:41,781 INFO L256 TraceCheckUtils]: 35: Hoare triple {3035#(= (_ bv0 32) |main_#t~mem4|)} call __VERIFIER_assert((if 0bv32 == #t~mem4 then 1bv32 else 0bv32)); {3057#(not (= |__VERIFIER_assert_#in~cond| (_ bv0 32)))} is VALID [2018-11-23 10:25:41,783 INFO L273 TraceCheckUtils]: 34: Hoare triple {3064#(= (_ bv0 32) (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~mem4 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {3035#(= (_ bv0 32) |main_#t~mem4|)} is VALID [2018-11-23 10:25:41,966 INFO L273 TraceCheckUtils]: 33: Hoare triple {3068#(= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4 32))) (_ bv0 32))} #t~post3 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post3);havoc #t~post3; {3064#(= (_ bv0 32) (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:25:41,966 INFO L273 TraceCheckUtils]: 32: Hoare triple {3068#(= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4 32))) (_ bv0 32))} havoc #t~mem4; {3068#(= (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:25:41,967 INFO L268 TraceCheckUtils]: 31: Hoare quadruple {2920#true} {3068#(= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4 32))) (_ bv0 32))} #65#return; {3068#(= (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:25:41,967 INFO L273 TraceCheckUtils]: 30: Hoare triple {2920#true} assume true; {2920#true} is VALID [2018-11-23 10:25:41,967 INFO L273 TraceCheckUtils]: 29: Hoare triple {2920#true} assume !(0bv32 == ~cond); {2920#true} is VALID [2018-11-23 10:25:41,968 INFO L273 TraceCheckUtils]: 28: Hoare triple {2920#true} ~cond := #in~cond; {2920#true} is VALID [2018-11-23 10:25:41,968 INFO L256 TraceCheckUtils]: 27: Hoare triple {3068#(= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4 32))) (_ bv0 32))} call __VERIFIER_assert((if 0bv32 == #t~mem4 then 1bv32 else 0bv32)); {2920#true} is VALID [2018-11-23 10:25:41,968 INFO L273 TraceCheckUtils]: 26: Hoare triple {3068#(= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ 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); {3068#(= (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:25:42,253 INFO L273 TraceCheckUtils]: 25: Hoare triple {3093#(= (_ bv0 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; {3068#(= (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:25:42,254 INFO L273 TraceCheckUtils]: 24: Hoare triple {3093#(= (_ bv0 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv8 32))))} havoc #t~mem4; {3093#(= (_ bv0 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:25:42,255 INFO L268 TraceCheckUtils]: 23: Hoare quadruple {2920#true} {3093#(= (_ bv0 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv8 32))))} #65#return; {3093#(= (_ bv0 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:25:42,255 INFO L273 TraceCheckUtils]: 22: Hoare triple {2920#true} assume true; {2920#true} is VALID [2018-11-23 10:25:42,255 INFO L273 TraceCheckUtils]: 21: Hoare triple {2920#true} assume !(0bv32 == ~cond); {2920#true} is VALID [2018-11-23 10:25:42,255 INFO L273 TraceCheckUtils]: 20: Hoare triple {2920#true} ~cond := #in~cond; {2920#true} is VALID [2018-11-23 10:25:42,255 INFO L256 TraceCheckUtils]: 19: Hoare triple {3093#(= (_ bv0 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv8 32))))} call __VERIFIER_assert((if 0bv32 == #t~mem4 then 1bv32 else 0bv32)); {2920#true} is VALID [2018-11-23 10:25:42,256 INFO L273 TraceCheckUtils]: 18: Hoare triple {3093#(= (_ bv0 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv8 32))))} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem4 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {3093#(= (_ bv0 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:25:42,256 INFO L273 TraceCheckUtils]: 17: Hoare triple {2970#(= (_ bv0 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32))))} ~i~0 := 0bv32; {3093#(= (_ bv0 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:25:42,257 INFO L273 TraceCheckUtils]: 16: Hoare triple {2970#(= (_ bv0 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32))))} assume !~bvslt32(~i~0, ~SIZE~0); {2970#(= (_ bv0 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32))))} is VALID [2018-11-23 10:25:42,257 INFO L273 TraceCheckUtils]: 15: Hoare triple {2970#(= (_ bv0 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32))))} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {2970#(= (_ bv0 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32))))} is VALID [2018-11-23 10:25:42,259 INFO L273 TraceCheckUtils]: 14: Hoare triple {3127#(= (_ bv8 32) (bvmul (_ bv4 32) main_~i~0))} assume !~bvsgt32(~bvashr32(~i~0, 16bv32), 250bv32);call write~intINTTYPE4(0bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {2970#(= (_ bv0 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32))))} is VALID [2018-11-23 10:25:42,259 INFO L273 TraceCheckUtils]: 13: Hoare triple {3127#(= (_ bv8 32) (bvmul (_ bv4 32) main_~i~0))} assume !!~bvslt32(~i~0, ~SIZE~0); {3127#(= (_ bv8 32) (bvmul (_ bv4 32) main_~i~0))} is VALID [2018-11-23 10:25:42,261 INFO L273 TraceCheckUtils]: 12: Hoare triple {3134#(= (_ bv4 32) (bvmul (_ bv4 32) main_~i~0))} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {3127#(= (_ bv8 32) (bvmul (_ bv4 32) main_~i~0))} is VALID [2018-11-23 10:25:42,262 INFO L273 TraceCheckUtils]: 11: Hoare triple {3134#(= (_ bv4 32) (bvmul (_ bv4 32) main_~i~0))} assume !~bvsgt32(~bvashr32(~i~0, 16bv32), 250bv32);call write~intINTTYPE4(0bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {3134#(= (_ bv4 32) (bvmul (_ bv4 32) main_~i~0))} is VALID [2018-11-23 10:25:42,262 INFO L273 TraceCheckUtils]: 10: Hoare triple {3134#(= (_ bv4 32) (bvmul (_ bv4 32) main_~i~0))} assume !!~bvslt32(~i~0, ~SIZE~0); {3134#(= (_ bv4 32) (bvmul (_ bv4 32) main_~i~0))} is VALID [2018-11-23 10:25:42,263 INFO L273 TraceCheckUtils]: 9: Hoare triple {3144#(= (_ bv0 32) (bvmul (_ bv4 32) main_~i~0))} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {3134#(= (_ bv4 32) (bvmul (_ bv4 32) main_~i~0))} is VALID [2018-11-23 10:25:42,264 INFO L273 TraceCheckUtils]: 8: Hoare triple {3144#(= (_ bv0 32) (bvmul (_ bv4 32) main_~i~0))} assume !~bvsgt32(~bvashr32(~i~0, 16bv32), 250bv32);call write~intINTTYPE4(0bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {3144#(= (_ bv0 32) (bvmul (_ bv4 32) main_~i~0))} is VALID [2018-11-23 10:25:42,264 INFO L273 TraceCheckUtils]: 7: Hoare triple {3144#(= (_ bv0 32) (bvmul (_ bv4 32) main_~i~0))} assume !!~bvslt32(~i~0, ~SIZE~0); {3144#(= (_ bv0 32) (bvmul (_ bv4 32) main_~i~0))} is VALID [2018-11-23 10:25:42,265 INFO L273 TraceCheckUtils]: 6: Hoare triple {2920#true} assume ~bvsgt32(~SIZE~0, 1bv32);havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~bvmul32(4bv32, ~SIZE~0));~i~0 := 0bv32; {3144#(= (_ bv0 32) (bvmul (_ bv4 32) main_~i~0))} is VALID [2018-11-23 10:25:42,265 INFO L273 TraceCheckUtils]: 5: Hoare triple {2920#true} ~SIZE~0 := #t~nondet1;havoc #t~nondet1; {2920#true} is VALID [2018-11-23 10:25:42,265 INFO L256 TraceCheckUtils]: 4: Hoare triple {2920#true} call #t~ret5 := main(); {2920#true} is VALID [2018-11-23 10:25:42,265 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2920#true} {2920#true} #61#return; {2920#true} is VALID [2018-11-23 10:25:42,266 INFO L273 TraceCheckUtils]: 2: Hoare triple {2920#true} assume true; {2920#true} is VALID [2018-11-23 10:25:42,266 INFO L273 TraceCheckUtils]: 1: Hoare triple {2920#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];~SIZE~0 := 0bv32; {2920#true} is VALID [2018-11-23 10:25:42,266 INFO L256 TraceCheckUtils]: 0: Hoare triple {2920#true} call ULTIMATE.init(); {2920#true} is VALID [2018-11-23 10:25:42,269 INFO L134 CoverageAnalysis]: Checked inductivity of 28 backedges. 4 proven. 20 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2018-11-23 10:25:42,271 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 10:25:42,271 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 12] total 21 [2018-11-23 10:25:42,272 INFO L78 Accepts]: Start accepts. Automaton has 21 states. Word has length 39 [2018-11-23 10:25:42,273 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 10:25:42,273 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 21 states. [2018-11-23 10:25:42,840 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 63 edges. 63 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:25:42,841 INFO L459 AbstractCegarLoop]: Interpolant automaton has 21 states [2018-11-23 10:25:42,841 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 21 interpolants. [2018-11-23 10:25:42,841 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=60, Invalid=357, Unknown=3, NotChecked=0, Total=420 [2018-11-23 10:25:42,842 INFO L87 Difference]: Start difference. First operand 76 states and 92 transitions. Second operand 21 states. [2018-11-23 10:26:15,575 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:26:15,575 INFO L93 Difference]: Finished difference Result 111 states and 130 transitions. [2018-11-23 10:26:15,575 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2018-11-23 10:26:15,575 INFO L78 Accepts]: Start accepts. Automaton has 21 states. Word has length 39 [2018-11-23 10:26:15,575 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 10:26:15,575 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 21 states. [2018-11-23 10:26:15,578 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 84 transitions. [2018-11-23 10:26:15,578 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 21 states. [2018-11-23 10:26:15,580 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 84 transitions. [2018-11-23 10:26:15,581 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 19 states and 84 transitions. [2018-11-23 10:26:15,750 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 84 edges. 84 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:26:15,753 INFO L225 Difference]: With dead ends: 111 [2018-11-23 10:26:15,753 INFO L226 Difference]: Without dead ends: 109 [2018-11-23 10:26:15,754 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 85 GetRequests, 55 SyntacticMatches, 4 SemanticMatches, 26 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 132 ImplicationChecksByTransitivity, 11.0s TimeCoverageRelationStatistics Valid=104, Invalid=647, Unknown=5, NotChecked=0, Total=756 [2018-11-23 10:26:15,754 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 109 states. [2018-11-23 10:26:15,974 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 109 to 84. [2018-11-23 10:26:15,974 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 10:26:15,974 INFO L82 GeneralOperation]: Start isEquivalent. First operand 109 states. Second operand 84 states. [2018-11-23 10:26:15,975 INFO L74 IsIncluded]: Start isIncluded. First operand 109 states. Second operand 84 states. [2018-11-23 10:26:15,975 INFO L87 Difference]: Start difference. First operand 109 states. Second operand 84 states. [2018-11-23 10:26:15,979 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:26:15,979 INFO L93 Difference]: Finished difference Result 109 states and 128 transitions. [2018-11-23 10:26:15,980 INFO L276 IsEmpty]: Start isEmpty. Operand 109 states and 128 transitions. [2018-11-23 10:26:15,980 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:26:15,980 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:26:15,980 INFO L74 IsIncluded]: Start isIncluded. First operand 84 states. Second operand 109 states. [2018-11-23 10:26:15,981 INFO L87 Difference]: Start difference. First operand 84 states. Second operand 109 states. [2018-11-23 10:26:15,985 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:26:15,985 INFO L93 Difference]: Finished difference Result 109 states and 128 transitions. [2018-11-23 10:26:15,985 INFO L276 IsEmpty]: Start isEmpty. Operand 109 states and 128 transitions. [2018-11-23 10:26:15,986 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:26:15,986 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:26:15,986 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 10:26:15,986 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 10:26:15,986 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 84 states. [2018-11-23 10:26:15,989 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 84 states to 84 states and 100 transitions. [2018-11-23 10:26:15,989 INFO L78 Accepts]: Start accepts. Automaton has 84 states and 100 transitions. Word has length 39 [2018-11-23 10:26:15,990 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 10:26:15,990 INFO L480 AbstractCegarLoop]: Abstraction has 84 states and 100 transitions. [2018-11-23 10:26:15,990 INFO L481 AbstractCegarLoop]: Interpolant automaton has 21 states. [2018-11-23 10:26:15,990 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 100 transitions. [2018-11-23 10:26:15,991 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 48 [2018-11-23 10:26:15,991 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 10:26:15,991 INFO L402 BasicCegarLoop]: trace histogram [4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 10:26:15,992 INFO L423 AbstractCegarLoop]: === Iteration 9 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 10:26:15,992 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 10:26:15,992 INFO L82 PathProgramCache]: Analyzing trace with hash -180156240, now seen corresponding path program 3 times [2018-11-23 10:26:15,992 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 10:26:15,992 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:26:16,021 INFO L101 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2018-11-23 10:26:16,150 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 4 check-sat command(s) [2018-11-23 10:26:16,150 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 10:26:16,178 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:26:16,180 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 10:26:16,430 INFO L256 TraceCheckUtils]: 0: Hoare triple {3673#true} call ULTIMATE.init(); {3673#true} is VALID [2018-11-23 10:26:16,431 INFO L273 TraceCheckUtils]: 1: Hoare triple {3673#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];~SIZE~0 := 0bv32; {3673#true} is VALID [2018-11-23 10:26:16,431 INFO L273 TraceCheckUtils]: 2: Hoare triple {3673#true} assume true; {3673#true} is VALID [2018-11-23 10:26:16,431 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3673#true} {3673#true} #61#return; {3673#true} is VALID [2018-11-23 10:26:16,431 INFO L256 TraceCheckUtils]: 4: Hoare triple {3673#true} call #t~ret5 := main(); {3673#true} is VALID [2018-11-23 10:26:16,431 INFO L273 TraceCheckUtils]: 5: Hoare triple {3673#true} ~SIZE~0 := #t~nondet1;havoc #t~nondet1; {3673#true} is VALID [2018-11-23 10:26:16,432 INFO L273 TraceCheckUtils]: 6: Hoare triple {3673#true} assume ~bvsgt32(~SIZE~0, 1bv32);havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~bvmul32(4bv32, ~SIZE~0));~i~0 := 0bv32; {3696#(and (= main_~i~0 (_ bv0 32)) (bvsgt ~SIZE~0 (_ bv1 32)))} is VALID [2018-11-23 10:26:16,432 INFO L273 TraceCheckUtils]: 7: Hoare triple {3696#(and (= main_~i~0 (_ bv0 32)) (bvsgt ~SIZE~0 (_ bv1 32)))} assume !!~bvslt32(~i~0, ~SIZE~0); {3696#(and (= main_~i~0 (_ bv0 32)) (bvsgt ~SIZE~0 (_ bv1 32)))} is VALID [2018-11-23 10:26:16,433 INFO L273 TraceCheckUtils]: 8: Hoare triple {3696#(and (= main_~i~0 (_ bv0 32)) (bvsgt ~SIZE~0 (_ bv1 32)))} assume !~bvsgt32(~bvashr32(~i~0, 16bv32), 250bv32);call write~intINTTYPE4(0bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {3696#(and (= main_~i~0 (_ bv0 32)) (bvsgt ~SIZE~0 (_ bv1 32)))} is VALID [2018-11-23 10:26:16,433 INFO L273 TraceCheckUtils]: 9: Hoare triple {3696#(and (= main_~i~0 (_ bv0 32)) (bvsgt ~SIZE~0 (_ bv1 32)))} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {3706#(and (bvsgt ~SIZE~0 (_ bv1 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:26:16,434 INFO L273 TraceCheckUtils]: 10: Hoare triple {3706#(and (bvsgt ~SIZE~0 (_ bv1 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} assume !!~bvslt32(~i~0, ~SIZE~0); {3706#(and (bvsgt ~SIZE~0 (_ bv1 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:26:16,444 INFO L273 TraceCheckUtils]: 11: Hoare triple {3706#(and (bvsgt ~SIZE~0 (_ bv1 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} assume !~bvsgt32(~bvashr32(~i~0, 16bv32), 250bv32);call write~intINTTYPE4(0bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {3706#(and (bvsgt ~SIZE~0 (_ bv1 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:26:16,445 INFO L273 TraceCheckUtils]: 12: Hoare triple {3706#(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; {3716#(and (bvsgt ~SIZE~0 (_ bv1 32)) (= (_ bv2 32) main_~i~0))} is VALID [2018-11-23 10:26:16,447 INFO L273 TraceCheckUtils]: 13: Hoare triple {3716#(and (bvsgt ~SIZE~0 (_ bv1 32)) (= (_ bv2 32) main_~i~0))} assume !!~bvslt32(~i~0, ~SIZE~0); {3716#(and (bvsgt ~SIZE~0 (_ bv1 32)) (= (_ bv2 32) main_~i~0))} is VALID [2018-11-23 10:26:16,448 INFO L273 TraceCheckUtils]: 14: Hoare triple {3716#(and (bvsgt ~SIZE~0 (_ bv1 32)) (= (_ bv2 32) main_~i~0))} assume !~bvsgt32(~bvashr32(~i~0, 16bv32), 250bv32);call write~intINTTYPE4(0bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {3716#(and (bvsgt ~SIZE~0 (_ bv1 32)) (= (_ bv2 32) main_~i~0))} is VALID [2018-11-23 10:26:16,450 INFO L273 TraceCheckUtils]: 15: Hoare triple {3716#(and (bvsgt ~SIZE~0 (_ bv1 32)) (= (_ bv2 32) main_~i~0))} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {3726#(and (= (bvadd main_~i~0 (_ bv4294967293 32)) (_ bv0 32)) (bvsgt ~SIZE~0 (_ bv1 32)))} is VALID [2018-11-23 10:26:16,452 INFO L273 TraceCheckUtils]: 16: Hoare triple {3726#(and (= (bvadd main_~i~0 (_ bv4294967293 32)) (_ bv0 32)) (bvsgt ~SIZE~0 (_ bv1 32)))} assume !~bvslt32(~i~0, ~SIZE~0); {3730#(and (not (bvslt (_ bv3 32) ~SIZE~0)) (bvsgt ~SIZE~0 (_ bv1 32)))} is VALID [2018-11-23 10:26:16,453 INFO L273 TraceCheckUtils]: 17: Hoare triple {3730#(and (not (bvslt (_ bv3 32) ~SIZE~0)) (bvsgt ~SIZE~0 (_ bv1 32)))} ~i~0 := 0bv32; {3734#(and (not (bvslt (_ bv3 32) ~SIZE~0)) (= main_~i~0 (_ bv0 32)) (bvsgt ~SIZE~0 (_ bv1 32)))} is VALID [2018-11-23 10:26:16,453 INFO L273 TraceCheckUtils]: 18: Hoare triple {3734#(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~mem4 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {3734#(and (not (bvslt (_ bv3 32) ~SIZE~0)) (= main_~i~0 (_ bv0 32)) (bvsgt ~SIZE~0 (_ bv1 32)))} is VALID [2018-11-23 10:26:16,454 INFO L256 TraceCheckUtils]: 19: Hoare triple {3734#(and (not (bvslt (_ bv3 32) ~SIZE~0)) (= main_~i~0 (_ bv0 32)) (bvsgt ~SIZE~0 (_ bv1 32)))} call __VERIFIER_assert((if 0bv32 == #t~mem4 then 1bv32 else 0bv32)); {3730#(and (not (bvslt (_ bv3 32) ~SIZE~0)) (bvsgt ~SIZE~0 (_ bv1 32)))} is VALID [2018-11-23 10:26:16,455 INFO L273 TraceCheckUtils]: 20: Hoare triple {3730#(and (not (bvslt (_ bv3 32) ~SIZE~0)) (bvsgt ~SIZE~0 (_ bv1 32)))} ~cond := #in~cond; {3730#(and (not (bvslt (_ bv3 32) ~SIZE~0)) (bvsgt ~SIZE~0 (_ bv1 32)))} is VALID [2018-11-23 10:26:16,455 INFO L273 TraceCheckUtils]: 21: Hoare triple {3730#(and (not (bvslt (_ bv3 32) ~SIZE~0)) (bvsgt ~SIZE~0 (_ bv1 32)))} assume !(0bv32 == ~cond); {3730#(and (not (bvslt (_ bv3 32) ~SIZE~0)) (bvsgt ~SIZE~0 (_ bv1 32)))} is VALID [2018-11-23 10:26:16,456 INFO L273 TraceCheckUtils]: 22: Hoare triple {3730#(and (not (bvslt (_ bv3 32) ~SIZE~0)) (bvsgt ~SIZE~0 (_ bv1 32)))} assume true; {3730#(and (not (bvslt (_ bv3 32) ~SIZE~0)) (bvsgt ~SIZE~0 (_ bv1 32)))} is VALID [2018-11-23 10:26:16,456 INFO L268 TraceCheckUtils]: 23: Hoare quadruple {3730#(and (not (bvslt (_ bv3 32) ~SIZE~0)) (bvsgt ~SIZE~0 (_ bv1 32)))} {3734#(and (not (bvslt (_ bv3 32) ~SIZE~0)) (= main_~i~0 (_ bv0 32)) (bvsgt ~SIZE~0 (_ bv1 32)))} #65#return; {3734#(and (not (bvslt (_ bv3 32) ~SIZE~0)) (= main_~i~0 (_ bv0 32)) (bvsgt ~SIZE~0 (_ bv1 32)))} is VALID [2018-11-23 10:26:16,457 INFO L273 TraceCheckUtils]: 24: Hoare triple {3734#(and (not (bvslt (_ bv3 32) ~SIZE~0)) (= main_~i~0 (_ bv0 32)) (bvsgt ~SIZE~0 (_ bv1 32)))} havoc #t~mem4; {3734#(and (not (bvslt (_ bv3 32) ~SIZE~0)) (= main_~i~0 (_ bv0 32)) (bvsgt ~SIZE~0 (_ bv1 32)))} is VALID [2018-11-23 10:26:16,458 INFO L273 TraceCheckUtils]: 25: Hoare triple {3734#(and (not (bvslt (_ bv3 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; {3759#(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:26:16,459 INFO L273 TraceCheckUtils]: 26: Hoare triple {3759#(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~mem4 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {3759#(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:26:16,460 INFO L256 TraceCheckUtils]: 27: Hoare triple {3759#(and (not (bvslt (_ bv3 32) ~SIZE~0)) (bvsgt ~SIZE~0 (_ bv1 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} call __VERIFIER_assert((if 0bv32 == #t~mem4 then 1bv32 else 0bv32)); {3730#(and (not (bvslt (_ bv3 32) ~SIZE~0)) (bvsgt ~SIZE~0 (_ bv1 32)))} is VALID [2018-11-23 10:26:16,460 INFO L273 TraceCheckUtils]: 28: Hoare triple {3730#(and (not (bvslt (_ bv3 32) ~SIZE~0)) (bvsgt ~SIZE~0 (_ bv1 32)))} ~cond := #in~cond; {3730#(and (not (bvslt (_ bv3 32) ~SIZE~0)) (bvsgt ~SIZE~0 (_ bv1 32)))} is VALID [2018-11-23 10:26:16,460 INFO L273 TraceCheckUtils]: 29: Hoare triple {3730#(and (not (bvslt (_ bv3 32) ~SIZE~0)) (bvsgt ~SIZE~0 (_ bv1 32)))} assume !(0bv32 == ~cond); {3730#(and (not (bvslt (_ bv3 32) ~SIZE~0)) (bvsgt ~SIZE~0 (_ bv1 32)))} is VALID [2018-11-23 10:26:16,461 INFO L273 TraceCheckUtils]: 30: Hoare triple {3730#(and (not (bvslt (_ bv3 32) ~SIZE~0)) (bvsgt ~SIZE~0 (_ bv1 32)))} assume true; {3730#(and (not (bvslt (_ bv3 32) ~SIZE~0)) (bvsgt ~SIZE~0 (_ bv1 32)))} is VALID [2018-11-23 10:26:16,462 INFO L268 TraceCheckUtils]: 31: Hoare quadruple {3730#(and (not (bvslt (_ bv3 32) ~SIZE~0)) (bvsgt ~SIZE~0 (_ bv1 32)))} {3759#(and (not (bvslt (_ bv3 32) ~SIZE~0)) (bvsgt ~SIZE~0 (_ bv1 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} #65#return; {3759#(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:26:16,463 INFO L273 TraceCheckUtils]: 32: Hoare triple {3759#(and (not (bvslt (_ bv3 32) ~SIZE~0)) (bvsgt ~SIZE~0 (_ bv1 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} havoc #t~mem4; {3759#(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:26:16,464 INFO L273 TraceCheckUtils]: 33: Hoare triple {3759#(and (not (bvslt (_ bv3 32) ~SIZE~0)) (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; {3784#(and (not (bvslt (_ bv3 32) ~SIZE~0)) (bvsgt ~SIZE~0 (_ bv1 32)) (= (_ bv2 32) main_~i~0))} is VALID [2018-11-23 10:26:16,464 INFO L273 TraceCheckUtils]: 34: Hoare triple {3784#(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~mem4 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {3784#(and (not (bvslt (_ bv3 32) ~SIZE~0)) (bvsgt ~SIZE~0 (_ bv1 32)) (= (_ bv2 32) main_~i~0))} is VALID [2018-11-23 10:26:16,466 INFO L256 TraceCheckUtils]: 35: Hoare triple {3784#(and (not (bvslt (_ bv3 32) ~SIZE~0)) (bvsgt ~SIZE~0 (_ bv1 32)) (= (_ bv2 32) main_~i~0))} call __VERIFIER_assert((if 0bv32 == #t~mem4 then 1bv32 else 0bv32)); {3730#(and (not (bvslt (_ bv3 32) ~SIZE~0)) (bvsgt ~SIZE~0 (_ bv1 32)))} is VALID [2018-11-23 10:26:16,466 INFO L273 TraceCheckUtils]: 36: Hoare triple {3730#(and (not (bvslt (_ bv3 32) ~SIZE~0)) (bvsgt ~SIZE~0 (_ bv1 32)))} ~cond := #in~cond; {3730#(and (not (bvslt (_ bv3 32) ~SIZE~0)) (bvsgt ~SIZE~0 (_ bv1 32)))} is VALID [2018-11-23 10:26:16,467 INFO L273 TraceCheckUtils]: 37: Hoare triple {3730#(and (not (bvslt (_ bv3 32) ~SIZE~0)) (bvsgt ~SIZE~0 (_ bv1 32)))} assume !(0bv32 == ~cond); {3730#(and (not (bvslt (_ bv3 32) ~SIZE~0)) (bvsgt ~SIZE~0 (_ bv1 32)))} is VALID [2018-11-23 10:26:16,468 INFO L273 TraceCheckUtils]: 38: Hoare triple {3730#(and (not (bvslt (_ bv3 32) ~SIZE~0)) (bvsgt ~SIZE~0 (_ bv1 32)))} assume true; {3730#(and (not (bvslt (_ bv3 32) ~SIZE~0)) (bvsgt ~SIZE~0 (_ bv1 32)))} is VALID [2018-11-23 10:26:16,469 INFO L268 TraceCheckUtils]: 39: Hoare quadruple {3730#(and (not (bvslt (_ bv3 32) ~SIZE~0)) (bvsgt ~SIZE~0 (_ bv1 32)))} {3784#(and (not (bvslt (_ bv3 32) ~SIZE~0)) (bvsgt ~SIZE~0 (_ bv1 32)) (= (_ bv2 32) main_~i~0))} #65#return; {3784#(and (not (bvslt (_ bv3 32) ~SIZE~0)) (bvsgt ~SIZE~0 (_ bv1 32)) (= (_ bv2 32) main_~i~0))} is VALID [2018-11-23 10:26:16,470 INFO L273 TraceCheckUtils]: 40: Hoare triple {3784#(and (not (bvslt (_ bv3 32) ~SIZE~0)) (bvsgt ~SIZE~0 (_ bv1 32)) (= (_ bv2 32) main_~i~0))} havoc #t~mem4; {3784#(and (not (bvslt (_ bv3 32) ~SIZE~0)) (bvsgt ~SIZE~0 (_ bv1 32)) (= (_ bv2 32) main_~i~0))} is VALID [2018-11-23 10:26:16,471 INFO L273 TraceCheckUtils]: 41: Hoare triple {3784#(and (not (bvslt (_ bv3 32) ~SIZE~0)) (bvsgt ~SIZE~0 (_ bv1 32)) (= (_ bv2 32) main_~i~0))} #t~post3 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post3);havoc #t~post3; {3809#(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:26:16,472 INFO L273 TraceCheckUtils]: 42: Hoare triple {3809#(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~mem4 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {3674#false} is VALID [2018-11-23 10:26:16,472 INFO L256 TraceCheckUtils]: 43: Hoare triple {3674#false} call __VERIFIER_assert((if 0bv32 == #t~mem4 then 1bv32 else 0bv32)); {3674#false} is VALID [2018-11-23 10:26:16,472 INFO L273 TraceCheckUtils]: 44: Hoare triple {3674#false} ~cond := #in~cond; {3674#false} is VALID [2018-11-23 10:26:16,472 INFO L273 TraceCheckUtils]: 45: Hoare triple {3674#false} assume 0bv32 == ~cond; {3674#false} is VALID [2018-11-23 10:26:16,473 INFO L273 TraceCheckUtils]: 46: Hoare triple {3674#false} assume !false; {3674#false} is VALID [2018-11-23 10:26:16,477 INFO L134 CoverageAnalysis]: Checked inductivity of 48 backedges. 9 proven. 27 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2018-11-23 10:26:16,477 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-23 10:26:16,994 INFO L273 TraceCheckUtils]: 46: Hoare triple {3674#false} assume !false; {3674#false} is VALID [2018-11-23 10:26:16,994 INFO L273 TraceCheckUtils]: 45: Hoare triple {3674#false} assume 0bv32 == ~cond; {3674#false} is VALID [2018-11-23 10:26:16,994 INFO L273 TraceCheckUtils]: 44: Hoare triple {3674#false} ~cond := #in~cond; {3674#false} is VALID [2018-11-23 10:26:16,994 INFO L256 TraceCheckUtils]: 43: Hoare triple {3674#false} call __VERIFIER_assert((if 0bv32 == #t~mem4 then 1bv32 else 0bv32)); {3674#false} is VALID [2018-11-23 10:26:16,995 INFO L273 TraceCheckUtils]: 42: Hoare triple {3837#(not (bvslt main_~i~0 ~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); {3674#false} is VALID [2018-11-23 10:26:16,997 INFO L273 TraceCheckUtils]: 41: Hoare triple {3841#(not (bvslt (bvadd main_~i~0 (_ bv1 32)) ~SIZE~0))} #t~post3 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post3);havoc #t~post3; {3837#(not (bvslt main_~i~0 ~SIZE~0))} is VALID [2018-11-23 10:26:16,997 INFO L273 TraceCheckUtils]: 40: Hoare triple {3841#(not (bvslt (bvadd main_~i~0 (_ bv1 32)) ~SIZE~0))} havoc #t~mem4; {3841#(not (bvslt (bvadd main_~i~0 (_ bv1 32)) ~SIZE~0))} is VALID [2018-11-23 10:26:16,998 INFO L268 TraceCheckUtils]: 39: Hoare quadruple {3673#true} {3841#(not (bvslt (bvadd main_~i~0 (_ bv1 32)) ~SIZE~0))} #65#return; {3841#(not (bvslt (bvadd main_~i~0 (_ bv1 32)) ~SIZE~0))} is VALID [2018-11-23 10:26:16,998 INFO L273 TraceCheckUtils]: 38: Hoare triple {3673#true} assume true; {3673#true} is VALID [2018-11-23 10:26:16,998 INFO L273 TraceCheckUtils]: 37: Hoare triple {3673#true} assume !(0bv32 == ~cond); {3673#true} is VALID [2018-11-23 10:26:16,998 INFO L273 TraceCheckUtils]: 36: Hoare triple {3673#true} ~cond := #in~cond; {3673#true} is VALID [2018-11-23 10:26:16,998 INFO L256 TraceCheckUtils]: 35: Hoare triple {3841#(not (bvslt (bvadd main_~i~0 (_ bv1 32)) ~SIZE~0))} call __VERIFIER_assert((if 0bv32 == #t~mem4 then 1bv32 else 0bv32)); {3673#true} is VALID [2018-11-23 10:26:16,999 INFO L273 TraceCheckUtils]: 34: Hoare triple {3841#(not (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); {3841#(not (bvslt (bvadd main_~i~0 (_ bv1 32)) ~SIZE~0))} is VALID [2018-11-23 10:26:17,020 INFO L273 TraceCheckUtils]: 33: Hoare triple {3866#(not (bvslt (bvadd main_~i~0 (_ bv2 32)) ~SIZE~0))} #t~post3 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post3);havoc #t~post3; {3841#(not (bvslt (bvadd main_~i~0 (_ bv1 32)) ~SIZE~0))} is VALID [2018-11-23 10:26:17,021 INFO L273 TraceCheckUtils]: 32: Hoare triple {3866#(not (bvslt (bvadd main_~i~0 (_ bv2 32)) ~SIZE~0))} havoc #t~mem4; {3866#(not (bvslt (bvadd main_~i~0 (_ bv2 32)) ~SIZE~0))} is VALID [2018-11-23 10:26:17,022 INFO L268 TraceCheckUtils]: 31: Hoare quadruple {3673#true} {3866#(not (bvslt (bvadd main_~i~0 (_ bv2 32)) ~SIZE~0))} #65#return; {3866#(not (bvslt (bvadd main_~i~0 (_ bv2 32)) ~SIZE~0))} is VALID [2018-11-23 10:26:17,022 INFO L273 TraceCheckUtils]: 30: Hoare triple {3673#true} assume true; {3673#true} is VALID [2018-11-23 10:26:17,022 INFO L273 TraceCheckUtils]: 29: Hoare triple {3673#true} assume !(0bv32 == ~cond); {3673#true} is VALID [2018-11-23 10:26:17,023 INFO L273 TraceCheckUtils]: 28: Hoare triple {3673#true} ~cond := #in~cond; {3673#true} is VALID [2018-11-23 10:26:17,023 INFO L256 TraceCheckUtils]: 27: Hoare triple {3866#(not (bvslt (bvadd main_~i~0 (_ bv2 32)) ~SIZE~0))} call __VERIFIER_assert((if 0bv32 == #t~mem4 then 1bv32 else 0bv32)); {3673#true} is VALID [2018-11-23 10:26:17,030 INFO L273 TraceCheckUtils]: 26: Hoare triple {3866#(not (bvslt (bvadd main_~i~0 (_ 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); {3866#(not (bvslt (bvadd main_~i~0 (_ bv2 32)) ~SIZE~0))} is VALID [2018-11-23 10:26:17,059 INFO L273 TraceCheckUtils]: 25: Hoare triple {3891#(not (bvslt (bvadd main_~i~0 (_ bv3 32)) ~SIZE~0))} #t~post3 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post3);havoc #t~post3; {3866#(not (bvslt (bvadd main_~i~0 (_ bv2 32)) ~SIZE~0))} is VALID [2018-11-23 10:26:17,059 INFO L273 TraceCheckUtils]: 24: Hoare triple {3891#(not (bvslt (bvadd main_~i~0 (_ bv3 32)) ~SIZE~0))} havoc #t~mem4; {3891#(not (bvslt (bvadd main_~i~0 (_ bv3 32)) ~SIZE~0))} is VALID [2018-11-23 10:26:17,060 INFO L268 TraceCheckUtils]: 23: Hoare quadruple {3673#true} {3891#(not (bvslt (bvadd main_~i~0 (_ bv3 32)) ~SIZE~0))} #65#return; {3891#(not (bvslt (bvadd main_~i~0 (_ bv3 32)) ~SIZE~0))} is VALID [2018-11-23 10:26:17,060 INFO L273 TraceCheckUtils]: 22: Hoare triple {3673#true} assume true; {3673#true} is VALID [2018-11-23 10:26:17,060 INFO L273 TraceCheckUtils]: 21: Hoare triple {3673#true} assume !(0bv32 == ~cond); {3673#true} is VALID [2018-11-23 10:26:17,061 INFO L273 TraceCheckUtils]: 20: Hoare triple {3673#true} ~cond := #in~cond; {3673#true} is VALID [2018-11-23 10:26:17,061 INFO L256 TraceCheckUtils]: 19: Hoare triple {3891#(not (bvslt (bvadd main_~i~0 (_ bv3 32)) ~SIZE~0))} call __VERIFIER_assert((if 0bv32 == #t~mem4 then 1bv32 else 0bv32)); {3673#true} is VALID [2018-11-23 10:26:17,061 INFO L273 TraceCheckUtils]: 18: Hoare triple {3891#(not (bvslt (bvadd main_~i~0 (_ 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); {3891#(not (bvslt (bvadd main_~i~0 (_ bv3 32)) ~SIZE~0))} is VALID [2018-11-23 10:26:17,061 INFO L273 TraceCheckUtils]: 17: Hoare triple {3916#(not (bvslt (_ bv3 32) ~SIZE~0))} ~i~0 := 0bv32; {3891#(not (bvslt (bvadd main_~i~0 (_ bv3 32)) ~SIZE~0))} is VALID [2018-11-23 10:26:17,062 INFO L273 TraceCheckUtils]: 16: Hoare triple {3920#(or (not (bvslt (_ bv3 32) ~SIZE~0)) (bvslt main_~i~0 ~SIZE~0))} assume !~bvslt32(~i~0, ~SIZE~0); {3916#(not (bvslt (_ bv3 32) ~SIZE~0))} is VALID [2018-11-23 10:26:17,062 INFO L273 TraceCheckUtils]: 15: Hoare triple {3924#(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; {3920#(or (not (bvslt (_ bv3 32) ~SIZE~0)) (bvslt main_~i~0 ~SIZE~0))} is VALID [2018-11-23 10:26:17,063 INFO L273 TraceCheckUtils]: 14: Hoare triple {3924#(or (not (bvslt (_ bv3 32) ~SIZE~0)) (bvslt (bvadd main_~i~0 (_ bv1 32)) ~SIZE~0))} assume !~bvsgt32(~bvashr32(~i~0, 16bv32), 250bv32);call write~intINTTYPE4(0bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {3924#(or (not (bvslt (_ bv3 32) ~SIZE~0)) (bvslt (bvadd main_~i~0 (_ bv1 32)) ~SIZE~0))} is VALID [2018-11-23 10:26:17,063 INFO L273 TraceCheckUtils]: 13: Hoare triple {3924#(or (not (bvslt (_ bv3 32) ~SIZE~0)) (bvslt (bvadd main_~i~0 (_ bv1 32)) ~SIZE~0))} assume !!~bvslt32(~i~0, ~SIZE~0); {3924#(or (not (bvslt (_ bv3 32) ~SIZE~0)) (bvslt (bvadd main_~i~0 (_ bv1 32)) ~SIZE~0))} is VALID [2018-11-23 10:26:17,088 INFO L273 TraceCheckUtils]: 12: Hoare triple {3934#(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; {3924#(or (not (bvslt (_ bv3 32) ~SIZE~0)) (bvslt (bvadd main_~i~0 (_ bv1 32)) ~SIZE~0))} is VALID [2018-11-23 10:26:17,089 INFO L273 TraceCheckUtils]: 11: Hoare triple {3934#(or (not (bvslt (_ bv3 32) ~SIZE~0)) (bvslt (bvadd main_~i~0 (_ bv2 32)) ~SIZE~0))} assume !~bvsgt32(~bvashr32(~i~0, 16bv32), 250bv32);call write~intINTTYPE4(0bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {3934#(or (not (bvslt (_ bv3 32) ~SIZE~0)) (bvslt (bvadd main_~i~0 (_ bv2 32)) ~SIZE~0))} is VALID [2018-11-23 10:26:17,089 INFO L273 TraceCheckUtils]: 10: Hoare triple {3934#(or (not (bvslt (_ bv3 32) ~SIZE~0)) (bvslt (bvadd main_~i~0 (_ bv2 32)) ~SIZE~0))} assume !!~bvslt32(~i~0, ~SIZE~0); {3934#(or (not (bvslt (_ bv3 32) ~SIZE~0)) (bvslt (bvadd main_~i~0 (_ bv2 32)) ~SIZE~0))} is VALID [2018-11-23 10:26:17,120 INFO L273 TraceCheckUtils]: 9: Hoare triple {3944#(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; {3934#(or (not (bvslt (_ bv3 32) ~SIZE~0)) (bvslt (bvadd main_~i~0 (_ bv2 32)) ~SIZE~0))} is VALID [2018-11-23 10:26:17,121 INFO L273 TraceCheckUtils]: 8: Hoare triple {3944#(or (not (bvslt (_ bv3 32) ~SIZE~0)) (bvslt (bvadd main_~i~0 (_ bv3 32)) ~SIZE~0))} assume !~bvsgt32(~bvashr32(~i~0, 16bv32), 250bv32);call write~intINTTYPE4(0bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {3944#(or (not (bvslt (_ bv3 32) ~SIZE~0)) (bvslt (bvadd main_~i~0 (_ bv3 32)) ~SIZE~0))} is VALID [2018-11-23 10:26:17,121 INFO L273 TraceCheckUtils]: 7: Hoare triple {3944#(or (not (bvslt (_ bv3 32) ~SIZE~0)) (bvslt (bvadd main_~i~0 (_ bv3 32)) ~SIZE~0))} assume !!~bvslt32(~i~0, ~SIZE~0); {3944#(or (not (bvslt (_ bv3 32) ~SIZE~0)) (bvslt (bvadd main_~i~0 (_ bv3 32)) ~SIZE~0))} is VALID [2018-11-23 10:26:17,122 INFO L273 TraceCheckUtils]: 6: Hoare triple {3673#true} assume ~bvsgt32(~SIZE~0, 1bv32);havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~bvmul32(4bv32, ~SIZE~0));~i~0 := 0bv32; {3944#(or (not (bvslt (_ bv3 32) ~SIZE~0)) (bvslt (bvadd main_~i~0 (_ bv3 32)) ~SIZE~0))} is VALID [2018-11-23 10:26:17,122 INFO L273 TraceCheckUtils]: 5: Hoare triple {3673#true} ~SIZE~0 := #t~nondet1;havoc #t~nondet1; {3673#true} is VALID [2018-11-23 10:26:17,122 INFO L256 TraceCheckUtils]: 4: Hoare triple {3673#true} call #t~ret5 := main(); {3673#true} is VALID [2018-11-23 10:26:17,122 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3673#true} {3673#true} #61#return; {3673#true} is VALID [2018-11-23 10:26:17,122 INFO L273 TraceCheckUtils]: 2: Hoare triple {3673#true} assume true; {3673#true} is VALID [2018-11-23 10:26:17,123 INFO L273 TraceCheckUtils]: 1: Hoare triple {3673#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];~SIZE~0 := 0bv32; {3673#true} is VALID [2018-11-23 10:26:17,123 INFO L256 TraceCheckUtils]: 0: Hoare triple {3673#true} call ULTIMATE.init(); {3673#true} is VALID [2018-11-23 10:26:17,125 INFO L134 CoverageAnalysis]: Checked inductivity of 48 backedges. 9 proven. 27 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2018-11-23 10:26:17,127 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 10:26:17,127 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 11] total 20 [2018-11-23 10:26:17,127 INFO L78 Accepts]: Start accepts. Automaton has 20 states. Word has length 47 [2018-11-23 10:26:17,128 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 10:26:17,128 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 20 states. [2018-11-23 10:26:17,342 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 72 edges. 72 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:26:17,343 INFO L459 AbstractCegarLoop]: Interpolant automaton has 20 states [2018-11-23 10:26:17,343 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 20 interpolants. [2018-11-23 10:26:17,343 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=94, Invalid=286, Unknown=0, NotChecked=0, Total=380 [2018-11-23 10:26:17,343 INFO L87 Difference]: Start difference. First operand 84 states and 100 transitions. Second operand 20 states. [2018-11-23 10:26:20,610 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:26:20,610 INFO L93 Difference]: Finished difference Result 129 states and 149 transitions. [2018-11-23 10:26:20,610 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2018-11-23 10:26:20,610 INFO L78 Accepts]: Start accepts. Automaton has 20 states. Word has length 47 [2018-11-23 10:26:20,611 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 10:26:20,611 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 20 states. [2018-11-23 10:26:20,616 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 82 transitions. [2018-11-23 10:26:20,617 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 20 states. [2018-11-23 10:26:20,619 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 82 transitions. [2018-11-23 10:26:20,619 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 17 states and 82 transitions. [2018-11-23 10:26:20,850 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 82 edges. 82 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:26:20,853 INFO L225 Difference]: With dead ends: 129 [2018-11-23 10:26:20,853 INFO L226 Difference]: Without dead ends: 97 [2018-11-23 10:26:20,854 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 96 GetRequests, 75 SyntacticMatches, 0 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 95 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=136, Invalid=370, Unknown=0, NotChecked=0, Total=506 [2018-11-23 10:26:20,854 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 97 states. [2018-11-23 10:26:21,121 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 97 to 84. [2018-11-23 10:26:21,121 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 10:26:21,122 INFO L82 GeneralOperation]: Start isEquivalent. First operand 97 states. Second operand 84 states. [2018-11-23 10:26:21,122 INFO L74 IsIncluded]: Start isIncluded. First operand 97 states. Second operand 84 states. [2018-11-23 10:26:21,122 INFO L87 Difference]: Start difference. First operand 97 states. Second operand 84 states. [2018-11-23 10:26:21,126 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:26:21,126 INFO L93 Difference]: Finished difference Result 97 states and 115 transitions. [2018-11-23 10:26:21,127 INFO L276 IsEmpty]: Start isEmpty. Operand 97 states and 115 transitions. [2018-11-23 10:26:21,127 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:26:21,127 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:26:21,128 INFO L74 IsIncluded]: Start isIncluded. First operand 84 states. Second operand 97 states. [2018-11-23 10:26:21,128 INFO L87 Difference]: Start difference. First operand 84 states. Second operand 97 states. [2018-11-23 10:26:21,132 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:26:21,133 INFO L93 Difference]: Finished difference Result 97 states and 115 transitions. [2018-11-23 10:26:21,133 INFO L276 IsEmpty]: Start isEmpty. Operand 97 states and 115 transitions. [2018-11-23 10:26:21,134 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:26:21,134 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:26:21,134 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 10:26:21,134 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 10:26:21,134 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 84 states. [2018-11-23 10:26:21,137 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 84 states to 84 states and 99 transitions. [2018-11-23 10:26:21,137 INFO L78 Accepts]: Start accepts. Automaton has 84 states and 99 transitions. Word has length 47 [2018-11-23 10:26:21,138 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 10:26:21,138 INFO L480 AbstractCegarLoop]: Abstraction has 84 states and 99 transitions. [2018-11-23 10:26:21,138 INFO L481 AbstractCegarLoop]: Interpolant automaton has 20 states. [2018-11-23 10:26:21,138 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 99 transitions. [2018-11-23 10:26:21,139 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2018-11-23 10:26:21,139 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 10:26:21,139 INFO L402 BasicCegarLoop]: trace histogram [4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 10:26:21,139 INFO L423 AbstractCegarLoop]: === Iteration 10 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 10:26:21,140 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 10:26:21,140 INFO L82 PathProgramCache]: Analyzing trace with hash -830164446, now seen corresponding path program 4 times [2018-11-23 10:26:21,140 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 10:26:21,140 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:26:21,167 INFO L101 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2018-11-23 10:26:21,243 INFO L249 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2018-11-23 10:26:21,244 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 10:26:21,267 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:26:21,270 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 10:26:21,343 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 10 [2018-11-23 10:26:21,351 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 10 treesize of output 9 [2018-11-23 10:26:21,353 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 10:26:21,357 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 10:26:21,361 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 10:26:21,362 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:13, output treesize:9 [2018-11-23 10:26:21,810 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 19 treesize of output 15 [2018-11-23 10:26:21,817 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 3 [2018-11-23 10:26:21,819 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 10:26:21,821 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 10:26:21,823 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 10:26:21,823 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 3 variables, input treesize:19, output treesize:3 [2018-11-23 10:26:21,827 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 10:26:21,827 WARN L384 uantifierElimination]: Input elimination task: ∃ [|#memory_int|, |main_~#a~0.base|, |main_~#a~0.offset|]. (let ((.cse0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv12 32))))) (and (= (_ bv0 32) .cse0) (= |main_#t~mem4| .cse0))) [2018-11-23 10:26:21,827 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (= (_ bv0 32) |main_#t~mem4|) [2018-11-23 10:26:21,893 INFO L256 TraceCheckUtils]: 0: Hoare triple {4468#true} call ULTIMATE.init(); {4468#true} is VALID [2018-11-23 10:26:21,894 INFO L273 TraceCheckUtils]: 1: Hoare triple {4468#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];~SIZE~0 := 0bv32; {4468#true} is VALID [2018-11-23 10:26:21,894 INFO L273 TraceCheckUtils]: 2: Hoare triple {4468#true} assume true; {4468#true} is VALID [2018-11-23 10:26:21,894 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {4468#true} {4468#true} #61#return; {4468#true} is VALID [2018-11-23 10:26:21,894 INFO L256 TraceCheckUtils]: 4: Hoare triple {4468#true} call #t~ret5 := main(); {4468#true} is VALID [2018-11-23 10:26:21,894 INFO L273 TraceCheckUtils]: 5: Hoare triple {4468#true} ~SIZE~0 := #t~nondet1;havoc #t~nondet1; {4468#true} is VALID [2018-11-23 10:26:21,916 INFO L273 TraceCheckUtils]: 6: Hoare triple {4468#true} assume ~bvsgt32(~SIZE~0, 1bv32);havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~bvmul32(4bv32, ~SIZE~0));~i~0 := 0bv32; {4491#(= main_~i~0 (_ bv0 32))} is VALID [2018-11-23 10:26:21,925 INFO L273 TraceCheckUtils]: 7: Hoare triple {4491#(= main_~i~0 (_ bv0 32))} assume !!~bvslt32(~i~0, ~SIZE~0); {4491#(= main_~i~0 (_ bv0 32))} is VALID [2018-11-23 10:26:21,926 INFO L273 TraceCheckUtils]: 8: Hoare triple {4491#(= main_~i~0 (_ bv0 32))} assume !~bvsgt32(~bvashr32(~i~0, 16bv32), 250bv32);call write~intINTTYPE4(0bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {4491#(= main_~i~0 (_ bv0 32))} is VALID [2018-11-23 10:26:21,926 INFO L273 TraceCheckUtils]: 9: Hoare triple {4491#(= main_~i~0 (_ bv0 32))} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {4501#(= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 10:26:21,927 INFO L273 TraceCheckUtils]: 10: Hoare triple {4501#(= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32))} assume !!~bvslt32(~i~0, ~SIZE~0); {4501#(= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 10:26:21,927 INFO L273 TraceCheckUtils]: 11: Hoare triple {4501#(= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32))} assume !~bvsgt32(~bvashr32(~i~0, 16bv32), 250bv32);call write~intINTTYPE4(0bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {4501#(= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 10:26:21,928 INFO L273 TraceCheckUtils]: 12: Hoare triple {4501#(= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32))} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {4511#(= (_ bv2 32) main_~i~0)} is VALID [2018-11-23 10:26:21,928 INFO L273 TraceCheckUtils]: 13: Hoare triple {4511#(= (_ bv2 32) main_~i~0)} assume !!~bvslt32(~i~0, ~SIZE~0); {4511#(= (_ bv2 32) main_~i~0)} is VALID [2018-11-23 10:26:21,928 INFO L273 TraceCheckUtils]: 14: Hoare triple {4511#(= (_ bv2 32) main_~i~0)} assume !~bvsgt32(~bvashr32(~i~0, 16bv32), 250bv32);call write~intINTTYPE4(0bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {4511#(= (_ bv2 32) main_~i~0)} is VALID [2018-11-23 10:26:21,929 INFO L273 TraceCheckUtils]: 15: Hoare triple {4511#(= (_ bv2 32) main_~i~0)} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {4521#(= (bvadd main_~i~0 (_ bv4294967293 32)) (_ bv0 32))} is VALID [2018-11-23 10:26:21,929 INFO L273 TraceCheckUtils]: 16: Hoare triple {4521#(= (bvadd main_~i~0 (_ bv4294967293 32)) (_ bv0 32))} assume !!~bvslt32(~i~0, ~SIZE~0); {4521#(= (bvadd main_~i~0 (_ bv4294967293 32)) (_ bv0 32))} is VALID [2018-11-23 10:26:21,932 INFO L273 TraceCheckUtils]: 17: Hoare triple {4521#(= (bvadd main_~i~0 (_ bv4294967293 32)) (_ bv0 32))} assume !~bvsgt32(~bvashr32(~i~0, 16bv32), 250bv32);call write~intINTTYPE4(0bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {4528#(= (_ bv0 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv12 32))))} is VALID [2018-11-23 10:26:21,932 INFO L273 TraceCheckUtils]: 18: Hoare triple {4528#(= (_ bv0 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv12 32))))} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {4528#(= (_ bv0 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv12 32))))} is VALID [2018-11-23 10:26:21,933 INFO L273 TraceCheckUtils]: 19: Hoare triple {4528#(= (_ bv0 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv12 32))))} assume !~bvslt32(~i~0, ~SIZE~0); {4528#(= (_ bv0 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv12 32))))} is VALID [2018-11-23 10:26:21,934 INFO L273 TraceCheckUtils]: 20: Hoare triple {4528#(= (_ bv0 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv12 32))))} ~i~0 := 0bv32; {4538#(and (= (_ bv0 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv12 32)))) (= main_~i~0 (_ bv0 32)))} is VALID [2018-11-23 10:26:21,935 INFO L273 TraceCheckUtils]: 21: Hoare triple {4538#(and (= (_ bv0 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv12 32)))) (= main_~i~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); {4538#(and (= (_ bv0 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv12 32)))) (= main_~i~0 (_ bv0 32)))} is VALID [2018-11-23 10:26:21,938 INFO L256 TraceCheckUtils]: 22: Hoare triple {4538#(and (= (_ bv0 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv12 32)))) (= main_~i~0 (_ bv0 32)))} call __VERIFIER_assert((if 0bv32 == #t~mem4 then 1bv32 else 0bv32)); {4545#(exists ((|v_main_~#a~0.base_BEFORE_CALL_5| (_ BitVec 32)) (|v_main_~#a~0.offset_BEFORE_CALL_5| (_ BitVec 32))) (= (_ bv0 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) (bvadd |v_main_~#a~0.offset_BEFORE_CALL_5| (_ bv12 32)))))} is VALID [2018-11-23 10:26:21,939 INFO L273 TraceCheckUtils]: 23: Hoare triple {4545#(exists ((|v_main_~#a~0.base_BEFORE_CALL_5| (_ BitVec 32)) (|v_main_~#a~0.offset_BEFORE_CALL_5| (_ BitVec 32))) (= (_ bv0 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) (bvadd |v_main_~#a~0.offset_BEFORE_CALL_5| (_ bv12 32)))))} ~cond := #in~cond; {4545#(exists ((|v_main_~#a~0.base_BEFORE_CALL_5| (_ BitVec 32)) (|v_main_~#a~0.offset_BEFORE_CALL_5| (_ BitVec 32))) (= (_ bv0 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) (bvadd |v_main_~#a~0.offset_BEFORE_CALL_5| (_ bv12 32)))))} is VALID [2018-11-23 10:26:21,939 INFO L273 TraceCheckUtils]: 24: Hoare triple {4545#(exists ((|v_main_~#a~0.base_BEFORE_CALL_5| (_ BitVec 32)) (|v_main_~#a~0.offset_BEFORE_CALL_5| (_ BitVec 32))) (= (_ bv0 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) (bvadd |v_main_~#a~0.offset_BEFORE_CALL_5| (_ bv12 32)))))} assume !(0bv32 == ~cond); {4545#(exists ((|v_main_~#a~0.base_BEFORE_CALL_5| (_ BitVec 32)) (|v_main_~#a~0.offset_BEFORE_CALL_5| (_ BitVec 32))) (= (_ bv0 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) (bvadd |v_main_~#a~0.offset_BEFORE_CALL_5| (_ bv12 32)))))} is VALID [2018-11-23 10:26:21,940 INFO L273 TraceCheckUtils]: 25: Hoare triple {4545#(exists ((|v_main_~#a~0.base_BEFORE_CALL_5| (_ BitVec 32)) (|v_main_~#a~0.offset_BEFORE_CALL_5| (_ BitVec 32))) (= (_ bv0 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) (bvadd |v_main_~#a~0.offset_BEFORE_CALL_5| (_ bv12 32)))))} assume true; {4545#(exists ((|v_main_~#a~0.base_BEFORE_CALL_5| (_ BitVec 32)) (|v_main_~#a~0.offset_BEFORE_CALL_5| (_ BitVec 32))) (= (_ bv0 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) (bvadd |v_main_~#a~0.offset_BEFORE_CALL_5| (_ bv12 32)))))} is VALID [2018-11-23 10:26:21,940 INFO L268 TraceCheckUtils]: 26: Hoare quadruple {4545#(exists ((|v_main_~#a~0.base_BEFORE_CALL_5| (_ BitVec 32)) (|v_main_~#a~0.offset_BEFORE_CALL_5| (_ BitVec 32))) (= (_ bv0 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) (bvadd |v_main_~#a~0.offset_BEFORE_CALL_5| (_ bv12 32)))))} {4538#(and (= (_ bv0 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv12 32)))) (= main_~i~0 (_ bv0 32)))} #65#return; {4538#(and (= (_ bv0 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv12 32)))) (= main_~i~0 (_ bv0 32)))} is VALID [2018-11-23 10:26:21,941 INFO L273 TraceCheckUtils]: 27: Hoare triple {4538#(and (= (_ bv0 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv12 32)))) (= main_~i~0 (_ bv0 32)))} havoc #t~mem4; {4538#(and (= (_ bv0 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv12 32)))) (= main_~i~0 (_ bv0 32)))} is VALID [2018-11-23 10:26:21,942 INFO L273 TraceCheckUtils]: 28: Hoare triple {4538#(and (= (_ bv0 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv12 32)))) (= main_~i~0 (_ bv0 32)))} #t~post3 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post3);havoc #t~post3; {4564#(and (= (_ bv0 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv12 32)))) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:26:21,943 INFO L273 TraceCheckUtils]: 29: Hoare triple {4564#(and (= (_ bv0 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv12 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); {4564#(and (= (_ bv0 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv12 32)))) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:26:21,946 INFO L256 TraceCheckUtils]: 30: Hoare triple {4564#(and (= (_ bv0 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv12 32)))) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} call __VERIFIER_assert((if 0bv32 == #t~mem4 then 1bv32 else 0bv32)); {4545#(exists ((|v_main_~#a~0.base_BEFORE_CALL_5| (_ BitVec 32)) (|v_main_~#a~0.offset_BEFORE_CALL_5| (_ BitVec 32))) (= (_ bv0 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) (bvadd |v_main_~#a~0.offset_BEFORE_CALL_5| (_ bv12 32)))))} is VALID [2018-11-23 10:26:21,947 INFO L273 TraceCheckUtils]: 31: Hoare triple {4545#(exists ((|v_main_~#a~0.base_BEFORE_CALL_5| (_ BitVec 32)) (|v_main_~#a~0.offset_BEFORE_CALL_5| (_ BitVec 32))) (= (_ bv0 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) (bvadd |v_main_~#a~0.offset_BEFORE_CALL_5| (_ bv12 32)))))} ~cond := #in~cond; {4545#(exists ((|v_main_~#a~0.base_BEFORE_CALL_5| (_ BitVec 32)) (|v_main_~#a~0.offset_BEFORE_CALL_5| (_ BitVec 32))) (= (_ bv0 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) (bvadd |v_main_~#a~0.offset_BEFORE_CALL_5| (_ bv12 32)))))} is VALID [2018-11-23 10:26:21,948 INFO L273 TraceCheckUtils]: 32: Hoare triple {4545#(exists ((|v_main_~#a~0.base_BEFORE_CALL_5| (_ BitVec 32)) (|v_main_~#a~0.offset_BEFORE_CALL_5| (_ BitVec 32))) (= (_ bv0 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) (bvadd |v_main_~#a~0.offset_BEFORE_CALL_5| (_ bv12 32)))))} assume !(0bv32 == ~cond); {4545#(exists ((|v_main_~#a~0.base_BEFORE_CALL_5| (_ BitVec 32)) (|v_main_~#a~0.offset_BEFORE_CALL_5| (_ BitVec 32))) (= (_ bv0 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) (bvadd |v_main_~#a~0.offset_BEFORE_CALL_5| (_ bv12 32)))))} is VALID [2018-11-23 10:26:21,948 INFO L273 TraceCheckUtils]: 33: Hoare triple {4545#(exists ((|v_main_~#a~0.base_BEFORE_CALL_5| (_ BitVec 32)) (|v_main_~#a~0.offset_BEFORE_CALL_5| (_ BitVec 32))) (= (_ bv0 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) (bvadd |v_main_~#a~0.offset_BEFORE_CALL_5| (_ bv12 32)))))} assume true; {4545#(exists ((|v_main_~#a~0.base_BEFORE_CALL_5| (_ BitVec 32)) (|v_main_~#a~0.offset_BEFORE_CALL_5| (_ BitVec 32))) (= (_ bv0 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) (bvadd |v_main_~#a~0.offset_BEFORE_CALL_5| (_ bv12 32)))))} is VALID [2018-11-23 10:26:21,950 INFO L268 TraceCheckUtils]: 34: Hoare quadruple {4545#(exists ((|v_main_~#a~0.base_BEFORE_CALL_5| (_ BitVec 32)) (|v_main_~#a~0.offset_BEFORE_CALL_5| (_ BitVec 32))) (= (_ bv0 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) (bvadd |v_main_~#a~0.offset_BEFORE_CALL_5| (_ bv12 32)))))} {4564#(and (= (_ bv0 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv12 32)))) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} #65#return; {4564#(and (= (_ bv0 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv12 32)))) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:26:21,951 INFO L273 TraceCheckUtils]: 35: Hoare triple {4564#(and (= (_ bv0 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv12 32)))) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} havoc #t~mem4; {4564#(and (= (_ bv0 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv12 32)))) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:26:21,952 INFO L273 TraceCheckUtils]: 36: Hoare triple {4564#(and (= (_ bv0 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv12 32)))) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} #t~post3 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post3);havoc #t~post3; {4589#(and (= (_ bv0 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv12 32)))) (= (_ bv2 32) main_~i~0))} is VALID [2018-11-23 10:26:21,953 INFO L273 TraceCheckUtils]: 37: Hoare triple {4589#(and (= (_ bv0 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv12 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); {4589#(and (= (_ bv0 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv12 32)))) (= (_ bv2 32) main_~i~0))} is VALID [2018-11-23 10:26:21,955 INFO L256 TraceCheckUtils]: 38: Hoare triple {4589#(and (= (_ bv0 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv12 32)))) (= (_ bv2 32) main_~i~0))} call __VERIFIER_assert((if 0bv32 == #t~mem4 then 1bv32 else 0bv32)); {4545#(exists ((|v_main_~#a~0.base_BEFORE_CALL_5| (_ BitVec 32)) (|v_main_~#a~0.offset_BEFORE_CALL_5| (_ BitVec 32))) (= (_ bv0 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) (bvadd |v_main_~#a~0.offset_BEFORE_CALL_5| (_ bv12 32)))))} is VALID [2018-11-23 10:26:21,960 INFO L273 TraceCheckUtils]: 39: Hoare triple {4545#(exists ((|v_main_~#a~0.base_BEFORE_CALL_5| (_ BitVec 32)) (|v_main_~#a~0.offset_BEFORE_CALL_5| (_ BitVec 32))) (= (_ bv0 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) (bvadd |v_main_~#a~0.offset_BEFORE_CALL_5| (_ bv12 32)))))} ~cond := #in~cond; {4545#(exists ((|v_main_~#a~0.base_BEFORE_CALL_5| (_ BitVec 32)) (|v_main_~#a~0.offset_BEFORE_CALL_5| (_ BitVec 32))) (= (_ bv0 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) (bvadd |v_main_~#a~0.offset_BEFORE_CALL_5| (_ bv12 32)))))} is VALID [2018-11-23 10:26:21,961 INFO L273 TraceCheckUtils]: 40: Hoare triple {4545#(exists ((|v_main_~#a~0.base_BEFORE_CALL_5| (_ BitVec 32)) (|v_main_~#a~0.offset_BEFORE_CALL_5| (_ BitVec 32))) (= (_ bv0 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) (bvadd |v_main_~#a~0.offset_BEFORE_CALL_5| (_ bv12 32)))))} assume !(0bv32 == ~cond); {4545#(exists ((|v_main_~#a~0.base_BEFORE_CALL_5| (_ BitVec 32)) (|v_main_~#a~0.offset_BEFORE_CALL_5| (_ BitVec 32))) (= (_ bv0 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) (bvadd |v_main_~#a~0.offset_BEFORE_CALL_5| (_ bv12 32)))))} is VALID [2018-11-23 10:26:21,961 INFO L273 TraceCheckUtils]: 41: Hoare triple {4545#(exists ((|v_main_~#a~0.base_BEFORE_CALL_5| (_ BitVec 32)) (|v_main_~#a~0.offset_BEFORE_CALL_5| (_ BitVec 32))) (= (_ bv0 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) (bvadd |v_main_~#a~0.offset_BEFORE_CALL_5| (_ bv12 32)))))} assume true; {4545#(exists ((|v_main_~#a~0.base_BEFORE_CALL_5| (_ BitVec 32)) (|v_main_~#a~0.offset_BEFORE_CALL_5| (_ BitVec 32))) (= (_ bv0 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) (bvadd |v_main_~#a~0.offset_BEFORE_CALL_5| (_ bv12 32)))))} is VALID [2018-11-23 10:26:21,962 INFO L268 TraceCheckUtils]: 42: Hoare quadruple {4545#(exists ((|v_main_~#a~0.base_BEFORE_CALL_5| (_ BitVec 32)) (|v_main_~#a~0.offset_BEFORE_CALL_5| (_ BitVec 32))) (= (_ bv0 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) (bvadd |v_main_~#a~0.offset_BEFORE_CALL_5| (_ bv12 32)))))} {4589#(and (= (_ bv0 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv12 32)))) (= (_ bv2 32) main_~i~0))} #65#return; {4589#(and (= (_ bv0 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv12 32)))) (= (_ bv2 32) main_~i~0))} is VALID [2018-11-23 10:26:21,963 INFO L273 TraceCheckUtils]: 43: Hoare triple {4589#(and (= (_ bv0 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv12 32)))) (= (_ bv2 32) main_~i~0))} havoc #t~mem4; {4589#(and (= (_ bv0 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv12 32)))) (= (_ bv2 32) main_~i~0))} is VALID [2018-11-23 10:26:21,964 INFO L273 TraceCheckUtils]: 44: Hoare triple {4589#(and (= (_ bv0 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv12 32)))) (= (_ bv2 32) main_~i~0))} #t~post3 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post3);havoc #t~post3; {4614#(and (= (_ bv0 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv12 32)))) (= (bvadd main_~i~0 (_ bv4294967293 32)) (_ bv0 32)))} is VALID [2018-11-23 10:26:21,965 INFO L273 TraceCheckUtils]: 45: Hoare triple {4614#(and (= (_ bv0 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv12 32)))) (= (bvadd main_~i~0 (_ bv4294967293 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); {4618#(= (_ bv0 32) |main_#t~mem4|)} is VALID [2018-11-23 10:26:21,966 INFO L256 TraceCheckUtils]: 46: Hoare triple {4618#(= (_ bv0 32) |main_#t~mem4|)} call __VERIFIER_assert((if 0bv32 == #t~mem4 then 1bv32 else 0bv32)); {4622#(= (bvadd |__VERIFIER_assert_#in~cond| (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 10:26:21,967 INFO L273 TraceCheckUtils]: 47: Hoare triple {4622#(= (bvadd |__VERIFIER_assert_#in~cond| (_ bv4294967295 32)) (_ bv0 32))} ~cond := #in~cond; {4626#(= (bvadd __VERIFIER_assert_~cond (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 10:26:21,968 INFO L273 TraceCheckUtils]: 48: Hoare triple {4626#(= (bvadd __VERIFIER_assert_~cond (_ bv4294967295 32)) (_ bv0 32))} assume 0bv32 == ~cond; {4469#false} is VALID [2018-11-23 10:26:21,968 INFO L273 TraceCheckUtils]: 49: Hoare triple {4469#false} assume !false; {4469#false} is VALID [2018-11-23 10:26:21,980 INFO L134 CoverageAnalysis]: Checked inductivity of 58 backedges. 0 proven. 46 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2018-11-23 10:26:21,980 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-23 10:26:30,400 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 16 treesize of output 14 [2018-11-23 10:26:30,466 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 7 treesize of output 3 [2018-11-23 10:26:30,497 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 10:26:30,533 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 10:26:30,536 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 10:26:30,536 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 3 variables, input treesize:16, output treesize:5 [2018-11-23 10:26:30,541 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 10:26:30,541 WARN L384 uantifierElimination]: Input elimination task: ∀ [|#memory_int|, |main_~#a~0.base|, |main_~#a~0.offset|]. (= (_ bv0 32) (select (store (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0)) (_ bv0 32)) (bvadd |main_~#a~0.offset| (_ bv12 32)))) [2018-11-23 10:26:30,541 WARN L385 uantifierElimination]: ElimStorePlain result: ∀ []. (= (_ bv12 32) (bvmul (_ bv4 32) main_~i~0)) [2018-11-23 10:26:30,783 INFO L273 TraceCheckUtils]: 49: Hoare triple {4469#false} assume !false; {4469#false} is VALID [2018-11-23 10:26:30,784 INFO L273 TraceCheckUtils]: 48: Hoare triple {4636#(not (= (_ bv0 32) __VERIFIER_assert_~cond))} assume 0bv32 == ~cond; {4469#false} is VALID [2018-11-23 10:26:30,784 INFO L273 TraceCheckUtils]: 47: Hoare triple {4640#(not (= |__VERIFIER_assert_#in~cond| (_ bv0 32)))} ~cond := #in~cond; {4636#(not (= (_ bv0 32) __VERIFIER_assert_~cond))} is VALID [2018-11-23 10:26:30,785 INFO L256 TraceCheckUtils]: 46: Hoare triple {4618#(= (_ bv0 32) |main_#t~mem4|)} call __VERIFIER_assert((if 0bv32 == #t~mem4 then 1bv32 else 0bv32)); {4640#(not (= |__VERIFIER_assert_#in~cond| (_ bv0 32)))} is VALID [2018-11-23 10:26:30,786 INFO L273 TraceCheckUtils]: 45: Hoare triple {4647#(= (_ bv0 32) (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~mem4 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {4618#(= (_ bv0 32) |main_#t~mem4|)} is VALID [2018-11-23 10:26:30,981 INFO L273 TraceCheckUtils]: 44: Hoare triple {4651#(= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4 32))) (_ bv0 32))} #t~post3 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post3);havoc #t~post3; {4647#(= (_ bv0 32) (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:26:30,982 INFO L273 TraceCheckUtils]: 43: Hoare triple {4651#(= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4 32))) (_ bv0 32))} havoc #t~mem4; {4651#(= (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:26:30,982 INFO L268 TraceCheckUtils]: 42: Hoare quadruple {4468#true} {4651#(= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4 32))) (_ bv0 32))} #65#return; {4651#(= (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:26:30,983 INFO L273 TraceCheckUtils]: 41: Hoare triple {4468#true} assume true; {4468#true} is VALID [2018-11-23 10:26:30,983 INFO L273 TraceCheckUtils]: 40: Hoare triple {4468#true} assume !(0bv32 == ~cond); {4468#true} is VALID [2018-11-23 10:26:30,983 INFO L273 TraceCheckUtils]: 39: Hoare triple {4468#true} ~cond := #in~cond; {4468#true} is VALID [2018-11-23 10:26:30,983 INFO L256 TraceCheckUtils]: 38: Hoare triple {4651#(= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4 32))) (_ bv0 32))} call __VERIFIER_assert((if 0bv32 == #t~mem4 then 1bv32 else 0bv32)); {4468#true} is VALID [2018-11-23 10:26:30,984 INFO L273 TraceCheckUtils]: 37: Hoare triple {4651#(= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ 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); {4651#(= (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:26:31,230 INFO L273 TraceCheckUtils]: 36: Hoare triple {4676#(= (_ bv0 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; {4651#(= (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:26:31,231 INFO L273 TraceCheckUtils]: 35: Hoare triple {4676#(= (_ bv0 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv8 32))))} havoc #t~mem4; {4676#(= (_ bv0 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:26:31,232 INFO L268 TraceCheckUtils]: 34: Hoare quadruple {4468#true} {4676#(= (_ bv0 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv8 32))))} #65#return; {4676#(= (_ bv0 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:26:31,232 INFO L273 TraceCheckUtils]: 33: Hoare triple {4468#true} assume true; {4468#true} is VALID [2018-11-23 10:26:31,232 INFO L273 TraceCheckUtils]: 32: Hoare triple {4468#true} assume !(0bv32 == ~cond); {4468#true} is VALID [2018-11-23 10:26:31,232 INFO L273 TraceCheckUtils]: 31: Hoare triple {4468#true} ~cond := #in~cond; {4468#true} is VALID [2018-11-23 10:26:31,232 INFO L256 TraceCheckUtils]: 30: Hoare triple {4676#(= (_ bv0 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv8 32))))} call __VERIFIER_assert((if 0bv32 == #t~mem4 then 1bv32 else 0bv32)); {4468#true} is VALID [2018-11-23 10:26:31,233 INFO L273 TraceCheckUtils]: 29: Hoare triple {4676#(= (_ bv0 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv8 32))))} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem4 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {4676#(= (_ bv0 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:26:31,519 INFO L273 TraceCheckUtils]: 28: Hoare triple {4701#(= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv12 32))) (_ bv0 32))} #t~post3 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post3);havoc #t~post3; {4676#(= (_ bv0 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:26:31,520 INFO L273 TraceCheckUtils]: 27: Hoare triple {4701#(= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv12 32))) (_ bv0 32))} havoc #t~mem4; {4701#(= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv12 32))) (_ bv0 32))} is VALID [2018-11-23 10:26:31,520 INFO L268 TraceCheckUtils]: 26: Hoare quadruple {4468#true} {4701#(= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv12 32))) (_ bv0 32))} #65#return; {4701#(= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv12 32))) (_ bv0 32))} is VALID [2018-11-23 10:26:31,520 INFO L273 TraceCheckUtils]: 25: Hoare triple {4468#true} assume true; {4468#true} is VALID [2018-11-23 10:26:31,520 INFO L273 TraceCheckUtils]: 24: Hoare triple {4468#true} assume !(0bv32 == ~cond); {4468#true} is VALID [2018-11-23 10:26:31,521 INFO L273 TraceCheckUtils]: 23: Hoare triple {4468#true} ~cond := #in~cond; {4468#true} is VALID [2018-11-23 10:26:31,521 INFO L256 TraceCheckUtils]: 22: Hoare triple {4701#(= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv12 32))) (_ bv0 32))} call __VERIFIER_assert((if 0bv32 == #t~mem4 then 1bv32 else 0bv32)); {4468#true} is VALID [2018-11-23 10:26:31,521 INFO L273 TraceCheckUtils]: 21: Hoare triple {4701#(= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv12 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); {4701#(= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv12 32))) (_ bv0 32))} is VALID [2018-11-23 10:26:31,522 INFO L273 TraceCheckUtils]: 20: Hoare triple {4528#(= (_ bv0 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv12 32))))} ~i~0 := 0bv32; {4701#(= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv12 32))) (_ bv0 32))} is VALID [2018-11-23 10:26:31,522 INFO L273 TraceCheckUtils]: 19: Hoare triple {4528#(= (_ bv0 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv12 32))))} assume !~bvslt32(~i~0, ~SIZE~0); {4528#(= (_ bv0 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv12 32))))} is VALID [2018-11-23 10:26:31,523 INFO L273 TraceCheckUtils]: 18: Hoare triple {4528#(= (_ bv0 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv12 32))))} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {4528#(= (_ bv0 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv12 32))))} is VALID [2018-11-23 10:26:31,524 INFO L273 TraceCheckUtils]: 17: Hoare triple {4735#(= (_ bv12 32) (bvmul (_ bv4 32) main_~i~0))} assume !~bvsgt32(~bvashr32(~i~0, 16bv32), 250bv32);call write~intINTTYPE4(0bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {4528#(= (_ bv0 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv12 32))))} is VALID [2018-11-23 10:26:31,524 INFO L273 TraceCheckUtils]: 16: Hoare triple {4735#(= (_ bv12 32) (bvmul (_ bv4 32) main_~i~0))} assume !!~bvslt32(~i~0, ~SIZE~0); {4735#(= (_ bv12 32) (bvmul (_ bv4 32) main_~i~0))} is VALID [2018-11-23 10:26:31,526 INFO L273 TraceCheckUtils]: 15: Hoare triple {4742#(= (_ bv8 32) (bvmul (_ bv4 32) main_~i~0))} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {4735#(= (_ bv12 32) (bvmul (_ bv4 32) main_~i~0))} is VALID [2018-11-23 10:26:31,527 INFO L273 TraceCheckUtils]: 14: Hoare triple {4742#(= (_ bv8 32) (bvmul (_ bv4 32) main_~i~0))} assume !~bvsgt32(~bvashr32(~i~0, 16bv32), 250bv32);call write~intINTTYPE4(0bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {4742#(= (_ bv8 32) (bvmul (_ bv4 32) main_~i~0))} is VALID [2018-11-23 10:26:31,527 INFO L273 TraceCheckUtils]: 13: Hoare triple {4742#(= (_ bv8 32) (bvmul (_ bv4 32) main_~i~0))} assume !!~bvslt32(~i~0, ~SIZE~0); {4742#(= (_ bv8 32) (bvmul (_ bv4 32) main_~i~0))} is VALID [2018-11-23 10:26:31,529 INFO L273 TraceCheckUtils]: 12: Hoare triple {4752#(= (_ bv4 32) (bvmul (_ bv4 32) main_~i~0))} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {4742#(= (_ bv8 32) (bvmul (_ bv4 32) main_~i~0))} is VALID [2018-11-23 10:26:31,529 INFO L273 TraceCheckUtils]: 11: Hoare triple {4752#(= (_ bv4 32) (bvmul (_ bv4 32) main_~i~0))} assume !~bvsgt32(~bvashr32(~i~0, 16bv32), 250bv32);call write~intINTTYPE4(0bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {4752#(= (_ bv4 32) (bvmul (_ bv4 32) main_~i~0))} is VALID [2018-11-23 10:26:31,529 INFO L273 TraceCheckUtils]: 10: Hoare triple {4752#(= (_ bv4 32) (bvmul (_ bv4 32) main_~i~0))} assume !!~bvslt32(~i~0, ~SIZE~0); {4752#(= (_ bv4 32) (bvmul (_ bv4 32) main_~i~0))} is VALID [2018-11-23 10:26:31,531 INFO L273 TraceCheckUtils]: 9: Hoare triple {4762#(= (_ bv0 32) (bvmul (_ bv4 32) main_~i~0))} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {4752#(= (_ bv4 32) (bvmul (_ bv4 32) main_~i~0))} is VALID [2018-11-23 10:26:31,532 INFO L273 TraceCheckUtils]: 8: Hoare triple {4762#(= (_ bv0 32) (bvmul (_ bv4 32) main_~i~0))} assume !~bvsgt32(~bvashr32(~i~0, 16bv32), 250bv32);call write~intINTTYPE4(0bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {4762#(= (_ bv0 32) (bvmul (_ bv4 32) main_~i~0))} is VALID [2018-11-23 10:26:31,532 INFO L273 TraceCheckUtils]: 7: Hoare triple {4762#(= (_ bv0 32) (bvmul (_ bv4 32) main_~i~0))} assume !!~bvslt32(~i~0, ~SIZE~0); {4762#(= (_ bv0 32) (bvmul (_ bv4 32) main_~i~0))} is VALID [2018-11-23 10:26:31,533 INFO L273 TraceCheckUtils]: 6: Hoare triple {4468#true} assume ~bvsgt32(~SIZE~0, 1bv32);havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~bvmul32(4bv32, ~SIZE~0));~i~0 := 0bv32; {4762#(= (_ bv0 32) (bvmul (_ bv4 32) main_~i~0))} is VALID [2018-11-23 10:26:31,533 INFO L273 TraceCheckUtils]: 5: Hoare triple {4468#true} ~SIZE~0 := #t~nondet1;havoc #t~nondet1; {4468#true} is VALID [2018-11-23 10:26:31,533 INFO L256 TraceCheckUtils]: 4: Hoare triple {4468#true} call #t~ret5 := main(); {4468#true} is VALID [2018-11-23 10:26:31,534 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {4468#true} {4468#true} #61#return; {4468#true} is VALID [2018-11-23 10:26:31,534 INFO L273 TraceCheckUtils]: 2: Hoare triple {4468#true} assume true; {4468#true} is VALID [2018-11-23 10:26:31,534 INFO L273 TraceCheckUtils]: 1: Hoare triple {4468#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];~SIZE~0 := 0bv32; {4468#true} is VALID [2018-11-23 10:26:31,534 INFO L256 TraceCheckUtils]: 0: Hoare triple {4468#true} call ULTIMATE.init(); {4468#true} is VALID [2018-11-23 10:26:31,539 INFO L134 CoverageAnalysis]: Checked inductivity of 58 backedges. 6 proven. 40 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2018-11-23 10:26:31,540 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 10:26:31,541 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 14] total 25 [2018-11-23 10:26:31,541 INFO L78 Accepts]: Start accepts. Automaton has 25 states. Word has length 50 [2018-11-23 10:26:31,542 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 10:26:31,542 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 25 states. [2018-11-23 10:26:32,627 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 79 edges. 79 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:26:32,628 INFO L459 AbstractCegarLoop]: Interpolant automaton has 25 states [2018-11-23 10:26:32,628 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 25 interpolants. [2018-11-23 10:26:32,628 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=74, Invalid=522, Unknown=4, NotChecked=0, Total=600 [2018-11-23 10:26:32,628 INFO L87 Difference]: Start difference. First operand 84 states and 99 transitions. Second operand 25 states. [2018-11-23 10:27:00,086 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:27:00,086 INFO L93 Difference]: Finished difference Result 122 states and 141 transitions. [2018-11-23 10:27:00,086 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2018-11-23 10:27:00,087 INFO L78 Accepts]: Start accepts. Automaton has 25 states. Word has length 50 [2018-11-23 10:27:00,087 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 10:27:00,087 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 25 states. [2018-11-23 10:27:00,089 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 96 transitions. [2018-11-23 10:27:00,089 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 25 states. [2018-11-23 10:27:00,091 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 96 transitions. [2018-11-23 10:27:00,091 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 18 states and 96 transitions. [2018-11-23 10:27:00,812 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 96 edges. 96 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:27:00,816 INFO L225 Difference]: With dead ends: 122 [2018-11-23 10:27:00,817 INFO L226 Difference]: Without dead ends: 120 [2018-11-23 10:27:00,818 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 104 GetRequests, 71 SyntacticMatches, 5 SemanticMatches, 28 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 169 ImplicationChecksByTransitivity, 9.0s TimeCoverageRelationStatistics Valid=108, Invalid=758, Unknown=4, NotChecked=0, Total=870 [2018-11-23 10:27:00,818 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 120 states. [2018-11-23 10:27:01,151 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 120 to 92. [2018-11-23 10:27:01,152 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 10:27:01,152 INFO L82 GeneralOperation]: Start isEquivalent. First operand 120 states. Second operand 92 states. [2018-11-23 10:27:01,152 INFO L74 IsIncluded]: Start isIncluded. First operand 120 states. Second operand 92 states. [2018-11-23 10:27:01,152 INFO L87 Difference]: Start difference. First operand 120 states. Second operand 92 states. [2018-11-23 10:27:01,157 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:27:01,157 INFO L93 Difference]: Finished difference Result 120 states and 139 transitions. [2018-11-23 10:27:01,157 INFO L276 IsEmpty]: Start isEmpty. Operand 120 states and 139 transitions. [2018-11-23 10:27:01,158 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:27:01,158 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:27:01,158 INFO L74 IsIncluded]: Start isIncluded. First operand 92 states. Second operand 120 states. [2018-11-23 10:27:01,158 INFO L87 Difference]: Start difference. First operand 92 states. Second operand 120 states. [2018-11-23 10:27:01,162 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:27:01,162 INFO L93 Difference]: Finished difference Result 120 states and 139 transitions. [2018-11-23 10:27:01,162 INFO L276 IsEmpty]: Start isEmpty. Operand 120 states and 139 transitions. [2018-11-23 10:27:01,163 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:27:01,163 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:27:01,163 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 10:27:01,163 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 10:27:01,164 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 92 states. [2018-11-23 10:27:01,166 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 92 states to 92 states and 107 transitions. [2018-11-23 10:27:01,166 INFO L78 Accepts]: Start accepts. Automaton has 92 states and 107 transitions. Word has length 50 [2018-11-23 10:27:01,166 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 10:27:01,166 INFO L480 AbstractCegarLoop]: Abstraction has 92 states and 107 transitions. [2018-11-23 10:27:01,167 INFO L481 AbstractCegarLoop]: Interpolant automaton has 25 states. [2018-11-23 10:27:01,167 INFO L276 IsEmpty]: Start isEmpty. Operand 92 states and 107 transitions. [2018-11-23 10:27:01,167 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 59 [2018-11-23 10:27:01,168 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 10:27:01,168 INFO L402 BasicCegarLoop]: trace histogram [5, 5, 5, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 10:27:01,168 INFO L423 AbstractCegarLoop]: === Iteration 11 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 10:27:01,168 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 10:27:01,168 INFO L82 PathProgramCache]: Analyzing trace with hash 1167708885, now seen corresponding path program 5 times [2018-11-23 10:27:01,169 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 10:27:01,169 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:27:01,198 INFO L101 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2018-11-23 10:27:01,501 INFO L249 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 5 check-sat command(s) [2018-11-23 10:27:01,501 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 10:27:01,536 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:27:01,538 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 10:27:01,869 INFO L256 TraceCheckUtils]: 0: Hoare triple {5335#true} call ULTIMATE.init(); {5335#true} is VALID [2018-11-23 10:27:01,870 INFO L273 TraceCheckUtils]: 1: Hoare triple {5335#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];~SIZE~0 := 0bv32; {5335#true} is VALID [2018-11-23 10:27:01,870 INFO L273 TraceCheckUtils]: 2: Hoare triple {5335#true} assume true; {5335#true} is VALID [2018-11-23 10:27:01,870 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {5335#true} {5335#true} #61#return; {5335#true} is VALID [2018-11-23 10:27:01,870 INFO L256 TraceCheckUtils]: 4: Hoare triple {5335#true} call #t~ret5 := main(); {5335#true} is VALID [2018-11-23 10:27:01,870 INFO L273 TraceCheckUtils]: 5: Hoare triple {5335#true} ~SIZE~0 := #t~nondet1;havoc #t~nondet1; {5335#true} is VALID [2018-11-23 10:27:01,871 INFO L273 TraceCheckUtils]: 6: Hoare triple {5335#true} assume ~bvsgt32(~SIZE~0, 1bv32);havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~bvmul32(4bv32, ~SIZE~0));~i~0 := 0bv32; {5358#(and (= main_~i~0 (_ bv0 32)) (bvsgt ~SIZE~0 (_ bv1 32)))} is VALID [2018-11-23 10:27:01,871 INFO L273 TraceCheckUtils]: 7: Hoare triple {5358#(and (= main_~i~0 (_ bv0 32)) (bvsgt ~SIZE~0 (_ bv1 32)))} assume !!~bvslt32(~i~0, ~SIZE~0); {5358#(and (= main_~i~0 (_ bv0 32)) (bvsgt ~SIZE~0 (_ bv1 32)))} is VALID [2018-11-23 10:27:01,872 INFO L273 TraceCheckUtils]: 8: Hoare triple {5358#(and (= main_~i~0 (_ bv0 32)) (bvsgt ~SIZE~0 (_ bv1 32)))} assume !~bvsgt32(~bvashr32(~i~0, 16bv32), 250bv32);call write~intINTTYPE4(0bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {5358#(and (= main_~i~0 (_ bv0 32)) (bvsgt ~SIZE~0 (_ bv1 32)))} is VALID [2018-11-23 10:27:01,872 INFO L273 TraceCheckUtils]: 9: Hoare triple {5358#(and (= main_~i~0 (_ bv0 32)) (bvsgt ~SIZE~0 (_ bv1 32)))} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {5368#(and (bvsgt ~SIZE~0 (_ bv1 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:27:01,873 INFO L273 TraceCheckUtils]: 10: Hoare triple {5368#(and (bvsgt ~SIZE~0 (_ bv1 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} assume !!~bvslt32(~i~0, ~SIZE~0); {5368#(and (bvsgt ~SIZE~0 (_ bv1 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:27:01,873 INFO L273 TraceCheckUtils]: 11: Hoare triple {5368#(and (bvsgt ~SIZE~0 (_ bv1 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} assume !~bvsgt32(~bvashr32(~i~0, 16bv32), 250bv32);call write~intINTTYPE4(0bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {5368#(and (bvsgt ~SIZE~0 (_ bv1 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:27:01,874 INFO L273 TraceCheckUtils]: 12: Hoare triple {5368#(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; {5378#(and (bvsgt ~SIZE~0 (_ bv1 32)) (= (_ bv2 32) main_~i~0))} is VALID [2018-11-23 10:27:01,874 INFO L273 TraceCheckUtils]: 13: Hoare triple {5378#(and (bvsgt ~SIZE~0 (_ bv1 32)) (= (_ bv2 32) main_~i~0))} assume !!~bvslt32(~i~0, ~SIZE~0); {5378#(and (bvsgt ~SIZE~0 (_ bv1 32)) (= (_ bv2 32) main_~i~0))} is VALID [2018-11-23 10:27:01,875 INFO L273 TraceCheckUtils]: 14: Hoare triple {5378#(and (bvsgt ~SIZE~0 (_ bv1 32)) (= (_ bv2 32) main_~i~0))} assume !~bvsgt32(~bvashr32(~i~0, 16bv32), 250bv32);call write~intINTTYPE4(0bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {5378#(and (bvsgt ~SIZE~0 (_ bv1 32)) (= (_ bv2 32) main_~i~0))} is VALID [2018-11-23 10:27:01,876 INFO L273 TraceCheckUtils]: 15: Hoare triple {5378#(and (bvsgt ~SIZE~0 (_ bv1 32)) (= (_ bv2 32) main_~i~0))} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {5388#(and (= (bvadd main_~i~0 (_ bv4294967293 32)) (_ bv0 32)) (bvsgt ~SIZE~0 (_ bv1 32)))} is VALID [2018-11-23 10:27:01,877 INFO L273 TraceCheckUtils]: 16: Hoare triple {5388#(and (= (bvadd main_~i~0 (_ bv4294967293 32)) (_ bv0 32)) (bvsgt ~SIZE~0 (_ bv1 32)))} assume !!~bvslt32(~i~0, ~SIZE~0); {5392#(and (= (bvadd main_~i~0 (_ bv4294967293 32)) (_ bv0 32)) (bvslt main_~i~0 ~SIZE~0))} is VALID [2018-11-23 10:27:01,878 INFO L273 TraceCheckUtils]: 17: Hoare triple {5392#(and (= (bvadd main_~i~0 (_ bv4294967293 32)) (_ bv0 32)) (bvslt main_~i~0 ~SIZE~0))} assume !~bvsgt32(~bvashr32(~i~0, 16bv32), 250bv32);call write~intINTTYPE4(0bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {5392#(and (= (bvadd main_~i~0 (_ bv4294967293 32)) (_ bv0 32)) (bvslt main_~i~0 ~SIZE~0))} is VALID [2018-11-23 10:27:01,879 INFO L273 TraceCheckUtils]: 18: Hoare triple {5392#(and (= (bvadd main_~i~0 (_ bv4294967293 32)) (_ bv0 32)) (bvslt main_~i~0 ~SIZE~0))} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {5399#(and (bvslt (bvadd main_~i~0 (_ bv4294967295 32)) ~SIZE~0) (= (_ bv4 32) main_~i~0))} is VALID [2018-11-23 10:27:01,880 INFO L273 TraceCheckUtils]: 19: Hoare triple {5399#(and (bvslt (bvadd main_~i~0 (_ bv4294967295 32)) ~SIZE~0) (= (_ bv4 32) main_~i~0))} assume !~bvslt32(~i~0, ~SIZE~0); {5403#(and (not (bvslt (_ bv4 32) ~SIZE~0)) (bvslt (_ bv3 32) ~SIZE~0))} is VALID [2018-11-23 10:27:01,881 INFO L273 TraceCheckUtils]: 20: Hoare triple {5403#(and (not (bvslt (_ bv4 32) ~SIZE~0)) (bvslt (_ bv3 32) ~SIZE~0))} ~i~0 := 0bv32; {5407#(and (not (bvslt (_ bv4 32) ~SIZE~0)) (= main_~i~0 (_ bv0 32)) (bvslt (_ bv3 32) ~SIZE~0))} is VALID [2018-11-23 10:27:01,882 INFO L273 TraceCheckUtils]: 21: Hoare triple {5407#(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~mem4 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {5407#(and (not (bvslt (_ bv4 32) ~SIZE~0)) (= main_~i~0 (_ bv0 32)) (bvslt (_ bv3 32) ~SIZE~0))} is VALID [2018-11-23 10:27:01,883 INFO L256 TraceCheckUtils]: 22: Hoare triple {5407#(and (not (bvslt (_ bv4 32) ~SIZE~0)) (= main_~i~0 (_ bv0 32)) (bvslt (_ bv3 32) ~SIZE~0))} call __VERIFIER_assert((if 0bv32 == #t~mem4 then 1bv32 else 0bv32)); {5403#(and (not (bvslt (_ bv4 32) ~SIZE~0)) (bvslt (_ bv3 32) ~SIZE~0))} is VALID [2018-11-23 10:27:01,884 INFO L273 TraceCheckUtils]: 23: Hoare triple {5403#(and (not (bvslt (_ bv4 32) ~SIZE~0)) (bvslt (_ bv3 32) ~SIZE~0))} ~cond := #in~cond; {5403#(and (not (bvslt (_ bv4 32) ~SIZE~0)) (bvslt (_ bv3 32) ~SIZE~0))} is VALID [2018-11-23 10:27:01,885 INFO L273 TraceCheckUtils]: 24: Hoare triple {5403#(and (not (bvslt (_ bv4 32) ~SIZE~0)) (bvslt (_ bv3 32) ~SIZE~0))} assume !(0bv32 == ~cond); {5403#(and (not (bvslt (_ bv4 32) ~SIZE~0)) (bvslt (_ bv3 32) ~SIZE~0))} is VALID [2018-11-23 10:27:01,885 INFO L273 TraceCheckUtils]: 25: Hoare triple {5403#(and (not (bvslt (_ bv4 32) ~SIZE~0)) (bvslt (_ bv3 32) ~SIZE~0))} assume true; {5403#(and (not (bvslt (_ bv4 32) ~SIZE~0)) (bvslt (_ bv3 32) ~SIZE~0))} is VALID [2018-11-23 10:27:01,886 INFO L268 TraceCheckUtils]: 26: Hoare quadruple {5403#(and (not (bvslt (_ bv4 32) ~SIZE~0)) (bvslt (_ bv3 32) ~SIZE~0))} {5407#(and (not (bvslt (_ bv4 32) ~SIZE~0)) (= main_~i~0 (_ bv0 32)) (bvslt (_ bv3 32) ~SIZE~0))} #65#return; {5407#(and (not (bvslt (_ bv4 32) ~SIZE~0)) (= main_~i~0 (_ bv0 32)) (bvslt (_ bv3 32) ~SIZE~0))} is VALID [2018-11-23 10:27:01,887 INFO L273 TraceCheckUtils]: 27: Hoare triple {5407#(and (not (bvslt (_ bv4 32) ~SIZE~0)) (= main_~i~0 (_ bv0 32)) (bvslt (_ bv3 32) ~SIZE~0))} havoc #t~mem4; {5407#(and (not (bvslt (_ bv4 32) ~SIZE~0)) (= main_~i~0 (_ bv0 32)) (bvslt (_ bv3 32) ~SIZE~0))} is VALID [2018-11-23 10:27:01,888 INFO L273 TraceCheckUtils]: 28: Hoare triple {5407#(and (not (bvslt (_ bv4 32) ~SIZE~0)) (= main_~i~0 (_ bv0 32)) (bvslt (_ bv3 32) ~SIZE~0))} #t~post3 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post3);havoc #t~post3; {5432#(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:27:01,889 INFO L273 TraceCheckUtils]: 29: Hoare triple {5432#(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~mem4 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {5432#(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:27:01,890 INFO L256 TraceCheckUtils]: 30: Hoare triple {5432#(and (not (bvslt (_ bv4 32) ~SIZE~0)) (bvslt (_ bv3 32) ~SIZE~0) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} call __VERIFIER_assert((if 0bv32 == #t~mem4 then 1bv32 else 0bv32)); {5403#(and (not (bvslt (_ bv4 32) ~SIZE~0)) (bvslt (_ bv3 32) ~SIZE~0))} is VALID [2018-11-23 10:27:01,891 INFO L273 TraceCheckUtils]: 31: Hoare triple {5403#(and (not (bvslt (_ bv4 32) ~SIZE~0)) (bvslt (_ bv3 32) ~SIZE~0))} ~cond := #in~cond; {5403#(and (not (bvslt (_ bv4 32) ~SIZE~0)) (bvslt (_ bv3 32) ~SIZE~0))} is VALID [2018-11-23 10:27:01,892 INFO L273 TraceCheckUtils]: 32: Hoare triple {5403#(and (not (bvslt (_ bv4 32) ~SIZE~0)) (bvslt (_ bv3 32) ~SIZE~0))} assume !(0bv32 == ~cond); {5403#(and (not (bvslt (_ bv4 32) ~SIZE~0)) (bvslt (_ bv3 32) ~SIZE~0))} is VALID [2018-11-23 10:27:01,893 INFO L273 TraceCheckUtils]: 33: Hoare triple {5403#(and (not (bvslt (_ bv4 32) ~SIZE~0)) (bvslt (_ bv3 32) ~SIZE~0))} assume true; {5403#(and (not (bvslt (_ bv4 32) ~SIZE~0)) (bvslt (_ bv3 32) ~SIZE~0))} is VALID [2018-11-23 10:27:01,893 INFO L268 TraceCheckUtils]: 34: Hoare quadruple {5403#(and (not (bvslt (_ bv4 32) ~SIZE~0)) (bvslt (_ bv3 32) ~SIZE~0))} {5432#(and (not (bvslt (_ bv4 32) ~SIZE~0)) (bvslt (_ bv3 32) ~SIZE~0) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} #65#return; {5432#(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:27:01,894 INFO L273 TraceCheckUtils]: 35: Hoare triple {5432#(and (not (bvslt (_ bv4 32) ~SIZE~0)) (bvslt (_ bv3 32) ~SIZE~0) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} havoc #t~mem4; {5432#(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:27:01,895 INFO L273 TraceCheckUtils]: 36: Hoare triple {5432#(and (not (bvslt (_ bv4 32) ~SIZE~0)) (bvslt (_ bv3 32) ~SIZE~0) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} #t~post3 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post3);havoc #t~post3; {5457#(and (not (bvslt (_ bv4 32) ~SIZE~0)) (= (_ bv2 32) main_~i~0) (bvslt (_ bv3 32) ~SIZE~0))} is VALID [2018-11-23 10:27:01,896 INFO L273 TraceCheckUtils]: 37: Hoare triple {5457#(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~mem4 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {5457#(and (not (bvslt (_ bv4 32) ~SIZE~0)) (= (_ bv2 32) main_~i~0) (bvslt (_ bv3 32) ~SIZE~0))} is VALID [2018-11-23 10:27:01,897 INFO L256 TraceCheckUtils]: 38: Hoare triple {5457#(and (not (bvslt (_ bv4 32) ~SIZE~0)) (= (_ bv2 32) main_~i~0) (bvslt (_ bv3 32) ~SIZE~0))} call __VERIFIER_assert((if 0bv32 == #t~mem4 then 1bv32 else 0bv32)); {5403#(and (not (bvslt (_ bv4 32) ~SIZE~0)) (bvslt (_ bv3 32) ~SIZE~0))} is VALID [2018-11-23 10:27:01,898 INFO L273 TraceCheckUtils]: 39: Hoare triple {5403#(and (not (bvslt (_ bv4 32) ~SIZE~0)) (bvslt (_ bv3 32) ~SIZE~0))} ~cond := #in~cond; {5403#(and (not (bvslt (_ bv4 32) ~SIZE~0)) (bvslt (_ bv3 32) ~SIZE~0))} is VALID [2018-11-23 10:27:01,899 INFO L273 TraceCheckUtils]: 40: Hoare triple {5403#(and (not (bvslt (_ bv4 32) ~SIZE~0)) (bvslt (_ bv3 32) ~SIZE~0))} assume !(0bv32 == ~cond); {5403#(and (not (bvslt (_ bv4 32) ~SIZE~0)) (bvslt (_ bv3 32) ~SIZE~0))} is VALID [2018-11-23 10:27:01,900 INFO L273 TraceCheckUtils]: 41: Hoare triple {5403#(and (not (bvslt (_ bv4 32) ~SIZE~0)) (bvslt (_ bv3 32) ~SIZE~0))} assume true; {5403#(and (not (bvslt (_ bv4 32) ~SIZE~0)) (bvslt (_ bv3 32) ~SIZE~0))} is VALID [2018-11-23 10:27:01,901 INFO L268 TraceCheckUtils]: 42: Hoare quadruple {5403#(and (not (bvslt (_ bv4 32) ~SIZE~0)) (bvslt (_ bv3 32) ~SIZE~0))} {5457#(and (not (bvslt (_ bv4 32) ~SIZE~0)) (= (_ bv2 32) main_~i~0) (bvslt (_ bv3 32) ~SIZE~0))} #65#return; {5457#(and (not (bvslt (_ bv4 32) ~SIZE~0)) (= (_ bv2 32) main_~i~0) (bvslt (_ bv3 32) ~SIZE~0))} is VALID [2018-11-23 10:27:01,901 INFO L273 TraceCheckUtils]: 43: Hoare triple {5457#(and (not (bvslt (_ bv4 32) ~SIZE~0)) (= (_ bv2 32) main_~i~0) (bvslt (_ bv3 32) ~SIZE~0))} havoc #t~mem4; {5457#(and (not (bvslt (_ bv4 32) ~SIZE~0)) (= (_ bv2 32) main_~i~0) (bvslt (_ bv3 32) ~SIZE~0))} is VALID [2018-11-23 10:27:01,902 INFO L273 TraceCheckUtils]: 44: Hoare triple {5457#(and (not (bvslt (_ bv4 32) ~SIZE~0)) (= (_ bv2 32) main_~i~0) (bvslt (_ bv3 32) ~SIZE~0))} #t~post3 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post3);havoc #t~post3; {5482#(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:27:01,903 INFO L273 TraceCheckUtils]: 45: Hoare triple {5482#(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);call #t~mem4 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {5482#(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:27:01,904 INFO L256 TraceCheckUtils]: 46: Hoare triple {5482#(and (not (bvslt (_ bv4 32) ~SIZE~0)) (= (bvadd main_~i~0 (_ bv4294967293 32)) (_ bv0 32)) (bvslt (_ bv3 32) ~SIZE~0))} call __VERIFIER_assert((if 0bv32 == #t~mem4 then 1bv32 else 0bv32)); {5403#(and (not (bvslt (_ bv4 32) ~SIZE~0)) (bvslt (_ bv3 32) ~SIZE~0))} is VALID [2018-11-23 10:27:01,905 INFO L273 TraceCheckUtils]: 47: Hoare triple {5403#(and (not (bvslt (_ bv4 32) ~SIZE~0)) (bvslt (_ bv3 32) ~SIZE~0))} ~cond := #in~cond; {5403#(and (not (bvslt (_ bv4 32) ~SIZE~0)) (bvslt (_ bv3 32) ~SIZE~0))} is VALID [2018-11-23 10:27:01,906 INFO L273 TraceCheckUtils]: 48: Hoare triple {5403#(and (not (bvslt (_ bv4 32) ~SIZE~0)) (bvslt (_ bv3 32) ~SIZE~0))} assume !(0bv32 == ~cond); {5403#(and (not (bvslt (_ bv4 32) ~SIZE~0)) (bvslt (_ bv3 32) ~SIZE~0))} is VALID [2018-11-23 10:27:01,906 INFO L273 TraceCheckUtils]: 49: Hoare triple {5403#(and (not (bvslt (_ bv4 32) ~SIZE~0)) (bvslt (_ bv3 32) ~SIZE~0))} assume true; {5403#(and (not (bvslt (_ bv4 32) ~SIZE~0)) (bvslt (_ bv3 32) ~SIZE~0))} is VALID [2018-11-23 10:27:01,907 INFO L268 TraceCheckUtils]: 50: Hoare quadruple {5403#(and (not (bvslt (_ bv4 32) ~SIZE~0)) (bvslt (_ bv3 32) ~SIZE~0))} {5482#(and (not (bvslt (_ bv4 32) ~SIZE~0)) (= (bvadd main_~i~0 (_ bv4294967293 32)) (_ bv0 32)) (bvslt (_ bv3 32) ~SIZE~0))} #65#return; {5482#(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:27:01,908 INFO L273 TraceCheckUtils]: 51: Hoare triple {5482#(and (not (bvslt (_ bv4 32) ~SIZE~0)) (= (bvadd main_~i~0 (_ bv4294967293 32)) (_ bv0 32)) (bvslt (_ bv3 32) ~SIZE~0))} havoc #t~mem4; {5482#(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:27:01,909 INFO L273 TraceCheckUtils]: 52: Hoare triple {5482#(and (not (bvslt (_ bv4 32) ~SIZE~0)) (= (bvadd main_~i~0 (_ bv4294967293 32)) (_ bv0 32)) (bvslt (_ bv3 32) ~SIZE~0))} #t~post3 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post3);havoc #t~post3; {5507#(and (not (bvslt (_ bv4 32) ~SIZE~0)) (= (_ bv4 32) main_~i~0) (bvslt (_ bv3 32) ~SIZE~0))} is VALID [2018-11-23 10:27:01,910 INFO L273 TraceCheckUtils]: 53: Hoare triple {5507#(and (not (bvslt (_ bv4 32) ~SIZE~0)) (= (_ bv4 32) main_~i~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); {5336#false} is VALID [2018-11-23 10:27:01,910 INFO L256 TraceCheckUtils]: 54: Hoare triple {5336#false} call __VERIFIER_assert((if 0bv32 == #t~mem4 then 1bv32 else 0bv32)); {5336#false} is VALID [2018-11-23 10:27:01,910 INFO L273 TraceCheckUtils]: 55: Hoare triple {5336#false} ~cond := #in~cond; {5336#false} is VALID [2018-11-23 10:27:01,910 INFO L273 TraceCheckUtils]: 56: Hoare triple {5336#false} assume 0bv32 == ~cond; {5336#false} is VALID [2018-11-23 10:27:01,911 INFO L273 TraceCheckUtils]: 57: Hoare triple {5336#false} assume !false; {5336#false} is VALID [2018-11-23 10:27:01,918 INFO L134 CoverageAnalysis]: Checked inductivity of 86 backedges. 12 proven. 50 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2018-11-23 10:27:01,918 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-23 10:27:02,743 INFO L273 TraceCheckUtils]: 57: Hoare triple {5336#false} assume !false; {5336#false} is VALID [2018-11-23 10:27:02,744 INFO L273 TraceCheckUtils]: 56: Hoare triple {5336#false} assume 0bv32 == ~cond; {5336#false} is VALID [2018-11-23 10:27:02,744 INFO L273 TraceCheckUtils]: 55: Hoare triple {5336#false} ~cond := #in~cond; {5336#false} is VALID [2018-11-23 10:27:02,744 INFO L256 TraceCheckUtils]: 54: Hoare triple {5336#false} call __VERIFIER_assert((if 0bv32 == #t~mem4 then 1bv32 else 0bv32)); {5336#false} is VALID [2018-11-23 10:27:02,745 INFO L273 TraceCheckUtils]: 53: Hoare triple {5535#(not (bvslt main_~i~0 ~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); {5336#false} is VALID [2018-11-23 10:27:02,746 INFO L273 TraceCheckUtils]: 52: Hoare triple {5539#(not (bvslt (bvadd main_~i~0 (_ bv1 32)) ~SIZE~0))} #t~post3 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post3);havoc #t~post3; {5535#(not (bvslt main_~i~0 ~SIZE~0))} is VALID [2018-11-23 10:27:02,747 INFO L273 TraceCheckUtils]: 51: Hoare triple {5539#(not (bvslt (bvadd main_~i~0 (_ bv1 32)) ~SIZE~0))} havoc #t~mem4; {5539#(not (bvslt (bvadd main_~i~0 (_ bv1 32)) ~SIZE~0))} is VALID [2018-11-23 10:27:02,748 INFO L268 TraceCheckUtils]: 50: Hoare quadruple {5335#true} {5539#(not (bvslt (bvadd main_~i~0 (_ bv1 32)) ~SIZE~0))} #65#return; {5539#(not (bvslt (bvadd main_~i~0 (_ bv1 32)) ~SIZE~0))} is VALID [2018-11-23 10:27:02,748 INFO L273 TraceCheckUtils]: 49: Hoare triple {5335#true} assume true; {5335#true} is VALID [2018-11-23 10:27:02,748 INFO L273 TraceCheckUtils]: 48: Hoare triple {5335#true} assume !(0bv32 == ~cond); {5335#true} is VALID [2018-11-23 10:27:02,748 INFO L273 TraceCheckUtils]: 47: Hoare triple {5335#true} ~cond := #in~cond; {5335#true} is VALID [2018-11-23 10:27:02,748 INFO L256 TraceCheckUtils]: 46: Hoare triple {5539#(not (bvslt (bvadd main_~i~0 (_ bv1 32)) ~SIZE~0))} call __VERIFIER_assert((if 0bv32 == #t~mem4 then 1bv32 else 0bv32)); {5335#true} is VALID [2018-11-23 10:27:02,749 INFO L273 TraceCheckUtils]: 45: Hoare triple {5539#(not (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); {5539#(not (bvslt (bvadd main_~i~0 (_ bv1 32)) ~SIZE~0))} is VALID [2018-11-23 10:27:02,770 INFO L273 TraceCheckUtils]: 44: Hoare triple {5564#(not (bvslt (bvadd main_~i~0 (_ bv2 32)) ~SIZE~0))} #t~post3 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post3);havoc #t~post3; {5539#(not (bvslt (bvadd main_~i~0 (_ bv1 32)) ~SIZE~0))} is VALID [2018-11-23 10:27:02,771 INFO L273 TraceCheckUtils]: 43: Hoare triple {5564#(not (bvslt (bvadd main_~i~0 (_ bv2 32)) ~SIZE~0))} havoc #t~mem4; {5564#(not (bvslt (bvadd main_~i~0 (_ bv2 32)) ~SIZE~0))} is VALID [2018-11-23 10:27:02,772 INFO L268 TraceCheckUtils]: 42: Hoare quadruple {5335#true} {5564#(not (bvslt (bvadd main_~i~0 (_ bv2 32)) ~SIZE~0))} #65#return; {5564#(not (bvslt (bvadd main_~i~0 (_ bv2 32)) ~SIZE~0))} is VALID [2018-11-23 10:27:02,772 INFO L273 TraceCheckUtils]: 41: Hoare triple {5335#true} assume true; {5335#true} is VALID [2018-11-23 10:27:02,772 INFO L273 TraceCheckUtils]: 40: Hoare triple {5335#true} assume !(0bv32 == ~cond); {5335#true} is VALID [2018-11-23 10:27:02,772 INFO L273 TraceCheckUtils]: 39: Hoare triple {5335#true} ~cond := #in~cond; {5335#true} is VALID [2018-11-23 10:27:02,772 INFO L256 TraceCheckUtils]: 38: Hoare triple {5564#(not (bvslt (bvadd main_~i~0 (_ bv2 32)) ~SIZE~0))} call __VERIFIER_assert((if 0bv32 == #t~mem4 then 1bv32 else 0bv32)); {5335#true} is VALID [2018-11-23 10:27:02,773 INFO L273 TraceCheckUtils]: 37: Hoare triple {5564#(not (bvslt (bvadd main_~i~0 (_ 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); {5564#(not (bvslt (bvadd main_~i~0 (_ bv2 32)) ~SIZE~0))} is VALID [2018-11-23 10:27:02,796 INFO L273 TraceCheckUtils]: 36: Hoare triple {5589#(not (bvslt (bvadd main_~i~0 (_ bv3 32)) ~SIZE~0))} #t~post3 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post3);havoc #t~post3; {5564#(not (bvslt (bvadd main_~i~0 (_ bv2 32)) ~SIZE~0))} is VALID [2018-11-23 10:27:02,797 INFO L273 TraceCheckUtils]: 35: Hoare triple {5589#(not (bvslt (bvadd main_~i~0 (_ bv3 32)) ~SIZE~0))} havoc #t~mem4; {5589#(not (bvslt (bvadd main_~i~0 (_ bv3 32)) ~SIZE~0))} is VALID [2018-11-23 10:27:02,798 INFO L268 TraceCheckUtils]: 34: Hoare quadruple {5335#true} {5589#(not (bvslt (bvadd main_~i~0 (_ bv3 32)) ~SIZE~0))} #65#return; {5589#(not (bvslt (bvadd main_~i~0 (_ bv3 32)) ~SIZE~0))} is VALID [2018-11-23 10:27:02,798 INFO L273 TraceCheckUtils]: 33: Hoare triple {5335#true} assume true; {5335#true} is VALID [2018-11-23 10:27:02,798 INFO L273 TraceCheckUtils]: 32: Hoare triple {5335#true} assume !(0bv32 == ~cond); {5335#true} is VALID [2018-11-23 10:27:02,798 INFO L273 TraceCheckUtils]: 31: Hoare triple {5335#true} ~cond := #in~cond; {5335#true} is VALID [2018-11-23 10:27:02,798 INFO L256 TraceCheckUtils]: 30: Hoare triple {5589#(not (bvslt (bvadd main_~i~0 (_ bv3 32)) ~SIZE~0))} call __VERIFIER_assert((if 0bv32 == #t~mem4 then 1bv32 else 0bv32)); {5335#true} is VALID [2018-11-23 10:27:02,799 INFO L273 TraceCheckUtils]: 29: Hoare triple {5589#(not (bvslt (bvadd main_~i~0 (_ 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); {5589#(not (bvslt (bvadd main_~i~0 (_ bv3 32)) ~SIZE~0))} is VALID [2018-11-23 10:27:02,824 INFO L273 TraceCheckUtils]: 28: Hoare triple {5614#(not (bvslt (bvadd main_~i~0 (_ bv4 32)) ~SIZE~0))} #t~post3 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post3);havoc #t~post3; {5589#(not (bvslt (bvadd main_~i~0 (_ bv3 32)) ~SIZE~0))} is VALID [2018-11-23 10:27:02,824 INFO L273 TraceCheckUtils]: 27: Hoare triple {5614#(not (bvslt (bvadd main_~i~0 (_ bv4 32)) ~SIZE~0))} havoc #t~mem4; {5614#(not (bvslt (bvadd main_~i~0 (_ bv4 32)) ~SIZE~0))} is VALID [2018-11-23 10:27:02,825 INFO L268 TraceCheckUtils]: 26: Hoare quadruple {5335#true} {5614#(not (bvslt (bvadd main_~i~0 (_ bv4 32)) ~SIZE~0))} #65#return; {5614#(not (bvslt (bvadd main_~i~0 (_ bv4 32)) ~SIZE~0))} is VALID [2018-11-23 10:27:02,825 INFO L273 TraceCheckUtils]: 25: Hoare triple {5335#true} assume true; {5335#true} is VALID [2018-11-23 10:27:02,825 INFO L273 TraceCheckUtils]: 24: Hoare triple {5335#true} assume !(0bv32 == ~cond); {5335#true} is VALID [2018-11-23 10:27:02,826 INFO L273 TraceCheckUtils]: 23: Hoare triple {5335#true} ~cond := #in~cond; {5335#true} is VALID [2018-11-23 10:27:02,826 INFO L256 TraceCheckUtils]: 22: Hoare triple {5614#(not (bvslt (bvadd main_~i~0 (_ bv4 32)) ~SIZE~0))} call __VERIFIER_assert((if 0bv32 == #t~mem4 then 1bv32 else 0bv32)); {5335#true} is VALID [2018-11-23 10:27:02,826 INFO L273 TraceCheckUtils]: 21: Hoare triple {5614#(not (bvslt (bvadd main_~i~0 (_ bv4 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); {5614#(not (bvslt (bvadd main_~i~0 (_ bv4 32)) ~SIZE~0))} is VALID [2018-11-23 10:27:02,845 INFO L273 TraceCheckUtils]: 20: Hoare triple {5639#(not (bvslt (_ bv4 32) ~SIZE~0))} ~i~0 := 0bv32; {5614#(not (bvslt (bvadd main_~i~0 (_ bv4 32)) ~SIZE~0))} is VALID [2018-11-23 10:27:02,848 INFO L273 TraceCheckUtils]: 19: Hoare triple {5643#(or (not (bvslt (_ bv4 32) ~SIZE~0)) (bvslt main_~i~0 ~SIZE~0))} assume !~bvslt32(~i~0, ~SIZE~0); {5639#(not (bvslt (_ bv4 32) ~SIZE~0))} is VALID [2018-11-23 10:27:02,850 INFO L273 TraceCheckUtils]: 18: Hoare triple {5647#(or (not (bvslt (_ bv4 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; {5643#(or (not (bvslt (_ bv4 32) ~SIZE~0)) (bvslt main_~i~0 ~SIZE~0))} is VALID [2018-11-23 10:27:02,851 INFO L273 TraceCheckUtils]: 17: Hoare triple {5647#(or (not (bvslt (_ bv4 32) ~SIZE~0)) (bvslt (bvadd main_~i~0 (_ bv1 32)) ~SIZE~0))} assume !~bvsgt32(~bvashr32(~i~0, 16bv32), 250bv32);call write~intINTTYPE4(0bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {5647#(or (not (bvslt (_ bv4 32) ~SIZE~0)) (bvslt (bvadd main_~i~0 (_ bv1 32)) ~SIZE~0))} is VALID [2018-11-23 10:27:02,851 INFO L273 TraceCheckUtils]: 16: Hoare triple {5654#(or (not (bvslt main_~i~0 ~SIZE~0)) (not (bvslt (_ bv4 32) ~SIZE~0)) (bvslt (bvadd main_~i~0 (_ bv1 32)) ~SIZE~0))} assume !!~bvslt32(~i~0, ~SIZE~0); {5647#(or (not (bvslt (_ bv4 32) ~SIZE~0)) (bvslt (bvadd main_~i~0 (_ bv1 32)) ~SIZE~0))} is VALID [2018-11-23 10:27:02,880 INFO L273 TraceCheckUtils]: 15: Hoare triple {5658#(or (bvslt (bvadd main_~i~0 (_ bv2 32)) ~SIZE~0) (not (bvslt (_ bv4 32) ~SIZE~0)) (not (bvslt (bvadd main_~i~0 (_ bv1 32)) ~SIZE~0)))} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {5654#(or (not (bvslt main_~i~0 ~SIZE~0)) (not (bvslt (_ bv4 32) ~SIZE~0)) (bvslt (bvadd main_~i~0 (_ bv1 32)) ~SIZE~0))} is VALID [2018-11-23 10:27:02,880 INFO L273 TraceCheckUtils]: 14: Hoare triple {5658#(or (bvslt (bvadd main_~i~0 (_ bv2 32)) ~SIZE~0) (not (bvslt (_ bv4 32) ~SIZE~0)) (not (bvslt (bvadd main_~i~0 (_ bv1 32)) ~SIZE~0)))} assume !~bvsgt32(~bvashr32(~i~0, 16bv32), 250bv32);call write~intINTTYPE4(0bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {5658#(or (bvslt (bvadd main_~i~0 (_ bv2 32)) ~SIZE~0) (not (bvslt (_ bv4 32) ~SIZE~0)) (not (bvslt (bvadd main_~i~0 (_ bv1 32)) ~SIZE~0)))} is VALID [2018-11-23 10:27:02,881 INFO L273 TraceCheckUtils]: 13: Hoare triple {5658#(or (bvslt (bvadd main_~i~0 (_ bv2 32)) ~SIZE~0) (not (bvslt (_ bv4 32) ~SIZE~0)) (not (bvslt (bvadd main_~i~0 (_ bv1 32)) ~SIZE~0)))} assume !!~bvslt32(~i~0, ~SIZE~0); {5658#(or (bvslt (bvadd main_~i~0 (_ bv2 32)) ~SIZE~0) (not (bvslt (_ bv4 32) ~SIZE~0)) (not (bvslt (bvadd main_~i~0 (_ bv1 32)) ~SIZE~0)))} is VALID [2018-11-23 10:27:02,941 INFO L273 TraceCheckUtils]: 12: Hoare triple {5668#(or (not (bvslt (bvadd main_~i~0 (_ bv2 32)) ~SIZE~0)) (not (bvslt (_ bv4 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; {5658#(or (bvslt (bvadd main_~i~0 (_ bv2 32)) ~SIZE~0) (not (bvslt (_ bv4 32) ~SIZE~0)) (not (bvslt (bvadd main_~i~0 (_ bv1 32)) ~SIZE~0)))} is VALID [2018-11-23 10:27:02,942 INFO L273 TraceCheckUtils]: 11: Hoare triple {5668#(or (not (bvslt (bvadd main_~i~0 (_ bv2 32)) ~SIZE~0)) (not (bvslt (_ bv4 32) ~SIZE~0)) (bvslt (bvadd main_~i~0 (_ bv3 32)) ~SIZE~0))} assume !~bvsgt32(~bvashr32(~i~0, 16bv32), 250bv32);call write~intINTTYPE4(0bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {5668#(or (not (bvslt (bvadd main_~i~0 (_ bv2 32)) ~SIZE~0)) (not (bvslt (_ bv4 32) ~SIZE~0)) (bvslt (bvadd main_~i~0 (_ bv3 32)) ~SIZE~0))} is VALID [2018-11-23 10:27:02,942 INFO L273 TraceCheckUtils]: 10: Hoare triple {5668#(or (not (bvslt (bvadd main_~i~0 (_ bv2 32)) ~SIZE~0)) (not (bvslt (_ bv4 32) ~SIZE~0)) (bvslt (bvadd main_~i~0 (_ bv3 32)) ~SIZE~0))} assume !!~bvslt32(~i~0, ~SIZE~0); {5668#(or (not (bvslt (bvadd main_~i~0 (_ bv2 32)) ~SIZE~0)) (not (bvslt (_ bv4 32) ~SIZE~0)) (bvslt (bvadd main_~i~0 (_ bv3 32)) ~SIZE~0))} is VALID [2018-11-23 10:27:03,016 INFO L273 TraceCheckUtils]: 9: Hoare triple {5678#(or (not (bvslt (_ bv4 32) ~SIZE~0)) (bvslt (bvadd main_~i~0 (_ bv4 32)) ~SIZE~0) (not (bvslt (bvadd main_~i~0 (_ bv3 32)) ~SIZE~0)))} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {5668#(or (not (bvslt (bvadd main_~i~0 (_ bv2 32)) ~SIZE~0)) (not (bvslt (_ bv4 32) ~SIZE~0)) (bvslt (bvadd main_~i~0 (_ bv3 32)) ~SIZE~0))} is VALID [2018-11-23 10:27:03,017 INFO L273 TraceCheckUtils]: 8: Hoare triple {5678#(or (not (bvslt (_ bv4 32) ~SIZE~0)) (bvslt (bvadd main_~i~0 (_ bv4 32)) ~SIZE~0) (not (bvslt (bvadd main_~i~0 (_ bv3 32)) ~SIZE~0)))} assume !~bvsgt32(~bvashr32(~i~0, 16bv32), 250bv32);call write~intINTTYPE4(0bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {5678#(or (not (bvslt (_ bv4 32) ~SIZE~0)) (bvslt (bvadd main_~i~0 (_ bv4 32)) ~SIZE~0) (not (bvslt (bvadd main_~i~0 (_ bv3 32)) ~SIZE~0)))} is VALID [2018-11-23 10:27:03,017 INFO L273 TraceCheckUtils]: 7: Hoare triple {5678#(or (not (bvslt (_ bv4 32) ~SIZE~0)) (bvslt (bvadd main_~i~0 (_ bv4 32)) ~SIZE~0) (not (bvslt (bvadd main_~i~0 (_ bv3 32)) ~SIZE~0)))} assume !!~bvslt32(~i~0, ~SIZE~0); {5678#(or (not (bvslt (_ bv4 32) ~SIZE~0)) (bvslt (bvadd main_~i~0 (_ bv4 32)) ~SIZE~0) (not (bvslt (bvadd main_~i~0 (_ bv3 32)) ~SIZE~0)))} is VALID [2018-11-23 10:27:03,018 INFO L273 TraceCheckUtils]: 6: Hoare triple {5335#true} assume ~bvsgt32(~SIZE~0, 1bv32);havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~bvmul32(4bv32, ~SIZE~0));~i~0 := 0bv32; {5678#(or (not (bvslt (_ bv4 32) ~SIZE~0)) (bvslt (bvadd main_~i~0 (_ bv4 32)) ~SIZE~0) (not (bvslt (bvadd main_~i~0 (_ bv3 32)) ~SIZE~0)))} is VALID [2018-11-23 10:27:03,018 INFO L273 TraceCheckUtils]: 5: Hoare triple {5335#true} ~SIZE~0 := #t~nondet1;havoc #t~nondet1; {5335#true} is VALID [2018-11-23 10:27:03,018 INFO L256 TraceCheckUtils]: 4: Hoare triple {5335#true} call #t~ret5 := main(); {5335#true} is VALID [2018-11-23 10:27:03,018 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {5335#true} {5335#true} #61#return; {5335#true} is VALID [2018-11-23 10:27:03,018 INFO L273 TraceCheckUtils]: 2: Hoare triple {5335#true} assume true; {5335#true} is VALID [2018-11-23 10:27:03,018 INFO L273 TraceCheckUtils]: 1: Hoare triple {5335#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];~SIZE~0 := 0bv32; {5335#true} is VALID [2018-11-23 10:27:03,019 INFO L256 TraceCheckUtils]: 0: Hoare triple {5335#true} call ULTIMATE.init(); {5335#true} is VALID [2018-11-23 10:27:03,023 INFO L134 CoverageAnalysis]: Checked inductivity of 86 backedges. 12 proven. 50 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2018-11-23 10:27:03,025 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 10:27:03,025 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 14] total 26 [2018-11-23 10:27:03,028 INFO L78 Accepts]: Start accepts. Automaton has 26 states. Word has length 58 [2018-11-23 10:27:03,029 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 10:27:03,029 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 26 states. [2018-11-23 10:27:03,393 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 88 edges. 88 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:27:03,394 INFO L459 AbstractCegarLoop]: Interpolant automaton has 26 states [2018-11-23 10:27:03,394 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 26 interpolants. [2018-11-23 10:27:03,395 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=157, Invalid=493, Unknown=0, NotChecked=0, Total=650 [2018-11-23 10:27:03,395 INFO L87 Difference]: Start difference. First operand 92 states and 107 transitions. Second operand 26 states. [2018-11-23 10:27:05,044 WARN L180 SmtUtils]: Spent 249.00 ms on a formula simplification. DAG size of input: 26 DAG size of output: 23 [2018-11-23 10:27:06,447 WARN L180 SmtUtils]: Spent 207.00 ms on a formula simplification. DAG size of input: 22 DAG size of output: 20 [2018-11-23 10:27:08,234 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:27:08,234 INFO L93 Difference]: Finished difference Result 149 states and 169 transitions. [2018-11-23 10:27:08,234 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 21 states. [2018-11-23 10:27:08,234 INFO L78 Accepts]: Start accepts. Automaton has 26 states. Word has length 58 [2018-11-23 10:27:08,234 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 10:27:08,234 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 26 states. [2018-11-23 10:27:08,236 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 95 transitions. [2018-11-23 10:27:08,237 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 26 states. [2018-11-23 10:27:08,238 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 95 transitions. [2018-11-23 10:27:08,239 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 21 states and 95 transitions. [2018-11-23 10:27:09,136 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 95 edges. 95 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:27:09,140 INFO L225 Difference]: With dead ends: 149 [2018-11-23 10:27:09,140 INFO L226 Difference]: Without dead ends: 109 [2018-11-23 10:27:09,141 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 119 GetRequests, 91 SyntacticMatches, 0 SemanticMatches, 28 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 191 ImplicationChecksByTransitivity, 1.7s TimeCoverageRelationStatistics Valid=228, Invalid=642, Unknown=0, NotChecked=0, Total=870 [2018-11-23 10:27:09,141 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 109 states. [2018-11-23 10:27:09,390 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 109 to 92. [2018-11-23 10:27:09,390 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 10:27:09,390 INFO L82 GeneralOperation]: Start isEquivalent. First operand 109 states. Second operand 92 states. [2018-11-23 10:27:09,390 INFO L74 IsIncluded]: Start isIncluded. First operand 109 states. Second operand 92 states. [2018-11-23 10:27:09,390 INFO L87 Difference]: Start difference. First operand 109 states. Second operand 92 states. [2018-11-23 10:27:09,394 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:27:09,395 INFO L93 Difference]: Finished difference Result 109 states and 127 transitions. [2018-11-23 10:27:09,395 INFO L276 IsEmpty]: Start isEmpty. Operand 109 states and 127 transitions. [2018-11-23 10:27:09,395 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:27:09,396 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:27:09,396 INFO L74 IsIncluded]: Start isIncluded. First operand 92 states. Second operand 109 states. [2018-11-23 10:27:09,396 INFO L87 Difference]: Start difference. First operand 92 states. Second operand 109 states. [2018-11-23 10:27:09,399 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:27:09,399 INFO L93 Difference]: Finished difference Result 109 states and 127 transitions. [2018-11-23 10:27:09,399 INFO L276 IsEmpty]: Start isEmpty. Operand 109 states and 127 transitions. [2018-11-23 10:27:09,400 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:27:09,400 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:27:09,400 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 10:27:09,400 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 10:27:09,401 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 92 states. [2018-11-23 10:27:09,403 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 92 states to 92 states and 106 transitions. [2018-11-23 10:27:09,403 INFO L78 Accepts]: Start accepts. Automaton has 92 states and 106 transitions. Word has length 58 [2018-11-23 10:27:09,403 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 10:27:09,403 INFO L480 AbstractCegarLoop]: Abstraction has 92 states and 106 transitions. [2018-11-23 10:27:09,403 INFO L481 AbstractCegarLoop]: Interpolant automaton has 26 states. [2018-11-23 10:27:09,404 INFO L276 IsEmpty]: Start isEmpty. Operand 92 states and 106 transitions. [2018-11-23 10:27:09,404 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 62 [2018-11-23 10:27:09,404 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 10:27:09,405 INFO L402 BasicCegarLoop]: trace histogram [5, 5, 5, 5, 5, 5, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 10:27:09,405 INFO L423 AbstractCegarLoop]: === Iteration 12 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 10:27:09,405 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 10:27:09,405 INFO L82 PathProgramCache]: Analyzing trace with hash 2097163811, now seen corresponding path program 6 times [2018-11-23 10:27:09,406 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 10:27:09,406 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:27:09,434 INFO L101 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2018-11-23 10:27:09,792 INFO L249 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 6 check-sat command(s) [2018-11-23 10:27:09,792 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 10:27:09,825 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:27:09,827 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 10:27:09,955 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 10 [2018-11-23 10:27:09,965 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 10 treesize of output 9 [2018-11-23 10:27:09,966 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 10:27:09,971 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 10:27:09,976 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 10:27:09,977 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:13, output treesize:9 [2018-11-23 10:27:10,503 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 19 treesize of output 15 [2018-11-23 10:27:10,510 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 3 [2018-11-23 10:27:10,511 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 10:27:10,513 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 10:27:10,525 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 10:27:10,525 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 3 variables, input treesize:19, output treesize:3 [2018-11-23 10:27:10,529 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 10:27:10,529 WARN L384 uantifierElimination]: Input elimination task: ∃ [|#memory_int|, |main_~#a~0.base|, |main_~#a~0.offset|]. (let ((.cse0 (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv16 32))))) (and (= .cse0 (_ bv0 32)) (= .cse0 |main_#t~mem4|))) [2018-11-23 10:27:10,529 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (= (_ bv0 32) |main_#t~mem4|) [2018-11-23 10:27:10,598 INFO L256 TraceCheckUtils]: 0: Hoare triple {6267#true} call ULTIMATE.init(); {6267#true} is VALID [2018-11-23 10:27:10,598 INFO L273 TraceCheckUtils]: 1: Hoare triple {6267#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];~SIZE~0 := 0bv32; {6267#true} is VALID [2018-11-23 10:27:10,598 INFO L273 TraceCheckUtils]: 2: Hoare triple {6267#true} assume true; {6267#true} is VALID [2018-11-23 10:27:10,599 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {6267#true} {6267#true} #61#return; {6267#true} is VALID [2018-11-23 10:27:10,599 INFO L256 TraceCheckUtils]: 4: Hoare triple {6267#true} call #t~ret5 := main(); {6267#true} is VALID [2018-11-23 10:27:10,599 INFO L273 TraceCheckUtils]: 5: Hoare triple {6267#true} ~SIZE~0 := #t~nondet1;havoc #t~nondet1; {6267#true} is VALID [2018-11-23 10:27:10,600 INFO L273 TraceCheckUtils]: 6: Hoare triple {6267#true} assume ~bvsgt32(~SIZE~0, 1bv32);havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~bvmul32(4bv32, ~SIZE~0));~i~0 := 0bv32; {6290#(= main_~i~0 (_ bv0 32))} is VALID [2018-11-23 10:27:10,600 INFO L273 TraceCheckUtils]: 7: Hoare triple {6290#(= main_~i~0 (_ bv0 32))} assume !!~bvslt32(~i~0, ~SIZE~0); {6290#(= main_~i~0 (_ bv0 32))} is VALID [2018-11-23 10:27:10,600 INFO L273 TraceCheckUtils]: 8: Hoare triple {6290#(= main_~i~0 (_ bv0 32))} assume !~bvsgt32(~bvashr32(~i~0, 16bv32), 250bv32);call write~intINTTYPE4(0bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {6290#(= main_~i~0 (_ bv0 32))} is VALID [2018-11-23 10:27:10,601 INFO L273 TraceCheckUtils]: 9: Hoare triple {6290#(= main_~i~0 (_ bv0 32))} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {6300#(= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 10:27:10,601 INFO L273 TraceCheckUtils]: 10: Hoare triple {6300#(= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32))} assume !!~bvslt32(~i~0, ~SIZE~0); {6300#(= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 10:27:10,601 INFO L273 TraceCheckUtils]: 11: Hoare triple {6300#(= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32))} assume !~bvsgt32(~bvashr32(~i~0, 16bv32), 250bv32);call write~intINTTYPE4(0bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {6300#(= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 10:27:10,602 INFO L273 TraceCheckUtils]: 12: Hoare triple {6300#(= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32))} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {6310#(= (_ bv2 32) main_~i~0)} is VALID [2018-11-23 10:27:10,602 INFO L273 TraceCheckUtils]: 13: Hoare triple {6310#(= (_ bv2 32) main_~i~0)} assume !!~bvslt32(~i~0, ~SIZE~0); {6310#(= (_ bv2 32) main_~i~0)} is VALID [2018-11-23 10:27:10,603 INFO L273 TraceCheckUtils]: 14: Hoare triple {6310#(= (_ bv2 32) main_~i~0)} assume !~bvsgt32(~bvashr32(~i~0, 16bv32), 250bv32);call write~intINTTYPE4(0bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {6310#(= (_ bv2 32) main_~i~0)} is VALID [2018-11-23 10:27:10,604 INFO L273 TraceCheckUtils]: 15: Hoare triple {6310#(= (_ bv2 32) main_~i~0)} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {6320#(= (bvadd main_~i~0 (_ bv4294967293 32)) (_ bv0 32))} is VALID [2018-11-23 10:27:10,604 INFO L273 TraceCheckUtils]: 16: Hoare triple {6320#(= (bvadd main_~i~0 (_ bv4294967293 32)) (_ bv0 32))} assume !!~bvslt32(~i~0, ~SIZE~0); {6320#(= (bvadd main_~i~0 (_ bv4294967293 32)) (_ bv0 32))} is VALID [2018-11-23 10:27:10,605 INFO L273 TraceCheckUtils]: 17: Hoare triple {6320#(= (bvadd main_~i~0 (_ bv4294967293 32)) (_ bv0 32))} assume !~bvsgt32(~bvashr32(~i~0, 16bv32), 250bv32);call write~intINTTYPE4(0bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {6320#(= (bvadd main_~i~0 (_ bv4294967293 32)) (_ bv0 32))} is VALID [2018-11-23 10:27:10,605 INFO L273 TraceCheckUtils]: 18: Hoare triple {6320#(= (bvadd main_~i~0 (_ bv4294967293 32)) (_ bv0 32))} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {6330#(= (_ bv4 32) main_~i~0)} is VALID [2018-11-23 10:27:10,606 INFO L273 TraceCheckUtils]: 19: Hoare triple {6330#(= (_ bv4 32) main_~i~0)} assume !!~bvslt32(~i~0, ~SIZE~0); {6330#(= (_ bv4 32) main_~i~0)} is VALID [2018-11-23 10:27:10,608 INFO L273 TraceCheckUtils]: 20: Hoare triple {6330#(= (_ bv4 32) main_~i~0)} assume !~bvsgt32(~bvashr32(~i~0, 16bv32), 250bv32);call write~intINTTYPE4(0bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {6337#(= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv16 32))) (_ bv0 32))} is VALID [2018-11-23 10:27:10,608 INFO L273 TraceCheckUtils]: 21: Hoare triple {6337#(= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv16 32))) (_ bv0 32))} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {6337#(= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv16 32))) (_ bv0 32))} is VALID [2018-11-23 10:27:10,609 INFO L273 TraceCheckUtils]: 22: Hoare triple {6337#(= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv16 32))) (_ bv0 32))} assume !~bvslt32(~i~0, ~SIZE~0); {6337#(= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv16 32))) (_ bv0 32))} is VALID [2018-11-23 10:27:10,610 INFO L273 TraceCheckUtils]: 23: Hoare triple {6337#(= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv16 32))) (_ bv0 32))} ~i~0 := 0bv32; {6347#(and (= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv16 32))) (_ bv0 32)) (= main_~i~0 (_ bv0 32)))} is VALID [2018-11-23 10:27:10,610 INFO L273 TraceCheckUtils]: 24: Hoare triple {6347#(and (= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv16 32))) (_ bv0 32)) (= main_~i~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); {6347#(and (= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv16 32))) (_ bv0 32)) (= main_~i~0 (_ bv0 32)))} is VALID [2018-11-23 10:27:10,613 INFO L256 TraceCheckUtils]: 25: Hoare triple {6347#(and (= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv16 32))) (_ bv0 32)) (= main_~i~0 (_ bv0 32)))} call __VERIFIER_assert((if 0bv32 == #t~mem4 then 1bv32 else 0bv32)); {6354#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| (_ BitVec 32)) (|v_main_~#a~0.offset_BEFORE_CALL_11| (_ BitVec 32))) (= (_ bv0 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (bvadd |v_main_~#a~0.offset_BEFORE_CALL_11| (_ bv16 32)))))} is VALID [2018-11-23 10:27:10,614 INFO L273 TraceCheckUtils]: 26: Hoare triple {6354#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| (_ BitVec 32)) (|v_main_~#a~0.offset_BEFORE_CALL_11| (_ BitVec 32))) (= (_ bv0 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (bvadd |v_main_~#a~0.offset_BEFORE_CALL_11| (_ bv16 32)))))} ~cond := #in~cond; {6354#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| (_ BitVec 32)) (|v_main_~#a~0.offset_BEFORE_CALL_11| (_ BitVec 32))) (= (_ bv0 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (bvadd |v_main_~#a~0.offset_BEFORE_CALL_11| (_ bv16 32)))))} is VALID [2018-11-23 10:27:10,614 INFO L273 TraceCheckUtils]: 27: Hoare triple {6354#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| (_ BitVec 32)) (|v_main_~#a~0.offset_BEFORE_CALL_11| (_ BitVec 32))) (= (_ bv0 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (bvadd |v_main_~#a~0.offset_BEFORE_CALL_11| (_ bv16 32)))))} assume !(0bv32 == ~cond); {6354#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| (_ BitVec 32)) (|v_main_~#a~0.offset_BEFORE_CALL_11| (_ BitVec 32))) (= (_ bv0 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (bvadd |v_main_~#a~0.offset_BEFORE_CALL_11| (_ bv16 32)))))} is VALID [2018-11-23 10:27:10,615 INFO L273 TraceCheckUtils]: 28: Hoare triple {6354#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| (_ BitVec 32)) (|v_main_~#a~0.offset_BEFORE_CALL_11| (_ BitVec 32))) (= (_ bv0 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (bvadd |v_main_~#a~0.offset_BEFORE_CALL_11| (_ bv16 32)))))} assume true; {6354#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| (_ BitVec 32)) (|v_main_~#a~0.offset_BEFORE_CALL_11| (_ BitVec 32))) (= (_ bv0 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (bvadd |v_main_~#a~0.offset_BEFORE_CALL_11| (_ bv16 32)))))} is VALID [2018-11-23 10:27:10,616 INFO L268 TraceCheckUtils]: 29: Hoare quadruple {6354#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| (_ BitVec 32)) (|v_main_~#a~0.offset_BEFORE_CALL_11| (_ BitVec 32))) (= (_ bv0 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (bvadd |v_main_~#a~0.offset_BEFORE_CALL_11| (_ bv16 32)))))} {6347#(and (= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv16 32))) (_ bv0 32)) (= main_~i~0 (_ bv0 32)))} #65#return; {6347#(and (= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv16 32))) (_ bv0 32)) (= main_~i~0 (_ bv0 32)))} is VALID [2018-11-23 10:27:10,616 INFO L273 TraceCheckUtils]: 30: Hoare triple {6347#(and (= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv16 32))) (_ bv0 32)) (= main_~i~0 (_ bv0 32)))} havoc #t~mem4; {6347#(and (= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv16 32))) (_ bv0 32)) (= main_~i~0 (_ bv0 32)))} is VALID [2018-11-23 10:27:10,617 INFO L273 TraceCheckUtils]: 31: Hoare triple {6347#(and (= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv16 32))) (_ bv0 32)) (= main_~i~0 (_ bv0 32)))} #t~post3 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post3);havoc #t~post3; {6373#(and (= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv16 32))) (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:27:10,618 INFO L273 TraceCheckUtils]: 32: Hoare triple {6373#(and (= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv16 32))) (_ 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); {6373#(and (= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv16 32))) (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:27:10,621 INFO L256 TraceCheckUtils]: 33: Hoare triple {6373#(and (= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv16 32))) (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} call __VERIFIER_assert((if 0bv32 == #t~mem4 then 1bv32 else 0bv32)); {6354#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| (_ BitVec 32)) (|v_main_~#a~0.offset_BEFORE_CALL_11| (_ BitVec 32))) (= (_ bv0 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (bvadd |v_main_~#a~0.offset_BEFORE_CALL_11| (_ bv16 32)))))} is VALID [2018-11-23 10:27:10,621 INFO L273 TraceCheckUtils]: 34: Hoare triple {6354#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| (_ BitVec 32)) (|v_main_~#a~0.offset_BEFORE_CALL_11| (_ BitVec 32))) (= (_ bv0 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (bvadd |v_main_~#a~0.offset_BEFORE_CALL_11| (_ bv16 32)))))} ~cond := #in~cond; {6354#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| (_ BitVec 32)) (|v_main_~#a~0.offset_BEFORE_CALL_11| (_ BitVec 32))) (= (_ bv0 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (bvadd |v_main_~#a~0.offset_BEFORE_CALL_11| (_ bv16 32)))))} is VALID [2018-11-23 10:27:10,622 INFO L273 TraceCheckUtils]: 35: Hoare triple {6354#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| (_ BitVec 32)) (|v_main_~#a~0.offset_BEFORE_CALL_11| (_ BitVec 32))) (= (_ bv0 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (bvadd |v_main_~#a~0.offset_BEFORE_CALL_11| (_ bv16 32)))))} assume !(0bv32 == ~cond); {6354#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| (_ BitVec 32)) (|v_main_~#a~0.offset_BEFORE_CALL_11| (_ BitVec 32))) (= (_ bv0 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (bvadd |v_main_~#a~0.offset_BEFORE_CALL_11| (_ bv16 32)))))} is VALID [2018-11-23 10:27:10,622 INFO L273 TraceCheckUtils]: 36: Hoare triple {6354#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| (_ BitVec 32)) (|v_main_~#a~0.offset_BEFORE_CALL_11| (_ BitVec 32))) (= (_ bv0 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (bvadd |v_main_~#a~0.offset_BEFORE_CALL_11| (_ bv16 32)))))} assume true; {6354#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| (_ BitVec 32)) (|v_main_~#a~0.offset_BEFORE_CALL_11| (_ BitVec 32))) (= (_ bv0 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (bvadd |v_main_~#a~0.offset_BEFORE_CALL_11| (_ bv16 32)))))} is VALID [2018-11-23 10:27:10,623 INFO L268 TraceCheckUtils]: 37: Hoare quadruple {6354#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| (_ BitVec 32)) (|v_main_~#a~0.offset_BEFORE_CALL_11| (_ BitVec 32))) (= (_ bv0 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (bvadd |v_main_~#a~0.offset_BEFORE_CALL_11| (_ bv16 32)))))} {6373#(and (= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv16 32))) (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} #65#return; {6373#(and (= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv16 32))) (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:27:10,624 INFO L273 TraceCheckUtils]: 38: Hoare triple {6373#(and (= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv16 32))) (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} havoc #t~mem4; {6373#(and (= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv16 32))) (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:27:10,625 INFO L273 TraceCheckUtils]: 39: Hoare triple {6373#(and (= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv16 32))) (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32)))} #t~post3 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post3);havoc #t~post3; {6398#(and (= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv16 32))) (_ bv0 32)) (= (_ bv2 32) main_~i~0))} is VALID [2018-11-23 10:27:10,626 INFO L273 TraceCheckUtils]: 40: Hoare triple {6398#(and (= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv16 32))) (_ 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); {6398#(and (= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv16 32))) (_ bv0 32)) (= (_ bv2 32) main_~i~0))} is VALID [2018-11-23 10:27:10,628 INFO L256 TraceCheckUtils]: 41: Hoare triple {6398#(and (= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv16 32))) (_ bv0 32)) (= (_ bv2 32) main_~i~0))} call __VERIFIER_assert((if 0bv32 == #t~mem4 then 1bv32 else 0bv32)); {6354#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| (_ BitVec 32)) (|v_main_~#a~0.offset_BEFORE_CALL_11| (_ BitVec 32))) (= (_ bv0 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (bvadd |v_main_~#a~0.offset_BEFORE_CALL_11| (_ bv16 32)))))} is VALID [2018-11-23 10:27:10,629 INFO L273 TraceCheckUtils]: 42: Hoare triple {6354#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| (_ BitVec 32)) (|v_main_~#a~0.offset_BEFORE_CALL_11| (_ BitVec 32))) (= (_ bv0 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (bvadd |v_main_~#a~0.offset_BEFORE_CALL_11| (_ bv16 32)))))} ~cond := #in~cond; {6354#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| (_ BitVec 32)) (|v_main_~#a~0.offset_BEFORE_CALL_11| (_ BitVec 32))) (= (_ bv0 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (bvadd |v_main_~#a~0.offset_BEFORE_CALL_11| (_ bv16 32)))))} is VALID [2018-11-23 10:27:10,629 INFO L273 TraceCheckUtils]: 43: Hoare triple {6354#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| (_ BitVec 32)) (|v_main_~#a~0.offset_BEFORE_CALL_11| (_ BitVec 32))) (= (_ bv0 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (bvadd |v_main_~#a~0.offset_BEFORE_CALL_11| (_ bv16 32)))))} assume !(0bv32 == ~cond); {6354#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| (_ BitVec 32)) (|v_main_~#a~0.offset_BEFORE_CALL_11| (_ BitVec 32))) (= (_ bv0 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (bvadd |v_main_~#a~0.offset_BEFORE_CALL_11| (_ bv16 32)))))} is VALID [2018-11-23 10:27:10,630 INFO L273 TraceCheckUtils]: 44: Hoare triple {6354#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| (_ BitVec 32)) (|v_main_~#a~0.offset_BEFORE_CALL_11| (_ BitVec 32))) (= (_ bv0 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (bvadd |v_main_~#a~0.offset_BEFORE_CALL_11| (_ bv16 32)))))} assume true; {6354#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| (_ BitVec 32)) (|v_main_~#a~0.offset_BEFORE_CALL_11| (_ BitVec 32))) (= (_ bv0 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (bvadd |v_main_~#a~0.offset_BEFORE_CALL_11| (_ bv16 32)))))} is VALID [2018-11-23 10:27:10,631 INFO L268 TraceCheckUtils]: 45: Hoare quadruple {6354#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| (_ BitVec 32)) (|v_main_~#a~0.offset_BEFORE_CALL_11| (_ BitVec 32))) (= (_ bv0 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (bvadd |v_main_~#a~0.offset_BEFORE_CALL_11| (_ bv16 32)))))} {6398#(and (= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv16 32))) (_ bv0 32)) (= (_ bv2 32) main_~i~0))} #65#return; {6398#(and (= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv16 32))) (_ bv0 32)) (= (_ bv2 32) main_~i~0))} is VALID [2018-11-23 10:27:10,632 INFO L273 TraceCheckUtils]: 46: Hoare triple {6398#(and (= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv16 32))) (_ bv0 32)) (= (_ bv2 32) main_~i~0))} havoc #t~mem4; {6398#(and (= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv16 32))) (_ bv0 32)) (= (_ bv2 32) main_~i~0))} is VALID [2018-11-23 10:27:10,633 INFO L273 TraceCheckUtils]: 47: Hoare triple {6398#(and (= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv16 32))) (_ bv0 32)) (= (_ bv2 32) main_~i~0))} #t~post3 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post3);havoc #t~post3; {6423#(and (= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv16 32))) (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967293 32)) (_ bv0 32)))} is VALID [2018-11-23 10:27:10,634 INFO L273 TraceCheckUtils]: 48: Hoare triple {6423#(and (= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv16 32))) (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967293 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); {6423#(and (= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv16 32))) (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967293 32)) (_ bv0 32)))} is VALID [2018-11-23 10:27:10,637 INFO L256 TraceCheckUtils]: 49: Hoare triple {6423#(and (= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv16 32))) (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967293 32)) (_ bv0 32)))} call __VERIFIER_assert((if 0bv32 == #t~mem4 then 1bv32 else 0bv32)); {6354#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| (_ BitVec 32)) (|v_main_~#a~0.offset_BEFORE_CALL_11| (_ BitVec 32))) (= (_ bv0 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (bvadd |v_main_~#a~0.offset_BEFORE_CALL_11| (_ bv16 32)))))} is VALID [2018-11-23 10:27:10,637 INFO L273 TraceCheckUtils]: 50: Hoare triple {6354#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| (_ BitVec 32)) (|v_main_~#a~0.offset_BEFORE_CALL_11| (_ BitVec 32))) (= (_ bv0 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (bvadd |v_main_~#a~0.offset_BEFORE_CALL_11| (_ bv16 32)))))} ~cond := #in~cond; {6354#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| (_ BitVec 32)) (|v_main_~#a~0.offset_BEFORE_CALL_11| (_ BitVec 32))) (= (_ bv0 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (bvadd |v_main_~#a~0.offset_BEFORE_CALL_11| (_ bv16 32)))))} is VALID [2018-11-23 10:27:10,638 INFO L273 TraceCheckUtils]: 51: Hoare triple {6354#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| (_ BitVec 32)) (|v_main_~#a~0.offset_BEFORE_CALL_11| (_ BitVec 32))) (= (_ bv0 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (bvadd |v_main_~#a~0.offset_BEFORE_CALL_11| (_ bv16 32)))))} assume !(0bv32 == ~cond); {6354#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| (_ BitVec 32)) (|v_main_~#a~0.offset_BEFORE_CALL_11| (_ BitVec 32))) (= (_ bv0 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (bvadd |v_main_~#a~0.offset_BEFORE_CALL_11| (_ bv16 32)))))} is VALID [2018-11-23 10:27:10,638 INFO L273 TraceCheckUtils]: 52: Hoare triple {6354#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| (_ BitVec 32)) (|v_main_~#a~0.offset_BEFORE_CALL_11| (_ BitVec 32))) (= (_ bv0 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (bvadd |v_main_~#a~0.offset_BEFORE_CALL_11| (_ bv16 32)))))} assume true; {6354#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| (_ BitVec 32)) (|v_main_~#a~0.offset_BEFORE_CALL_11| (_ BitVec 32))) (= (_ bv0 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (bvadd |v_main_~#a~0.offset_BEFORE_CALL_11| (_ bv16 32)))))} is VALID [2018-11-23 10:27:10,639 INFO L268 TraceCheckUtils]: 53: Hoare quadruple {6354#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| (_ BitVec 32)) (|v_main_~#a~0.offset_BEFORE_CALL_11| (_ BitVec 32))) (= (_ bv0 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) (bvadd |v_main_~#a~0.offset_BEFORE_CALL_11| (_ bv16 32)))))} {6423#(and (= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv16 32))) (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967293 32)) (_ bv0 32)))} #65#return; {6423#(and (= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv16 32))) (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967293 32)) (_ bv0 32)))} is VALID [2018-11-23 10:27:10,640 INFO L273 TraceCheckUtils]: 54: Hoare triple {6423#(and (= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv16 32))) (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967293 32)) (_ bv0 32)))} havoc #t~mem4; {6423#(and (= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv16 32))) (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967293 32)) (_ bv0 32)))} is VALID [2018-11-23 10:27:10,641 INFO L273 TraceCheckUtils]: 55: Hoare triple {6423#(and (= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv16 32))) (_ bv0 32)) (= (bvadd main_~i~0 (_ bv4294967293 32)) (_ bv0 32)))} #t~post3 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post3);havoc #t~post3; {6448#(and (= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv16 32))) (_ bv0 32)) (= (_ bv4 32) main_~i~0))} is VALID [2018-11-23 10:27:10,643 INFO L273 TraceCheckUtils]: 56: Hoare triple {6448#(and (= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv16 32))) (_ bv0 32)) (= (_ bv4 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); {6452#(= (_ bv0 32) |main_#t~mem4|)} is VALID [2018-11-23 10:27:10,644 INFO L256 TraceCheckUtils]: 57: Hoare triple {6452#(= (_ bv0 32) |main_#t~mem4|)} call __VERIFIER_assert((if 0bv32 == #t~mem4 then 1bv32 else 0bv32)); {6456#(= (bvadd |__VERIFIER_assert_#in~cond| (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 10:27:10,645 INFO L273 TraceCheckUtils]: 58: Hoare triple {6456#(= (bvadd |__VERIFIER_assert_#in~cond| (_ bv4294967295 32)) (_ bv0 32))} ~cond := #in~cond; {6460#(= (bvadd __VERIFIER_assert_~cond (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 10:27:10,645 INFO L273 TraceCheckUtils]: 59: Hoare triple {6460#(= (bvadd __VERIFIER_assert_~cond (_ bv4294967295 32)) (_ bv0 32))} assume 0bv32 == ~cond; {6268#false} is VALID [2018-11-23 10:27:10,646 INFO L273 TraceCheckUtils]: 60: Hoare triple {6268#false} assume !false; {6268#false} is VALID [2018-11-23 10:27:10,658 INFO L134 CoverageAnalysis]: Checked inductivity of 99 backedges. 0 proven. 75 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2018-11-23 10:27:10,659 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-23 10:27:21,273 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 16 treesize of output 14 [2018-11-23 10:27:21,314 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 7 treesize of output 3 [2018-11-23 10:27:21,315 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 10:27:21,321 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 10:27:21,324 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 10:27:21,324 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 3 variables, input treesize:16, output treesize:5 [2018-11-23 10:27:21,330 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 10:27:21,331 WARN L384 uantifierElimination]: Input elimination task: ∀ [|#memory_int|, |main_~#a~0.base|, |main_~#a~0.offset|]. (= (select (store (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0)) (_ bv0 32)) (bvadd |main_~#a~0.offset| (_ bv16 32))) (_ bv0 32)) [2018-11-23 10:27:21,331 WARN L385 uantifierElimination]: ElimStorePlain result: ∀ []. (= (_ bv16 32) (bvmul (_ bv4 32) main_~i~0)) [2018-11-23 10:27:21,642 INFO L273 TraceCheckUtils]: 60: Hoare triple {6268#false} assume !false; {6268#false} is VALID [2018-11-23 10:27:21,643 INFO L273 TraceCheckUtils]: 59: Hoare triple {6470#(not (= (_ bv0 32) __VERIFIER_assert_~cond))} assume 0bv32 == ~cond; {6268#false} is VALID [2018-11-23 10:27:21,644 INFO L273 TraceCheckUtils]: 58: Hoare triple {6474#(not (= |__VERIFIER_assert_#in~cond| (_ bv0 32)))} ~cond := #in~cond; {6470#(not (= (_ bv0 32) __VERIFIER_assert_~cond))} is VALID [2018-11-23 10:27:21,644 INFO L256 TraceCheckUtils]: 57: Hoare triple {6452#(= (_ bv0 32) |main_#t~mem4|)} call __VERIFIER_assert((if 0bv32 == #t~mem4 then 1bv32 else 0bv32)); {6474#(not (= |__VERIFIER_assert_#in~cond| (_ bv0 32)))} is VALID [2018-11-23 10:27:21,645 INFO L273 TraceCheckUtils]: 56: Hoare triple {6481#(= (_ bv0 32) (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~mem4 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {6452#(= (_ bv0 32) |main_#t~mem4|)} is VALID [2018-11-23 10:27:21,865 INFO L273 TraceCheckUtils]: 55: Hoare triple {6485#(= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4 32))) (_ bv0 32))} #t~post3 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post3);havoc #t~post3; {6481#(= (_ bv0 32) (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:27:21,866 INFO L273 TraceCheckUtils]: 54: Hoare triple {6485#(= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4 32))) (_ bv0 32))} havoc #t~mem4; {6485#(= (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:27:21,867 INFO L268 TraceCheckUtils]: 53: Hoare quadruple {6267#true} {6485#(= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4 32))) (_ bv0 32))} #65#return; {6485#(= (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:27:21,867 INFO L273 TraceCheckUtils]: 52: Hoare triple {6267#true} assume true; {6267#true} is VALID [2018-11-23 10:27:21,867 INFO L273 TraceCheckUtils]: 51: Hoare triple {6267#true} assume !(0bv32 == ~cond); {6267#true} is VALID [2018-11-23 10:27:21,867 INFO L273 TraceCheckUtils]: 50: Hoare triple {6267#true} ~cond := #in~cond; {6267#true} is VALID [2018-11-23 10:27:21,867 INFO L256 TraceCheckUtils]: 49: Hoare triple {6485#(= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv4 32))) (_ bv0 32))} call __VERIFIER_assert((if 0bv32 == #t~mem4 then 1bv32 else 0bv32)); {6267#true} is VALID [2018-11-23 10:27:21,868 INFO L273 TraceCheckUtils]: 48: Hoare triple {6485#(= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ 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); {6485#(= (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:27:22,133 INFO L273 TraceCheckUtils]: 47: Hoare triple {6510#(= (_ bv0 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; {6485#(= (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:27:22,133 INFO L273 TraceCheckUtils]: 46: Hoare triple {6510#(= (_ bv0 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv8 32))))} havoc #t~mem4; {6510#(= (_ bv0 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:27:22,134 INFO L268 TraceCheckUtils]: 45: Hoare quadruple {6267#true} {6510#(= (_ bv0 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv8 32))))} #65#return; {6510#(= (_ bv0 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:27:22,134 INFO L273 TraceCheckUtils]: 44: Hoare triple {6267#true} assume true; {6267#true} is VALID [2018-11-23 10:27:22,134 INFO L273 TraceCheckUtils]: 43: Hoare triple {6267#true} assume !(0bv32 == ~cond); {6267#true} is VALID [2018-11-23 10:27:22,134 INFO L273 TraceCheckUtils]: 42: Hoare triple {6267#true} ~cond := #in~cond; {6267#true} is VALID [2018-11-23 10:27:22,134 INFO L256 TraceCheckUtils]: 41: Hoare triple {6510#(= (_ bv0 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv8 32))))} call __VERIFIER_assert((if 0bv32 == #t~mem4 then 1bv32 else 0bv32)); {6267#true} is VALID [2018-11-23 10:27:22,135 INFO L273 TraceCheckUtils]: 40: Hoare triple {6510#(= (_ bv0 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv8 32))))} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem4 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {6510#(= (_ bv0 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:27:22,570 INFO L273 TraceCheckUtils]: 39: Hoare triple {6535#(= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv12 32))) (_ bv0 32))} #t~post3 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post3);havoc #t~post3; {6510#(= (_ bv0 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:27:22,570 INFO L273 TraceCheckUtils]: 38: Hoare triple {6535#(= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv12 32))) (_ bv0 32))} havoc #t~mem4; {6535#(= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv12 32))) (_ bv0 32))} is VALID [2018-11-23 10:27:22,571 INFO L268 TraceCheckUtils]: 37: Hoare quadruple {6267#true} {6535#(= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv12 32))) (_ bv0 32))} #65#return; {6535#(= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv12 32))) (_ bv0 32))} is VALID [2018-11-23 10:27:22,571 INFO L273 TraceCheckUtils]: 36: Hoare triple {6267#true} assume true; {6267#true} is VALID [2018-11-23 10:27:22,571 INFO L273 TraceCheckUtils]: 35: Hoare triple {6267#true} assume !(0bv32 == ~cond); {6267#true} is VALID [2018-11-23 10:27:22,572 INFO L273 TraceCheckUtils]: 34: Hoare triple {6267#true} ~cond := #in~cond; {6267#true} is VALID [2018-11-23 10:27:22,572 INFO L256 TraceCheckUtils]: 33: Hoare triple {6535#(= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv12 32))) (_ bv0 32))} call __VERIFIER_assert((if 0bv32 == #t~mem4 then 1bv32 else 0bv32)); {6267#true} is VALID [2018-11-23 10:27:22,572 INFO L273 TraceCheckUtils]: 32: Hoare triple {6535#(= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv12 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); {6535#(= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv12 32))) (_ bv0 32))} is VALID [2018-11-23 10:27:22,918 INFO L273 TraceCheckUtils]: 31: Hoare triple {6560#(= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv16 32))) (_ bv0 32))} #t~post3 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post3);havoc #t~post3; {6535#(= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv12 32))) (_ bv0 32))} is VALID [2018-11-23 10:27:22,919 INFO L273 TraceCheckUtils]: 30: Hoare triple {6560#(= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv16 32))) (_ bv0 32))} havoc #t~mem4; {6560#(= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv16 32))) (_ bv0 32))} is VALID [2018-11-23 10:27:22,920 INFO L268 TraceCheckUtils]: 29: Hoare quadruple {6267#true} {6560#(= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv16 32))) (_ bv0 32))} #65#return; {6560#(= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv16 32))) (_ bv0 32))} is VALID [2018-11-23 10:27:22,920 INFO L273 TraceCheckUtils]: 28: Hoare triple {6267#true} assume true; {6267#true} is VALID [2018-11-23 10:27:22,920 INFO L273 TraceCheckUtils]: 27: Hoare triple {6267#true} assume !(0bv32 == ~cond); {6267#true} is VALID [2018-11-23 10:27:22,920 INFO L273 TraceCheckUtils]: 26: Hoare triple {6267#true} ~cond := #in~cond; {6267#true} is VALID [2018-11-23 10:27:22,920 INFO L256 TraceCheckUtils]: 25: Hoare triple {6560#(= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv16 32))) (_ bv0 32))} call __VERIFIER_assert((if 0bv32 == #t~mem4 then 1bv32 else 0bv32)); {6267#true} is VALID [2018-11-23 10:27:22,921 INFO L273 TraceCheckUtils]: 24: Hoare triple {6560#(= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv16 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); {6560#(= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv16 32))) (_ bv0 32))} is VALID [2018-11-23 10:27:22,939 INFO L273 TraceCheckUtils]: 23: Hoare triple {6337#(= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv16 32))) (_ bv0 32))} ~i~0 := 0bv32; {6560#(= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (bvmul (_ bv4 32) main_~i~0) (_ bv16 32))) (_ bv0 32))} is VALID [2018-11-23 10:27:22,955 INFO L273 TraceCheckUtils]: 22: Hoare triple {6337#(= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv16 32))) (_ bv0 32))} assume !~bvslt32(~i~0, ~SIZE~0); {6337#(= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv16 32))) (_ bv0 32))} is VALID [2018-11-23 10:27:22,969 INFO L273 TraceCheckUtils]: 21: Hoare triple {6337#(= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv16 32))) (_ bv0 32))} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {6337#(= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv16 32))) (_ bv0 32))} is VALID [2018-11-23 10:27:22,984 INFO L273 TraceCheckUtils]: 20: Hoare triple {6594#(= (_ bv16 32) (bvmul (_ bv4 32) main_~i~0))} assume !~bvsgt32(~bvashr32(~i~0, 16bv32), 250bv32);call write~intINTTYPE4(0bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {6337#(= (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv16 32))) (_ bv0 32))} is VALID [2018-11-23 10:27:23,000 INFO L273 TraceCheckUtils]: 19: Hoare triple {6594#(= (_ bv16 32) (bvmul (_ bv4 32) main_~i~0))} assume !!~bvslt32(~i~0, ~SIZE~0); {6594#(= (_ bv16 32) (bvmul (_ bv4 32) main_~i~0))} is VALID [2018-11-23 10:27:23,014 INFO L273 TraceCheckUtils]: 18: Hoare triple {6601#(= (_ bv12 32) (bvmul (_ bv4 32) main_~i~0))} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {6594#(= (_ bv16 32) (bvmul (_ bv4 32) main_~i~0))} is VALID [2018-11-23 10:27:23,023 INFO L273 TraceCheckUtils]: 17: Hoare triple {6601#(= (_ bv12 32) (bvmul (_ bv4 32) main_~i~0))} assume !~bvsgt32(~bvashr32(~i~0, 16bv32), 250bv32);call write~intINTTYPE4(0bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {6601#(= (_ bv12 32) (bvmul (_ bv4 32) main_~i~0))} is VALID [2018-11-23 10:27:23,032 INFO L273 TraceCheckUtils]: 16: Hoare triple {6601#(= (_ bv12 32) (bvmul (_ bv4 32) main_~i~0))} assume !!~bvslt32(~i~0, ~SIZE~0); {6601#(= (_ bv12 32) (bvmul (_ bv4 32) main_~i~0))} is VALID [2018-11-23 10:27:23,034 INFO L273 TraceCheckUtils]: 15: Hoare triple {6611#(= (_ bv8 32) (bvmul (_ bv4 32) main_~i~0))} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {6601#(= (_ bv12 32) (bvmul (_ bv4 32) main_~i~0))} is VALID [2018-11-23 10:27:23,035 INFO L273 TraceCheckUtils]: 14: Hoare triple {6611#(= (_ bv8 32) (bvmul (_ bv4 32) main_~i~0))} assume !~bvsgt32(~bvashr32(~i~0, 16bv32), 250bv32);call write~intINTTYPE4(0bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {6611#(= (_ bv8 32) (bvmul (_ bv4 32) main_~i~0))} is VALID [2018-11-23 10:27:23,035 INFO L273 TraceCheckUtils]: 13: Hoare triple {6611#(= (_ bv8 32) (bvmul (_ bv4 32) main_~i~0))} assume !!~bvslt32(~i~0, ~SIZE~0); {6611#(= (_ bv8 32) (bvmul (_ bv4 32) main_~i~0))} is VALID [2018-11-23 10:27:23,037 INFO L273 TraceCheckUtils]: 12: Hoare triple {6621#(= (_ bv4 32) (bvmul (_ bv4 32) main_~i~0))} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {6611#(= (_ bv8 32) (bvmul (_ bv4 32) main_~i~0))} is VALID [2018-11-23 10:27:23,038 INFO L273 TraceCheckUtils]: 11: Hoare triple {6621#(= (_ bv4 32) (bvmul (_ bv4 32) main_~i~0))} assume !~bvsgt32(~bvashr32(~i~0, 16bv32), 250bv32);call write~intINTTYPE4(0bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {6621#(= (_ bv4 32) (bvmul (_ bv4 32) main_~i~0))} is VALID [2018-11-23 10:27:23,038 INFO L273 TraceCheckUtils]: 10: Hoare triple {6621#(= (_ bv4 32) (bvmul (_ bv4 32) main_~i~0))} assume !!~bvslt32(~i~0, ~SIZE~0); {6621#(= (_ bv4 32) (bvmul (_ bv4 32) main_~i~0))} is VALID [2018-11-23 10:27:23,040 INFO L273 TraceCheckUtils]: 9: Hoare triple {6631#(= (_ bv0 32) (bvmul (_ bv4 32) main_~i~0))} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {6621#(= (_ bv4 32) (bvmul (_ bv4 32) main_~i~0))} is VALID [2018-11-23 10:27:23,041 INFO L273 TraceCheckUtils]: 8: Hoare triple {6631#(= (_ bv0 32) (bvmul (_ bv4 32) main_~i~0))} assume !~bvsgt32(~bvashr32(~i~0, 16bv32), 250bv32);call write~intINTTYPE4(0bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {6631#(= (_ bv0 32) (bvmul (_ bv4 32) main_~i~0))} is VALID [2018-11-23 10:27:23,042 INFO L273 TraceCheckUtils]: 7: Hoare triple {6631#(= (_ bv0 32) (bvmul (_ bv4 32) main_~i~0))} assume !!~bvslt32(~i~0, ~SIZE~0); {6631#(= (_ bv0 32) (bvmul (_ bv4 32) main_~i~0))} is VALID [2018-11-23 10:27:23,042 INFO L273 TraceCheckUtils]: 6: Hoare triple {6267#true} assume ~bvsgt32(~SIZE~0, 1bv32);havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~bvmul32(4bv32, ~SIZE~0));~i~0 := 0bv32; {6631#(= (_ bv0 32) (bvmul (_ bv4 32) main_~i~0))} is VALID [2018-11-23 10:27:23,043 INFO L273 TraceCheckUtils]: 5: Hoare triple {6267#true} ~SIZE~0 := #t~nondet1;havoc #t~nondet1; {6267#true} is VALID [2018-11-23 10:27:23,043 INFO L256 TraceCheckUtils]: 4: Hoare triple {6267#true} call #t~ret5 := main(); {6267#true} is VALID [2018-11-23 10:27:23,043 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {6267#true} {6267#true} #61#return; {6267#true} is VALID [2018-11-23 10:27:23,043 INFO L273 TraceCheckUtils]: 2: Hoare triple {6267#true} assume true; {6267#true} is VALID [2018-11-23 10:27:23,044 INFO L273 TraceCheckUtils]: 1: Hoare triple {6267#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];~SIZE~0 := 0bv32; {6267#true} is VALID [2018-11-23 10:27:23,044 INFO L256 TraceCheckUtils]: 0: Hoare triple {6267#true} call ULTIMATE.init(); {6267#true} is VALID [2018-11-23 10:27:23,049 INFO L134 CoverageAnalysis]: Checked inductivity of 99 backedges. 8 proven. 67 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2018-11-23 10:27:23,051 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 10:27:23,051 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 16] total 29 [2018-11-23 10:27:23,052 INFO L78 Accepts]: Start accepts. Automaton has 29 states. Word has length 61 [2018-11-23 10:27:23,052 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 10:27:23,053 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 29 states. [2018-11-23 10:27:24,456 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 95 edges. 95 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:27:24,456 INFO L459 AbstractCegarLoop]: Interpolant automaton has 29 states [2018-11-23 10:27:24,456 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 29 interpolants. [2018-11-23 10:27:24,457 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=88, Invalid=719, Unknown=5, NotChecked=0, Total=812 [2018-11-23 10:27:24,457 INFO L87 Difference]: Start difference. First operand 92 states and 106 transitions. Second operand 29 states. [2018-11-23 10:28:24,607 WARN L180 SmtUtils]: Spent 114.00 ms on a formula simplification that was a NOOP. DAG size: 18 [2018-11-23 10:28:27,911 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:28:27,911 INFO L93 Difference]: Finished difference Result 135 states and 154 transitions. [2018-11-23 10:28:27,912 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 25 states. [2018-11-23 10:28:27,912 INFO L78 Accepts]: Start accepts. Automaton has 29 states. Word has length 61 [2018-11-23 10:28:27,912 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 10:28:27,912 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 29 states. [2018-11-23 10:28:27,915 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 110 transitions. [2018-11-23 10:28:27,915 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 29 states. [2018-11-23 10:28:27,920 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 110 transitions. [2018-11-23 10:28:27,921 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 25 states and 110 transitions. [2018-11-23 10:28:28,461 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 110 edges. 110 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:28:28,464 INFO L225 Difference]: With dead ends: 135 [2018-11-23 10:28:28,465 INFO L226 Difference]: Without dead ends: 133 [2018-11-23 10:28:28,466 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 130 GetRequests, 87 SyntacticMatches, 7 SemanticMatches, 36 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 285 ImplicationChecksByTransitivity, 19.9s TimeCoverageRelationStatistics Valid=142, Invalid=1255, Unknown=9, NotChecked=0, Total=1406 [2018-11-23 10:28:28,466 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 133 states. [2018-11-23 10:28:28,666 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 133 to 100. [2018-11-23 10:28:28,666 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 10:28:28,666 INFO L82 GeneralOperation]: Start isEquivalent. First operand 133 states. Second operand 100 states. [2018-11-23 10:28:28,667 INFO L74 IsIncluded]: Start isIncluded. First operand 133 states. Second operand 100 states. [2018-11-23 10:28:28,667 INFO L87 Difference]: Start difference. First operand 133 states. Second operand 100 states. [2018-11-23 10:28:28,670 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:28:28,670 INFO L93 Difference]: Finished difference Result 133 states and 152 transitions. [2018-11-23 10:28:28,670 INFO L276 IsEmpty]: Start isEmpty. Operand 133 states and 152 transitions. [2018-11-23 10:28:28,671 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:28:28,671 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:28:28,671 INFO L74 IsIncluded]: Start isIncluded. First operand 100 states. Second operand 133 states. [2018-11-23 10:28:28,672 INFO L87 Difference]: Start difference. First operand 100 states. Second operand 133 states. [2018-11-23 10:28:28,675 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:28:28,675 INFO L93 Difference]: Finished difference Result 133 states and 152 transitions. [2018-11-23 10:28:28,675 INFO L276 IsEmpty]: Start isEmpty. Operand 133 states and 152 transitions. [2018-11-23 10:28:28,676 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:28:28,676 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:28:28,676 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 10:28:28,676 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 10:28:28,676 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 100 states. [2018-11-23 10:28:28,678 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 100 states to 100 states and 114 transitions. [2018-11-23 10:28:28,679 INFO L78 Accepts]: Start accepts. Automaton has 100 states and 114 transitions. Word has length 61 [2018-11-23 10:28:28,679 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 10:28:28,679 INFO L480 AbstractCegarLoop]: Abstraction has 100 states and 114 transitions. [2018-11-23 10:28:28,679 INFO L481 AbstractCegarLoop]: Interpolant automaton has 29 states. [2018-11-23 10:28:28,679 INFO L276 IsEmpty]: Start isEmpty. Operand 100 states and 114 transitions. [2018-11-23 10:28:28,680 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 60 [2018-11-23 10:28:28,680 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 10:28:28,680 INFO L402 BasicCegarLoop]: trace histogram [15, 15, 14, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 10:28:28,681 INFO L423 AbstractCegarLoop]: === Iteration 13 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 10:28:28,681 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 10:28:28,681 INFO L82 PathProgramCache]: Analyzing trace with hash -1953464043, now seen corresponding path program 3 times [2018-11-23 10:28:28,681 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 10:28:28,681 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4nyu Starting monitored process 14 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 14 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk [2018-11-23 10:28:28,699 INFO L101 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2018-11-23 10:28:30,475 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 16 check-sat command(s) [2018-11-23 10:28:30,476 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 10:28:30,535 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:28:30,538 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 10:28:31,001 INFO L256 TraceCheckUtils]: 0: Hoare triple {7267#true} call ULTIMATE.init(); {7267#true} is VALID [2018-11-23 10:28:31,002 INFO L273 TraceCheckUtils]: 1: Hoare triple {7267#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];~SIZE~0 := 0bv32; {7267#true} is VALID [2018-11-23 10:28:31,002 INFO L273 TraceCheckUtils]: 2: Hoare triple {7267#true} assume true; {7267#true} is VALID [2018-11-23 10:28:31,002 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {7267#true} {7267#true} #61#return; {7267#true} is VALID [2018-11-23 10:28:31,002 INFO L256 TraceCheckUtils]: 4: Hoare triple {7267#true} call #t~ret5 := main(); {7267#true} is VALID [2018-11-23 10:28:31,002 INFO L273 TraceCheckUtils]: 5: Hoare triple {7267#true} ~SIZE~0 := #t~nondet1;havoc #t~nondet1; {7267#true} is VALID [2018-11-23 10:28:31,003 INFO L273 TraceCheckUtils]: 6: Hoare triple {7267#true} assume ~bvsgt32(~SIZE~0, 1bv32);havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~bvmul32(4bv32, ~SIZE~0));~i~0 := 0bv32; {7290#(= main_~i~0 (_ bv0 32))} is VALID [2018-11-23 10:28:31,004 INFO L273 TraceCheckUtils]: 7: Hoare triple {7290#(= main_~i~0 (_ bv0 32))} assume !!~bvslt32(~i~0, ~SIZE~0); {7290#(= main_~i~0 (_ bv0 32))} is VALID [2018-11-23 10:28:31,004 INFO L273 TraceCheckUtils]: 8: Hoare triple {7290#(= main_~i~0 (_ bv0 32))} assume !~bvsgt32(~bvashr32(~i~0, 16bv32), 250bv32);call write~intINTTYPE4(0bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {7290#(= main_~i~0 (_ bv0 32))} is VALID [2018-11-23 10:28:31,004 INFO L273 TraceCheckUtils]: 9: Hoare triple {7290#(= main_~i~0 (_ bv0 32))} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {7300#(= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 10:28:31,005 INFO L273 TraceCheckUtils]: 10: Hoare triple {7300#(= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32))} assume !!~bvslt32(~i~0, ~SIZE~0); {7300#(= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 10:28:31,005 INFO L273 TraceCheckUtils]: 11: Hoare triple {7300#(= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32))} assume !~bvsgt32(~bvashr32(~i~0, 16bv32), 250bv32);call write~intINTTYPE4(0bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {7300#(= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 10:28:31,005 INFO L273 TraceCheckUtils]: 12: Hoare triple {7300#(= (bvadd main_~i~0 (_ bv4294967295 32)) (_ bv0 32))} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {7310#(= (_ bv2 32) main_~i~0)} is VALID [2018-11-23 10:28:31,006 INFO L273 TraceCheckUtils]: 13: Hoare triple {7310#(= (_ bv2 32) main_~i~0)} assume !!~bvslt32(~i~0, ~SIZE~0); {7310#(= (_ bv2 32) main_~i~0)} is VALID [2018-11-23 10:28:31,006 INFO L273 TraceCheckUtils]: 14: Hoare triple {7310#(= (_ bv2 32) main_~i~0)} assume !~bvsgt32(~bvashr32(~i~0, 16bv32), 250bv32);call write~intINTTYPE4(0bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {7310#(= (_ bv2 32) main_~i~0)} is VALID [2018-11-23 10:28:31,007 INFO L273 TraceCheckUtils]: 15: Hoare triple {7310#(= (_ bv2 32) main_~i~0)} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {7320#(= (bvadd main_~i~0 (_ bv4294967293 32)) (_ bv0 32))} is VALID [2018-11-23 10:28:31,007 INFO L273 TraceCheckUtils]: 16: Hoare triple {7320#(= (bvadd main_~i~0 (_ bv4294967293 32)) (_ bv0 32))} assume !!~bvslt32(~i~0, ~SIZE~0); {7320#(= (bvadd main_~i~0 (_ bv4294967293 32)) (_ bv0 32))} is VALID [2018-11-23 10:28:31,008 INFO L273 TraceCheckUtils]: 17: Hoare triple {7320#(= (bvadd main_~i~0 (_ bv4294967293 32)) (_ bv0 32))} assume !~bvsgt32(~bvashr32(~i~0, 16bv32), 250bv32);call write~intINTTYPE4(0bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {7320#(= (bvadd main_~i~0 (_ bv4294967293 32)) (_ bv0 32))} is VALID [2018-11-23 10:28:31,009 INFO L273 TraceCheckUtils]: 18: Hoare triple {7320#(= (bvadd main_~i~0 (_ bv4294967293 32)) (_ bv0 32))} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {7330#(= (_ bv4 32) main_~i~0)} is VALID [2018-11-23 10:28:31,009 INFO L273 TraceCheckUtils]: 19: Hoare triple {7330#(= (_ bv4 32) main_~i~0)} assume !!~bvslt32(~i~0, ~SIZE~0); {7330#(= (_ bv4 32) main_~i~0)} is VALID [2018-11-23 10:28:31,010 INFO L273 TraceCheckUtils]: 20: Hoare triple {7330#(= (_ bv4 32) main_~i~0)} assume !~bvsgt32(~bvashr32(~i~0, 16bv32), 250bv32);call write~intINTTYPE4(0bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {7330#(= (_ bv4 32) main_~i~0)} is VALID [2018-11-23 10:28:31,011 INFO L273 TraceCheckUtils]: 21: Hoare triple {7330#(= (_ bv4 32) main_~i~0)} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {7340#(= (bvadd main_~i~0 (_ bv4294967291 32)) (_ bv0 32))} is VALID [2018-11-23 10:28:31,011 INFO L273 TraceCheckUtils]: 22: Hoare triple {7340#(= (bvadd main_~i~0 (_ bv4294967291 32)) (_ bv0 32))} assume !!~bvslt32(~i~0, ~SIZE~0); {7340#(= (bvadd main_~i~0 (_ bv4294967291 32)) (_ bv0 32))} is VALID [2018-11-23 10:28:31,012 INFO L273 TraceCheckUtils]: 23: Hoare triple {7340#(= (bvadd main_~i~0 (_ bv4294967291 32)) (_ bv0 32))} assume !~bvsgt32(~bvashr32(~i~0, 16bv32), 250bv32);call write~intINTTYPE4(0bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {7340#(= (bvadd main_~i~0 (_ bv4294967291 32)) (_ bv0 32))} is VALID [2018-11-23 10:28:31,012 INFO L273 TraceCheckUtils]: 24: Hoare triple {7340#(= (bvadd main_~i~0 (_ bv4294967291 32)) (_ bv0 32))} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {7350#(= (_ bv6 32) main_~i~0)} is VALID [2018-11-23 10:28:31,013 INFO L273 TraceCheckUtils]: 25: Hoare triple {7350#(= (_ bv6 32) main_~i~0)} assume !!~bvslt32(~i~0, ~SIZE~0); {7350#(= (_ bv6 32) main_~i~0)} is VALID [2018-11-23 10:28:31,013 INFO L273 TraceCheckUtils]: 26: Hoare triple {7350#(= (_ bv6 32) main_~i~0)} assume !~bvsgt32(~bvashr32(~i~0, 16bv32), 250bv32);call write~intINTTYPE4(0bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {7350#(= (_ bv6 32) main_~i~0)} is VALID [2018-11-23 10:28:31,014 INFO L273 TraceCheckUtils]: 27: Hoare triple {7350#(= (_ bv6 32) main_~i~0)} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {7360#(= (bvadd main_~i~0 (_ bv4294967289 32)) (_ bv0 32))} is VALID [2018-11-23 10:28:31,015 INFO L273 TraceCheckUtils]: 28: Hoare triple {7360#(= (bvadd main_~i~0 (_ bv4294967289 32)) (_ bv0 32))} assume !!~bvslt32(~i~0, ~SIZE~0); {7360#(= (bvadd main_~i~0 (_ bv4294967289 32)) (_ bv0 32))} is VALID [2018-11-23 10:28:31,015 INFO L273 TraceCheckUtils]: 29: Hoare triple {7360#(= (bvadd main_~i~0 (_ bv4294967289 32)) (_ bv0 32))} assume !~bvsgt32(~bvashr32(~i~0, 16bv32), 250bv32);call write~intINTTYPE4(0bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {7360#(= (bvadd main_~i~0 (_ bv4294967289 32)) (_ bv0 32))} is VALID [2018-11-23 10:28:31,016 INFO L273 TraceCheckUtils]: 30: Hoare triple {7360#(= (bvadd main_~i~0 (_ bv4294967289 32)) (_ bv0 32))} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {7370#(= (_ bv8 32) main_~i~0)} is VALID [2018-11-23 10:28:31,017 INFO L273 TraceCheckUtils]: 31: Hoare triple {7370#(= (_ bv8 32) main_~i~0)} assume !!~bvslt32(~i~0, ~SIZE~0); {7370#(= (_ bv8 32) main_~i~0)} is VALID [2018-11-23 10:28:31,017 INFO L273 TraceCheckUtils]: 32: Hoare triple {7370#(= (_ bv8 32) main_~i~0)} assume !~bvsgt32(~bvashr32(~i~0, 16bv32), 250bv32);call write~intINTTYPE4(0bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {7370#(= (_ bv8 32) main_~i~0)} is VALID [2018-11-23 10:28:31,018 INFO L273 TraceCheckUtils]: 33: Hoare triple {7370#(= (_ bv8 32) main_~i~0)} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {7380#(= (bvadd main_~i~0 (_ bv4294967287 32)) (_ bv0 32))} is VALID [2018-11-23 10:28:31,018 INFO L273 TraceCheckUtils]: 34: Hoare triple {7380#(= (bvadd main_~i~0 (_ bv4294967287 32)) (_ bv0 32))} assume !!~bvslt32(~i~0, ~SIZE~0); {7380#(= (bvadd main_~i~0 (_ bv4294967287 32)) (_ bv0 32))} is VALID [2018-11-23 10:28:31,019 INFO L273 TraceCheckUtils]: 35: Hoare triple {7380#(= (bvadd main_~i~0 (_ bv4294967287 32)) (_ bv0 32))} assume !~bvsgt32(~bvashr32(~i~0, 16bv32), 250bv32);call write~intINTTYPE4(0bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {7380#(= (bvadd main_~i~0 (_ bv4294967287 32)) (_ bv0 32))} is VALID [2018-11-23 10:28:31,020 INFO L273 TraceCheckUtils]: 36: Hoare triple {7380#(= (bvadd main_~i~0 (_ bv4294967287 32)) (_ bv0 32))} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {7390#(= (_ bv10 32) main_~i~0)} is VALID [2018-11-23 10:28:31,020 INFO L273 TraceCheckUtils]: 37: Hoare triple {7390#(= (_ bv10 32) main_~i~0)} assume !!~bvslt32(~i~0, ~SIZE~0); {7390#(= (_ bv10 32) main_~i~0)} is VALID [2018-11-23 10:28:31,021 INFO L273 TraceCheckUtils]: 38: Hoare triple {7390#(= (_ bv10 32) main_~i~0)} assume !~bvsgt32(~bvashr32(~i~0, 16bv32), 250bv32);call write~intINTTYPE4(0bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {7390#(= (_ bv10 32) main_~i~0)} is VALID [2018-11-23 10:28:31,021 INFO L273 TraceCheckUtils]: 39: Hoare triple {7390#(= (_ bv10 32) main_~i~0)} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {7400#(= (bvadd main_~i~0 (_ bv4294967285 32)) (_ bv0 32))} is VALID [2018-11-23 10:28:31,022 INFO L273 TraceCheckUtils]: 40: Hoare triple {7400#(= (bvadd main_~i~0 (_ bv4294967285 32)) (_ bv0 32))} assume !!~bvslt32(~i~0, ~SIZE~0); {7400#(= (bvadd main_~i~0 (_ bv4294967285 32)) (_ bv0 32))} is VALID [2018-11-23 10:28:31,022 INFO L273 TraceCheckUtils]: 41: Hoare triple {7400#(= (bvadd main_~i~0 (_ bv4294967285 32)) (_ bv0 32))} assume !~bvsgt32(~bvashr32(~i~0, 16bv32), 250bv32);call write~intINTTYPE4(0bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {7400#(= (bvadd main_~i~0 (_ bv4294967285 32)) (_ bv0 32))} is VALID [2018-11-23 10:28:31,023 INFO L273 TraceCheckUtils]: 42: Hoare triple {7400#(= (bvadd main_~i~0 (_ bv4294967285 32)) (_ bv0 32))} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {7410#(= (_ bv12 32) main_~i~0)} is VALID [2018-11-23 10:28:31,023 INFO L273 TraceCheckUtils]: 43: Hoare triple {7410#(= (_ bv12 32) main_~i~0)} assume !!~bvslt32(~i~0, ~SIZE~0); {7410#(= (_ bv12 32) main_~i~0)} is VALID [2018-11-23 10:28:31,024 INFO L273 TraceCheckUtils]: 44: Hoare triple {7410#(= (_ bv12 32) main_~i~0)} assume !~bvsgt32(~bvashr32(~i~0, 16bv32), 250bv32);call write~intINTTYPE4(0bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {7410#(= (_ bv12 32) main_~i~0)} is VALID [2018-11-23 10:28:31,025 INFO L273 TraceCheckUtils]: 45: Hoare triple {7410#(= (_ bv12 32) main_~i~0)} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {7420#(= (bvadd main_~i~0 (_ bv4294967283 32)) (_ bv0 32))} is VALID [2018-11-23 10:28:31,025 INFO L273 TraceCheckUtils]: 46: Hoare triple {7420#(= (bvadd main_~i~0 (_ bv4294967283 32)) (_ bv0 32))} assume !!~bvslt32(~i~0, ~SIZE~0); {7420#(= (bvadd main_~i~0 (_ bv4294967283 32)) (_ bv0 32))} is VALID [2018-11-23 10:28:31,026 INFO L273 TraceCheckUtils]: 47: Hoare triple {7420#(= (bvadd main_~i~0 (_ bv4294967283 32)) (_ bv0 32))} assume !~bvsgt32(~bvashr32(~i~0, 16bv32), 250bv32);call write~intINTTYPE4(0bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {7420#(= (bvadd main_~i~0 (_ bv4294967283 32)) (_ bv0 32))} is VALID [2018-11-23 10:28:31,026 INFO L273 TraceCheckUtils]: 48: Hoare triple {7420#(= (bvadd main_~i~0 (_ bv4294967283 32)) (_ bv0 32))} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {7430#(= (_ bv14 32) main_~i~0)} is VALID [2018-11-23 10:28:31,027 INFO L273 TraceCheckUtils]: 49: Hoare triple {7430#(= (_ bv14 32) main_~i~0)} assume !!~bvslt32(~i~0, ~SIZE~0); {7430#(= (_ bv14 32) main_~i~0)} is VALID [2018-11-23 10:28:31,028 INFO L273 TraceCheckUtils]: 50: Hoare triple {7430#(= (_ bv14 32) main_~i~0)} assume ~bvsgt32(~bvashr32(~i~0, 16bv32), 250bv32);call write~intINTTYPE4(1bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {7268#false} is VALID [2018-11-23 10:28:31,028 INFO L273 TraceCheckUtils]: 51: Hoare triple {7268#false} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {7268#false} is VALID [2018-11-23 10:28:31,028 INFO L273 TraceCheckUtils]: 52: Hoare triple {7268#false} assume !~bvslt32(~i~0, ~SIZE~0); {7268#false} is VALID [2018-11-23 10:28:31,028 INFO L273 TraceCheckUtils]: 53: Hoare triple {7268#false} ~i~0 := 0bv32; {7268#false} is VALID [2018-11-23 10:28:31,029 INFO L273 TraceCheckUtils]: 54: Hoare triple {7268#false} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem4 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {7268#false} is VALID [2018-11-23 10:28:31,029 INFO L256 TraceCheckUtils]: 55: Hoare triple {7268#false} call __VERIFIER_assert((if 0bv32 == #t~mem4 then 1bv32 else 0bv32)); {7268#false} is VALID [2018-11-23 10:28:31,029 INFO L273 TraceCheckUtils]: 56: Hoare triple {7268#false} ~cond := #in~cond; {7268#false} is VALID [2018-11-23 10:28:31,029 INFO L273 TraceCheckUtils]: 57: Hoare triple {7268#false} assume 0bv32 == ~cond; {7268#false} is VALID [2018-11-23 10:28:31,029 INFO L273 TraceCheckUtils]: 58: Hoare triple {7268#false} assume !false; {7268#false} is VALID [2018-11-23 10:28:31,033 INFO L134 CoverageAnalysis]: Checked inductivity of 330 backedges. 29 proven. 301 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 10:28:31,034 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-23 10:28:31,917 INFO L273 TraceCheckUtils]: 58: Hoare triple {7268#false} assume !false; {7268#false} is VALID [2018-11-23 10:28:31,918 INFO L273 TraceCheckUtils]: 57: Hoare triple {7268#false} assume 0bv32 == ~cond; {7268#false} is VALID [2018-11-23 10:28:31,918 INFO L273 TraceCheckUtils]: 56: Hoare triple {7268#false} ~cond := #in~cond; {7268#false} is VALID [2018-11-23 10:28:31,918 INFO L256 TraceCheckUtils]: 55: Hoare triple {7268#false} call __VERIFIER_assert((if 0bv32 == #t~mem4 then 1bv32 else 0bv32)); {7268#false} is VALID [2018-11-23 10:28:31,918 INFO L273 TraceCheckUtils]: 54: Hoare triple {7268#false} assume !!~bvslt32(~i~0, ~SIZE~0);call #t~mem4 := read~intINTTYPE4(~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {7268#false} is VALID [2018-11-23 10:28:31,918 INFO L273 TraceCheckUtils]: 53: Hoare triple {7268#false} ~i~0 := 0bv32; {7268#false} is VALID [2018-11-23 10:28:31,919 INFO L273 TraceCheckUtils]: 52: Hoare triple {7268#false} assume !~bvslt32(~i~0, ~SIZE~0); {7268#false} is VALID [2018-11-23 10:28:31,919 INFO L273 TraceCheckUtils]: 51: Hoare triple {7268#false} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {7268#false} is VALID [2018-11-23 10:28:31,919 INFO L273 TraceCheckUtils]: 50: Hoare triple {7485#(not (bvsgt (bvashr main_~i~0 (_ bv16 32)) (_ bv250 32)))} assume ~bvsgt32(~bvashr32(~i~0, 16bv32), 250bv32);call write~intINTTYPE4(1bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {7268#false} is VALID [2018-11-23 10:28:31,920 INFO L273 TraceCheckUtils]: 49: Hoare triple {7485#(not (bvsgt (bvashr main_~i~0 (_ bv16 32)) (_ bv250 32)))} assume !!~bvslt32(~i~0, ~SIZE~0); {7485#(not (bvsgt (bvashr main_~i~0 (_ bv16 32)) (_ bv250 32)))} is VALID [2018-11-23 10:28:31,921 INFO L273 TraceCheckUtils]: 48: Hoare triple {7492#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv1 32)) (_ bv16 32)) (_ bv250 32)))} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {7485#(not (bvsgt (bvashr main_~i~0 (_ bv16 32)) (_ bv250 32)))} is VALID [2018-11-23 10:28:31,921 INFO L273 TraceCheckUtils]: 47: Hoare triple {7492#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv1 32)) (_ bv16 32)) (_ bv250 32)))} assume !~bvsgt32(~bvashr32(~i~0, 16bv32), 250bv32);call write~intINTTYPE4(0bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {7492#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv1 32)) (_ bv16 32)) (_ bv250 32)))} is VALID [2018-11-23 10:28:31,921 INFO L273 TraceCheckUtils]: 46: Hoare triple {7492#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv1 32)) (_ bv16 32)) (_ bv250 32)))} assume !!~bvslt32(~i~0, ~SIZE~0); {7492#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv1 32)) (_ bv16 32)) (_ bv250 32)))} is VALID [2018-11-23 10:28:31,927 INFO L273 TraceCheckUtils]: 45: Hoare triple {7502#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv2 32)) (_ bv16 32)) (_ bv250 32)))} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {7492#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv1 32)) (_ bv16 32)) (_ bv250 32)))} is VALID [2018-11-23 10:28:31,928 INFO L273 TraceCheckUtils]: 44: Hoare triple {7502#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv2 32)) (_ bv16 32)) (_ bv250 32)))} assume !~bvsgt32(~bvashr32(~i~0, 16bv32), 250bv32);call write~intINTTYPE4(0bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {7502#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv2 32)) (_ bv16 32)) (_ bv250 32)))} is VALID [2018-11-23 10:28:31,928 INFO L273 TraceCheckUtils]: 43: Hoare triple {7502#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv2 32)) (_ bv16 32)) (_ bv250 32)))} assume !!~bvslt32(~i~0, ~SIZE~0); {7502#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv2 32)) (_ bv16 32)) (_ bv250 32)))} is VALID [2018-11-23 10:28:31,934 INFO L273 TraceCheckUtils]: 42: Hoare triple {7512#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv3 32)) (_ bv16 32)) (_ bv250 32)))} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {7502#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv2 32)) (_ bv16 32)) (_ bv250 32)))} is VALID [2018-11-23 10:28:31,935 INFO L273 TraceCheckUtils]: 41: Hoare triple {7512#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv3 32)) (_ bv16 32)) (_ bv250 32)))} assume !~bvsgt32(~bvashr32(~i~0, 16bv32), 250bv32);call write~intINTTYPE4(0bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {7512#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv3 32)) (_ bv16 32)) (_ bv250 32)))} is VALID [2018-11-23 10:28:31,935 INFO L273 TraceCheckUtils]: 40: Hoare triple {7512#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv3 32)) (_ bv16 32)) (_ bv250 32)))} assume !!~bvslt32(~i~0, ~SIZE~0); {7512#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv3 32)) (_ bv16 32)) (_ bv250 32)))} is VALID [2018-11-23 10:28:31,943 INFO L273 TraceCheckUtils]: 39: Hoare triple {7522#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv4 32)) (_ bv16 32)) (_ bv250 32)))} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {7512#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv3 32)) (_ bv16 32)) (_ bv250 32)))} is VALID [2018-11-23 10:28:31,944 INFO L273 TraceCheckUtils]: 38: Hoare triple {7522#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv4 32)) (_ bv16 32)) (_ bv250 32)))} assume !~bvsgt32(~bvashr32(~i~0, 16bv32), 250bv32);call write~intINTTYPE4(0bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {7522#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv4 32)) (_ bv16 32)) (_ bv250 32)))} is VALID [2018-11-23 10:28:31,944 INFO L273 TraceCheckUtils]: 37: Hoare triple {7522#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv4 32)) (_ bv16 32)) (_ bv250 32)))} assume !!~bvslt32(~i~0, ~SIZE~0); {7522#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv4 32)) (_ bv16 32)) (_ bv250 32)))} is VALID [2018-11-23 10:28:31,954 INFO L273 TraceCheckUtils]: 36: Hoare triple {7532#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv5 32)) (_ bv16 32)) (_ bv250 32)))} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {7522#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv4 32)) (_ bv16 32)) (_ bv250 32)))} is VALID [2018-11-23 10:28:31,955 INFO L273 TraceCheckUtils]: 35: Hoare triple {7532#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv5 32)) (_ bv16 32)) (_ bv250 32)))} assume !~bvsgt32(~bvashr32(~i~0, 16bv32), 250bv32);call write~intINTTYPE4(0bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {7532#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv5 32)) (_ bv16 32)) (_ bv250 32)))} is VALID [2018-11-23 10:28:31,955 INFO L273 TraceCheckUtils]: 34: Hoare triple {7532#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv5 32)) (_ bv16 32)) (_ bv250 32)))} assume !!~bvslt32(~i~0, ~SIZE~0); {7532#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv5 32)) (_ bv16 32)) (_ bv250 32)))} is VALID [2018-11-23 10:28:31,964 INFO L273 TraceCheckUtils]: 33: Hoare triple {7542#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv6 32)) (_ bv16 32)) (_ bv250 32)))} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {7532#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv5 32)) (_ bv16 32)) (_ bv250 32)))} is VALID [2018-11-23 10:28:31,964 INFO L273 TraceCheckUtils]: 32: Hoare triple {7542#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv6 32)) (_ bv16 32)) (_ bv250 32)))} assume !~bvsgt32(~bvashr32(~i~0, 16bv32), 250bv32);call write~intINTTYPE4(0bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {7542#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv6 32)) (_ bv16 32)) (_ bv250 32)))} is VALID [2018-11-23 10:28:31,965 INFO L273 TraceCheckUtils]: 31: Hoare triple {7542#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv6 32)) (_ bv16 32)) (_ bv250 32)))} assume !!~bvslt32(~i~0, ~SIZE~0); {7542#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv6 32)) (_ bv16 32)) (_ bv250 32)))} is VALID [2018-11-23 10:28:31,976 INFO L273 TraceCheckUtils]: 30: Hoare triple {7552#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv7 32)) (_ bv16 32)) (_ bv250 32)))} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {7542#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv6 32)) (_ bv16 32)) (_ bv250 32)))} is VALID [2018-11-23 10:28:31,977 INFO L273 TraceCheckUtils]: 29: Hoare triple {7552#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv7 32)) (_ bv16 32)) (_ bv250 32)))} assume !~bvsgt32(~bvashr32(~i~0, 16bv32), 250bv32);call write~intINTTYPE4(0bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {7552#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv7 32)) (_ bv16 32)) (_ bv250 32)))} is VALID [2018-11-23 10:28:31,977 INFO L273 TraceCheckUtils]: 28: Hoare triple {7552#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv7 32)) (_ bv16 32)) (_ bv250 32)))} assume !!~bvslt32(~i~0, ~SIZE~0); {7552#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv7 32)) (_ bv16 32)) (_ bv250 32)))} is VALID [2018-11-23 10:28:31,982 INFO L273 TraceCheckUtils]: 27: Hoare triple {7562#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv8 32)) (_ bv16 32)) (_ bv250 32)))} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {7552#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv7 32)) (_ bv16 32)) (_ bv250 32)))} is VALID [2018-11-23 10:28:31,982 INFO L273 TraceCheckUtils]: 26: Hoare triple {7562#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv8 32)) (_ bv16 32)) (_ bv250 32)))} assume !~bvsgt32(~bvashr32(~i~0, 16bv32), 250bv32);call write~intINTTYPE4(0bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {7562#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv8 32)) (_ bv16 32)) (_ bv250 32)))} is VALID [2018-11-23 10:28:31,983 INFO L273 TraceCheckUtils]: 25: Hoare triple {7562#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv8 32)) (_ bv16 32)) (_ bv250 32)))} assume !!~bvslt32(~i~0, ~SIZE~0); {7562#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv8 32)) (_ bv16 32)) (_ bv250 32)))} is VALID [2018-11-23 10:28:31,994 INFO L273 TraceCheckUtils]: 24: Hoare triple {7572#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv9 32)) (_ bv16 32)) (_ bv250 32)))} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {7562#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv8 32)) (_ bv16 32)) (_ bv250 32)))} is VALID [2018-11-23 10:28:31,995 INFO L273 TraceCheckUtils]: 23: Hoare triple {7572#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv9 32)) (_ bv16 32)) (_ bv250 32)))} assume !~bvsgt32(~bvashr32(~i~0, 16bv32), 250bv32);call write~intINTTYPE4(0bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {7572#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv9 32)) (_ bv16 32)) (_ bv250 32)))} is VALID [2018-11-23 10:28:31,995 INFO L273 TraceCheckUtils]: 22: Hoare triple {7572#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv9 32)) (_ bv16 32)) (_ bv250 32)))} assume !!~bvslt32(~i~0, ~SIZE~0); {7572#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv9 32)) (_ bv16 32)) (_ bv250 32)))} is VALID [2018-11-23 10:28:32,004 INFO L273 TraceCheckUtils]: 21: Hoare triple {7582#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv10 32)) (_ bv16 32)) (_ bv250 32)))} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {7572#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv9 32)) (_ bv16 32)) (_ bv250 32)))} is VALID [2018-11-23 10:28:32,004 INFO L273 TraceCheckUtils]: 20: Hoare triple {7582#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv10 32)) (_ bv16 32)) (_ bv250 32)))} assume !~bvsgt32(~bvashr32(~i~0, 16bv32), 250bv32);call write~intINTTYPE4(0bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {7582#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv10 32)) (_ bv16 32)) (_ bv250 32)))} is VALID [2018-11-23 10:28:32,005 INFO L273 TraceCheckUtils]: 19: Hoare triple {7582#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv10 32)) (_ bv16 32)) (_ bv250 32)))} assume !!~bvslt32(~i~0, ~SIZE~0); {7582#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv10 32)) (_ bv16 32)) (_ bv250 32)))} is VALID [2018-11-23 10:28:32,015 INFO L273 TraceCheckUtils]: 18: Hoare triple {7592#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv11 32)) (_ bv16 32)) (_ bv250 32)))} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {7582#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv10 32)) (_ bv16 32)) (_ bv250 32)))} is VALID [2018-11-23 10:28:32,016 INFO L273 TraceCheckUtils]: 17: Hoare triple {7592#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv11 32)) (_ bv16 32)) (_ bv250 32)))} assume !~bvsgt32(~bvashr32(~i~0, 16bv32), 250bv32);call write~intINTTYPE4(0bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {7592#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv11 32)) (_ bv16 32)) (_ bv250 32)))} is VALID [2018-11-23 10:28:32,016 INFO L273 TraceCheckUtils]: 16: Hoare triple {7592#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv11 32)) (_ bv16 32)) (_ bv250 32)))} assume !!~bvslt32(~i~0, ~SIZE~0); {7592#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv11 32)) (_ bv16 32)) (_ bv250 32)))} is VALID [2018-11-23 10:28:32,024 INFO L273 TraceCheckUtils]: 15: Hoare triple {7602#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv12 32)) (_ bv16 32)) (_ bv250 32)))} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {7592#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv11 32)) (_ bv16 32)) (_ bv250 32)))} is VALID [2018-11-23 10:28:32,025 INFO L273 TraceCheckUtils]: 14: Hoare triple {7602#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv12 32)) (_ bv16 32)) (_ bv250 32)))} assume !~bvsgt32(~bvashr32(~i~0, 16bv32), 250bv32);call write~intINTTYPE4(0bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {7602#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv12 32)) (_ bv16 32)) (_ bv250 32)))} is VALID [2018-11-23 10:28:32,025 INFO L273 TraceCheckUtils]: 13: Hoare triple {7602#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv12 32)) (_ bv16 32)) (_ bv250 32)))} assume !!~bvslt32(~i~0, ~SIZE~0); {7602#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv12 32)) (_ bv16 32)) (_ bv250 32)))} is VALID [2018-11-23 10:28:32,030 INFO L273 TraceCheckUtils]: 12: Hoare triple {7612#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv13 32)) (_ bv16 32)) (_ bv250 32)))} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {7602#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv12 32)) (_ bv16 32)) (_ bv250 32)))} is VALID [2018-11-23 10:28:32,031 INFO L273 TraceCheckUtils]: 11: Hoare triple {7612#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv13 32)) (_ bv16 32)) (_ bv250 32)))} assume !~bvsgt32(~bvashr32(~i~0, 16bv32), 250bv32);call write~intINTTYPE4(0bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {7612#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv13 32)) (_ bv16 32)) (_ bv250 32)))} is VALID [2018-11-23 10:28:32,031 INFO L273 TraceCheckUtils]: 10: Hoare triple {7612#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv13 32)) (_ bv16 32)) (_ bv250 32)))} assume !!~bvslt32(~i~0, ~SIZE~0); {7612#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv13 32)) (_ bv16 32)) (_ bv250 32)))} is VALID [2018-11-23 10:28:32,040 INFO L273 TraceCheckUtils]: 9: Hoare triple {7622#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv14 32)) (_ bv16 32)) (_ bv250 32)))} #t~post2 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {7612#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv13 32)) (_ bv16 32)) (_ bv250 32)))} is VALID [2018-11-23 10:28:32,041 INFO L273 TraceCheckUtils]: 8: Hoare triple {7622#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv14 32)) (_ bv16 32)) (_ bv250 32)))} assume !~bvsgt32(~bvashr32(~i~0, 16bv32), 250bv32);call write~intINTTYPE4(0bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {7622#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv14 32)) (_ bv16 32)) (_ bv250 32)))} is VALID [2018-11-23 10:28:32,041 INFO L273 TraceCheckUtils]: 7: Hoare triple {7622#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv14 32)) (_ bv16 32)) (_ bv250 32)))} assume !!~bvslt32(~i~0, ~SIZE~0); {7622#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv14 32)) (_ bv16 32)) (_ bv250 32)))} is VALID [2018-11-23 10:28:32,042 INFO L273 TraceCheckUtils]: 6: Hoare triple {7267#true} assume ~bvsgt32(~SIZE~0, 1bv32);havoc ~i~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~bvmul32(4bv32, ~SIZE~0));~i~0 := 0bv32; {7622#(not (bvsgt (bvashr (bvadd main_~i~0 (_ bv14 32)) (_ bv16 32)) (_ bv250 32)))} is VALID [2018-11-23 10:28:32,042 INFO L273 TraceCheckUtils]: 5: Hoare triple {7267#true} ~SIZE~0 := #t~nondet1;havoc #t~nondet1; {7267#true} is VALID [2018-11-23 10:28:32,042 INFO L256 TraceCheckUtils]: 4: Hoare triple {7267#true} call #t~ret5 := main(); {7267#true} is VALID [2018-11-23 10:28:32,042 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {7267#true} {7267#true} #61#return; {7267#true} is VALID [2018-11-23 10:28:32,043 INFO L273 TraceCheckUtils]: 2: Hoare triple {7267#true} assume true; {7267#true} is VALID [2018-11-23 10:28:32,043 INFO L273 TraceCheckUtils]: 1: Hoare triple {7267#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];~SIZE~0 := 0bv32; {7267#true} is VALID [2018-11-23 10:28:32,043 INFO L256 TraceCheckUtils]: 0: Hoare triple {7267#true} call ULTIMATE.init(); {7267#true} is VALID [2018-11-23 10:28:32,049 INFO L134 CoverageAnalysis]: Checked inductivity of 330 backedges. 29 proven. 301 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 10:28:32,051 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 10:28:32,051 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 17] total 32 [2018-11-23 10:28:32,054 INFO L78 Accepts]: Start accepts. Automaton has 32 states. Word has length 59 [2018-11-23 10:28:32,054 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 10:28:32,054 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 32 states. [2018-11-23 10:28:32,336 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 104 edges. 104 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:28:32,336 INFO L459 AbstractCegarLoop]: Interpolant automaton has 32 states [2018-11-23 10:28:32,336 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 32 interpolants. [2018-11-23 10:28:32,337 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=286, Invalid=706, Unknown=0, NotChecked=0, Total=992 [2018-11-23 10:28:32,337 INFO L87 Difference]: Start difference. First operand 100 states and 114 transitions. Second operand 32 states. [2018-11-23 10:28:37,058 WARN L180 SmtUtils]: Spent 141.00 ms on a formula simplification. DAG size of input: 77 DAG size of output: 12 [2018-11-23 10:28:37,469 WARN L180 SmtUtils]: Spent 113.00 ms on a formula simplification. DAG size of input: 72 DAG size of output: 12 [2018-11-23 10:28:37,921 WARN L180 SmtUtils]: Spent 117.00 ms on a formula simplification. DAG size of input: 67 DAG size of output: 12 [2018-11-23 10:28:38,380 WARN L180 SmtUtils]: Spent 119.00 ms on a formula simplification. DAG size of input: 62 DAG size of output: 12 [2018-11-23 10:28:49,720 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:28:49,720 INFO L93 Difference]: Finished difference Result 308 states and 386 transitions. [2018-11-23 10:28:49,720 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 32 states. [2018-11-23 10:28:49,720 INFO L78 Accepts]: Start accepts. Automaton has 32 states. Word has length 59 [2018-11-23 10:28:49,721 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 10:28:49,721 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 32 states. [2018-11-23 10:28:49,727 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 345 transitions. [2018-11-23 10:28:49,728 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 32 states. [2018-11-23 10:28:49,734 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 345 transitions. [2018-11-23 10:28:49,734 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 32 states and 345 transitions.